/**
 * (c) www.tenmarks.com
 * @Mri
 * Dependency : Mootools core 1.2 and more 1.2
 * verified Src by : http://www.jslint.com/
 */ 
 
 /*GLOBAL Variable stuff*/
 var inProcess=false;
 var periodicalFormCheckerEvent=null;
 var periodicalFormCheckerEvent2=null;

 
 var registerLoginPanelEvent=function(){ 
 	if($defined($('forgetLabel')))
 	{
 		initPeriodicalFormChecker();	  	 
 		$('forgetLabel').addEvent('click',toggleForgetPasswordPanel);
 	}	
 };
 
 var periodicalFormChecker=function(){
 	validateForm();	 
 };
 var initPeriodicalFormChecker=function(){
 	periodicalFormCheckerEvent =periodicalFormChecker.periodical(1000);
 };
 var killPeriodicalFormChecker=function(){
 	periodicalFormCheckerEvent=$clear(periodicalFormCheckerEvent);	 
 };
 
 var periodicalFormChecker2=function(){
 	validateForm2();	 
 };
 var initPeriodicalFormChecker2=function(){
 	periodicalFormCheckerEvent2 =periodicalFormChecker2.periodical(1000);
 };
 var killPeriodicalFormChecker2=function(){
 	periodicalFormCheckerEvent2=$clear(periodicalFormCheckerEvent2);	 
 };
  var toggleLoginWidget=function(){    
  	if($('login-widget-main-div').getStyle('display')=='none'){
  		initLoginPanel();
  		$('login-widget-main-div').setStyle('display','block');  		
  	}else{
  		$('login-widget-main-div').setStyle('display','none');
  	}  	
  };
  
  var toggleLoginPanel=function(){
  	if($('login-panel-div').getStyle('display')=='none'){
  		$('login-panel-div').setStyle('display','block');
  		$('forget-password-div').setStyle('display','none');
  		initLoginPanel();
  	}else{
  		$('login-panel-div').setStyle('display','none');
  		$('forget-password-div').setStyle('display','block');
  	} 
  };
  
  var toggleForgetPasswordPanel=function(){
  	if($('forget-password-div').getStyle('display')=='none'){
  		$('forget-password-div').setStyle('display','block');
  		$('login-panel-div').setStyle('display','none');
  		initPeriodicalFormChecker2();
  	}else{
  		$('forget-password-div').setStyle('display','none');
  		$('login-panel-div').setStyle('display','block');
  		killPeriodicalFormChecker2();
  	} 
  };
  
  var validateForm=function(){
  	var isValid=true;
  	if($('loginbean.login').value==''){
  		isValid=false;
  	}
  	
  	if($('loginbean.password').value==''){
  		isValid=false;
  	}
  	
  	if(isValid){
  		enableLoginButton(true);
  	}else{
  		enableLoginButton(false);
  	}
  	
  	return isValid;
  
  };
  
  var validateForm2=function(){
  	var isValid=true;
  	if($('uemail').value==''){
  		isValid=false;
  	}  	
  	
  	if(isValid){
  		enableRequestPasswordButton(true);
  	}else{
  		enableRequestPasswordButton(false);
  	}
  	
  	return isValid;
  
  };
  
  var enableLoginButton=function(status){
  	if(status){
  		if($('loginBtn').getProperty('disabled')==true){
  			$('loginBtn').setProperty('disabled',false);
  			$('loginBtn').setStyle('background-image','url('+$('webContextString').getProperty('value')+'passive/images/login-active.png)');
  			$('loginBtn').addEvent('click', loginUser);
  		}
  	}else{
  		if($('loginBtn').getProperty('disabled')==false){
  			$('loginBtn').setProperty('disabled',true);
  			$('loginBtn').setStyle('background-image','url('+$('webContextString').getProperty('value')+'passive/images/login-disabled.png)');
  			$('loginBtn').removeEvent('click', loginUser);
  		}
  	}
  };
  
  var enableRequestPasswordButton=function(status){
  	if(status){
  		if($('pwdBtn').getProperty('disabled')==true){
  			$('pwdBtn').setProperty('disabled',false);
  			$('pwdBtn').setStyle('background-image','url('+$('webContextString').getProperty('value')+'passive/images/request-password-active.png)');
  			$('pwdBtn').addEvent('click', requestPassword);
  		}
  	}else{
  		if($('pwdBtn').getProperty('disabled')==false){
  			$('pwdBtn').setProperty('disabled',true);
  			$('pwdBtn').setStyle('background-image','url('+$('webContextString').getProperty('value')+'passive/images/request-password-disabled.png)');
  			$('pwdBtn').removeEvent('click', requestPassword);
  		}
  	}
  };
  
  
  
  var loginUser=function(){  
  	if(validateForm()){
  		/*Show overlay*/  		
  		$('loginFormDiv').setStyle('display','none');
  		$('overlayDiv1').setStyle('display','block');
  		killPeriodicalFormChecker();
  		enableLoginButton(false);
  		requestLoginCall();
  	}
  	return false;
  	
  };
  
  var requestLoginCall=function(){  	
  	$('actionForm').set('send', { 
				  onSuccess: function(response){
				  var resultObj=null;
				  try{				  
				  	resultObj=JSON.decode(response);					   
				  }catch(ex){				  	
				  }
				  if(resultObj==null){						   						   	
						   $('loginFormErrorDiv').set('html','System Error, Try Again');
						   $('loginFormErrorDiv').addClass('error-login-msg');
						   $('loginFormErrorDiv').setStyle('display','block');
						   $('loginFormDiv').setStyle('display','block');
  						   $('overlayDiv1').setStyle('display','none');
  						   initPeriodicalFormChecker();	
					    }else{
							if(resultObj.status=='true'){
								if(resultObj.isCookies=='true')
								{
									redirectToCookiesPage();
								}
								else
								{
									redirectToHomePage(resultObj.role);
								}
							}else{
								 $('loginFormErrorDiv').set('html','<div style="height:30px;">Whoops. The e-mail/username you<br /> entered was not found in our system</div>');
						  		 $('loginFormDiv').setStyle('display','block');
						  		 $('loginFormErrorDiv').setStyle('display','block');
  						  		 $('overlayDiv1').setStyle('display','none');
  						  		 $('loginFormErrorDiv').addClass('error-login-msg');
  						  		 $('usernameLabel').addClass('error-login-label');
  						  		 initPeriodicalFormChecker();  						  		 
							}
						 }
				  },
					onFailure:function(response){
					  	var message='System Error Try Again';
						$('loginFormErrorDiv').set('html','System Error, Try Again');
						$('loginFormErrorDiv').setStyle('display','block');
						$('loginFormDiv').setStyle('display','block');
  						$('overlayDiv1').setStyle('display','none');
  						initPeriodicalFormChecker();
					  } 
				}).send();	
  };
  
  var redirectToHomePage=function(){
  	document.location.href=$('webContextString').getProperty('value')+"home.action";
  }
  
  var redirectToCookiesPage=function(){
  	document.location.href=$('webContextString').getProperty('value')+"action!login.action";
  }
  var requestPassword=function(){
  	if(validateForm2()){
  		/*Show overlay*/
  		requestPasswordCall();
  		$('retrievePasswordDiv').setStyle('display','none');
  		$('overlayDiv2').setStyle('display','block');
  		killPeriodicalFormChecker2();
  		enableRequestPasswordButton(false);
  		
  	}
  	return false;
  };
  
  var requestPasswordCall=function(){
  	$('fpform').set('send', { 
				  onSuccess: function(response){				    
					   var resultObj=JSON.decode(response);
					   if(resultObj==null){						   						   	
						   $('fpFormError').set('html','There has been an error in our system. Please try again.');
						   $('retrievePasswordDiv').setStyle('display','block');
  						   $('overlayDiv2').setStyle('display','none');
  						   $('fpFormError').addClass('error-login-msg');
  						   initPeriodicalFormChecker2();	
					    }else{
							if(resultObj.status=='success'){
								$('fpform').reset();
								var message="";
								if(resultObj.type=='email'){
									message=message+"Your password has been sent to "+resultObj.recieverEmail;
								}else{									
									message=message+"Your password has been sent to ";
									if(resultObj.recieverType=='student'){
										message=message;
									}else{
										message=message+"<br />your parent's emailID :";
									}
									message=message+resultObj.recieverEmail;									
								}
								$('forgetInitDiv1').setStyle('display','none');
								$('PasswordButtonSpan').setStyle('display','none');
								$('pwdInfoDiv').setStyle('display','none');
								
								$('overlayDiv2').set('html',''+message+'<br /><br /><br /><a href="javascript:toggleLoginPanel();" class="view"><strong>Back to Login</strong></a>');								
							}else{
								if(resultObj.reason=='invalid'){									
									var message='<div style="height:45px;">Whoops. The e-mail/username you entered was not found in our system.</div>';									
								}else{
									var message='System Error Try Again';									
								}
								$('forgetInitDiv1').setStyle('display','none');
								$('fpFormError').set('html',message);
							    $('retrievePasswordDiv').setStyle('display','block');
	  						    $('overlayDiv2').setStyle('display','none');
	  						    $('usernameLabel2').addClass('error-login-label');
	  						    $('fpFormError').addClass('error-login-msg');
	  						    initPeriodicalFormChecker2();
							}
						 }
				  },
					onFailure:function(response){
					  	var message='System Error Try Again';
					  	$('forgetInitDiv1').setStyle('display','none');
						$('fpFormError').set('html',message);
						$('retrievePasswordDiv').setStyle('display','block');
	  					$('overlayDiv2').setStyle('display','none');
	  					$('fpFormError').addClass('error-login-msg');
	  					initPeriodicalFormChecker2();
					  } 
				}).send();	
  };
  
  var initLoginPanel=function(){
	  $('actionForm').reset();
	  $('login-panel-div').setStyle('display','block');
	  $('loginFormDiv').setStyle('display','block');
	  $('overlayDiv1').setStyle('display','none');
	  $('forget-password-div').setStyle('display','none');
	  $('retrievePasswordDiv').setStyle('display','block');
	  $('forgetInitDiv1').setStyle('display','block');	  
	  $('loginFormErrorDiv').setStyle('display','block').set('html','');	  
 	  $('usernameLabel').removeClass('error-login-label');
 	  
	  $('fpFormError').setStyle('display','block').set('html','');
	  $('fpform').reset();
	  
      $('overlayDiv2').setStyle('display','none').set('html','<div class="clear" style="padding-left:30px;pading-bottom:5px;"><strong>Retrieving Password</strong></div><div class="clear" style="padding-left:80px;"><img src="'+$('webContextString').getProperty('value')+'passive/images/ajax-loader.gif" /><br /></div>');
	  $('pwdInfoDiv').setStyle('display','block');
	  $('PasswordButtonSpan').setStyle('display','block');
	  $('fpFormError').removeClass('error-login-msg');
	  
	  initPeriodicalFormChecker();
	  killPeriodicalFormChecker2();
	  
  }
  
  
  
  
 