if (!window.WM)
{
    var WM = function(){alert("192.168.0.1");};
    WM.toString = function(){return "192.168.0.1";}
}

WM.login = function()
{
	Element.show('overopacity');
	var url = "/login.php";
	var pars = "";
	var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: WM.showLoginBox, onFailure: showError});
}

WM.showLoginBox = function(xmlHttp)
{
	$('overopacity').innerHTML = xmlHttp.responseText;
}

WM.freshUserBar = function()
{
    //var userid = WM.getCookie("cwiki_autologin_user");
    var username = WM.getCookie("cwiki_autologin_name");
	//var userpwd = WM.getCookie("cwiki_autologin_pass");
    if(username == null)
    {
        $('userBar').innerHTML = 'Please <a href="javascript: void(0)" onclick="WM.login();">' + 'login' + '</a> <a href="javascript: void(0)" onclick="WM.login()">' + 'Register' + '</a>  <a href="http://blog.gmapwiki.com" target=_blank>'+ 'Blog' + '</a>';
        //Event.observe('loginLink', 'click', WM.getCode, false);
        //Event.observe('reguestLink', 'click', WM.getCode, false);
    }
    else
    {
        $('userBar').innerHTML = 'Welcome, ' + username + '|'+'<a href="javascript: void(0)" onclick="WM.logout();">' + 'Logout' + '</a>  <a href="http://blog.gmapwiki.com" target=_blank>'+ 'Blog' + '</a>';
        //Event.observe('exitLink', 'click', WM.getCode, false);
    }
}

WM.postLogin = function()
{
    var userName = $F('logiUserInput');
    var userPord = $F('logiPordInput');
    if(userName.replace(/\s/g, "") == "")
    {
		Element.addClassName("logiUserInput", "inputBlank");
        $("logiUserInput").focus();
		$("logiDesc").innerHTML = 'Invalid username';
        return false;
    }
	else
	{
		Element.removeClassName("logiUserInput", "inputBlank");
	}
    if(userPord.replace(/\s/g, "") == "")
    {
		Element.removeClassName("logiUserInput", "inputBlank");
		Element.addClassName("logiPordInput", "inputBlank");
        $("logiPordInput").focus();
		$("logiDesc").innerHTML = 'Invalid password';
        return false;
    }
	else
	{
		Element.removeClassName("logiPordInput", "inputBlank");
	}
	$('logiPost').disabled = true;
    var url = "/getuser.php";
    var pars = "type=login&username=" + userName + "&userpwd=" + userPord;
    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: WM.postLoginResult, onFailure: showError});
}

WM.postLoginResult = function(xmlHttp)
{
	var xml = xmlHttp.responseXML;
    var result = xml.getElementsByTagName("user");
    if(result.length == 0)
    {
		Element.addClassName("logiUserInput", "inputBlank");
		Element.addClassName("logiPordInput", "inputBlank");
		$("logiDesc").innerHTML = 'login failure';
		$('logiPost').disabled = false;
        return false;
    }
    else
    {
        var userid = result[0].getAttribute("id");
        var username = result[0].getAttribute("name");
        var userPwd = result[0].getAttribute("pwd");
        WM.freshUserBar();
        //$('overopacity').style.display = 'inline';
		Element.hide('overopacity');
    }
}

WM.logout = function()
{
	if (!WM.userExit)          {WM.userExit           = {}}
	WM.userExit();
}

WM.userExit = function()
{
	//WM.delCookie("userid");
	WM.delCookie("cwiki_autologin_name");
	WM.delCookie("cwiki_autologin_user");
	WM.delCookie("cwiki_autologin_pass");
	WM.freshUserBar();
	//WM.map.cityNameAndZoom('xian' , 12);
	WM.getMapMarks();
	Element.show('pageUp', 'pageDown', 'pageInfo', 'mapItemList');
}

WM.postRegister = function()
{
    var userName = $F('regiUserInput');
    var userPord = $F('regiPordInput');
    var userMail = $F('regiMailInput');
    if(userName.replace(/\s/g, "") == "")
    {
		Element.addClassName("regiUserInput", "inputBlank");
        $("regiUserInput").focus();
		$("regiDesc").innerHTML = 'Invalid username';
        return false;
    }
	else
	{
		Element.removeClassName("regiUserInput", "inputBlank");
	}
    if(userPord.replace(/\s/g, "") == "")
    {
		Element.removeClassName("regiUserInput", "inputBlank");
		Element.addClassName("regiPordInput", "inputBlank");
        $("regiPordInput").focus();
		$("regiDesc").innerHTML = 'Invalid password';
        return false;
    }
	else
	{
		Element.removeClassName("regiPordInput", "inputBlank");
	}
	var reMail = /^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$/;
	if(!reMail.test(userMail))
    {
		Element.removeClassName("regiUserInput", "inputBlank");
		Element.removeClassName("regiPordInput", "inputBlank");
		Element.addClassName("regiMailInput", "inputBlank");
        $("regiMailInput").focus();
		$("regiDesc").innerHTML = 'Invalid Email';
        return false;
    }
	else
	{
		Element.removeClassName("regiMailInput", "inputBlank");
	}
	$('regiPost').disabled = true;
	$("logiUserInput").setAttribute("userName", userName);
	$("logiPordInput").setAttribute("userpord", userPord);

    var url = "/adduser.php";
    var pars = "type=login&username=" + userName + "&pwd=" + userPord + "&email=" + userMail;
	var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onComplete: WM.postRegisterResult, onFailure: showError});
    //WM.ajaxRead(url, file, WM.postRegisterResult);
}

WM.postRegisterResult = function(xmlHttp)
{
	var xml = xmlHttp.responseXML;
    var result = WM.getXmlData(xml, "result");
    if(result == 1)
    {
		$("logiUserInput").value = $("logiUserInput").getAttribute("userName");
		$("logiPordInput").value = $("logiPordInput").getAttribute("userPord");
		$("regiUserInput").value = "";
		$("regiPordInput").value = "";
		$("regiMailInput").value = "";
		$("regiDesc").innerHTML = 'Your registration was successful. You can now login with your new username.';
		$('regiPost').disabled = false;
        return false;
    }
    else if (result == -1)
    {
		Element.addClassName("regiUserInput", "inputBlank");
		$("regiDesc").innerHTML = 'Your username or entered email adress is invalid';
		$('regiPost').disabled = false;
        return false;
    }
    else
    {
		$("regiDesc").innerHTML = 'Registration failed';
		$('regiPost').disabled = false;
        return false;
    }
}

WM.setCookie = function(sName, sValue, days)
{
    if (days)
    {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        var expires = "; expires=" + date.toUTCString();
    }
    else
	{
        expires = "";
	}
    document.cookie = sName + "=" + escape(sValue) + expires;
}

WM.getCookie = function(sName)
{
    var aCookie = document.cookie.split("; ");
    for (var i=0; i < aCookie.length; i++)
    {
        var aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0] && aCrumb[1] != null)
        {
            return unescape(aCrumb[1]);
        }
    }
    return null;
}

WM.delCookie = function(sName)
{
    document.cookie = sName + "=" + escape(null) + "; expires=Fri, 31 Dec 1999 23:59:59 UTC;";
}

WM.freshUserBar();