String.prototype.trim = function() {
// Strip leading and trailing white-space
return this.replace(/^\s*|\s*$/g, "");
}
String.prototype.URLDecoder = function() {
	return decodeURI(this.replace(/\+/g," "));
}
var bVer = parseInt(navigator.appVersion);
var sOut="";
if (!((navigator.appVersion.indexOf("MSIE") == -1)&&(navigator.appVersion.substring(0,3)-4.8<0))){
	document.write("<style>");
	if (!(navigator.appVersion.indexOf("MSIE") == -1)) {
		// if this is IE, work around width excluding margin
		document.write("div.page {	width:760px; }");
		document.write("div.campaign {	width:163px; }");
	}
	document.write("</style>");
}
else {
//netscape <4.8 on PC
	sOut="This site works best with modern browsers. Some features may not work properly with Netscape 4.x. ";			
}

function checkpostcode(sIn) {
	reg=/^[a-z]{1,2}[\da-z]{1,2} \d[a-z][a-z]$/i; 
	if (!reg.test(sIn)){
	    alert("Your postcode does not seem to be well-formed. Remember the space is part of your postcode too.");
		return false;
	}
	return true;
	
}
 function checkpwd(pw) {
 	reg1=/[a-z]/i;
	reg2=/\d/;
	reg3=/^[a-z\d]{8,20}$/i;
	return ((reg1.test(pw))&&(reg2.test(pw))&&(reg3.test(pw)));
 }

function checkemail(email){
	emailpat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/i;
	if (!emailpat.test(email)){
		alert("Your Email address does not appear well-formed. Please fill it in then submit again.");
		return false;
	}
	return true;
}
function makenumeric(strIn){
	s="";
	for (i=0;i<strIn.length;i++){
		c=strIn.charAt(i);
		if ((c=="1")||(c=="2")||(c=="3")||(c=="4")||(c=="5")||(c=="6")||(c=="7")||(c=="8")||(c=="9")||(c=="0")||(c==".")) s+=c;
	}
	return s;
}
function checknumber(sIn,sError){
	//sIn.value=makenumeric(sIn.value);
	phonepat=/^([0-9 +()])+$/i
	if (sIn.value==""){
		alert("Please enter "+sError+" then submit again.");
		return false;
	}
	else if (!phonepat.test(sIn)) {
		alert("Please enter "+sError+" as a number ONLY then submit again.");
		return false;
	}
	return true;
}
function checkint(sIn,sError){
	//sIn.value=makenumeric(sIn.value);
	intpat=/\d/i
	if (sIn.value==""){
		alert("Please enter "+sError+" then submit again.");
		return false;
	}
	else if (!intpat.test(sIn)) {
		alert("Please enter "+sError+" as a number ONLY then click 'Next' again.");
		return false;
	}
	return true;
}
function checkname(sVal) {
	var reg = /^[a-z\-\ \'@]+$/i;
	return reg.test(sVal);
}
function checkdate(DDMMYYYY) {
	var bOk=false;
	if (DDMMYYYY.length==10) {
		var day = (1*DDMMYYYY.substring(0,2));
		var month = (1*DDMMYYYY.substring(3,5))-1;
		var year = (1*DDMMYYYY.substring(6,10));
		var td = new Date(year,month,day);
		bOk=(yearvalid(td.getYear(),year) && month==td.getMonth() && day==td.getDate());
	}
	return bOk;
}
function isChecked(oRad) {
var bChckd=false;
	for (var i=0 ; i<oRad.length && !bChckd ; i++)
		bChckd=oRad[i].checked;

return bChckd;
}
function yearvalid(yy,yyyy) {
	return (((yy<1000) ? yy+1900 : yy) == yyyy);
}
function confirmdelete(sURL){
	if (confirm("DELETE - are you sure you want to delete this record?")) location.replace(sURL);
}
function setCookie(sIn) {
    document.cookie = "mycarquotes=" + sIn;
}
function makeCookie(Name,Value,Expiry,Path,Domain,Secure) {
//if you want to save the cookie
if (Expiry != null && !isNaN(Expiry)) {
	var datenow = new Date();
	datenow.setTime(datenow.getTime() + Math.round(86400000*Expiry));
	Expiry = datenow.toGMTString();
}
Expiry = (Expiry) ? '; expires='+Expiry : '';
Path = (Path)?'; path='+Path:'';
Domain = (Domain) ? '; domain='+Domain : '';
Secure = (Secure) ? '; secure' : '';

document.cookie = Name + '=' + escape(Value) + Expiry + Path + Domain + Secure;

}
function updateCookie(sName,sID,price){
	removeFromCookie(sName,sID);
	var sTemp=readCookie(sName);
	if (sTemp==null) sTemp="";
	sTemp=sTemp+"~"+sID+"|"+price;
	makeCookie(sName,sTemp,365,'','',false);
}

function removeFromCookie(sName,sID){
	var sFind="~"+sID+"|";
	var sTemp=readCookie(sName)+"";
	var start=sTemp.indexOf(sFind);
	var finish = sTemp.substring(start+1,sTemp.length);
	if (finish.indexOf('~') == -1){
		if (start!=-1){
			sTemp=sTemp.substring(0,start);
		}
	}
	else {
		if (start!=-1){
			sTemp=sTemp.substring(0,start)+sTemp.substring(start + finish.indexOf('~')+1,sTemp.length);
		}
	}
	makeCookie(sName,sTemp,365,'','',false);
}

function vapeCookie(sName) {
	makeCookie(sName,'',365,'','',false);
}

function readCookie(Name) {
var cookies = ' ' + document.cookie;
if (cookies.indexOf(' '+Name+'=') == -1) return null;

var start = cookies.indexOf(' ' + Name + '=') + (Name.length + 2);
var finish = cookies.substring(start,cookies.length);
finish = (finish.indexOf(';') == -1) ? cookies.length : start + finish.indexOf(';');

var ret=unescape(cookies.substring(start,finish).trim());
return (ret=='null' ? null : ret);
}

function checklimits(sIn,sError,iMin,iMax){
	if (parseFloat(sIn.value)<iMin){
		alert("The "+sError+" must be higher than "+iMin+".");
		return false;
	}
	else if (parseFloat(sIn.value)>iMax) {
		alert("The "+sError+" must be less than "+iMax+".");
		return false;
	}
	return true;
}

function isempty(sIn,sError){
	if (sIn.value==""){
		alert("Please enter "+sError+" then click 'Next' again.");
		return false;
	}
	return true;
}
function replaceString(sSrc, sFrom, sTo){
	sReturn=sSrc;
    iFromLen=sFrom.length;
    iToLen=sTo.length;
    iPos=0;
    iEnd=0;
    do {
        iPos=sReturn.indexOf(sFrom,iEnd);
        if (iPos!=-1) {
            sReturn = sReturn.substring(0,iPos)+sTo+sReturn.substring(iPos+iFromLen);
            iEnd=iPos+iToLen;
        }
    } while (iPos!=-1);
	return sReturn;

}
function encode(sIn){
	sTemp=sIn;
	sTemp=replaceString(sTemp,"£","&pound;");
	sTemp=replaceString(sTemp,"€","&euro;");
	sTemp=replaceString(sTemp,"À","&Agrave;");
	sTemp=replaceString(sTemp,"Á","&Aacute;");
	sTemp=replaceString(sTemp,"Â","&Acirc;");
	sTemp=replaceString(sTemp,"Ã","&Atilde;");
	sTemp=replaceString(sTemp,"Ä","&Auml;");
	sTemp=replaceString(sTemp,"Å","&Aring;");
	sTemp=replaceString(sTemp,"Ç","&Ccedil;");
	sTemp=replaceString(sTemp,"È","&Egrave;");
	sTemp=replaceString(sTemp,"É","&Eacute;");
	sTemp=replaceString(sTemp,"Ê","&Ecirc;");
	sTemp=replaceString(sTemp,"Ë","&Euml;");
	sTemp=replaceString(sTemp,"Ì","&Igrave;");
	sTemp=replaceString(sTemp,"Í","&Iacute;");
	sTemp=replaceString(sTemp,"Î","&Icirc;");
	sTemp=replaceString(sTemp,"Ï","&Iuml;");
	sTemp=replaceString(sTemp,"Ñ","&Ntilde;");
	sTemp=replaceString(sTemp,"Ò","&Ograve;");
	sTemp=replaceString(sTemp,"Ó","&Oacute;");
	sTemp=replaceString(sTemp,"Ô","&Ocirc;");
	sTemp=replaceString(sTemp,"Õ","&Otilde;");
	sTemp=replaceString(sTemp,"Ö","&Ouml;");
	sTemp=replaceString(sTemp,"Ù","&Ugrave;");
	sTemp=replaceString(sTemp,"Ú","&Uacute;");
	sTemp=replaceString(sTemp,"Û","&Ucirc;");
	sTemp=replaceString(sTemp,"Ü","&Uuml;");
	sTemp=replaceString(sTemp,"Ý","&Yacute;");
	sTemp=replaceString(sTemp,"ß","&szlig;");
	sTemp=replaceString(sTemp,"à","&agrave;");
	sTemp=replaceString(sTemp,"á","&aacute;");
	sTemp=replaceString(sTemp,"â","&acirc;");
	sTemp=replaceString(sTemp,"ã","&atilde;");
	sTemp=replaceString(sTemp,"ä","&auml;");
	sTemp=replaceString(sTemp,"å","&aring;");
	sTemp=replaceString(sTemp,"ç","&ccedil;");
	sTemp=replaceString(sTemp,"è","&egrave;");
	sTemp=replaceString(sTemp,"é","&eacute;");
	sTemp=replaceString(sTemp,"ê","&ecirc;");
	sTemp=replaceString(sTemp,"ë","&euml;");
	sTemp=replaceString(sTemp,"ì","&igrave;");
	sTemp=replaceString(sTemp,"í","&iacute;");
	sTemp=replaceString(sTemp,"î","&icirc;");
	sTemp=replaceString(sTemp,"ï","&iuml;");
	sTemp=replaceString(sTemp,"ñ","&ntilde;");
	sTemp=replaceString(sTemp,"ò","&ograve;");
	sTemp=replaceString(sTemp,"ó","&oacute;");
	sTemp=replaceString(sTemp,"ô","&ocirc;");
	sTemp=replaceString(sTemp,"õ","&otilde;");
	sTemp=replaceString(sTemp,"ö","&ouml;");
	sTemp=replaceString(sTemp,"ù","&ugrave;");
	sTemp=replaceString(sTemp,"ú","&uacute;");
	sTemp=replaceString(sTemp,"û","&ucirc;");
	sTemp=replaceString(sTemp,"ü","&uuml;");
	sTemp=replaceString(sTemp,"ý","&yacute;");
	sTemp=replaceString(sTemp,"ÿ","&yuml;");
	sTemp=replaceString(sTemp,"“","&ldquo;");
	sTemp=replaceString(sTemp,"”","&rdquo;");
	sTemp=replaceString(sTemp,"®","&reg;");
	sTemp=replaceString(sTemp,"…","...");
	sTemp=replaceString(sTemp,"’","'");
	sTemp=replaceString(sTemp,"‘","'");
	sTemp=replaceString(sTemp,"–","-");
	sTemp=replaceString(sTemp,"—","-");
	sTemp=replaceString(sTemp,"•","-");
	return sTemp;
}
function getObject(sID) {
if (document.layers)
	return document.layers[sID];
else if (document.all)
	return document.all(sID).style;
else if (document.getElementById)
	return document.getElementById(sID).style;
}
function showHide(sID) {
	if (bVer>3) {
		var obj=getObject(sID)
		if (obj!=null) obj.display=(obj.display=="block" ? "none" : "block");
	}
}
function format00(val) {
	var iVal=val*1;
	if (iVal==Math.floor(iVal)) return Math.floor(iVal)+".00";
	else if ((iVal*10)==Math.floor(iVal*10)) return iVal+"0";
	else if ((iVal*100)==Math.floor(iVal*100)) return iVal;
	else return Math.floor(iVal*100)/100;
}
function formatPretty(val) {
	var sVal=""+val;
	var sDP="";
	var iPos=sVal.indexOf(".");
	if (iPos!=-1) { sDP=sVal.substring(iPos); sVal=sVal.substring(0,iPos); }

	var sNew="";
	var i3=0;
	for (var i=sVal.length-1 ; i>-1 ; i--)			
		sNew=((++i3%3==0) ? "," : "")+sVal.substring(i,i+1)+sNew;
	if (sNew.substring(0,1)==",") sNew=sNew.substring(1);
	return sNew+sDP;
}