var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	
function autoTab(input,len, e)
{
		var keyCode = (isNN) ? e.which : e.keyCode; 
		var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
		if(input.value.length >= len && !containsElement(filter,keyCode)) {
			input.value = input.value.slice(0, len);
			input.form[(getIndex(input)+1) % input.form.length].focus();
}				

function containsElement(arr, ele) 
{
	var found = false, index = 0;
		while(!found && index < arr.length)
		if(arr[index] == ele)
			found = true;
		else
			index++;
		return found;
}	

function getIndex(input) 
{
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
			if (input.form[i] == input)index = i;
			else i++;
		return index;
		}
		return true;
}
function Isdate(dd,mm,yy)
{
	//dd=parseInt(dd);
	//mm=parseInt(mm);
	//yy=parseInt(yy);
	var now = new Date();
	
	if((dd>0 && dd<32) && (mm>0 && mm<13) && ((yy > (now.getFullYear() - 90))&& (yy < (now.getFullYear() - 17))))
	{ 
		if(dd==31)
		{
			if((mm%2==1 && mm < 8)||(mm%2==0 && mm >= 8))
				return true;
			else
				return false;
		}
		else if(dd==30)
		{
			if(mm!=2)
				return true;
			else
				return false;
		}
		else if(dd==29)
		{
			if(mm!=2)	
				return true;
			else
			{
				if(yy%4==0)
					return true;
				else
					return false;
			}
			
		}
		else 
		{
			return true;
		}
	}
	else
	{
		return false;
	}
	
} 

function valSubmit(objTerms,objName,objAreaCode,objContactNo,objCellNo,objEmail,objSuburb,objSuburb2,objdd,objmm,objyy,objvehyy,objvehdes,objvehmem,objHome,objQuote) 
{
				
				var doc = document.forms[0];
				var msg = "";
				var RexAreaCode = /\d{3}(\d)?/;
				var RexTelno = /\d{7}/;
				var RexCellno = /0(72|73|74|76|78|79|82|83|84)\d{7}/;
				var RexEmail = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
				var Name=objName.value;
				var terms=objTerms.checked;
				var AreaCode=objAreaCode.value;
				var ContactNo=objContactNo.value;
				var CellNo=objCellNo.value;
				var Email=objEmail.value;
				var suburb=objSuburb.value;
				var suburb2=objSuburb2.value;
				var vehmem=objvehmem.value;
				var dd=objdd.value;
				var mm=objmm.value;
				var yy=objyy.value;
				var vehyy=objvehyy.value;
				var vehdes=objvehdes.value;
				var home=objHome.value;
				var now = new Date();
				var Quote=objQuote;
				var word = /(BITCH|FUCK|CUNT|ASSHOLE|ARSE|POES|SHIT|DICK HEAD|DICKHEAD|PUSSY|WHORE|FAGGAT|BUTT|TWAT|RAPE|PORN|PISS)/;
				var UName;
				var UEmail;
				
				//Trim all data
								
				Name = Name.replace(/^\s+|\s+$/g,''); 
				AreaCode=AreaCode.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
				ContactNo = ContactNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				CellNo = CellNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				Email = Email.replace(/^\s+|\s+$/g,''); 
				suburb = suburb.replace(/^\s+|\s+$/g,''); 
				dd = dd.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				mm = mm.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
				yy = yy.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				vehyy = vehyy.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				vehdes = vehdes.replace(/^\s+|\s+$/g,''); 
				home = home.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
				UName = Name.toUpperCase()
				UEmail = Email.toUpperCase()
				
					
				if (home > 0){					
				if (home < 100000){
						msg += "- Please enter a numeric value greater than R100 000 for home contents.\n";
				}
				if (home > 1500000)
				{
						msg += "- Please enter a numeric value less than R1,500 000 for home contents.\n";
				}
				}	
				
				if(suburb2.length <1){
				    msg += "- Please validate your suburb, and select it from the list.\n";
				}			
				
				if(terms==false){
				msg += "- Please accept the terms & conditions.\n";
				}	
				
												
				if (Name == "") {
					msg += "- Please enter Name.\n";
				}
				else
				{
					if (Name.length < 2 ){
						msg += "- Please enter two or more characters for Name.\n";
					}
					if (UName.match(word)){
					msg += "- No vulgarity allowed, please re-enter Name.\n";
					}
				}
			
				
				if (AreaCode=="" && ContactNo == ""  && CellNo == "") {
					msg += "- Please enter either cellphone Number or Telephone Number.\n";
				}
				else if (AreaCode=="" ^ ContactNo == "")
				{
					msg += "- Make sure you have entered both telephone areacode and telephone number .\n";
				}
			    else if (AreaCode !="" && ContactNo != "")
			    {
					if (!(AreaCode.match(RexAreaCode))) {
						msg += "- Please enter a valid telephone area code without spaces and characters eg: 011 .\n";
					}
					if (!(ContactNo.match(RexTelno))) {
						msg += "- Please enter a valid Telephone Number without spaces and characters eg: 4890000 .\n";
					}
			    }
				if (CellNo != "") 
				{
					if (!(CellNo.match(RexCellno))) {
						msg += "- Please enter a valid Cellphone Number without spaces and characters eg: 0721234567.\n";
					}
				}
				
				if (Email == "") {
					msg += "- Please enter Email Address.\n";
				}
				else {
					if (!(Email.match(RexEmail))) {
						msg += "- Please enter a valid E-mail address.\n";
					}
					if (UEmail.match(word))
					{
						msg += "- No vulgarity allowed, please re-enter Email.\n";
					}
				}
				if (!(dd != ""  && mm != ""  && yy != "" )) {
					msg += "- Please enter date of birth.\n";
				}
				else {
					if(!(Isdate(dd,mm,yy)==true))
						msg += "- Please enter a valid date of birth (dd-mm-yyyy).\n";
				}	
				if (suburb == "") {
					msg += "- Please enter suburb.\n";
				}
				else{
					if (suburb.length < 3) {
						msg += "- Please enter three or more characters for Suburb.\n";
					}
				}
				
				if (vehyy !="" && vehmem=="")
                {
                     msg += "- Please select your vehicle from the list.\n";
                }
                
				if (Quote=="MT")
				{
					if (vehyy == "") 
					{
						msg += "- Please enter a vehicle year .\n";
					}
					else
					{
					if(!((vehyy >= now.getFullYear() - 35) && (vehyy <= now.getFullYear())))
						msg += "- Please enter a valid vehicle year .\n";
					}
					if (vehdes == "") 
					msg += "- Please enter vehicle description.\n";
				}
				else if (Quote=="HH")
				{
					if (home==""){
						msg += "- Please enter a value of home contents .\n";
						}
				}	
				else if (Quote=="BT")
                                                {
                                                            if (home == "" && vehyy == "" && vehdes == "") 
                                                            {  
                                                                        msg += "- Please enter either motor description or household content value.\n";
                                                            }
                                                            else if (home.length < 1 && vehdes.length < 3)
                                                            {
                                                                        msg += "- Please enter three or more characters for motor description.\n";
                                                            }
                                                            else if ((!(home >= 1)) && (vehdes.length < 1) )
                                                            {
                                                                        msg += "- Please enter a numeric value greater than 0 for home content, without spaces."
                                                            }
                                                            else if (vehyy =="" ^ vehdes =="") 
                                                            {
                                                                        msg += "- Make sure you have entered both vehicle year and vehicle description .\n";
                                                            }
                                                            else if (vehyy !="" && vehdes !="")
                                                            {
                                                                        if(!((vehyy >= now.getFullYear() - 35) && (vehyy <= now.getFullYear())))
                                                                                    msg += "- Please enter a valid vehicle year.\n";
                                                                                    
                                                            }
                                                            
                                                }  

										
				if (msg == "") {
					doc.submit();
					busyBox.Show();
					return true;
				} else {	
					alert("It seems hippo would like you to look at the following little potholes.\n\n" + msg);
					return false;
				}
}


function VehSubmit(objvehyy,objvehdes) 
{
				var doc = document.forms[0];
				var msg = "";
				var vehyy=objvehyy.value;
				var vehdes=objvehdes.value;
				var now = new Date();
				
				//Trim all data
				
				vehyy = vehyy.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				vehdes = vehdes.replace(/^\s+|\s+$/g,''); 
								
				
				if (vehyy == "") 
				{
					msg += "- Please enter a vehicle year .\n";
				}
				else
				{
					if(!((vehyy >= now.getFullYear() - 35) && (vehyy <= now.getFullYear())))
						msg += "- Please enter a valid vehicle year .\n";
				}
				if (vehdes == "")
				{ 
					msg += "- Please enter vehicle description.\n";
				}
				if (vehdes.length < 3)
				{
					msg += "- Please enter three or more characters for the vehicle description.\n";
				}											
				if (msg == "") {
					doc.submit();
					return true;
				} else {
					alert("The following errors were encountered.\n\n" + msg);
					return false;
				}
}

function HomeSubmit(objHome) 
{
				var doc = document.forms[0];
				var msg = "";
				var home=objHome.value;
				
				//Trim all data
				
				home = home.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
							
				if (home=="")
						msg += "- Please enter a value of home contents.\n";
				if (!(home > 0))
				{
						msg += "- Please enter a numeric value greater than 0 for home contents.\n";
				}
											
				if (msg == "") {
					doc.submit();
					return true;
				} else {
					alert("The following errors were encountered.\n\n" + msg);
					return false;
				}
}
function SuburbSubmit(objHome) 
{
				var doc = document.forms[0];
				var msg = "";
				var home=objHome.value;
				
				//Trim all data
				
				home = home.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
								
				if (home==""){
						msg += "- Please enter suburb .\n";
				}
				if (home.length < 3){
						msg += "- Please enter three or more characters for the suburb.\n";
				}						
				if (msg == "") {
					doc.submit();
					return true;
				} else {
					alert("The following errors were encountered.\n\n" + msg);
					return false;
				}
}
function ErrorSubmit(objName,objAreaCode,objContactNo,objCellNo,objEmail) 
{
				var doc = document.forms[0];
				var msg = "";
				var RexAreaCode = /\d{3}/;
				var RexTelno = /\d{7}/;
				var RexCellno = /0(72|73|74|76|78|79|82|83|84)\d{7}/;
				var RexEmail = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
				var Name=objName.value;
				var AreaCode=objAreaCode.value;
				var ContactNo=objContactNo.value;
				var CellNo=objCellNo.value;
				var Email=objEmail.value;
				
				
				//Trim all data
				
				Name = Name.replace(/^\s+|\s+$/g,''); 
				AreaCode=AreaCode.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
				ContactNo = ContactNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				CellNo = CellNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
				Email = Email.replace(/^\s+|\s+$/g,''); 
												
				if (Name == "") {
					msg += "- Please enter Name.\n";
				}
				if (AreaCode=="" && ContactNo == ""  && CellNo == "") {
					msg += "- Please enter either cellphone Number or Telephone Number.\n";
				}
				else if (AreaCode=="" ^ ContactNo == "")
				{
					msg += "- Make sure you have entered both telephone areacode and telephone number .\n";
				}
			    else if (AreaCode !="" && ContactNo != "")
			    {
					if (!(AreaCode.match(RexAreaCode))) {
						msg += "- Please enter a valid telephone area code without spaces and characters eg: 011 .\n";
					}
					if (!(ContactNo.match(RexTelno))) {
						msg += "- Please enter a valid Telephone Number without spaces and characters eg: 4890000 .\n";
					}
			    }
			   
				if (CellNo != "") 
				{
					if (!(CellNo.match(RexCellno))) {
						msg += "- Please enter a valid Cellphone Number without spaces and characters eg: 0721234567.\n";
					}
				}
				
				if (Email == "") {
					msg += "- Please enter Email Address.\n";
				}
				else {
					if (!(Email.match(RexEmail))) {
						msg += "- Please enter a valid E-mail address.\n";
					}
				}
					
				if (msg == "") {
					doc.submit();
					return true;
				} else {
					alert("The following errors were encountered.\n\n" + msg);
					return false;
				}
}

function openNewWindow( sURL,  sName,  iWidth,  iHeight,  bResizable,  bScrollbars)
{ 
	    var iTop = (screen.height - iHeight) / 2 ; 
		var iLeft = (screen.width - iWidth) / 2 ; 
		// var sOptions = "toolbar=no" ; 
		var sOptions = "dialogWidth=" + iWidth ; 
		sOptions += ",dialogHeight=" + iHeight ; 
		//sOptions += ",resizable=" + (bResizable ? "yes" : "no") ; 
		//sOptions += ",scrollbars=" + (bScrollbars ? "yes" : "no") ; 
		sOptions += ",dialogLeft=" + iLeft ; 
		sOptions += ",dialogTop=" + iTop ;
		var oWindow = window.showModelessDialog(sURL,window,sOptions);
		oWindow.focus();
		return oWindow ;
}
			