var WGT_LoginForm = {

	can_remember: false,
	cookie_name: 'LastUsername',
	login_url: '',
	remember_now: false,
	current_user: '',
	

	init: function(remenabled,remname,logurl)
	{
		this.can_remember = remenabled;
		this.cookie_name = remname;
		this.login_url = logurl;
	},

	doLogin: function(f)
	{
		var usr = f.WGT_login_form_username.value;
		var pwd = f.WGT_login_form_password.value;
		if (usr != null && usr.length > 0 && !usr.match(/[?&\/\\]/) &&
		    pwd != null && pwd.length > 0 && !pwd.match(/[?&\/\\]/) )
		{
			if (this.can_remember)
			{
				this.remember_now = f.WGT_login_form_remember.checked;
				this.current_user = usr;
			}
			this.showLoadingBox();
			var url = this.login_url;
                           var vars ={ 
                                  username:usr,
                                  password:pwd
                           }
			ajaxCaller.postForPlainText(url, vars, WGT_LoginForm.doLogin_response);
		}
	},

	doLogin_response: function(data)
	{
		WGT_LoginForm.hideLoadingBox();
		var response = eval('('+data+')');
		if (response != null && response.code == 1 && response.data != '')
		{
			if (WGT_LoginForm.can_remember)
			{
				// Store username in cookie for 10 years
				if (WGT_LoginForm.remember_now)
				{ WGT_LoginForm.createCookie(WGT_LoginForm.cookie_name, WGT_LoginForm.current_user, 365*10); }
				else
				{ WGT_LoginForm.createCookie(WGT_LoginForm.cookie_name,"",-1); }  // clear cookie
			}
			document.location = response.data;
		}
		else
		{ WGT_LoginForm.showErrorBox(); }
	},


	createCookie: function(name,value,days)
	{
		var expires = "";
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		document.cookie = name+"="+value+expires+"; path=/";
	},

	showLoadingBox: function()
	{
		var obj = document.getElementById('WGT_login_form_loading_msg');
		if (obj != null)
		{ obj.style.display='block'; }
	},
	
	hideLoadingBox: function()
	{
		var obj = document.getElementById('WGT_login_form_loading_msg');
		if (obj != null)
		{ obj.style.display='none'; }
	},

	showErrorBox: function()
	{
		var obj = document.getElementById('WGT_login_form_error_msg');
		if (obj != null)
		{ obj.style.display='block'; }
	},
	
	hideErrorBox: function()
	{
		var obj = document.getElementById('WGT_login_form_error_msg');
		if (obj != null)
		{ obj.style.display='none'; }
	}

};

