
var ns			=	(window.navigator.appName.toLowerCase() == "netscape");
var ie			=	(window.navigator.appName.toLowerCase() == "microsoft internet explorer");
var agt			=	navigator.userAgent.toLowerCase();
var is_major	=	parseInt(navigator.appVersion);
var is_ie5		=	(ie && (is_major == 4) && (agt.indexOf("msie 5")!=-1) );
var is_ie4up	=	(ie && (is_major >= 4));
var is_ns5up	=	(ns && (is_major >= 5));
var is_mac		= 	(agt.indexOf("mac")!=-1); 

var last_layer_accessed = "";
var last_div_accessed   = "";
var last_pane_accessed  = "descriptionpane";
var last_detail_accessed = "";
var nav_active = 0;
var div_active = 1;
var pane_active = 1;
var detail_active = 1;
var w_y = 0;
var w_x = 0;

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		
		////////////////
		NewCars_over = newImage("/images/NewCars-over.gif");
		UsedCars_over = newImage("/images/UsedCars-over.gif");
		////////////////
		
		
		
		
		////////////////
		Chrysler_over = newImage("/images/Chrysler-over.jpg");
		Jeep_over = newImage("/images/Jeep-over.jpg");
		Other_over = newImage("/images/Other-over.jpg");
		////////////////
		
		preloadFlag = true;
	}
}

function getpagescrolly(){
if(is_ie4up)return document.body.scrollTop;
else return window.pageYOffset;
}

function getpagescrollx(){
if(is_ie4up)return document.body.scrollLeft;
else return window.pageXOffset;
}

function getwindowdims()
{
	w_y=(is_ie4up)?document.body.clientHeight:window.innerHeight;
	w_x=(is_ie4up)?document.body.clientWidth:window.innerWidth;
}


function openMn(layerid,xoffset)
{	
	if(!nav_active)
	{
		return;
	}

	if(ns)
	{
		leftpx = ((window.innerWidth - 756)/2) + xoffset;
	}
	else
	{
		leftpx = ((document.body.clientWidth - 756)/2) + xoffset;
	}

	//openLayer("menu" + layerid,leftpx);
	openLayer("nav" + layerid,leftpx);

	last_layer_accessed = layerid;	
}

function closeMn()
{
	if(!nav_active)
	{
		return;
	}

	if(last_layer_accessed != "")
	{
		closeLayer("nav" + last_layer_accessed);
		//closeLayer("menu" + last_layer_accessed);
	    last_layer_accessed = "";
	}
}


function openDiv(divname,xoffset)
{	
	if(!div_active)
	{
		return;
	}

	if(ns)
	{
		leftpx = ((window.innerWidth - 774)/2) + xoffset;
	}
	else
	{
		leftpx = ((document.body.clientWidth - 774)/2) + xoffset;
	}

	openLayer(divname,leftpx);

	last_div_accessed = divname;	
}




function openPane(panename)
{
	if(!pane_active)
	{
		return;
	}

	last_pane_accessed = panename;
	inlineDiv(panename);
}


function closePane()
{
	if(!pane_active)
	{
		return;
	}

	if(last_pane_accessed != "")
	{
		noneDiv(last_pane_accessed);
	    last_pane_accessed = "";
	}
}


function openDetail(lyrname)
{
	if(!detail_active)
	{
		return;
	}

	last_detail_accessed = lyrname;
	inlineDiv(lyrname);
}


function closeDetail()
{
	if(!detail_active)
	{
		return;
	}

	if(last_detail_accessed != "")
	{
		noneDiv(last_detail_accessed);
	    last_detail_accessed = "";
	}
}


function inlineDiv(divname)
{
  if(ns) 
  {
	if(is_ns5up) 
	{
		showNavLayer = document.getElementById(divname);
    	showNavLayer.style.display = 'inline';
    	showNavLayer.style.visibility  = "visible";  
  	} 
	else 
	{
	    showNavLayer  = document[divname];
    	showNavLayer.display = 'inline';
    	showNavLayer.visibility  = "show";
   	}
  }

  if(ie)
  {
    showNavLayer  = document.all[divname];
    showNavLayer.style.display = 'inline';
    showNavLayer.style.visibility  = "visible";
  }

}

function noneDiv(divname)
{
    if(ie)
    { 
      document.all[divname].style.display = "none";
      document.all[divname].style.visibility  = "hidden";
    }
    
    if(ns)
    {
		if(is_ns5up) 
		{
			document.getElementById(divname).style.display = "none";
			document.getElementById(divname).style.visibility  = "hidden";
		} 
		else 
		{
	    	document[divname].display = "none";
	    	document[divname].visibility  = "hidden";
  	  	}	
  	}
}


function openLayerCentered(lyrname,lyrwidth,lyrheight)
{
	getwindowdims();
	s_y = getpagescrolly();
	s_x = getpagescrollx();

	// to center the window we need to know the window width and height	
	
	starty = s_y + ((w_y / 2) - (lyrwidth /2));
	startx = s_x + ((w_x / 2) - (lyrheight /2));

	openLayer(lyrname,startx,starty);	
}


function openLayer(lyrname,leftpx,toppx)
{
	if(!nav_active)
	{
		return;
	}

  if(ns) 
  {
	if(is_ns5up) 
	{
		showNavLayer = document.getElementById(lyrname);
    	//alert(leftpx);
    	if(leftpx != null) { showNavLayer.style.left = leftpx +'px'; }
    	if(toppx != null)  { showNavLayer.style.top = toppx +'px'; }
    	showNavLayer.style.visibility  = "visible";
	} 
	else 
	{
	    showNavLayer  = document[lyrname];
    	if(leftpx != null) { showNavLayer.left = leftpx +'px'; }
		if(toppx != null) { showNavLayer.top = toppx +'px'; }
    	showNavLayer.visibility  = "show";
    	
   	}
  }

  if(ie)
  {
    showNavLayer  = document.all[lyrname];
    if(leftpx != null) { showNavLayer.style.left = leftpx; }
    if(toppx != null) { showNavLayer.style.top = toppx; }
    showNavLayer.style.visibility  = "visible";
  }
}

function closeLayer(lyrname) 
{
    if(ie)
    { 
      document.all[lyrname].style.visibility = "hidden";
    }
    
    if(ns)
    {
		if(is_ns5up) 
		{
			document.getElementById(lyrname).style.visibility = "hidden";
		} 
		else 
		{
	    	document[lyrname].visibility = "hide";
  	  	}	
  	}
}


function setSrvDate(date,serviceoption)
{
	document.servicefrm.svdate.value = date;
	document.servicefrm.svoption.value = serviceoption;
	document.servicefrm.submit();
}

// error checking routines


function genTransDiv(lyridStr,height,imageStr)
{
	if(!ie && !is_mac)
	{
		//document.write('<div id=\"' + lyridStr + '\" style=\"position: absolute; left: 122px; top: 113px; width: 138px; height: 100px; z-index: 20; visibility: hidden; background: url(' + imageStr + '); background-image: url(' + imageStr + ');\">');
	
		document.write('<div id=\"' + lyridStr + '\" style=\"position: absolute; left: 122px; top: 114px; width: 138px; height: ' + height + 'px; z-index: 20; visibility: hidden; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + imageStr + '\', sizingMethod=\'image\')\">');
	}
	else
	{
		document.write('<div id=\"' + lyridStr + '\" style=\"position: absolute; left: 122px; top: 114px; width: 138px; height: ' + height + 'px; z-index: 20; visibility: hidden; background: url(' + imageStr + '); background-image: url(' + imageStr + ');\">');

	}
}


// form checking


function msgDialog(msg)
{
	alert(msg);
}

function isComplete(msgstr)
{
	// method takes a string if not empty displays to screen.

	if(msgstr != "")
	{
		alert("The following information is missing or invalid please correct and retry:\n" + msgstr);
		return false;
	}
	else
	{
		return true;
	}
}



function checkFormCorporate(frm)
{
		var msgstr = "";

		if(frm.company_name.value == "")
		{
			msgstr += "\n\t - Company Name";
		}

		if(frm.company_employees.options[frm.company_employees.selectedIndex].value == "")
		{
			msgstr += "\n\t - Staff Employed";
		}

		msgstr += checkContact(frm);


		return(isComplete(msgstr));
}


function checkFormPartExchange(frm)
{
	var msgstr = "";

	msgstr += checkContact(frm);
	
	if(frm.vehicle_make.value == "")
	{
		msgstr += "\n\t - Vehicle Make";	
	}
	
	if(frm.vehicle_model.value == "")
	{
		msgstr += "\n\t - Vehicle Model";
	}
	
	if(frm.vehicle_registration.value == "")
	{
		msgstr += "\n\t - Vehicle Registration";
	}

	if(frm.vehicle_exterior.value == "")
	{
		msgstr += "\n\t - Vehicle Paintwork and Colour";
	}
	
	if(frm.vehicle_mileage.value == "")
	{
		msgstr += "\n\t - Vehicle Mileage";
	}
	
	if(frm.vehicle_condition.selectedIndex == 0)
	{
		msgstr += "\n\t - Vehicle Condition";
	}
	
	if(frm.vehicle_servicehistory.selectedIndex == 0)
	{
		msgstr += "\n\t - Vehicle Service History";
	}


	
	return(isComplete(msgstr));
}


function checkFormFinance(frm)
{
	var msgstr = "";

	msgstr += checkContact(frm);
	
	if(frm.finance_vehicle.value == "")
	{
		msgstr += "\n\t - Vehicle to finance";
	}
	
	if(frm.finance_vehicletype.selectedIndex == 0)
	{
		msgstr += "\n\t - New Vehicle type New or Used";
	}
	
	if(frm.finance_partexchange.selectedIndex == 0)
	{
		msgstr += "\n\t - Part Exchange";
	}
	
	if(frm.finance_existingcompany.selectedIndex == 0)
	{
		msgstr += "\n\t - Existing Finance";
	}
	
	if(frm.finance_existingcompany.selectedIndex == 1)
	{
		// finance is involved check the amount is entered
		if(frm.finance_remainingpayment.value == "")
		{
			msgstr += "\n\t - Outstanding Payment";
		}
	}


	
	if(frm.finance_amount.value == "")
	{
		msgstr += "\n\t - Amount to Finance";
	}
	
	if(frm.finance_type.selectedIndex == 0)
	{
		msgstr += "\n\t - Finance Type";
	}
	
	
	return(isComplete(msgstr));
}


function checkVehicle()
{

}


function checkTestdrive(frm)
{
	var msgstr = "";
	
	
	if(frm.contact_name.value == "")
	{
			msgstr += "\n\t - Name";	
	}

	if(frm.contact_telephone.value == "")
	{
			msgstr += "\n\t - Telephone";	
	}
	
	if(frm.contact_email.value == "" || !isValidEmail(frm.contact_email.value))
	{
			msgstr += "\n\t - Email Address";	
	}
	
	return(isComplete(msgstr));
}


function checkContact(frm)
{
	var msgstr = "";
	
	if(frm.contact_name.value == "")
	{
			msgstr += "\n\t - Name";	
	}
	
	if(frm.contact_address1.value == "")
	{
			msgstr += "\n\t - Address 1";	
	}
	
	if(frm.contact_address2.value == "")
	{
			msgstr += "\n\t - Address 2";	
	}
	
	if(frm.contact_town.value == "")
	{
			msgstr += "\n\t - Town";	
	}
	
	if(frm.contact_postcode.value == "")
	{
			msgstr += "\n\t - Postcode";	
	}
	
	if(frm.contact_telephone.value == "")
	{
			msgstr += "\n\t - Telephone";	
	}
	
	if(frm.contact_email.value == "" || !isValidEmail(frm.contact_email.value))
	{
			msgstr += "\n\t - Email Address";	
	}
	
	return(msgstr);
}


function checkFormEnquiry()
{
	var msgstr = "";

	var msgstr = "";

	msgstr += checkContact(frm);
	

		
	
	return(isComplete(msgstr));
}


function isValidEmail(validatestr)
{
	return(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(validatestr));
}

function setPrintUrl(surl)
{
	document.printfrm.sform.value='';
	document.printfrm.url.value=surl;
}

function setPrintSubmitForm(sform)
{
	document.printfrm.sform.value=sform;
	document.printfrm.url.value='';
}

function setModelMake(sform,splitstr)
{
	// method interpretes a make|model group and sets appropriately.

	var param = splitstr.split("|");

	
	sform.mf.value 	= param[0];
	sform.model.value 	= param[1];
	
}