// JavaScript Document
function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit){ // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		document.getElementById('remLen2').innerHTML = '0 Characters Left.'
	} else {
		//cntfield.value = maxlimit - field.value.length;
		var len = maxlimit - field.value.length;
		document.getElementById('remLen2').innerHTML = '<b>' + len +' Characters Left.</b>'
	}
}


function validate_basic(page_name){ 
	var frm = document.frmRegistration;
	document.getElementById('hidBlank').value = 0
	myArray=new Array()
	
	if(frm.fname.value == ""){
		document.getElementById('div_fname').innerHTML="Please enter first name";
		document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
		document.getElementById('img_fname2').style.display=""
		document.getElementById('img_fname1').style.display="none"
	}else {
		document.getElementById('div_fname').innerHTML=""
		document.getElementById('img_fname1').style.display=""
		document.getElementById('img_fname2').style.display="none"
	}

	if(frm.lname.value == ""){
		document.getElementById('div_lname').innerHTML="Please enter last name";
 		document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
		document.getElementById('img_lname2').style.display=""
		document.getElementById('img_lname1').style.display="none"
	}else {
		document.getElementById('div_lname').innerHTML=""
		document.getElementById('img_lname1').style.display=""
		document.getElementById('img_lname2').style.display="none"
	}
	var val=document.frmRegistration.pass.value;	
	if (!(((val.search(/[a-z]+/) > -1) || (val.search(/[A-Z]+/) > -1))
	  && (val.search(/[0-9]+/) > -1)&& val.length>=4))
	{
		document.getElementById('div_pass').innerHTML="Please choose a password that contains at least one number and";		
		document.getElementById('div_pass1').innerHTML="one alphabet and the length of the password should be greater";		
		document.getElementById('div_pass2').innerHTML="than or equal to 4";		
		document.getElementById('div_pass1').style.display="";		
		document.getElementById('div_pass2').style.display="";		
		document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
		document.getElementById('img_pass2').style.display=""		
		document.getElementById('img_pass1').style.display="none"		
	}
	else 
	{
		document.getElementById('div_pass').innerHTML="";
		document.getElementById('div_pass1').innerHTML="";
		document.getElementById('div_pass2').innerHTML="";
		document.getElementById('img_pass1').style.display=""
		document.getElementById('img_pass2').style.display="none"
		document.getElementById('div_pass1').style.display="none"
		document.getElementById('div_pass2').style.display="none"

	}
	if(frm.email.value == ""){
		document.getElementById('div_email').innerHTML="Please enter a valid email";
 		document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
		document.getElementById('img_email2').style.display=""
		document.getElementById('img_email1').style.display="none"
	}else {
		document.getElementById('div_email').innerHTML=""
		document.getElementById('img_email1').style.display=""
		document.getElementById('img_email2').style.display="none"
	}

	if(frm.pass.value == ""){
		document.getElementById('div_pass').innerHTML="Please enter password";
 		document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
		document.getElementById('img_pass2').style.display=""
		document.getElementById('img_pass1').style.display="none"
	}else {
		document.getElementById('div_pass').innerHTML=""
		document.getElementById('img_pass1').style.display=""
		document.getElementById('img_pass2').style.display="none"
	}		
	if(frm.repass.value == ""){
		document.getElementById('div_repass').innerHTML="Please re-type password";
 		document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
		document.getElementById('img_repass2').style.display=""
		document.getElementById('img_repass1').style.display="none"
	}else {
		document.getElementById('div_repass').innerHTML=""
		document.getElementById('img_repass1').style.display=""
		document.getElementById('img_repass2').style.display="none"
	}
	if(frm.repass.value != "" && frm.pass.value != ""){
		if(frm.repass.value != frm.pass.value){
			document.getElementById('div_pass').innerHTML="Passwords Do Not Match.";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_pass2').style.display=""
			document.getElementById('img_pass1').style.display="none"
		}
	}
	if(page_name != 'add_athlete') {
		var dt=frm.dob;
		if (isDate(dt.value)==false){		
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_dob2').style.display=""
			document.getElementById('img_dob1').style.display="none"		
		}
		else 
		{
			document.getElementById('div_dob').innerHTML=""
			document.getElementById('img_dob1').style.display=""
			document.getElementById('img_dob2').style.display="none"
		}
		/*if(frm.address.value == ""){
			document.getElementById('div_address').innerHTML="Please enter address";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_address2').style.display=""
			document.getElementById('img_address1').style.display="none"
		} else {
			document.getElementById('div_address').innerHTML=""
			document.getElementById('img_address1').style.display=""
			document.getElementById('img_address2').style.display="none"
		}
		*/
		
		if(frm.city.value == ""){
			document.getElementById('div_city').innerHTML="Please enter city name.";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_city2').style.display=""
			document.getElementById('img_city1').style.display="none"
		} else {
			document.getElementById('div_city').innerHTML=""
			document.getElementById('img_city1').style.display=""
			document.getElementById('img_city2').style.display="none"
		}
	
		if(frm.state.value == ""){
			document.getElementById('div_state').innerHTML="Please enter state name";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_state2').style.display=""
			document.getElementById('img_state1').style.display="none"
		} else {
			document.getElementById('div_state').innerHTML=""
			document.getElementById('img_state1').style.display=""
			document.getElementById('img_state2').style.display="none"
		}
	
		if(frm.zip.value == ""){
			document.getElementById('div_zip').innerHTML="Please enter valid zip code";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_zip2').style.display=""
			document.getElementById('img_zip1').style.display="none"
		} else {
			document.getElementById('div_zip').innerHTML=""
			document.getElementById('img_zip1').style.display=""
			document.getElementById('img_zip2').style.display="none"
		}		

	
	
	
	
		if(frm.race_name.value != "" || frm.hrs.value != "" || frm.mins.value != "" || frm.secs.value != "" || frm.race_distance.value != '')
		{
			if(frm.race_name.value == "")
			{
				alert("Please enter recent race name")	
				return false;
			}
			if (isDate1(frm.race_date.value,"race date")==false)
			{		
				frm.race_date.focus;
				return false;
			}
			if(frm.race_distance.value == ''){
				alert("Please select recent race distance");			
				return false;
			}
			if(frm.race_distance.value == 'Other')
			{
				if(frm.otherdist.value == '')
				{
					alert("Please enter recent race other distance");
					frm.otherdist.focus();
					return false;
				}
				if(frm.otherdist.value<=0){
					alert("Please enter value greater then 0 in recent race other distance");
					frm.otherdist.focus();
					return false;
				}
	
			
			}
		}
		
		if(frm.goal_race_name.value != "" || frm.goal_hrs.value != "" || frm.goal_mins.value != "" || frm.goal_secs.value != "" || frm.goal_race_distance.value != '')
		{
			if(frm.goal_race_name.value == "")
			{
				alert("Please enter goal race name")	
				return false;
			}
			if (isDate1(frm.goal_race_date.value,"goal race date")==false)
			{
				frm.goal_race_date.focus;
				return false;
			}
			if(frm.goal_race_distance.value == ''){
				alert("Please select goal race distance");			
				return false;
			}
			if(frm.goal_race_distance.value == 'Other')
			{
				if(frm.otherdist_goal.value == '')
				{
					alert("Please enter goal race other distance");				
					return false;
				}
				if(frm.otherdist_goal.value<=0){
					alert("Please enter value greater then 0 in goal race other distance");				
					return false;
				}
	
	
			}
		}
		
	}
	//alert(document.getElementById('hidBlank').value)
	
		if(document.getElementById('hidValid').vlaue == 1){
			document.getElementById('div_email').innerHTML="This Email is already registered with us.";
			document.getElementById('img_email2').style.display=""
			document.getElementById('img_email1').style.display="none"
			return false;
		}
		if(document.getElementById('hidBlank').value > 0 ){
			alert("Please fill the required fields above")
			return false;
		}
		
		/*if(!document.getElementById('agreement').checked ){
			alert("Please accept the Coaching Service Agreement")
			return false;
		}*/
	
}

function validate_basic1(val){
	var frm = document.frmRegistration;
	document.getElementById('hidBlank').value = 0
	myArray=new Array()
	if(val == 'fname'){
		if(frm.fname.value == ""){
			document.getElementById('div_fname').innerHTML="Please enter first name";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_fname2').style.display=""
			document.getElementById('img_fname1').style.display="none"
		}else {
			document.getElementById('div_fname').innerHTML=""
			document.getElementById('img_fname1').style.display=""
			document.getElementById('img_fname2').style.display="none"
			return false;
		}
	}
	
	if(val == 'lname'){
		if(frm.lname.value == ""){
			document.getElementById('div_lname').innerHTML="Please enter last name";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_lname2').style.display=""
			document.getElementById('img_lname1').style.display="none"
		}else {
			document.getElementById('div_lname').innerHTML=""
			document.getElementById('img_lname1').style.display=""
			document.getElementById('img_lname2').style.display="none"
			return false;
		}
	}	
	
	if(val == 'state'){
		if(frm.state.value == ""){
			document.getElementById('div_state').innerHTML="Please enter state name";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_state2').style.display=""
			document.getElementById('img_state1').style.display="none"
		} else {
			document.getElementById('div_state').innerHTML=""
			document.getElementById('img_state1').style.display=""
			document.getElementById('img_state2').style.display="none"
			return false;
		}
	}

	if(val == 'city'){
		if(frm.city.value == ""){
			document.getElementById('div_city').innerHTML="Please enter city name.";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_city2').style.display=""
			document.getElementById('img_city1').style.display="none"
		} else {
			document.getElementById('div_city').innerHTML=""
			document.getElementById('img_city1').style.display=""
			document.getElementById('img_city2').style.display="none"
			return false;
		}
	}
	
	if(val == 'dob')
	{
		var dt=frm.dob;
		
		if (isDate(dt.value)==false){		
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_dob2').style.display=""
			document.getElementById('img_dob1').style.display="none"		
		}
		else 
		{
			document.getElementById('div_dob').innerHTML=""
			document.getElementById('img_dob1').style.display=""
			document.getElementById('img_dob2').style.display="none"
			return false;
		}
	}
	/*if(val == 'dob'){
		if(frm.dob.value == ""){
			document.getElementById('div_dob').innerHTML="Please select your date of birth";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_dob2').style.display=""
			document.getElementById('img_dob1').style.display="none"
		}else {
			document.getElementById('div_dob').innerHTML=""
			document.getElementById('img_dob1').style.display=""
			document.getElementById('img_dob2').style.display="none"
			return false;
		}
	}*/	
	if(val == 'pass'){
		var val=frm.pass.value;
		/*
		if(frm.pass.value == ""){
			document.getElementById('div_pass').innerHTML="Please enter password";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_pass2').style.display=""
			document.getElementById('img_pass1').style.display="none"
		}
		*/
		if (!(((val.search(/[a-z]+/) > -1) || (val.search(/[A-Z]+/) > -1))
		  && (val.search(/[0-9]+/) > -1)&& val.length>=4))
		{
			document.getElementById('div_pass').innerHTML="Please choose a password that contains at least one number and";
			document.getElementById('div_pass1').innerHTML="one alphabet and the length of the password should be greater";
			document.getElementById('div_pass2').innerHTML="than or equal to 4";
			document.getElementById('div_pass1').style.display="";
			document.getElementById('div_pass2').style.display="";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_pass2').style.display=""
			document.getElementById('img_pass1').style.display="none"	  
		}
		else {
			document.getElementById('div_pass').innerHTML=""
			document.getElementById('div_pass1').innerHTML=""
			document.getElementById('div_pass2').innerHTML=""
			document.getElementById('img_pass1').style.display=""
			document.getElementById('img_pass2').style.display="none"
			document.getElementById('div_pass1').style.display="none";
			document.getElementById('div_pass2').style.display="none";
			return false;
		}
	}
	
	
	if(val == 'repass'){
		if(frm.repass.value == ""){
			document.getElementById('div_repass').innerHTML="Please re-type password";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_repass2').style.display=""
			document.getElementById('img_repass1').style.display="none"
		}else {
			document.getElementById('div_repass').innerHTML=""
			document.getElementById('img_repass1').style.display=""
			document.getElementById('img_repass2').style.display="none"
			return false;
		}
	}

	
	/*if(val == 'address'){
		if(frm.address.value == ""){
			document.getElementById('div_address').innerHTML="Please enter address";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_address2').style.display=""
			document.getElementById('img_address1').style.display="none"
		} else {
			document.getElementById('div_address').innerHTML=""
			document.getElementById('img_address1').style.display=""
			document.getElementById('img_address2').style.display="none"
			return false;
		}
	}
	*/
	if(val == 'zip'){
		if(frm.zip.value == ""){
			document.getElementById('div_zip').innerHTML="Please enter valid zip code";
			document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
			document.getElementById('img_zip2').style.display=""
			document.getElementById('img_zip1').style.display="none"
		} else {
			document.getElementById('div_zip').innerHTML=""
			document.getElementById('img_zip1').style.display=""
			document.getElementById('img_zip2').style.display="none"
			return false
		}
	}
	
	/*if(val == 'location'){
			if(frm.location.value == "" || frm.location.value == 0){
				document.getElementById('div_location').innerHTML="Please enter location";
				document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
				document.getElementById('img_location2').style.display=""
				document.getElementById('img_location1').style.display="none"
			}else {
				document.getElementById('div_location').innerHTML=""
				document.getElementById('img_location1').style.display=""
				document.getElementById('img_location2').style.display="none"
				return false;
			}
	}*/
	
	if(val == 'email'){
		if(frm.email.value != ""){
			if(frm.email.value != ''){
				var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
				if (filter.test(frm.email.value)){
					document.getElementById('div_email').innerHTML=""
					document.getElementById('img_email1').style.display=""
					document.getElementById('img_email2').style.display="none"
				}else{
					document.getElementById('div_email').innerHTML="Please valid contact email";
					document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
					document.getElementById('img_email2').style.display=""
					document.getElementById('img_email1').style.display="none"
					return false;
				}	
			} else {
				document.getElementById('div_email').innerHTML=""
				document.getElementById('img_email1').style.display=""
				document.getElementById('img_email2').style.display="none"
				return false;
			}
		} else {
					document.getElementById('div_email').innerHTML="Please valid contact email";
					document.getElementById('hidBlank').value = eval(document.getElementById('hidBlank').value) + 1
					document.getElementById('img_email2').style.display=""
					document.getElementById('img_email1').style.display="none"
					return false;
		}
	}
	//alert(document.getElementById('hidBlank').value)
}



function getXMLHTTP1() { //fuction to return the xml http object
		var xmlhttp1=false;	
		try{
			xmlhttp1=new XMLHttpRequest();
		}
		catch(e)	{		
			try{			
				xmlhttp1= new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				try{
					req1 = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e1){
					xmlhttp1=false;
				}
			}
		}
		 	
		return xmlhttp1;
    }

	function getState() {		
		validate_basic1('email');
		var email= document.frmRegistration.email.value;
		var strURL="validate_login.php?email="+email;
		var req1 = getXMLHTTP1();
		
		if (req1) {
			
			req1.onreadystatechange = function() {
				if (req1.readyState == 4) {
					// only if "OK"
					if (req1.status == 200) {
						if(req1.responseText == 'Pass'){
							document.getElementById('hidValid').vlaue="0"
						} else {
							document.getElementById('hidValid').vlaue="1"
							document.getElementById('div_email').innerHTML="This Email is already registered with us.";
							document.getElementById('img_email2').style.display=""
							document.getElementById('img_email1').style.display="none"
							return false;
						}
					} else {
						//alert("There was a problem while using XMLHTTP:\n" + req1.statusText);
						document.getElementById('row_login_id').style.display=''
						document.getElementById('blank_row').style.display=''
						document.getElementById('login_msg').innerHTML=req1.responseText;
					}
				}				
			}			
			req1.open("GET", strURL, true);
			req1.send(null);
		}		
	}

function changeCaptchaImage() {		
		//validate_basic1('email');
		//var email= document.frmRegistration.captcha.value;
		var strURL="changecaptcha.php";
		var req1 = getXMLHTTP1();
		var src = window.location.href;
		
		if (req1) {
			
			req1.onreadystatechange = function() {
				if (req1.readyState == 4) {
					// only if "OK"
					if (req1.status == 200) {
						var str =req1.responseText;
						var arr = str.split('~');
						//alert(arr[0]);
						str = arr[0].substring(26,arr[0].length);
						document.getElementById('hdnImageCode').value = arr[1];
						//document.getElementById('imgCaptcha').src = 'http://test.focusnfly.com/newfnf/registration.php?'+str;
						document.getElementById('imgCaptcha').src = src+'?'+str;
					}
				}				
			}			
			req1.open("GET", strURL, true);
			req1.send(null);
		}		
	}
var dtCh= "-";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   }
   return this
}
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	
	if (pos1==-1 || pos2==-1){
		document.getElementById('div_dob').innerHTML="Please enter date in required format (mm-dd-yyyy)";
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		document.getElementById('div_dob').innerHTML="Please enter a valid month";		
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		document.getElementById('div_dob').innerHTML="Please enter a valid day";		
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		document.getElementById('div_dob').innerHTML="Please enter a valid 4 digit year between "+minYear+" and "+maxYear;		
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		document.getElementById('div_dob').innerHTML="Please enter a valid date";		
		return false
	}
return true
}
function isDate1(dtStr,text){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	
	if (pos1==-1 || pos2==-1){
		alert("Please enter "+text+" in required format (mm-dd-yyyy)");
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month");		
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day");		
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear);		
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid "+text+"");		
		return false
	}
return true
}
