var Login={_hasCookie:function(name){var arg=name+"=";var alen=arg.length;var clen=document.cookie.length;var i=0;while(i<clen){var j=i+alen;if(document.cookie.substring(i,j)==arg){return true;}
i=document.cookie.indexOf(" ",i)+1;if(i==0)break;}
return false;},login:function(params,callback){var cookies=document.cookie;var pos=cookies.indexOf("keep_me_logged_in");var value=false;if(pos>-1){var start=pos+"keep_me_logged_in".length+1;var end=cookies.indexOf(";",start);end=(end==-1)?cookies.length:end;value=cookies.substring(start,end);}
params.keep_me_logged_in=value;$.post(url='/map_edit/login.php',data=params,callback=callback);},logout:function(callback){this.login({logout:'true'},callback);},_verifyCookie:function(callback){this.login({},function(response){var json=eval("("+response+")");callback(json.reply.login?true:false,json.reply.message,json.reply.user_id,json.reply);});},isLoggedIn:function(callback){if(this._hasCookie("USERAUTH"))
this._verifyCookie(callback);else
return callback(false);},formLogin:function(form_id,callback){var user_id=$("#"+form_id+" input[name=username]").val();var params=$("#"+form_id).serialize()+"&form=true&user_id="+user_id;var onResponse=function(response){var json=eval("("+response+")");if(json.reply.login){callback(true,json.reply.message,json.reply.user_id,json.reply);}
else
callback(false,json.reply.message);}
this.login(params,onResponse);},formlessLogin:function(user_name,password,callback){var params={"user_id":user_name,"password":password,"form":true};var onResponse=function(response){var json=eval("("+response+")");if(json.reply.login){callback(true,json.reply.message,json.reply.user_id,json.reply);}
else
callback(false,json.reply.message);}
this.login(params,onResponse);}}
