function openWindow(filename, pic_width, pic_height) {
	pic_width=pic_width+30;
	pic_height=pic_height+20;
	winStats='resizable=no,toolbar=no,location=no,directories=no,menubar=no,';
	winStats+='scrollbars=yes,width='+pic_width+',height=';
	winStats+=pic_height;
	if (navigator.appName.indexOf("Microsoft")>=0) {
		winStats+=',left=20,top=25';
	} else {
		winStats+=',screenX=20,screenY=25';
	}
	winLoc = filename;
	floater=window.open(winLoc,"maximWindow",winStats);
	if (!floater.opener) floater.opener = self;
}

function opensWindow(filename, pic_width, pic_height) {
	pic_width=pic_width+30;
	pic_height=pic_height+20;
	winStats='resizable=yes,toolbar=no,location=no,directories=no,menubar=no,';
	winStats+='scrollbars=yes,width='+pic_width+',height=';
	winStats+=pic_height;
	if (navigator.appName.indexOf("Microsoft")>=0) {
		winStats+=',left=20,top=25';
	} else {
		winStats+=',screenX=10,screenY=25';
	}
	winLoc = filename;
	floater=window.open(winLoc,"maximWindow",winStats);
	if (!floater.opener) floater.opener = self;
}

dropMenu.Registry = []
dropMenu.aniLen = 150
dropMenu.hideDelay = 100
dropMenu.minCPUResolution = 10
// constructor

var _tpNS = (document.all)?false:true;

function getOffsetLeft (el) {
  var sl = el;
  var ol = el.offsetLeft;
  var sh = 0;
  while ((el = el.offsetParent) != null){
    ol += el.offsetLeft;
     if(el.offsetParent && el.offsetParent.offsetParent){
     var scrollLeft = el.offsetParent.scrollLeft;
       if(!isNaN(scrollLeft)){
         sh -= scrollLeft;
       }
    }
  }

   el = sl;
   if(_tpNS){
        while((el = el.parentNode) != null){
             if(el.parentNode && el.parentNode.parentNode
                && !(el.parentNode.tagName && 
el.parentNode.tagName.toUpperCase() == "BODY")){
      	        var scrollLeft = el.parentNode.scrollLeft;
                if(!isNaN(scrollLeft) && scrollLeft > 0 ){
                   sh -= scrollLeft;
                }
            }
        }
   }
  return ol+sh;
}

function getAbsX(elt) { return parseInt(elt.x) ? elt.x : getAbsPos(elt,"Left"); };
function getAbsPos(elt, which) { iPos = 0; while (elt != null) { iPos += elt["offset" + which]; elt = elt.offsetParent; } return iPos; }

//fires on instantiation of each new menu object
function dropMenu(id, dir, left, top, width, height)
{
this.ie = document.all ? 1 : 0
this.ns4 = document.layers ? 1 : 0
this.dom = document.getElementById ? 1 : 0
if (this.ie || this.ns4 || this.dom) 
	{
	this.id = id
	this.dir = dir
	this.orientation = dir == "left" || dir == "right" ? "h" : "v"
	this.dirType = dir == "right" || dir == "down" ? "-" : "+"
	this.dim = this.orientation == "h" ? width : height
	this.hideTimer = false
	this.aniTimer = false
	this.open = false
	this.over = false
	this.startTime = 0
	this.gRef = "dropMenu_"+id
	eval(this.gRef+"=this")
	dropMenu.Registry[id] = this
	var newleft = getAbsX(document.getElementById('t_'+id)) - 5;
	var d = document
	var strCSS = '<style type="text/css">';
	strCSS += '#' + this.id + 'Container { visibility:hidden; '
	strCSS += 'left:' + newleft + 'px; '
	strCSS += 'top:' + top + 'px; '
	strCSS += 'overflow:hidden; z-index:10000; }'
	strCSS += '#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; '
	strCSS += 'width:' + width + 'px; '
	strCSS += 'height:' + height + 'px; '
	strCSS += 'clip:rect(0 ' + width + ' ' + height + ' 0); '
	strCSS += '}'
	strCSS += '</style>'
	d.write(strCSS)
	this.load()
	}
}
dropMenu.prototype.load = function() 
{
var d = document
var lyrId1 = this.id + "Container"
var lyrId2 = this.id + "Content"
var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1]
if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
var temp
if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100)
else {
this.container = obj1
this.menu = obj2
this.style = this.ns4 ? this.menu : this.menu.style
this.homePos = eval("0" + this.dirType + this.dim)
this.outPos = 0
this.accelConst = (this.outPos - this.homePos) / dropMenu.aniLen / dropMenu.aniLen 
// set event handlers.
if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
this.menu.onmouseover = new Function("dropMenu.showMenu('" + this.id + "')")
this.menu.onmouseout = new Function("dropMenu.hideMenu('" + this.id + "')")
//set initial state
this.endSlide()
}
}
dropMenu.showMenu = function(id)
{
var reg = dropMenu.Registry
var obj = dropMenu.Registry[id]
if (obj.container) {
obj.over = true
for (menu in reg) if (id != menu) dropMenu.hide(menu)
if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) }
if (!obj.open && !obj.aniTimer) reg[id].startSlide(true)
}
}
dropMenu.hideMenu = function(id)
{
var obj = dropMenu.Registry[id]
if (obj.container) {
if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
obj.hideTimer = window.setTimeout("dropMenu.hide('" + id + "')", dropMenu.hideDelay);
}
}
dropMenu.hideAll = function()
{
var reg = dropMenu.Registry
for (menu in reg) {
dropMenu.hide(menu);
if (menu.hideTimer) window.clearTimeout(menu.hideTimer);
}
}
dropMenu.hide = function(id)
{
var obj = dropMenu.Registry[id]
obj.over = false
if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
obj.hideTimer = 0
if (obj.open && !obj.aniTimer) obj.startSlide(false)
}
dropMenu.prototype.startSlide = function(open) {
this[open ? "onactivate" : "ondeactivate"]()
this.open = open
if (open) this.setVisibility(true)
this.startTime = (new Date()).getTime() 
this.aniTimer = window.setInterval(this.gRef + ".slide()", dropMenu.minCPUResolution)
}
dropMenu.prototype.slide = function() {
var elapsed = (new Date()).getTime() - this.startTime
if (elapsed > dropMenu.aniLen) this.endSlide()
else {
var d = Math.round(Math.pow(dropMenu.aniLen-elapsed, 2) * this.accelConst)
if (this.open && this.dirType == "-") d = -d
else if (this.open && this.dirType == "+") d = -d
else if (!this.open && this.dirType == "-") d = -this.dim + d
else d = this.dim + d
this.moveTo(d)
}
}
dropMenu.prototype.endSlide = function() {
this.aniTimer = window.clearTimeout(this.aniTimer)
this.moveTo(this.open ? this.outPos : this.homePos)
if (!this.open) this.setVisibility(false)
if ((this.open && !this.over) || (!this.open && this.over)) {
this.startSlide(this.over)
}
}
dropMenu.prototype.setVisibility = function(bShow) { 
var s = this.ns4 ? this.container : this.container.style
s.visibility = bShow ? "visible" : "hidden"
}
dropMenu.prototype.moveTo = function(p) { 
this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px"
}
dropMenu.prototype.getPos = function(c) {
return parseInt(this.style[c])
}
dropMenu.prototype.onactivate = function() {}
dropMenu.prototype.ondeactivate = function() { }

function setCookie(name, value, expires, path, domain, secure, showa) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "; path=/;") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  if (showa==1) { alert(curCookie); }
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

var now = new Date();
var expire_time = new Date();
fixDate(now); fixDate(expire_time);
expire_time.setTime(now.getTime() + 60 * 24 * 60 * 60 * 1000); // Expire in 60 days

function reload_model(info) {
	var head = document.getElementsByTagName('head').item(0);
	var old  = document.getElementById('scriptId');
	if (old) head.removeChild(old);
	script = document.createElement('script');
	var now= new Date();
	var host="www.autoexpress.co.uk";
	if (location.hostname=="www.evo.co.uk"){
		host="www.evo.co.uk";
	} else if (location.hostname=="www.octane.com"||location.hostname=="www.classicandperformancecar.com") {
		host="www.classicandperformancecar.com";
	}
	script.src = "http://"+host+"/front_website/product_pick.php?id="+info+"&rn="+now.valueOf();
	script.type = 'text/javascript';
	script.defer = true;
	script.id = 'scriptId';
	void(head.appendChild(script));
}

function reload_car(info, pgt) {
	var head = document.getElementsByTagName('head').item(0);
	var old  = document.getElementById('scriptId');
	if (old) head.removeChild(old);
	script = document.createElement('script');
	var now= new Date();
	script.src = "/front_website/product_pick.php?pgt="+pgt+"&id="+info+"&rn="+now.valueOf();
	script.type = 'text/javascript';
	script.defer = true;
	script.id = 'scriptId';
	void(head.appendChild(script));
}

function visit(newURL) {
	if (newURL != "") { self.location.href=newURL; }
}

function addC(value) {
	var ck = getCookie('showroom_add');
	if (ck===null) { ck=''; }
	if (ck=='') { ck=value; } else { ck += ';'+value; }
	setCookie('showroom_add', ck, '', '/');
}

function reload_showroom() {
	window.location.reload();
}

function replace(s, t, u) {
	i = s.indexOf(t);
	r = "";
	if (i == -1) return s;
	r += s.substring(0,i) + u;
	if ( i + t.length < s.length)
	r += replace(s.substring(i + t.length, s.length), t, u);
	return r;
}

function update_list(value, a) {
	if (a==1) {
		document.search_form_b["car_compare["+value+"]"].checked = document.search_form_a["car_compare["+value+"]"].checked;
	} else {
		document.search_form_a["car_compare["+value+"]"].checked = document.search_form_b["car_compare["+value+"]"].checked;
	}
	var val = document.search_form_a["car_compare["+value+"]"].value;
	if (!document.search_form_a["car_compare["+value+"]"].checked) {
		var ck = getCookie('showroom_add');
		if (ck===null) { ck=''; }
		if (ck=='') {
			var ck = getCookie('showroom_remove');
			if (ck===null) { ck=''; }
			if (ck=='') { ck=val; } else { ck += ';'+val; }
			setCookie('showroom_remove', ck);
		} else {
			var f=0;
			var farray = ck.split(';');
			for (i=0; i<farray.length; i++) {
				if (farray[i]==val) {
					f = 1; i = farray.length;
				}
			}
			if (f==0) {
				var ck = getCookie('showroom_remove');
				if (ck===null) { ck=''; }
				if (ck=='') { ck=val; } else { ck += ';'+val; }
				setCookie('showroom_remove', ck);
			} else {
				oldck = ck;
				s = replace(ck,';'+val,'');
				if (s==oldck) {
					ck = oldck;
					s = replace(ck,val+';','');
					if (s==oldck) {
						ck = oldck;
						s = replace(ck,val,'');
					}
				}
				setCookie('showroom_add', s);
			}
		}
	} else {
		var ck = getCookie('showroom_remove');
		if (ck===null) { ck=''; }
		if (ck=='') { addC(val); return; }
		var f=0;
		var farray = ck.split(';');
		for (i=0; i<farray.length; i++) {
			if (farray[i]==val) {
				f = 1; i = farray.length;
			}
		}
		if (f==1) {
			oldck = ck;
			s = replace(ck,';'+val,'');
			if (s==oldck) {
				ck = oldck;
				s = replace(ck,val+';','');
				if (s==oldck) {
					ck = oldck;
					s = replace(ck,val,'');
				}
			}
			setCookie('showroom_remove', s);
		} else {
			addC(val);
		}
	}
}

// Pop-Up Embedder Script by David Battino, www.batmosphere.com
// Version 2006-05-31
// OK to use if this notice is included
   
function BatmoAudioPop(filedesc,filepath,WindowNumber) 
{

// Get Operating System 
var isWin = navigator.userAgent.toLowerCase().indexOf("windows") != -1
if (isWin) {
    // Use MIME type = "application/x-mplayer2";
	visitorOS="Windows";
} else {
    // Use MIME type = "audio/mpeg"; // or audio/x-wav or audio/x-ms-wma, etc.
	visitorOS="Other";
}

// Get the MIME type of the audio file from its extension (for non-Windows browsers)
var mimeType = "audio/mpeg"; // assume MP3/M3U
var objTypeTag = "application/x-mplayer2"; // The Windows MIME type to load the WMP plug-in in Firefox, etc.

var theExtension = filepath.substr(filepath.lastIndexOf('.')+1, 3); // truncates .aiff to aif
if (theExtension.toLowerCase() == "wav") { mimeType = "audio/x-wav"};
if (theExtension.toLowerCase() == "aif") { mimeType = "audio/x-aiff"}; 
if (theExtension.toLowerCase() == "wma") { mimeType = "audio/x-ms-wma"};
if (theExtension.toLowerCase() == "mid") { mimeType = "audio/mid"};
// Add additional MIME types as desired

if (visitorOS != "Windows") { 
objTypeTag = mimeType; // audio/mpeg, audio/x-wav, audio/x-ms-wma, etc.
};

    PlayerWin = window.open('',WindowNumber,'width=320,height=217,top=0,left=0,screenX=0,screenY=0,resizable=0,scrollbars=0,titlebar=0,toolbar=0,menubar=0,status=0,directories=0');

    PlayerWin.focus();
    PlayerWin.document.writeln("<html><head><title>" + filedesc + "</title></head>");
    PlayerWin.document.writeln("<body bgcolor='#FFFFFF'>"); // specify background img if desired
    PlayerWin.document.writeln("<div align='center'>");
    PlayerWin.document.writeln("<b style ='font-size:18px;font-family:Ariel,sans-serif;line-height:1.6;color:#333333;'>" + filedesc + "</b>");
    PlayerWin.document.writeln("<object width='280' height='69'>");
    PlayerWin.document.writeln("<param name='src' value='" +  filepath + "'>");
    PlayerWin.document.writeln("<param name='type' value='" + objTypeTag + "'>");
    PlayerWin.document.writeln("<param name='autostart' value='1'>");
    PlayerWin.document.writeln("<param name='showcontrols' value='1'>"); 
    PlayerWin.document.writeln("<param name='showstatusbar' value='0'>");
    PlayerWin.document.writeln("<embed src ='" + filepath + "' type='" + objTypeTag + "' autoplay='true' width='280' height='69' controller='1' showstatusbar='0' bgcolor='#FFFFFF' kioskmode='true'>");
    PlayerWin.document.writeln("</embed></object></div>");
    PlayerWin.document.writeln("<p style='font-size:12px;font-family:Ariel,sans-serif;text-align:center;color:#333333;'><a href='" + filepath +"' style='color:#333333;'>Download this file</a> <span style='font-size:12px;color:#333333;'>(right-click or Control-click)</span></p>");
    PlayerWin.document.writeln("<form><div align='center'><input type='button' value='Close this window' onclick='javascript:window.close();'></div></form>");
    PlayerWin.document.writeln("</body></html>");

    PlayerWin.document.close(); // "Finalizes" new window
}