function disableEnterKey(e)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13){
	      save();
          return false;
      }
     else{
          return true;
      }
}

function nDelegateEnterKey(e){
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13){
	      // enter key
	      countDel();
          return false;
      }
     else{
          return true;
      }
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}



function save(){  	

	doc = document.pageForm;
 	doc.actionAfter.value = "register-step-one-submit";
	validateForm();	 
}



//validation helps 






function clearerrors(j){
doc = document.pageForm;	

for (i=0; i<j; i++){
    //firstname
	document.getElementById("divErrorFirstName["+i+"]").style.display = 'none';
    //lastname
	document.getElementById("divErrorLastName["+i+"]").style.display = 'none';
    //GENDER
	document.getElementById("divErrorGender["+i+"]").style.display = 'none';
    //age
	document.getElementById("divErrorAge["+i+"]").style.display = 'none';
	//designation
	document.getElementById("divErrorDesignation["+i+"]").style.display = 'none';
	//contact number 
    document.getElementById("divErrorContactNumber["+i+"]").style.display = 'none';	
	//email 
	document.getElementById("divErrorEmail["+i+"]").style.display = 'none';
	//id name/nickname reminder
	document.getElementById("divReminderNickName["+i+"]").style.display='block';
	//id name/nickname error
	document.getElementById("divErrorNickName["+i+"]").style.display='none';
	
}  
 
//confirm first name divErrorConfirmFirstName 
document.getElementById('divErrorConfirmFirstName').style.display = 'none';
document.getElementById('divErrorConfirmLastName').style.display = 'none';
document.getElementById('divErrorConfirmNumber').style.display = 'none';
document.getElementById('divErrorConfirmEmail').style.display = 'none';
document.getElementById('divErrorConfirmMailingAddress').style.display = 'none';

//church
document.getElementById('divErrorENChurch').style.display = 'none';
document.getElementById('divErrorOtherChurch').style.display = 'none';
document.getElementById('divErrorOtherCity').style.display = 'none';
document.getElementById('divErrorOtherCountry').style.display = 'none';



}

function isEmpty(str){
if (str == ""){
return true;
}
return false;
       
}

function isEmailSingle(str){
	if(str.indexOf(".") > 2 && str.indexOf("@") > 0 && str.indexOf(",") < 0 && str.indexOf(";") < 0 && str.indexOf(" ") < 0){
		return true;
   	}
   	else{
		return false;
   	}
}


function isEmailValid(str){
   				if(str.indexOf(".") > 2 && str.indexOf("@") > 0){
					return true;
   				}
   				else{
	   				return false;
   				}
			}	

function isAlphaExp(str){
    var alphaExp = /^[a-zA-Z]+$/;
	if(str.match(alphaExp)){
		return true;
	}
		return false;
}


function isNumeric(str){
	var regExp = /^ *[0-9]+ *$/;
	if(str.match(regExp)){
		return true;
	}
		return false;
}

function isOptionBlank(v, cv){
 if (v == cv){
	return true; 
 }
 return false;
}

function sendError(errType,compareValue,fieldID,errorDivID,errMsg){
	//doc.pageForm;
    errorDiv = document.getElementById(errorDivID);
	
	
 //   alert(errType);

    switch (errType){
	case 'Empty':

	field = document.getElementById(fieldID);
	
	
	if (isEmpty (field.value)){
	errorDiv.style.display = '';
	errorDiv.innerHTML = errMsg;
	field.focus();
	return true;
	}
	break;
	
	case 'notSelected':
	//radio button
 	
	
	fieldArray = fieldID.split(",");
	unchecked = false;
	for(j=0 ; j<fieldArray.length ; j++){
	 field = document.getElementById(fieldArray[j]);
	if(field.checked==true){
	unchecked = true;
	}
	}
	
	if(unchecked==false){
	errorDiv.style.display = '';
	errorDiv.innerHTML = errMsg;
	field.focus();
	return true;
	}
	
	break;
	
	
	case 'notNumber':
	field = document.getElementById(fieldID);
	if (!isNumeric(field.value)) {
	errorDiv.style.display = '';
	errorDiv.innerHTML = errMsg;
	field.focus();
	return true;	
	}
	break;
	
	case 'noOption':
	field = document.getElementById(fieldID);
	var str = field.value;
	
	if (isOptionBlank(str,compareValue)) {
	errorDiv.style.display = '';
	errorDiv.innerHTML = errMsg;
	field.focus();
	return true;	
	}
	break;

    case 'notValidEmail':
	field = document.getElementById(fieldID);
	var str = field.value;
	check = false;
	check = isEmailValid(str);
	
	if (check == false){
	errorDiv.style.display = '';
	errorDiv.innerHTML = errMsg;
	field.focus();
	return true;	
	}

	
	break;

    case 'notSingleEmail':
	field = document.getElementById(fieldID);
	var str = field.value;
	check = false;
	check = isEmailSingle(str);
	
	if (check == false){
	errorDiv.style.display = '';
	errorDiv.innerHTML = errMsg;
	field.focus();
	return true;	
	}

	
	break;


	default:
	break;
	}
	
}



function validateForm() {
  

  
  doc = document.pageForm;
  var nDelegate = 0;
  //get the number of delegates;
  var fname = 'myFirstName[]';
  var fname = document.getElementsByName(fname);
  nDelegate = fname.length;
  

 
  clearerrors(nDelegate);
  
  //check if they chose a church or not
 
 attendsEN = doc.AttendingENChurch.value;

 
 if (attendsEN == 0){
	//not attending EN check if there's input
	/*otherCountry
		otherCity
		otherChurch
		divErrorENChurch
		divErrorOtherChurch
		*/
	        if (sendError("Empty","","otherChurch","divErrorOtherChurch","Church should be filled.")) {
		    return false;
			}else if (sendError("Empty","","otherCity","divErrorOtherCity","City should be filled.")) {
		    return false;
			}else if (sendError("noOption","","Country","divErrorOtherCountry","Please select a country.") ){
		    return false;
			} 
	
	      //alert(doc.otherChurch.value);
 } else if (attendsEN == 1) {
	//attending EN check if they selected
  if (sendError("noOption","","Church","divErrorENChurch","Please select a church." )){
	 //designation
	 return false;
    } 
 }
 
 
 for (i = 0; i <nDelegate; i++){
 bracket = "["+i+"]"; 

 if (sendError("Empty","","myFirstName"+bracket,"divErrorFirstName"+bracket,"First Name needs to be filled") ){
   //first name
   return false;
 } else if (sendError("Empty","","myLastName"+bracket,"divErrorLastName"+bracket,"Last Name needs to be filled")) {
   //lastname
   return false;	  
 } else if (sendError("Empty","","nickName"+bracket,"divErrorNickName"+bracket,"Nick Name needs to be filled")) {
   //nickname
   return false;	  
 } else if (sendError("notSelected","","gender"+bracket+"[male],gender"+bracket+"[female]","divErrorGender"+bracket,"Gender must be indicated")) {
	//gender
	return false; 
 } else if (sendError("notNumber","","age"+bracket,"divErrorAge"+bracket,"Please fill in the right value for age. (12 - 65)")){
    //age 
	return false;	 
 } else if (sendError("noOption","","designation"+bracket,"divErrorDesignation"+bracket,"Please choose delegate designation" )){
	 //designation
	 return false;
 } 
 
 
 /* else if (sendError("Empty","","ContactNumbers"+bracket,"divErrorContactNumber"+bracket,"Contact Number should be field.")){
   //contact num
  return false;
 } else if (sendError("Empty","","MailingAddress"+bracket,"divErrorMailingAddress"+bracket,"Mailing should be field.")) {
   //mailing address	 
   return false;
 } else if (sendError("notValidEmail","","Email"+bracket,"divErrorEmail"+bracket,"Please fill correct email.") ){
	return false; 
 } 
 */

 }//end of for loop
 
 
 
 
 //check for the recepient of confirmation 

  
  if (sendError("Empty","","confirmFirstName","divErrorConfirmFirstName","First Name must be field.") ){
	return false;  
  } else if ( sendError("Empty","","confirmLastName","divErrorConfirmLastName","Last Name must be filled.") ){
	return false;  
  } else  if ( sendError("Empty","","confirmContactNumbers","divErrorConfirmNumber","Contact Number must be filled.") ){
	return false;  
  } else if ( sendError("notValidEmail","","confirmEmailAddress","divErrorConfirmEmail","Please place a valid email.")){
	return false;
  } else if ( sendError("notSingleEmail","","confirmEmailAddress","divErrorConfirmEmail","Please place only one (1) valid email address.")){	
	return false;	  
  } else if (sendError("Empty","","confirmMailingAddress","divErrorConfirmMailingAddress","Mailing Address should be filled.")){	
	return false;  	  
  } 
  
  
  

  doc.submit(); 

  
}
 




function init(){
      Event.observe('NDelegate', 'onclick', countDel , false);
}

function removeDel(removeI){
	nObj = document.getElementById('NDelegate');
	n = nObj.value;
	nTotal = n;
	
	nTotal -= 1;
	if(nTotal==0) return false;
	
	var url = site_url+"register/stepone-subform.php";
	var pars = 'NDelegate='+nTotal;
	
	if( !isNaN(n)  && n>0 && n <= 20  ){			
		i=0;
		for(j=0 ; j<n ; j++){
		   if(i!=removeI){
				if(fName = document.getElementById("myFirstName["+j+"]")){
					pars += "&firstName["+i+"]="+escape(fName.value);
				}
				if(lName = document.getElementById("myLastName["+j+"]")){
					pars += "&lastName["+i+"]="+escape(lName.value);				
				}
				if(mName = document.getElementById("myMiddleName["+j+"]")){
					pars += "&middleName["+i+"]="+escape(mName.value);
				}
				if(nName = document.getElementById("nickName["+j+"]")){
					pars += "&idName["+i+"]="+escape(nName.value);
				}
				if(cName = document.getElementById("campus["+j+"]")){
					pars += "&campusName["+i+"]="+escape(cName.value);
				}
				if(a = document.getElementById("age["+j+"]")){
					pars += "&aValue["+i+"]="+escape(a.value);
				}
				if(cNum = document.getElementById("ContactNumbers["+j+"]")){
					pars += "&cNumValue["+i+"]="+escape(cNum.value);
				}
				if(eValue = document.getElementById("Email["+j+"]")){
					pars += "&emailValue["+i+"]="+escape(eValue.value);
				} 
				if(d = document.getElementById("designation["+j+"]")){
					pars += "&dValue["+i+"]="+escape(d.value);
				} 
				if (  (fg = document.getElementById("gender["+j+"][female]")) && (mg = document.getElementById("gender["+j+"][male]")) ){
					if (fg.checked){
						pars += "&gValue["+i+"]="+escape("Female");
					} else if(mg.checked){
						pars += "&gValue["+i+"]="+escape("Male");
					} 
				}
				
		   	i++;
			}		
		}		
		
		$('displayChurches').show();
		$('buttonNav').show();
	}
	else{
		$('displayChurches').hide();		
		$('buttonNav').hide();
	}	
	
	var target = 'names-new-delegate';
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});	
	
	nObj.value = nTotal;
}

function countDel(){
	var url = site_url+"register/stepone-subform.php";
	//var url = site_url+"register/stepone-subform.php?NDelegate=1";
	//var url = site_url+"assets/snippets/dataclasses/includes/templates/delegate-stepone-subform.tpl.php";
	
	var pars = 'NDelegate='+escape($F('NDelegate'));	
	
	
	var n = $F('NDelegate');
	if( !isNaN(n)  && n>0 && n <= 20  ){			
		
		
		
		for(i=0 ; i<n ; i++){
			if(fName = document.getElementById("myFirstName["+i+"]")){
				pars += "&firstName["+i+"]="+escape(fName.value);
			}
			
			if(lName = document.getElementById("myLastName["+i+"]")){
				pars += "&lastName["+i+"]="+escape(lName.value);				
			}
			
			if(mName = document.getElementById("myMiddleName["+i+"]")){
				pars += "&middleName["+i+"]="+escape(mName.value);
			}
			
			if(nName = document.getElementById("nickName["+i+"]")){
				pars += "&idName["+i+"]="+escape(nName.value);
			}
			if(cName = document.getElementById("campus["+i+"]")){
				pars += "&campusName["+i+"]="+escape(cName.value);
			}
			
			
			if(a = document.getElementById("age["+i+"]")){
				pars += "&aValue["+i+"]="+escape(a.value);
			}
			
			
			if(cNum = document.getElementById("ContactNumbers["+i+"]")){
				pars += "&cNumValue["+i+"]="+escape(cNum.value);
			}
			
			if(eValue = document.getElementById("Email["+i+"]")){
				pars += "&emailValue["+i+"]="+escape(eValue.value);
			} 
			
			if(d = document.getElementById("designation["+i+"]")){
				pars += "&dValue["+i+"]="+escape(d.value);
			} 
			
			if (  (fg = document.getElementById("gender["+i+"][female]")) && (mg = document.getElementById("gender["+i+"][male]")) ){
				if (fg.checked){
				pars += "&gValue["+i+"]="+escape("Female");
				} else if(mg.checked){
				pars += "&gValue["+i+"]="+escape("Male");
				} 
				
			}
						
			
			
		}		
		
		$('displayChurches').show();
		$('buttonNav').show();
	}
	else{
		$('displayChurches').hide();		
		$('buttonNav').hide();
	}	
	
	
	
	
	var target = 'names-new-delegate';
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});	
   
    
}


function autoFillConfirmation(){
	doc = document.pageForm;
	//get the vars 
	  //firstname
	  var fname = 'myFirstName[]';
      var fname = document.getElementsByName(fname);
      //lastname	
	  var lname = 'myLastName[]';
      var lname = document.getElementsByName(lname);
	  //middlename
	  var mname = 'myMiddleName[]';
      var mname = document.getElementsByName(mname);
	  
	  //contactnum
	  var cn = 'ContactNumbers[]';
      var cn = document.getElementsByName(cn);
	   
	  
	  
	  //email
	  var email = 'Email[]';
	  var email = document.getElementsByName(email);
	
	
	
	//alert(fname[0].value);
	n = document.getElementById('autofillSelect').value;
	
	
	if (n == "") {
	doc.confirmFirstName.value =  '';
	doc.confirmLastName.value =  ''; 
	doc.confirmMiddleName.value = '';
	doc.confirmContactNumbers.value = '';
	doc.confirmEmailAddress.value = '';
	}else {
	 n = parseInt(n);	
	 doc.confirmFirstName.value =  fname[n].value;
	doc.confirmLastName.value =  lname[n].value; 
	doc.confirmMiddleName.value = mname[n].value;
	doc.confirmContactNumbers.value = cn[n].value;
	doc.confirmEmailAddress.value = email[n].value;
	 
	 
	}
}


function showHideForm(i, l) {
       doc = document.pageForm;
	   
   $(i).show();
   $(l).hide();
   
   
   if (i == 'notENChurch') {
	   doc.AttendingENChurch.value = 0;	   
   } else if (i == 'ENChurch') {
	  doc.AttendingENChurch.value = 1;
   }
}

function autoFillFromFirstName(i){
	n = document.getElementById("nickName["+i+"]");
	fn = document.getElementById("myFirstName["+i+"]");
	n.value = fn.value;
}

function autoFillLastName(i){
	ln = document.getElementById("myLastName["+i+"]");
	b = document.getElementById("nickNameLastName["+i+"]");
	b.innerHTML = ln.value.toUpperCase();
}


  
	

