bVer = parseInt(navigator.appVersion);


if (!((navigator.appVersion.indexOf("MSIE") == -1)&&(navigator.appVersion.substring(0,3)-4.8<0))){
	sOut="";
	document.write("<style>");
	if (!(navigator.appVersion.indexOf("MSIE") == -1)) {
		// if this is IE, work around width excluding margin
		document.write("div.content {	width:960px; }");
	}
	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 trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function scroll() {
	t=getObject("scroller");
	if (parseInt(t.left)<-parseInt(t.width))t.left=getObject("viewport").width;
	t.left=parseInt(t.left)-scrollspeed+"px";
}
function setScrollSpeed(val) {
	if (navigator.appVersion.indexOf("MSIE")!=-1)
		scrollspeed=val;
}

function fillForecourt(){
	var sTemp=readSRCookie("forecourt")+"";
	if (sTemp.length!=0){
		a=sTemp.split("~")
		
		for (i=1;i<a.length;i++){
			b=a[i].split("|");
			arRegs[i]=b[0];
			di20("img"+i,b[1]);
			arDesc[i]=b[2];
			if (b.length>3)	arDealer[i]=b[3];
			else arDealer[i]="";
		}
		if (a.length==2) document.getElementById("savedCount").innerHTML="<b>You have 1 vehicle saved:</b>"
		else document.getElementById("savedCount").innerHTML="<b>You have "+(a.length-1)+" vehicles saved:</b>"
	}
	else document.getElementById("savedCount").innerHTML="<b>You have 0 vehicles saved:</b>"
}

function readSRCookie(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(';');
return unescape(cookies.substring(start,finish));
}


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() + 86400000*Expiry);
	Expiry = datenow.toGMTString();
//	alert(Expiry);
}
Expiry = (Expiry) ? '; expires='+Expiry : '';
Path = (Path)?'; path='+Path:'; path=/';
Domain = (Domain) ? '; domain='+Domain : '';
Secure = (Secure) ? '; secure' : '';

document.cookie = Name + '=' + escape(Value) + Expiry + Path + Domain + Secure;

}

function updateCookie(sName,sID,sImage,sDesc){
	removeFromCookie(sName,sID);
	var sTemp=readSRCookie(sName);
	if (sTemp==null) sTemp="";
	sTemp=sTemp+"~"+sID+"|"+sImage+"|"+sDesc;
	makeCookie(sName,sTemp,cookieexpiry,'/','',false);
}


function updateCookieD(sName,sID,sImage,sDesc,sDealer){
	var sTemp = getPresentCookie(sName,sID);
	//var sTemp=readSRCookie(sName);
	if (sTemp==null) sTemp="";
	sTemp=sTemp+"~"+sID+"|"+sImage+"|"+sDesc+"|"+sDealer;
	makeCookie(sName,sTemp,cookieexpiry,'/','',false);
}

function getPresentCookie(sName,sID){
	var sFind="~"+sID+"|";
	//var sTemp=readSRCookie(sName)+"";   //questa riga non viene letta
/* START*/
var cookies = ' ' + document.cookie;
if (cookies.indexOf(' ' + 'forecourt' + '=') == -1) return null;
var start = cookies.indexOf(' ' + 'forecourt' + '=') + (11);
var finish = cookies.substring(start,cookies.length);
finish = (finish.indexOf(';') == -1) ? cookies.length : start + finish.indexOf(';');
var sTemp= unescape(cookies.substring(start,finish));
/*STOP*/


	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);
		}
	}
	return sTemp;

}



function removeFromCookie(sName,sID){
	var sFind="~"+sID+"|";
	//var sTemp=readSRCookie(sName)+"";   //questa riga non viene letta
/* START*/
var cookies = ' ' + document.cookie;
if (cookies.indexOf(' ' + 'forecourt' + '=') == -1) return null;
var start = cookies.indexOf(' ' + 'forecourt' + '=') + (11);
var finish = cookies.substring(start,cookies.length);
finish = (finish.indexOf(';') == -1) ? cookies.length : start + finish.indexOf(';');
var sTemp= unescape(cookies.substring(start,finish));
/*STOP*/


	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,cookieexpiry,'/','',false);
}

function clearcookies(){
	makeCookie('forecourt','',cookieexpiry,'/','',false);
}

function moveCookie(sFrom,sTo){
	var sTemp=readSRCookie(sFrom);
	if (sTemp==null) sTemp="";
	makeCookie(sFrom,'',cookieexpiry,'','',false);
	makeCookie(sTo,sTemp,cookieexpiry,'/','',false);
}

function checkpostcode(t){
// modified 20/6/5
// pass the form element instead of the value so we can change it if necessary
	
	sIn=t.value;
	if ((sIn=="enter postcode")||(sIn=="")){
		alert("Please enter a postcode");
		return false;
	}
//	alert("the character where the space should be is: '"+sIn.substring(sIn.length-4,sIn.length-3)+"'")
	if (sIn.substring(sIn.length-4,sIn.length-3)!=" "){
//		alert("adding a space");
		t.value=sIn.substring(0,sIn.length-3)+" "+sIn.substring(sIn.length-3,sIn.length);
		sIn=t.value;
	}
	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 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 checkemailnd(email){
	emailpat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;
	if (!emailpat.test(email)){
		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);
	if (sIn.value==""){
		alert("Please enter "+sError+" then submit again.");
		return false;
	}
	else if (!checkphone(sIn)) {
		alert("Please enter "+sError+" as a number ONLY then submit again.");
		return false;
	}
	return true;
}
function checkphone(sIn){
	phonepat=/^([0-9 +()])+$/i
	return phonepat.test(sIn);
}
function isnumber(sIn,sError){
	sIn.value=makenumeric(sIn.value);
	if (sIn.value==""){
		alert("Please enter "+sError+" then submit again.");
		return false;
	}
	else if (isNaN(parseFloat(sIn.value))) {
		alert("Please enter "+sError+" as a number ONLY then submit 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 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 confirmremove(sURL){
	if (confirm("REMOVE - are you sure you want to remove this item from the homepage?")) location.replace(sURL);
}
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 onFocusI(obj,sVal) {
	if (obj.value==sVal)
		obj.value="";
}
function onBlurI(obj,sVal) {
	if (obj.value=="")
		obj.value=sVal;
}

// functions for dhtml
if (document.layers) {
visible = 'show';
hidden = 'hide';
} else {
visible = 'visible';
hidden = 'hidden';
}
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 show(sID) {
if (bVer>3) getObject(sID).visibility = visible;
}
function hide(hID) {
if (bVer>3) getObject(hID).visibility = hidden;
}
var nCurrentt=1;  
function tshow(n) {
hide('tip_'+nCurrentt);
show('tip_'+n);
nCurrentt=n;
}
function isDateTF(strDate, strFmt) {

  function isLeapYear(y) {
    return (y%4!=0) ? false : (y%100!=0) ? true : (y%400!=0) ? false : true;
  }

  strFmt = strFmt || "ymd";           // default date format

  switch (strFmt.toLowerCase()) {
    case "ymd" :
      var reDate = /^(\d{4})\/(\d{1,2})\/(\d{1,2})$/;
      var y = 1, m = 2, d = 3;
      break;
    case "dmy" :
      var reDate = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
      var y = 3, m = 2, d = 1;
      break;
    case "mdy" :
      var reDate = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
      var y = 3, m = 1, d = 2;
      break;
    default:
      return false;                  // invalid date format specified
  }

  if (!reDate.test(strDate)) return false;  // date has invalid format

  var dateParts = reDate.exec(strDate)
  var year  = dateParts[y];
  var month = dateParts[m];
  var day   = dateParts[d];

  switch (parseInt(month)) {
    case 1 :
    case 3 :
    case 5 :
    case 7 :
    case 8 :
    case 10:
    case 12:
      if (day > 31) return false;
      break;
    case 4 :
    case 6 :
    case 9 :
    case 11:
      if (day > 30) return false;
      break;
    case 2 :
      if (day > (isLeapYear(year) ? 29 : 28)) return false;
      break;
    default:
      return false;
  }

  // Put any year range checks here
  // if (year < min || year > max) return false;

  return true;

}

function isDate(strDate, strFmt) {

  function isLeapYear(y) {
    return (y%4!=0) ? false : (y%100!=0) ? true : (y%400!=0) ? false : true;
  }

  strFmt = strFmt || "ymd";           // default date format

  switch (strFmt.toLowerCase()) {
    case "ymd" :
      var reDate = /^(\d{4})\/(\d{1,2})\/(\d{1,2})$/;
      var y = 1, m = 2, d = 3;
      break;
    case "dmy" :
      var reDate = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
      var y = 3, m = 2, d = 1;
      break;
    case "mdy" :
      var reDate = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
      var y = 3, m = 1, d = 2;
      break;
    default:
      return null;                  // invalid date format specified
  }

  if (!reDate.test(strDate)) return null;  // date has invalid format

  var dateParts = reDate.exec(strDate)
  var year  = dateParts[y];
  var month = dateParts[m];
  var day   = dateParts[d];

  switch (parseInt(month)) {
    case 1 :
    case 3 :
    case 5 :
    case 7 :
    case 8 :
    case 10:
    case 12:
      if (day > 31) return null;
      break;
    case 4 :
    case 6 :
    case 9 :
    case 11:
      if (day > 30) return null;
      break;
    case 2 :
      if (day > (isLeapYear(year) ? 29 : 28)) return null;
      break;
    default:
      return null;
  }

  // Put any year range checks here
  // if (year < min || year > max) return false;

  return new Date(year,month-1,day);

}
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 oOpen(sID) {
	var o=getObject(sID);
	if (o) o.display="block";
}
function oClose(sID) {
	var o=getObject(sID);
	if (o) o.display="none";
}
function countItems(sIn,sDiv){
	count=0;
	for (i=0;i<sIn.length;i++){
		if (sDiv==(sIn.substring(i,i+1))) count++;
	}
	return count;
}
/* Function that swaps images. */
function di20(id, newSrc) {
var theImage = FWFindImage(document, id, 0);
if (theImage) {
theImage.src = newSrc;
}
}
/* Functions that track and set toggle group button states. */
function FWFindImage(doc, name, j) {
var theImage = false;
if (doc.images) {
theImage = doc.images[name];
}
if (theImage) {
return theImage;
}
if (doc.layers) {
for (j = 0; j < doc.layers.length; j++) {
theImage = FWFindImage(doc.layers[j].document, name, 0);
if (theImage) {
return (theImage);
}
}
}
return (false);
}
// REPLACE WITH "swfobject"
function SWFObject(swf,title,w,h,ver,bg) {
	this.swf=swf;
	this.title=title;
	this.w=w;
	this.h=h;
	this.ver=ver;
	this.bg=bg;
	this.write=function(id) {
		swfobject.embedSWF(this.swf,id,this.w,this.h,this.ver);
	}
}


function popEmail(sIn) {
var w = window.open("","_new","height=370,width=400");
w.location.href="email.jsp?"+sIn;
w.focus();
}
function popEalert(sIn) {
var w = window.open("","_new","height=350,width=400");
w.location.href="ealert.jsp?"+sIn;
w.focus();
}
function cacheBust(sURL) {
	return sURL+(sURL.indexOf('?')==-1 ? '?' : '&')+'cbzz='+(new Date()).getTime();
}