﻿// Javacript File
<!--

function Isdate(dd,mm,yy)
{
	  var now = new Date();
  	
	  if((dd>0 && dd<32) && (mm>0 && mm<13) && ((yy > (now.getFullYear() - 90))&& (yy < (now.getFullYear() - 15))))
	  { 
		  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 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 == "") {
	    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 == "") {
		return true;
	} else {
		alert("The following errors were encountered.\n\n" + msg);
		return false;
	}
}

//----------- Validation Sub Functions ----------------------------------------
function CheckName(objName, word, isReq)
{
  var Name = objName.value;
  var msg = "";
  
  Name = Name.replace(/^\s+|\s+$/g,'');
  
  if (Name == "")
  {
    if (isReq == true)
      msg += "- Please enter Name.\n";
  }
  else
  {
    if (Name.length < 2 )
      msg += "- Please enter two or more characters for Name.\n";
	
    var VName = " " + Name.toUpperCase() + " ";
    if (VName.match(word))
      msg += "- No vulgarity allowed, please re-enter Name.\n";
  }
	
  return msg;
}

function CheckAreaContactNo(objAreaCode, objContactNo, isReq)
{
  var RexTelno = /\d{7}/;
  var RexAreaCode = /\d{3}(\d)?/;
  var AreaCode = objAreaCode.value;
  var ContactNo = objContactNo.value;
  var msg = "";
  
  AreaCode = AreaCode.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
  ContactNo = ContactNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
  if (AreaCode == "" && ContactNo == "")
  {
    if (isReq == true)
      msg += "- Please enter an Area Code and Telephone Number.\n";
  }
  else
  {
    if (AreaCode == "" || ContactNo == "")
    {
      msg += "- Make sure you have entered both telephone areacode and telephone number .\n";
    }
    if (AreaCode != "")
    {
      if (!(AreaCode.match(RexAreaCode))) {
        msg += "- Please enter a valid telephone area code without spaces and characters eg: 011 .\n";
      }
    }
    if (ContactNo != "")
    {
      if (!(ContactNo.match(RexTelno))) {
        msg += "- Please enter a valid Telephone Number without spaces and characters eg: 4890000 .\n";
      }
    }
  }
 
  return msg;
}

function CheckFullContactNo(objFullContactNo, isReq)
{
  var RexTelno = /0[1-9]\d{8}/;
  var ContactNo = objFullContactNo.value;
  var msg = "";
  
  ContactNo = ContactNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
	if (ContactNo != "") {
		if (!(ContactNo.match(RexTelno))) {
			msg += "- Please enter a valid Telephone Number without spaces and characters eg: 0114890000 .\n";
		}
	}
  else
  {
    if (isReq == true)
      msg += "- Please enter valid Telephone Number eg: 0114890000.\n";
  }
  
  return msg;
}

function CheckCellNo(objCellNo, isReq)
{
  var RexCellno = /0(71|72|73|74|76|78|79|82|83|84)\d{7}/;
  var CellNo = objCellNo.value;
  var msg = "";
  
  CellNo = CellNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
  if (CellNo != "") 
  {
    if (!(CellNo.match(RexCellno))) {
      msg += "- Please enter a valid Cellphone Number without spaces and characters eg: 0721234567.\n";
    }
  }
  else
  {
    if (isReq == true)
       msg += "- Please enter a Cellphone Number eg: 0721234567.\n";
  }
  
  return msg;
}

function CheckEmail(objEmail, word, isReq)
{
  var Email=objEmail.value;
  var RexEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
  var invalidChars = ',;:\'\/\\ "?!()[]\{\}^|`<>';
  var msg = "";
  
  Email = Email.replace(/^\s+|\s+$/g,''); 
  
  if (Email == "") {
    if (isReq == true)
      msg += "- Please enter Email Address.\n";
  }
  else {
    if (!(Email.match(RexEmail)) || Email.charAt(Email.length - 1) == "." || Email.indexOf("..",0) > -1 || Email.indexOf('@',Email.indexOf('@',0)+1) > -1 ) {
      msg += "- Please enter a valid E-mail address.\n";
    }
    else {
      for (i=0; i<invalidChars.length; i++) {
        if (Email.indexOf(invalidChars.charAt(i),0) > -1) {
          msg += "- E-mail address contains invalid characters. eg: " + invalidChars + "\n";
          return msg;
        }
      }
    }
	  
    var UEmail = Email.toUpperCase();
    if (UEmail.match(word))
    {
      msg += "- No vulgarity allowed, please re-enter Email.\n";
    }
  }
  
  return msg;
}

function CheckSuburb(objSuburb, isReq)
{
  var suburb = objSuburb.selectedIndex;
  var msg = "";

  if (suburb <= 0) {
    if (isReq == true)
      msg += "- Please search for a Suburb and Confirm it.\n";
  }
  
  return msg;
}

function CheckDOB(objDD, objMM, objYY, isReq)
{
  var dd = objDD.value;
  var mm = objMM.value;
  var yy = objYY.value;
  var msg = "";

  dd = dd.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
  mm = mm.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
  yy = yy.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
	  
  if (!(dd != ""  && mm != ""  && yy != "" )) {
    if (isReq == true)
      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";
  }
  
  return msg;
}

function CheckVehicle(objVehYY, objVehdes, isReq)
{
  var vehyy=objvehyy.value;
  var vehdes=objvehdes.value;
  var now = new Date();
  var msg = "";
  
	vehyy = vehyy.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,''); 
  vehdes = vehdes.replace(/^\s+|\s+$/g,''); 

  if ((vehyy == "") && (vehdes == ""))
  {
    if (isReq == false)
      msg = "none";
  }
  
  if (msg != "none")
  {
	  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";
  }
  
  return msg;
}

function CheckVehDropDown(objVehYY, objVehDes, objCover, objAdvAllow, objLic, objLicYY, objLicMM, objYY, isReq)
{
  var vehyy = objVehYY.selectedIndex;
  var msg = "";
  
  if (vehyy == 0)
  {
    if (isReq == true)
      msg += "- Please select vehicle year, make, model and description.\n";;
  }
  else
  {
    var vehdes = objVehDes.selectedIndex;
    if (vehdes < 1)
      msg += "- Please select vehicle year, make, model and description.\n";
    else
    {
      var cover = objCover.value.replace(/^\s+|\s+$/g, '');
      if (objAdvAllow.checked == false && cover == 'D')
        msg += "- Advensure cover is not available for the selected vehicle.\n";
    }
    
    if (objLic.selectedIndex == 0)
    {
      msg += "- Please select the type of driver\'s licence.\n";
    }
    else if (objLic.value == '0')
    {
      msg += "- We are unfortunately unable to provide cover for this vehicle if the regular driver does not have a driver\'s or learner\'s licence.\n";
    }
    else if (objLic.value != '3')
    {
      var licYY;
      var licMM;
      var dobYY;
      var now = new Date();
      
      licYY = objLicYY.value;
      licMM = objLicMM.value;
      dobYY = objYY.value;
      
      if (licYY.match(/\d{4}/) && dobYY.match(/\d{4}/) && parseInt(licYY,10) - parseInt(dobYY,10) < 15)
        msg += "- Please select a validate licence date.\n";
	    else if (parseInt(licYY,10) > now.getFullYear() || (parseInt(licYY,10) == now.getFullYear() && parseInt(licMM,10) > now.getMonth() + 1))
		    msg += "- Licence date cannot be a future date.\n";
    }
    
  }
  
  return msg;
}



function CheckHomeContents(objHome, isReq)
{
  var home = objHome.value;
  var RexHome = /\d/;
  var msg = "";
  
  home = home.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');

  if (home == ""){
    if (isReq == true)
	    msg += "- Please enter a value of home contents .\n";
	}
  else
  {
	  if (!(home.match(RexHome))) {
		  msg += "- Please enter a numeric value greater than 0 for home content, without spaces.";
	  }
  }
  
  return msg;
}

function IsOneContactNumber(objAreaCode, objContactNo, objCellNo)
{
  var AreaCode = objAreaCode.value;
  var ContactNo = objContactNo.value;
  var CellNo = objCellNo.value;
  var msg = "";
  
  AreaCode = AreaCode.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
  ContactNo = ContactNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
  CellNo = CellNo.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
  
  if ((AreaCode == "" && ContactNo == "") && CellNo == "")
  {
    msg += "- Please enter either a Cellphone Number or a Telephone Number.\n";
  }
 
  return msg;
}

//-------------------------------------------------------------------------------------

function QuoteSubmit(objName,objAreaCode,objContactNo,objCellNo,objEmail,objSuburb,objDD,objMM,objYY,objVehYY,objVehDes,objLic,objLicYY,objLicMM,objHome,objQuote,objCover,objAdvAllow) 
{
	  var doc = document.forms[0];
	  var Quote = objQuote;
	  var word = /(\bBITCH\b|\bFUCK|\bCUNT\b|\bASSHOLE\b|\bPOES\b|\bSHIT\b|\bDICK HEAD\b|\bDICKHEAD\b|\bPUSSY\b|\bWHORE\b|\bFAGGAT\b)/;
	  var msg = "";
	  
	  
	  msg += CheckName(objName, word, true);
	  msg += CheckAreaContactNo(objAreaCode, objContactNo, false);
	  msg += CheckCellNo(objCellNo, false);
	  msg += IsOneContactNumber(objAreaCode, objContactNo, objCellNo);
	  msg += CheckEmail(objEmail, word, true);
	  msg += CheckDOB(objDD, objMM, objYY, true);
	  msg += CheckSuburb(objSuburb, true);
	  
	  
	  
	  
	  if (Quote=="MT")
	  {
      msg += CheckVehDropDown(objVehYY, objVehDes, objCover, objAdvAllow, objLic, objLicYY, objLicMM, objYY, true);
	  }
	  else if (Quote=="HH")
	  {
      msg += CheckHomeContents(objHome, true);
	  }	
	  else if (Quote=="BT")
	  {
	    var vehyy = objVehYY.selectedIndex;
	    var home = objHome.value;
      home = home.replace(/^\s+|\s+$\ \,\&\.\*\#\!\(\)\_\-\+\=\`\~\>\<\[\]\"\'\;\:\?\%\/\\/g,'');
      
	    msg += CheckVehDropDown(objVehYY, objVehDes, objCover, objAdvAllow, objLic, objLicYY, objLicMM, objYY, false);
	    msg += CheckHomeContents(objHome, false);
	    
		  if (home == "" && vehyy == 0) 
		  {  
			  msg += "- Please enter either motor description or household content value.\n";
		  }
    }
    				
	  if (msg == "") {
		  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 word = /(\bBITCH\b|\bFUCK|\bCUNT\b|\bASSHOLE\b|\bPOES\b|\bSHIT\b|\bDICK HEAD\b|\bDICKHEAD\b|\bPUSSY\b|\bWHORE\b|\bFAGGAT\b)/;
		
		
		//Trim all data
		msg += CheckName(objName, word, true);
	  msg += CheckAreaContactNo(objAreaCode, objContactNo, false);
	  msg += CheckCellNo(objCellNo, false);
	  msg += IsOneContactNumber(objAreaCode, objContactNo, objCellNo);
	  msg += CheckEmail(objEmail, word, true);
			
		if (msg == "") {
			return true;
		} else {
			alert("The following errors were encountered.\n\n" + msg);
			return false;
		}
}


//-->