/*
function $(elementname) {
	return document.getElementById(elementname);
}
*/
function $(obj) {
   if(document.getElementById) {
        if(document.getElementById(obj)!=null) {
            return document.getElementById(obj)
        } else {
           return "";
       }
    } else if(document.all) {
        if(document.all[obj]!=null) {
            return document.all[obj]
        } else  {
          return "";
       }
    }
}
function resetAge(agetxt){
	if(agetxt!="") {
		var MatriForm = this.document.REG_MatriForm;
		MatriForm.DOBYEAR.value = "0";
		MatriForm.DOBMONTH.value = "0";
		MatriForm.DOBDAY.value = "0";
	}
}
var domain_request=false;
var caste_request=false;
var more_request=false;
var def_domain;
function makeDrequest(mothertongue)
{
	if(mothertongue>0 && mothertongue!=null)
	{
	domain_request = createajax();
	var url="/register/ajax_registration.php?type=get_domain&mother_tongue="+mothertongue;
	domain_request.onreadystatechange = LoadCasteonDomain;
	domain_request.open('GET', url, true);
	domain_request.send(null);
	}
}
function LoadCasteonDomain() {
		if (domain_request.readyState == 4) {
			if (domain_request.status == 200) {
				var resp = eval(domain_request.responseText);
				def_domain = resp[0].value;
				caste_request = createajax();
				var url="/register/ajax_registration.php?type=caste&language="+def_domain+"&religion="+$('RELIGION').value+"&mothertongue="+$('MOTHERTONGUE').value;
				caste_request.onreadystatechange = LoadCaste;
				caste_request.open('GET', url, true);
				caste_request.send(null);
			}
		}
}
function LoadCaste() {
		if (caste_request.readyState == 4) {
			if (caste_request.status == 200) {
				var castelist = eval(caste_request.responseText);
				var objSelect = $('CASTE_NORMAL');
				populateSelect(objSelect,castelist)
			}
		}
}
function populateSelect(objSelect,optlist) {
	objSelect.length=0;
	for(ic=0;ic<optlist.length;ic++) {
		var objOption = document.createElement("option");
		objOption.text = optlist[ic].caption;
		objOption.value = optlist[ic].value;

		if(document.all && !window.opera)
		  {objSelect.add(objOption);}
		 else
		  {objSelect.add(objOption, null);};
	}
}
function showMoreCaste(selValue){
	if(selValue == 'no') {
		caste_request = createajax();
		var url="/register/ajax_registration.php?type=caste&language="+def_domain+"&religion="+$('RELIGION').value+"&caste=no";
		caste_request.onreadystatechange = LoadCaste;
		caste_request.open('GET', url, true);
		caste_request.send(null);
	} else if(selValue == '999') {
		$('spnFreeTxt').style.display = "block";
	}
	if(selValue != '999') {
		$('spnFreeTxt').style.display = "none";
		$('CASTE_FREETEXT').value="";
	}
}
function showMoreCountry(cntryValue) {
	if(cntryValue==888) {
		more_request = createajax();
		var url="../register/ajax_registration.php?type=country";
		more_request.onreadystatechange = LoadCountry;
		more_request.open('GET', url, true);
		more_request.send(null);
	} else {
		$('M_COUNTRYCODE').value=cntryValue;
		if(cntryValue==98) {
			var strHTMLtxt;
			if (document.getElementById('frmSTDdiv'))
			{
				strHTMLtxt = '<input type="text" name="AREACODE" size="2" maxlength="3" value="- STD code -" class="inputtext" id="AREACODE" onclick="if ((this.value == \'- Area code -\') ||(this.value == \'Are\') || (this.value == \'- STD code -\'))   { this.value = \'\'; }" onfocus="if (this.value == \'- Area code -\' || this.value == \'- STD code -\') { this.value = \'\'; }" onblur="if (this.value == \'\') { this.value = \'- Area code -\'; }">'; 
				document.getElementById('frmSTDdiv').innerHTML=strHTMLtxt;
			} else {	
				$('AREACODE').value="- STD code -";
			}				
		} else {
			if (document.getElementById('frmSTDdiv'))
			{
				strHTMLtxt = '<input type="text" name="AREACODE" size="2" maxlength="3" value="- Area code -" class="inputtext" id="AREACODE" onclick="if ((this.value == \'- Area code -\') ||(this.value == \'Are\') || (this.value == \'- STD code -\'))   { this.value = \'\'; }" onfocus="if (this.value == \'- Area code -\' || this.value == \'- STD code -\') { this.value = \'\'; }" onblur="if (this.value == \'\') { this.value = \'- Area code -\'; }">';
				document.getElementById('frmSTDdiv').innerHTML=strHTMLtxt;
			} else {
				$('AREACODE').value="- Area code -";
			}				
		}
	}
}
function LoadCountry() {
		if (more_request.readyState == 4) {
			if (more_request.status == 200) {
				var conlist = eval(more_request.responseText);
				var objSelect = $('COUNTRY');
				populateSelect(objSelect,conlist);
			}
		}
}
function clearSelect(objSelect){
while(objSelect.options.length > 1){objSelect.remove(1);}
return objSelect;
}
	function validateForm(  )
	{
		var MatriForm = this.document.REG_MatriForm;

		if (IsEmpty(MatriForm.NAME,"text") || MatriForm.NAME.value=='Name')
		{
			alert( "Please enter the name" );
			MatriForm.NAME.value="";
			MatriForm.NAME.focus( );
			return false;}

		if((MatriForm.AGE.value == "" || MatriForm.AGE.value=='Age') && (MatriForm.DOBMONTH.value == "0" && MatriForm.DOBDAY.value == "0" && MatriForm.DOBYEAR.value == "0")){
		alert("Please enter the age or select the date of birth of the prospect");MatriForm.AGE.value="";MatriForm.AGE.focus();return false;
		}
		if(MatriForm.AGE.value == "" || MatriForm.AGE.value=='Age'){ 
		  if (MatriForm.DOBMONTH.value == "0")	
		  {alert("Please select month");MatriForm.DOBMONTH.focus();return false;}
		  if (MatriForm.DOBDAY.value == "0")	
		  {alert("Please select date");MatriForm.DOBDAY.focus();return false;}
		  if (MatriForm.DOBYEAR.value=="0")		
		  {alert("Please select year");MatriForm.DOBYEAR.focus();return false;}
		}

		if( !ValidateNo( MatriForm.AGE.value, "0123456789" ) && $("AGE").value!="Age" )
		{alert("Please enter a valid age");MatriForm.AGE.focus();return false;}

		var age = parseInt( MatriForm.AGE.value );
		var calyear = displayage(MatriForm.DOBYEAR.value,MatriForm.DOBMONTH.value,MatriForm.DOBDAY.value, 'years', 0, 'rounddown')

		if ((age<21) && (MatriForm.GENDER[1].checked) && (MatriForm.AGE.value!=""))
		{alert("Prospect should be 21 years to register");MatriForm.AGE.focus();return false;}

		if ((MatriForm.AGE.value=="" || MatriForm.AGE.value=='Age') && (calyear < 21) && (MatriForm.GENDER[1].checked))
		{alert("Prospect should be 21 years to register");MatriForm.AGE.focus();return false;}

		if (age < 18 && MatriForm.GENDER[0].checked && (MatriForm.AGE.value!=""))
		{alert("Prospect should be 18 years to register");MatriForm.AGE.focus();return false;}

		if (age=="" && calyear < 18 && MatriForm.GENDER[0].checked)
		{alert("Prospect Should be 18 years to Register");MatriForm.AGE.focus();return false;}

		if ( age > 70 && calyear > 70)
		{alert("Maximum age allowed is 70");MatriForm.AGE.focus( );return false;}

		if ( !MatriForm.GENDER[0].checked && !MatriForm.GENDER[1].checked) {
			alert( "Please select gender" );
			MatriForm.GENDER[0].focus( );
			return false;
		}
		if ( MatriForm.GENDER[0].checked && MatriForm.AGE.value != "" && MatriForm.AGE.value < 18) {
			alert( "You must be atleast 18 yrs old to register" );
			MatriForm.AGE.focus( );
			return false;
		}
		if ( MatriForm.RELIGION.selectedIndex == 0 ) {
			alert( "Please select religion" );	
			MatriForm.RELIGION.focus( );
			return false;
		}
		if (MatriForm.MOTHERTONGUE.value == '0') {
			alert ('Please select mother tongue');
			MatriForm.MOTHERTONGUE.focus();
			return false;
		}
		if (MatriForm.CASTE_NORMAL.value == '00') {
			alert ('Please select caste');
			MatriForm.CASTE_NORMAL.focus();
			return false;
		}else if((MatriForm.CASTE_NORMAL.value == '999')&&(MatriForm.CASTE_FREETEXT.value == '')) {
			alert ('Please enter caste');
			MatriForm.CASTE_FREETEXT.focus();
			return false;
		}
		if (MatriForm.COUNTRY.value == '0') {
			alert ('Please select country');
			MatriForm.COUNTRY.focus();
			return false;
		}		

		if(((MatriForm.PHONENO.value=="") && (MatriForm.MOBILENO.value=="")) || ((MatriForm.PHONENO.value=="- Landline number -") && (MatriForm.MOBILENO.value=="- Mobile number -"))) {			
			alert("Please enter phone or mobile number");
			MatriForm.PHONENO.focus();
			return false;
		} else {			
			if(MatriForm.MOBILENO.value!="" && MatriForm.MOBILENO.value!="- Mobile number -") {
				if(! mobilevalidate(MatriForm.MOBILENO.value)) {
					MatriForm.MOBILENO.focus();
					return false;
				}
			}
			if(MatriForm.PHONENO.value!="" && MatriForm.PHONENO.value!="- Landline number -") {
				if(! phonevalidate(MatriForm.PHONENO.value)) {
					MatriForm.PHONENO.focus();
					return false;
				}
			}
		}
		// Check E-mail 
		if (MatriForm.EMAIL.value == '') {
			alert ('Please enter an e-mail ID');
			MatriForm.EMAIL.focus();
			return false;
		}
		if (ValidateEmail(MatriForm.EMAIL.value) == false) {
			alert ('Please enter a valid e-mail ID');
			MatriForm.EMAIL.focus();
			return false;
		}
		if (MatriForm.PASSWD1.value == '' || MatriForm.PASSWD1.value == 'Password') {
			alert ('Please enter password');
			//MatriForm.PASSWD1.focus();
			orgPasswordField(document.getElementById("TEMPPASSWD1"),"PASSWD1");
			return false;
		}
		if ( MatriForm.PASSWD1.value.length < 4 )
		{alert("Password must have a minimum of 4 characters");	MatriForm.PASSWD1.focus(); return false;}
		var pwd1=MatriForm.PASSWD1.value;
		pwd1=pwd1.toUpperCase()
		var una=MatriForm.NAME.value
		una=una.toUpperCase()

		if (pwd1 == una)
		{alert("The name and password cannot be the same. Please change the password");MatriForm.PASSWD1.focus( );return false;}
		if(pwd1=='123456')
		{alert("Sorry, your password has been rejected.It is recommended that you submit a password with alphanumeric characters.");MatriForm.PASSWD1.focus( );return false;}

		tmpPass = MatriForm.PASSWD1.value;
		goodPasswd = 1;

		for( var idx=0; idx< tmpPass.length; idx++ )
		{
			ch = tmpPass.charAt(idx);
			if( !((ch>='a') && (ch<='z')) && !((ch>='A') && (ch<='Z')) && !((ch>=0) && (ch <=9)) )
			{goodPasswd = 0;break;}
		}
		if ( goodPasswd ==0 )
		{alert("Spaces or special characters are not allowed in the password");MatriForm.PASSWD1.focus( );return false;}
	}

//DOB and Age Check
function agechk()
{
		gen_val = "0";
		if($('gendermale').checked)
			gen_val = "M";
		if($('genderfemale').checked)
			gen_val = "F";
		if($("DOBDAY").value!=0 && $("DOBMONTH").value!=0 && $("DOBYEAR").value!=0)
		{
			if(dob_cal()==true)
			{
			var calyear = displayage($("DOBYEAR").value,$("DOBMONTH").value,$("DOBDAY").value, 'years', 0, 'rounddown');
			 if(gen_val=="M")
			{
			if(calyear < 21){alert("Sorry! The person needs to be 21 or above to register here.");return false;$("DOBDAY").focus();}
			else if(calyear > 70){alert("Maximum age allowed is 70.");return false;$("DOBDAY").focus();}
			else{alert("");return true;}
			}
			if(gen_val=="F")
			{
			if(calyear < 18){alert("Sorry! The person needs to be 18 or above to register here.");return false;$("DOBDAY").focus();}
			else if(calyear > 70){alert("Maximum age allowed is 70.");return false;$("DOBDAY").focus();}
			}
			}
		}
		
		if(!IsEmpty($("AGE"),'text') && $("AGE").value!="Age")
		{
			$("DOBDAY").value="0";$("DOBMONTH").value="0";$("DOBYEAR").value="0";
			
			if (!ValidateNo($("AGE").value, "0123456789")) 
			{alert("Please enter a valid age");$("AGE").focus();return false;}
			
			var calyear=$("AGE").value;

			if(gen_val=="M")
			{
			if(calyear < 21){alert("Sorry! The person needs to be 21 or above to register here.");return false;$("DOBDAY").focus();}
			else if(calyear > 70){alert("Maximum age allowed is 70.");return false;$("DOBDAY").focus();}
			}
			
			if(gen_val=="F")
			{
			if(calyear < 18){alert("Sorry! The person needs to be 18 or above to register here.");return false;$("DOBDAY").focus();}
			else if(calyear > 70){alert("Maximum age allowed is 70.");return false;$("DOBDAY").focus();}
			}	
		}
}


function dob_cal()
{
	if(($("DOBDAY").value!=0)&&($("DOBMONTH").value!=0) &&($("DOBYEAR").value!=0))
	{
	var mchk=($("DOBMONTH").value%2);
	var ychk=($("DOBYEAR").value%4);			

	if($("DOBMONTH").value==2)
	{
		if($("DOBDAY").value>=30)
		{alert("Please select correct date. This month doesn't have 30 or 31");return false;}
		else if($("DOBDAY").value==29)
		{ if(ychk!=0){alert("This is not a leap year. Please select the correct date");return false;}	}
	}
	else if(($("DOBMONTH").value<=7)&&(mchk==0))
	{				
		if($("DOBDAY").value==31)
		{alert("Please select correct date. This month doesn't have 31");return false;}	
	}
	
	 else if(($("DOBMONTH").value>=8)&&(mchk==1))
	{				
		if($("DOBDAY").value==31)
		{alert("Please select correct date. This month doesn't have 31");return false;}
	}
  }
}

var one_day=1000*60*60*24
var one_month=1000*60*60*24*30
var one_year=1000*60*60*24*30*12

function displayage(yr, mon, day, unit, decimal, round){
today=new Date()
var pastdate=new Date(yr, mon-1, day)

var countunit=unit
var decimals=decimal
var rounding=round
finalunit=(countunit=="days")? one_day : (countunit=="months")? one_month : one_year
decimals=(decimals<=0)? 1 : decimals*10

if (unit!="years"){
if (rounding=="rounddown")
alert (Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+' '+countunit)
else
alert (Math.ceil((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+' '+countunit)
}
else
{
yearspast=today.getFullYear()-yr-1
tail=(today.getMonth()>mon-1 || today.getMonth()==mon-1 && today.getDate()>=day)? 1 : 0
pastdate.setFullYear(today.getFullYear())
pastdate2=new Date(today.getFullYear()-1, mon-1, day)
tail=(tail==1)? tail+Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals : Math.floor((today.getTime()-pastdate2.getTime())/(finalunit)*decimals)/decimals
var calyear=yearspast+tail;
}
return calyear;
}

function phonevalidate(val) {
	if(val=='')
		return;
	val = val.replace(/-|\+|\s/g, '');
	var country = $("M_COUNTRYCODE").value;
	country = country.replace(/-|\+|\s|0*/g, '');
	if(country==0 || country=='0'){alert("Please select country code.");
	return false;}
	
	if(country == 222 || country==39) {	//us and canada
		var phonereg = new RegExp('^[0-9]+$');
		var stdcode = $("AREACODE").value;
		if(stdcode=="Area Code"){alert("Please enter valid area code/phone number.");$("AREACODE").focus();return false;}
		stdcode = stdcode.replace(/-|\+|\s/g, '');
		//if(stdcode[0]=='1' || stdcode[0]==1)
		if(stdcode.substr(0,1)=='0' || stdcode.substr(0,1)==0)
			var areacode = stdcode.substring(1) ;
		else
			var areacode = stdcode;
		totlen = areacode.length + val.length;
		err = phoneshowerr(phonereg, val, totlen, 10);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid area code/phone number.");
			$("AREACODE").focus();
			return false;
		}
	}
	if(country == 98) {	//india
		var indiareg = new RegExp('^[0-9]+$');
		var stdcode = $("AREACODE").value;
		if(stdcode=="STD code"){alert("Please enter valid area code/phone number.");$("AREACODE").focus();return false;}
		
		//if(stdcode[0]=='0' || stdcode[0]==0) 
		if(stdcode.substr(0,1)=='0' || stdcode.substr(0,1)==0)
		{
			var areacode = stdcode.substring(1) ;
		}
		else
			var areacode = stdcode;
		totlen = areacode.length + val.length;
		err = phoneshowerr(indiareg, val, totlen, 10);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid STD code/phone number.");
			return false;
		}
	}
	if(country == 220) { //uae
		var uaereg = new RegExp('^[0-9]{7,}$');
		err = phoneshowerr(uaereg, val, 0, 0);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid phone number.");
			return false;
		}
	}
	if(country == 13) { // australia
		var uaereg = new RegExp('^[0-9]{8,}$');
		err = phoneshowerr(uaereg, val, 0, 0);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid phone number.");
			return false;
		}
	}
	if(country == 189) { // singapore
		var uaereg = new RegExp('^[0-9]{8,}$');
		err = phoneshowerr(uaereg, val, 0, 0);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid phone number.");
			return false;
		}
	}
	if(country == 129) { // malaysia
		var uaereg = new RegExp('^[0-9]{6,}$');
		err = phoneshowerr(uaereg, val, 0, 0);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid phone number.");
			return false;
		}
	}
	if(country == 221) { // uk
		var uaereg = new RegExp('^[0-9]{6,}$');
		err = phoneshowerr(uaereg, val, 0, 0);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid phone number.");
			return false;
		}
	}
	else
	{
		var uaereg = new RegExp('^[0-9]{6,}$');
		err = phoneshowerr(uaereg, val, 0, 0);
		if(err)
		{return true;}
		else  {
			alert("Please enter valid phone number.");
			return false;
		}
	}
}

function mobilevalidate(val) {
	//alert(val);
	if(val=='')
		return;
	val = val.replace(/-|\+|\s/g, '');
	//var country = $('COUNTRYCODE').value;
	var country = $("M_COUNTRYCODE").value;
	var country_txt = $("M_COUNTRYCODE").selectedIndex;
	if(country==0 || country=='0'){alert("Please select the country code.");return false;}
	
	if(country == 98) { //india
		var mobreg = new RegExp('^\[+]91[0-9]{10,}$|^91[0-9]{10,}$|^[0-9]{10,}$|^0[0-9]{10,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter a valid mobile number.");return false;}
	}
	if(country == 222 || country==39) {	//us or canada
		var mobreg = new RegExp('^\[+]1[0-9]{10,}$|^[0-9]{10,}$|^1[0-9]{10,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter valid mobile number.");return false;}
	}
	if(country == 220) { //uae
		var mobreg = new RegExp('^\[+]971[0-9]{9,}$|^[0-9]{9,}$|^971[0-9]{9,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter valid mobile number.");return false;}
	}
	if(country == 13) { //australia
		var mobreg = new RegExp('^\[+]61[0-9]{9,}$|^[0-9]{9,}$|^61[0-9]{9,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter valid mobile number.");return false;}
	}
	if(country == 189) { // singapore
		var mobreg = new RegExp('^\[+]65[0-9]{8,}$|^[0-9]{8,}$|^65[0-9]{8,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter valid mobile number.");return false;}
	}
	if(country == 129) { //malaysia
		var mobreg = new RegExp('^\[+]60[0-9]{9,}$|^[0-9]{9,}$|^60[0-9]{9,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter valid mobile number.");return false;}
	}
	if(country == 221) { //uk
		var mobreg = new RegExp('^\[+]44[0-9]{8,}$|^[0-9]{8,}$|^44[0-9]{8,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter valid mobile number");return false;}
	}
	else
	{
		var mobtxtreg = new RegExp('\[(]\[+]([0-9]+)\[)]');
		mobtxtreg.test(country_txt);
		var org_ccode = RegExp.$1;

		var mobreg = new RegExp('^\[+]'+org_ccode+'[0-9]{8,}$|^[0-9]{8,}$|^'+org_ccode+'[0-9]{8,}$');
		err = phoneshowerr(mobreg, val, 0, 0);
		if(err) {return true;}else  {alert("Please enter valid mobile number");return false;}
	}
}

function areacodevalidate(val) {
	//alert(val);
	if(val == '' || val == 'Area Code')
	{	alert("Please enter valid area / STDcode");return false;}
	var reg = new RegExp('^[0-9]+$');
	if(reg.test(val)) {
		return true;
	}
	else {
		alert("Please enter valid area / STDcode");return false;
	}
	phonevalidate($("PHONENO").value);
	//mobilevalidate($("#MOBILENO").val());
}

function phoneshowerr(reg, val, totlen, desiredlen) {
	if(totlen==0) {
		if(reg.test(val))
			return true;
		else
			return false;
	}
	else {
		if(reg.test(val) && desiredlen==totlen)
			return true;
		else
			return false;
	}
}