﻿        
            var dtCh= "/";
			var errStr = "\nPlease check your submission and try again.\n";
			var now = new Date();
			var	maxYear = (now.getFullYear())-18;
			var minYear = maxYear-70;
            var ctrName = "ctl00_pageContent_ctl00_";
            
			function isInteger(s){
                var i;
                for (i = 0; i < s.length; i++){   
	                var c = s.charAt(i);
	                if (((c < "0") || (c > "9"))) return false;
                }
                return true;
			}

			function stripCharsInBag(s, bag){
                var i;
                var returnString = "";
                for (i = 0; i < s.length; i++){   
	                var c = s.charAt(i);
	                if (bag.indexOf(c) == -1) returnString += c;
                }
                return returnString;
			}

			function daysInFebruary (year){
                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 isDate(dtStr){
                var daysInMonth = DaysArray(12)
                var pos1=dtStr.indexOf(dtCh)
                var pos2=dtStr.indexOf(dtCh,pos1+1)
                var strDay=dtStr.substring(0,pos1)
                var strMonth=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("The date format should be : dd/mm/yyyy"+errstr)
	                return false
                }
                if (strMonth.length<1 || month<1 || month>12){
	                alert("Please enter a valid month."+errStr)
	                return false
                }
                if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
	                alert("Please enter a valid day"+errStr)
	                return false
                }
                if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
	                alert("That date is invalid.  Please try again."+errStr);
	                return false
                }
                if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
	                alert("Please enter a valid date"+errStr)
	                return false
                }
			return true
			}

			function ValidateDate(strDate){
                if (strDate != "")
                {
	                if (isDate(strDate)==false){
		                changedatecolor();
		                return false;
	                }
	                return true;
                }
			}		

		function ValidateForm()		
		{	
		    document.getElementById('txtAddress2').disabled = false;
			var monthStr,dayStr,yearStr;
			var first = document.getElementById(ctrName + "txtFirstName").value; 
			var last = document.getElementById(ctrName + "txtSurName").value; 
			var cInt = document.getElementById(ctrName + "lstCountry").selectedIndex;
		
			if (first == "" || last =="") {	
                alert("Please enter your firstname and lastname!"+errStr);
                if (first == ""){changeColor(ctrName + "txtFirstName");}
                if (last == ""){changeColor(ctrName + "txtSurName");}
                return false;
			}
			if (cInt == 0) {
			    alert("Please choose your nationality!"+errStr); 
			    changeColor(ctrName + "lstCountry"); 
			    return false;
		    }			
			
			var dInt = document.getElementById(ctrName + "lsDay").selectedIndex;
			var mInt = document.getElementById(ctrName + "lsMonth").selectedIndex;
			var yInt = document.getElementById(ctrName + "lsYear").selectedIndex;
		
			dayStr = document.getElementById(ctrName + "lsDay").options[dInt].value;
			monthStr = document.getElementById(ctrName + "lsMonth").options[mInt].value;
			yearStr = document.getElementById(ctrName + "lsYear").options[yInt].value;
			
			var dt=dayStr + "/" + monthStr+"/"+yearStr
			if (ValidateDate(dt)==false) {
            return false;
			}	
			
			var mail1 = document.getElementById(ctrName + "txtEmail1");
			var mail2 = document.getElementById(ctrName + "txtEmail2");
			var mail3 = document.getElementById(ctrName + "txtEmail3");
			if (checkEmail(mail1) == false) {changeColor(ctrName + "txtEmail1");return false;}
			if (checkEmail(mail2) == false) {changeColor(ctrName + "txtEmail2");return false;}
			if (checkEmail(mail3) == false) {changeColor(ctrName + "txtEmail3");return false;}

			document.getElementById("hd_submit").value="1";
			disableButton();
			return true;		
			
		}
		
		 function checkEmail(email)
		{	
			var x = email.value;
			if (x.length == 0) {return true;}
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (filter.test(x)) 
			{ return true;}
			else{ alert("Please enter an exact email address. \n"+ x +" is invalid"+errStr);
			return false;
			}		
		}
		
		function changeColor(id) {

			identity=document.getElementById(id);

			identity.className="errColor";

		}
		function changedatecolor(){
			changeColor(ctrName + "lsDay");
			changeColor(ctrName + "lsMonth");
			changeColor(ctrName + "lsYear");
		}
