// JavaScript Document
 
 
 

//Religion validation
 
 
hide('religionOkSection');
hide('religionMsg');
function doValidateReligion(){
  var field = "txtReligion"; 
  var msg = 'religionMsg';
  var ok = 'religionOkSection';
   
  if(document.getElementById(field).value == '' ){
    show(msg);	 
	setContent(msg, "&nbsp;Religion is mandatory");
	 
	hide(ok);
	return false;
  }else{
    
      hide(msg);	  
	  show(ok);
	  return true;
   
  }

  
} 
 
 
 
 
 
 
hide('emailMsg');
hide('emailOkSection');
function doValidateEmail(){
  if(!valStringNotNull('txtEmail') ){
    show('emailMsg');	 
	setContent('emailMsg', "<font color='#FF0000'>&nbsp;Email address is mandatory</font>");
	hide('emailOkSection');
	return false;
  }else{
    if(!valEmail('txtEmail')){
      show('emailMsg');
	  hide('emailOkSection');
	  setContent('emailMsg', "<font color='#FF0000'>&nbsp;Email address is invalid</font>");
	  return false;
    }else{
      hide('emailMsg');
	  show('emailOkSection');
	  var myRequest = new Request({url: '/struts/jsp/validate.view?email='  + value('txtEmail'), method: 'get', onSuccess: function(responseText, responseXML) {
	     //alert(responseText);
         if( responseText.indexOf('OK') >= 0){
		   //alert(responseText);
		   hide('emailMsg');
	       show('emailOkSection');
		    
		 }else{
		   setContent('emailMsg', "<font color='#FF0000'>&nbsp;Email exists already in our system. Select another one.</font>");
	       show('emailMsg');
	       hide('emailOkSection');
		 
		 }
        }, onFailure: function(xhdr){
		   //alert('system failed');
		
		}
	  }
	  );
	  setContent('emailMsg', "<font color='#FF0000'>&nbsp;Checking availability...</font>");
	  show('emailMsg');
	  hide('emailOkSection');
	  myRequest.send();
	  return true;
	//alert('ok');
    }
  }

}


function doValidateEmail2(){
  var emailOk = false;
  if(!valStringNotNull('txtEmail') ){
    show('emailMsg');	 
	setContent('emailMsg', "<font color='#FF0000'>&nbsp;Email address is mandatory</font>");
	hide('emailOkSection');
	 
  }else{
    if(!valEmail('txtEmail')){
      show('emailMsg');
	  hide('emailOkSection');
	  setContent('emailMsg', "<font color='#FF0000'>&nbsp;Email address is invalid</font>");
	  
    }else{
      hide('emailMsg');
	  show('emailOkSection');
	  var myRequest = new Request({url: '/struts/jsp/validate.view?email='  + value('txtEmail'), async:false,method: 'get', onSuccess: function(responseText, responseXML) {
	     //alert(responseText);
         if( responseText.indexOf('OK') >= 0){
		   //alert(responseText);
		   hide('emailMsg');
	       show('emailOkSection');
		   emailOk = true;
		    
		 }else{
		   setContent('emailMsg', "<font color='#FF0000'>&nbsp;Email exists already in our system. Select another one.</font>");
	       show('emailMsg');
	       hide('emailOkSection');
		    
		 
		 }
        }, onFailure: function(xhdr){
		   //alert('system failed');
		
		}
	  }
	  );
	  setContent('emailMsg', "<font color='#FF0000'>&nbsp;Checking availability...</font>");
	  show('emailMsg');
	  hide('emailOkSection');
	  myRequest.send();
	  
	//alert('ok');
    }
  }
  
  return emailOk;

}
 
 
hide('usernameMsg');
hide('usernameOkSection');
function doValidateUsername(){
  if(!valStringNotNull('txtUserName') ){
    hide('usernameOkSection');
    show('usernameMsg');	 
	setContent('usernameMsg', "&nbsp;Username is mandatory ");
	return false;
  }else{
    if(!valStringMinLength('txtUserName', 3)){
	  hide('usernameOkSection');
      show('usernameMsg');
	  setContent('usernameMsg', "<font color='#FF0000'>&nbsp;Username needs to be longer than 3 characters</font>");
	  return false;
    } else{
	  var myRequest = new Request({url: '/struts/jsp/validate.view?username=' + value('txtUserName'), method: 'get', onSuccess: function(responseText, responseXML) {
	     
         if( responseText.indexOf('OK') >= 0){
		  
		   hide('usernameMsg');
	       show('usernameOkSection');
		   return true;
		   //alert('ok'); 
		 }else{
		   setContent('usernameMsg', "<font color='#FF0000'>&nbsp;Username exists already. Select another one.</font>");
	       show('usernameMsg');
	       hide('usernameOkSection');
		 
		 }
        }, onFailure: function(xhdr){
		  //alert('system failed');
		  return false;
		}
	  }
	  );
	  setContent('usernameMsg', "<font color='#FF0000'>&nbsp;Checking availability...</font>");
	  show('usernameMsg');
	  hide('usernameOkSection');
	  myRequest.send();

      return true;
	 
    }
  
 
  }



}




function doValidateUsername2(){
  var usernameOk = false;
  if(!valStringNotNull('txtUserName') ){
    hide('usernameOkSection');
    show('usernameMsg');	 
	setContent('usernameMsg', "&nbsp;Username is mandatory ");
	 
  }else{
    if(!valStringMinLength('txtUserName', 3)){
	  hide('usernameOkSection');
      show('usernameMsg');
	  setContent('usernameMsg', "<font color='#FF0000'>&nbsp;Username needs to be longer than 3 characters</font>");
	   
    } else{
	  var myRequest = new Request({url: '/struts/jsp/validate.view?username=' + value('txtUserName'), async:false, method: 'get', onSuccess: function(responseText, responseXML) {
	     
         if( responseText.indexOf('OK') >= 0){
		  
		   hide('usernameMsg');
	       show('usernameOkSection');
		   usernameOk = true;
		   //alert('ok'); 
		 }else{
		   setContent('usernameMsg', "<font color='#FF0000'>&nbsp;Username exists already. Select another one.</font>");
	       show('usernameMsg');
	       hide('usernameOkSection');
		    
		 }
        }, onFailure: function(xhdr){
		  //alert('system failed');
		   
		}
	  }
	  );
	  setContent('usernameMsg', "<font color='#FF0000'>&nbsp;Checking availability...</font>");
	  show('usernameMsg');
	  hide('usernameOkSection');
	  myRequest.send();

       
	 
    }
  
 
  }

  return usernameOk;

}


 


//Password validation
hide('passwordMsg');
hide('passwordOkSection');
 
function doValidatePassword(){
  var password = "txtPassword";
   
  var msg = 'passwordMsg';
  var ok = 'passwordOkSection';
  if(!valStringNotNull(password) ){
    show(msg);	 
	setContent(msg, "<font color='#FF0000'>&nbsp;password is mandatory</font>");
	hide(ok);
	return false;
  }else{
    if(!valStringMinLength(password, 4)){
      show(msg);
	  setContent(msg, "<font color='#FF0000'>&nbsp;password needs to be longer than 4 characters</font>");
	  hide(ok);
	  return false;
    }else{
      hide(msg);
	  show(ok);
	  return true;
	//alert('ok');
    }
  
  
  
  }



}

//Confirm Password validation
hide('passwordMsg2');
hide('passwordOkSection2');
 
function doValidatePassword2(){
  var password = "txtPassword2";
  var invalidSection = 'invalidPasswordSection2';
  var msg = 'passwordMsg2';
  var ok = 'passwordOkSection2';
  if(!valStringNotNull(password) ){
    show(msg);	 
	setContent(msg, "<font color='#FF0000'>&nbsp;Confirm password is mandatory</font>");
	return false;
  }else{
    if(!valStringMinLength(password, 4) ) {
      show(msg);
	  setContent(msg, "<font color='#FF0000'>&nbsp;Confirm password needs to be longer than 4 characters</font>");
	  return false;
    }else if(document.getElementById('txtPassword').value != document.getElementById('txtPassword2').value){
	  show(msg);
	  setContent(msg, "<font color='#FF0000'>&nbsp;passwords don't match up </font>");
	  return false;
	}else{
      hide(msg);
	  show(ok);
	  return true;
    }
 
 
  }

 
}

 

//Country validation
hide('countryMsg');
hide('countryOkSection');
 
function doValidateCountry(){
  var field = "txtCountry";
  var invalidSection = 'invalidCountrySection';
  var msg = 'countryMsg';
  var ok = 'countryOkSection';
  if(document.getElementById(field).value == '' ){
    show(msg);	 
	setContent(msg, "<font color='#FF0000'>&nbsp;Country is mandatory</font>");
	hide(ok);
	return false;
  }else{   
    hide(msg);
	show(ok);
	return true;
   
  }



}

 

 
 
//Age validation
var ivAge = 'ageMsg';
hide(ivAge);
hide('ageOkSection');
function doValidateAge(){
  var field = "cmbYear";
  
  var msg = 'ageMsg';
  var ok = 'ageOkSection';
   
  if(document.getElementById(field).value == 'select' || document.getElementById('cmbMonth').value == 'select'   || document.getElementById('cmbDate').value == 'select'          ){
    show(msg);	 
	setContent(msg, "<font color='#FF0000'>&nbsp;Please select your birthday.</font>");
	hide(ok);
	return false;
  }else{
    var date = new Date();	
    var age = date.getFullYear() - value(field);
	 
	if( ! valDate(   valueByInt('cmbDate'), valueByInt('cmbMonth')-1, valueByInt('cmbYear')  ) ){  
	  show(msg);	 
	  setContent(msg, "<font color='#FF0000'>&nbsp;Birthday is incorrect. Please check.</font>");
	  hide(ok); 
	  return false;
	}else{
      if(!(age>=18)){
        show(msg);
	    setContent(msg, "<font color='#FF0000'>&nbsp;Age must be 18 or over, but under 99.</font>");
	    hide(ok);
		return false;
      }else{
        hide(msg);
	    show(ok);
		return true;
	    //alert('ok');
      }
	}
   
  }

  
} 

//Between Age validation
var ivBetweenAge = 'betweenAgeMsg';
hide(ivBetweenAge);
 
hide('betweenAgeOkSection');
function doValidateBetweenAge(){
  var field = "ageMin";
  var invalidSection = 'invalidBetweenAgeSection';
  var msg = 'betweenAgeMsg';
  var ok = 'betweenAgeOkSection';
   
  if( (!valInteger(field))   || (!valInteger( 'ageMax') )          ){
    show(msg);	 
	setContent(msg, "<font color='#FF0000'>&nbsp;age values invalid.</font>");
	hide(ok);
	return false;
  }else{
    if( valueByInt( 'ageMin') < 18){
		show(msg);
		setContent(msg, "The minimum age field needs to be 18 or greater.");
		hide(ok);
		return false;
	}
  
    if(valueByInt( 'ageMax') < valueByInt( 'ageMin')){
      show(msg);
	  setContent(msg, "<font color='#FF0000'  >&nbsp;The minimum age field should be less or equal to than the maximum age field.</font>");
	  hide(ok);
	  return false;
    }else{
      hide(msg);
	  show(ok);
	  return true;
    }
   
  }

  
} 

hide('agreeMsg');

function doValidateAgree(){
   
  if( document.getElementById('rdoAgree').checked == false){
    //alert("Please accept the Terms and Conditions");
	show('agreeMsg');
  }  
   
  return document.getElementById('rdoAgree').checked ;
}


function doSubmit(){
	 
  var v7 = doValidateAgree(); 
  
  var v1 = doValidateAge();  
  
  var v2 = doValidateEmail2();  
  
  var v3 = doValidateUsername2();  
  
  var v4 = doValidatePassword(); 
   
  var v5 = doValidatePassword2();  
   
  var v6 = doValidateCountry();
   
  var v8 = doValidateReligion();
   
  var v9 = doValidateBetweenAge();
   
  if(v1 && v2 && v3 && v4 && v5 && v6 && v7 && v8 && v9){
	  
      document.getElementById('form1').submit();
	
	 
  
  } 

} 
 
 
 