﻿var fesco_validate = function ()
{
	this.validateEdit  = function()
	{
		var nickname,pass;
if(false === (nickname = this.validateNickname('edit_nickname')) || false === (pass = this.validatePass('edit_password')) || false === this.validateConfirm('edit_password','edit_confirmpass'))
		{		
			return;
		}
		var pars = 'nickname='+nickname+'&password='+pass; 
		var ajax = Ajax.Request('modify.php?'+pars,'GET',this.editCallback); 
	};
	this.validateReg = function()
	{
		var username,nickname,pass;
		if(false === $('fesco_float_reg_checkbox').checked)
		{
			alert('Sorry, Please Agree With the Terms of Service First !');
 			return ;
		}
		if(false === (username = this.validateUsername('reg_username')) || false === (nickname = this.validateNickname('reg_nickname')) || false === (pass = this.validatePass('reg_password')) || false === this.validateConfirm('reg_password','reg_confirmpass'))
		{		
			return;
		}
		var pars = 'username='+username+'&nickname='+nickname+'&password='+pass; 
		var ajax = Ajax.Request('reg.php?'+pars,'GET',this.regCallback); 
  	};
  	this.editCallback = function(response)
  	{ 
  		var Text = response.responseText;
  		if(Text == 'ok')
 		{
 			alert('Modify Successful');
 			__fesco_float.hide(4);
 			__fesco_login.init();
   		}else
   		{
   			alert(Text);
   			alert('Modify Failed'); 
   		}
   	}
;
  	this.validateLogin = function()
  	{
  		var username = $('fesco_float_login_username').value;
  		if(username == '' || false === __base_validater.isEmail(username)) 
  		{ 
  			this.errorMsgShow('login_username',1);
   			return ;
  		}
  		var password = $('fesco_float_login_password').value;
  		if(password == '' || false === __base_validater.isPassword(password)) 
  		{ 
  			this.errorMsgShow('login_username',3);
   			return ;
  		}
   		var pars = 'username='+username+'&password='+password; 
  		var ajax = Ajax.Request('login.php?'+pars,'GET',this.loginCallback);
  	};
  	this.loginCallback = function(response)
  	{
  		var Text = response.responseText; 
 		if(Text == 'ok') //成功
 		{
 			__fesco_float.hide('3');
 			__fesco_float.show('2');
 			__fesco_login.init();
  		}
 		else
 		{
   			if(Text == '2') 
   			{
	   			__fesco_validate.errorMsgShow('login_username',7);
	   			return;
   			}
   			else if (Text == '3')
   			{
	   			__fesco_validate.errorMsgShow('login_username',8);
	   			return;
   			}
   			else
   			{ 
   				__fesco_validate.errorMsgShow('login_username',6);
   				return;
   			}
  		}
  	};
   	this.regCallback = function(response)
 	{
 		var Text = response.responseText;
 		if(Text == 'ok') //成功
 		{
 			__fesco_float.hide('1');
 			__fesco_float.show('2');
 			__fesco_login.init();
  		}
 		else
 		{
   			__fesco_validate.errorMsgShow('reg_username',Number(Text));
  		}
  	};
   	this.validateConfirm = function(divname,cdivname)
 	{
  		var confirmpass = $('fesco_float_'+cdivname).value ;
  		if(false === __base_validater.isPassword(confirmpass))
		{
			this.errorMsgShow(cdivname,3) ;
  			return false;
 		}
 		if(confirmpass != $('fesco_float_'+divname).value)
		{
			this.errorMsgShow(cdivname,4) ;
  			return false;
 		} 
  		this.successMsgShow(cdivname);
 	}; 	
 	this.validatePass = function(divname,state)
	{
  		var pass = $('fesco_float_'+divname).value ;
  		if(false === __base_validater.isPassword(pass))
		{
			this.errorMsgShow(divname,3) ;
  			return false;
 		} 
 		this.successMsgShow(divname,state);
 		return pass ;
  	}; 
 	this.validateUsername = function (divname,state)
	{
		var username = $('fesco_float_'+divname).value ;
		if((username == '') || (false == __base_validater.isEmail(username)))
		{
			this.errorMsgShow(divname,1) ;
			return false ;
		}
 		this.successMsgShow(divname,state);
 		return username ;
 	}; 
 	this.validateNickname = function (divname)
 	{
		var nickname = $('fesco_float_'+divname).value ;
		if((nickname == '') || false == __base_validater.isNickname(nickname))
		{
			
			this.errorMsgShow(divname,2);
			return false ;
		}
		this.successMsgShow(divname);
		return nickname ;
 	};
 	this.errorMsgShow = function (divname,t)
 	{
  		var msg = new Array();
 		msg[1] = 'Could not be NULL and should be valid Email address';
 		msg[2] = 'Could not be NULL, and should be maximum of 20 characters';
 		msg[3] = 'Should be minimum of 6 characters';
  		msg[4] = 'The two passwords do not match';
  		msg[5] = 'This account ID has existed ';
  		msg[6] = 'Sorry, invalid account ID';
  		msg[7] = 'Invalid password';
  		msg[8] = 'Your account has been locked by Webmaster';
   		$('fesco_float_'+divname+'_html').innerHTML = "<font color=red>"+msg[t]+"</font>";
  	};
  	this.successMsgShow = function (divname,state)
  	{ 
  		if(false === state) return ;
   		$('fesco_float_'+divname+'_html').innerHTML = '<font color=green>Verify Successful</font>';
   	};
}

var __fesco_validate = new fesco_validate() ;

