var appAgent=navigator.userAgent.toLowerCase();
var appVersion=navigator.appVersion;
var busy=false;
var t=top.bottomFrame;

var isNE=(appAgent.indexOf('netscape')!=-1);
var isIE=(appAgent.indexOf('msie')!=-1);
var FireFox=(document.getElementById && !document.all)
var isNE4; //NE4
var isNE5; //NE5 or >mframehangeStyle
var isIE4; //IE4
var isIE5; //IE5 or >
var version;
var unKnownBrowser;

if(FireFox) {
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
	HTMLElement.prototype.insertAdjacentElement = function
(where,parsedNode)
	{
		switch (where){
		case 'beforeBegin':
			this.parentNode.insertBefore(parsedNode,this)
			break;
		case 'afterBegin':
			this.insertBefore(parsedNode,this.firstChild);
			break;
		case 'beforeEnd':
			this.appendChild(parsedNode);
			break;
		case 'afterEnd':
			if (this.nextSibling) 
this.parentNode.insertBefore(parsedNode,this.nextSibling);
			else this.parentNode.appendChild(parsedNode);
			break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function
(where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML)
	}


	HTMLElement.prototype.insertAdjacentText = function
(where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr)
		this.insertAdjacentElement(where,parsedText)
	}
}
}

if (isNE) {
	version=parseFloat(appVersion);
	isNE5=(version>=5);
	isNE4=(version==4);
} else if (isIE) {
	var pos=appAgent.indexOf('msie');
	version=parseFloat(appAgent.substring(pos+5,pos+6));
	isIE5=(version>=5);
	isIE4=(version==4);
} else
	unKnownBrowser=true;

function formatCurrency(obj) {
	if(obj.value!='') {
	num = obj.value.toString().replace(/\£|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	obj.value= (((sign)?'':'-') + '£' + num + '.' + cents);
	}
}

function unformatCurrency(obj) {
if(obj.value!='') {
	obj.value=parseFloat(obj.value.toString().replace(/\£|\,/g,''));
	obj.select();
	}
}

function unformatCurrencyValue(value) {
	return parseFloat(value.toString().replace(/\£|\,/g,''));
}

function message(msg) {
	//if(top.mainFrame.document.getElementById('message')) {
	//	top.mainFrame.document.getElementById('message').innerHTML=msg;
	//}
}

function register() {
	
	//if(top.mainFrame.mframe) {
		top.mainFrame.document.getElementById('mframe').src="register.asp"
	//}
}

var oldbtn=null;
var oldtext=null;
var c=false;

function btnMouseOver(obj) {
	if(oldbtn!=obj) {
		var c=obj.className+'2'
		obj.className=c.replace('222', '22');
		//alert(obj.className);
	}
	if(obj.id=='btn1')
		message('Search vehicles for sale and wanted cars');
	if(obj.id=='btn2')
		message('See your Cars. Delete your Cars.');
	if(obj.id=='btn3')
		message('To add a vehicle.');
	if(obj.id=='btn4')
		message('This is what you are looking for.');
	if(obj.id=='btn5')
		message('Add vehicles to your wish list.');
	if(obj.id=='btn6')
		message('This is what everybody else is looking for. Maybe you can source a vehicle ?');
	if(obj.id=='btn7')
		message('Change your details here.');
	if(obj.id=='btn8')
		message('* New * Participate in Sealed Bids from Wednesdays to Thursdays from 12 noon to 12 noon.');	
}

function btnMouseOut(obj) {
	if(oldbtn!=obj) {
		obj.className=obj.className.toString().substring(0, obj.className.toString().length - 1);
		message('');
	}
}

function btnMouseClick(obj, direct) {
	if(oldbtn!=obj && oldbtn!=null) {
		oldbtn.className=oldbtn.className.toString().substring(0, oldbtn.className.toString().length - 1);
		oldbtn.innerHTML=oldtext;
	} else {
		if(obj==oldbtn) {
			obj.className=obj.className.toString().substring(0, obj.className.toString().length - 1) + '2';
			obj.innerHTML=oldtext;
			changeIframePage('Welcome2.asp');
			oldbtn=null;
			//obj.className=obj.className.toString().substring(0, obj.className.toString().length - 1)
			//btnMouseOut(obj);
			return 0; //exits here
		}
	}
	oldbtn=obj;
	//oldbtn.className=obj.className.toString().substring(0, obj.className.toString().length - 1);
	//alert(oldbtn.className);
	oldtext=obj.innerHTML;
	obj.innerHTML='<- Home';
	if(direct)	
		obj.className+='3'
	else
		obj.className=obj.className.toString().substring(0, obj.className.toString().length - 1) + '3';
	if(obj.id=='btn8') 
		changeIframePage('portalform.asp');
	if(obj.id=='btn7') 
		changeIframePage('usermanagement.asp');
	if(obj.id=='btn5')
		changeIframePage('AddToWantedList.asp');
	if(obj.id=='btn4') 
		changeIframePage('searchselected.asp?LIST=DEALER');
	if(obj.id=='btn3') 
		changeIframePage("addveh.asp?backcommand=top.mainFrame.btnMouseClick(top.mainFrame.document.getElementById('btn3'))");
	if(obj.id=='btn2') 
		changeIframePage('searchselected.asp?yourstock=true');
	if(obj.id=='btn1') 
		changeIframePage('search.asp');	
}

function changeIframePage(page) {
	top.mainFrame.document.getElementById('mframe').src=page;
}

function changeVehPerPage(value) {
	cookie.VehPerPage=value;
	cookie.write();
	reload();
}

function changeStyle(obj, what) {
	if(what=='over') {
		oldClass=obj.className;
		obj.className='rstyleMouseover';	
		obj.style.cursor=(isIE5 ? 'hand' : 'pointer');
	}
	if(what=='out') {
		obj.className=oldClass;
		oldClass='';
		obj.style.cursor='default';
	}
	var p=obj.id.indexOf('_')
	if(p>0)
		newobj=obj.id.substring(0, p)
	else
		newobj=obj.id + "_1";
	if(document.getElementById(newobj)) {
		nobj=document.getElementById(newobj);
		
		if(what=='over') {
			oldClass2=nobj.className;
			nobj.className='rstyleMouseover';	
			nobj.style.cursor=(isIE5 ? 'hand' : 'pointer');
		}
		if(what=='out') {
			nobj.className=oldClass2;
			oldClass2='';
			nobj.style.cursor='default';
		}
	}
}

function changeOrder(obj) {
	cookie.selOrder=obj.childNodes[0].data;
	if (selOrder==obj.childNodes[0].data)
		cookie.Direction=(orderDir=='ASC' ? 'DESC' : 'ASC')
	else
		cookie.Direction=orderDir;
	cookie.write();
	document.location.reload();
}

function changePage(pageNumber) {
	cookie.page=pageNumber;
	cookie.write();
	reload();
}

function changeRenvoi(renvoi) {
	cookie.renvoi=renvoi;
	cookie.write();
	cookie.page=(24*renvoi)+1;
	cookie.write();
	reload();
}

function reload() {
	document.location.reload();
}

function loadDescs(cascade, secParams) {
	if (document.getElementById('selModels').value!='0') {
		src=document.getElementById('src').value;
		if(!busy) {
		
			if(src!='vehDetailsScreen' && src!='wantedListScreen'  && src!='underwriteScreen') {
				cookie.model=(document.getElementById('selModels').value!='-1' ? document.getElementById('selModels').value : '');
				cookie.write();
			}
			if(src!='vehDetailsScreen' && src!='wantedListScreen'  && src!='underwriteScreen')
				document.getElementById('selDescs').disabled=true;
			if(src=='wantedListScreen') {
				if(!edit) {
				document.getElementById('fuel').value=0;
				//document.getElementById('fuel').disabled=false;
				document.getElementById('transmission').value=0;
				//document.getElementById('transmission').disabled=false;
				}
			}
			
			if (document.getElementById('selColours'))		
				if (document.getElementById('selColours').options[0].text!='Updating colours list...') {
					document.getElementById('selColours').options[0].text='Updating colours list...';
					document.getElementById('selColours').options[0].value='0';
					document.getElementById('selColours').options[0].selected=true;
				}
				
			if (document.getElementById('selFuel'))
				if (document.getElementById('selFuel').options[0].text!='Updating fuel type list...') {
					document.getElementById('selFuel').options[0].text='Updating fuel type list...';
					document.getElementById('selFuel').options[0].value='0';
					document.getElementById('selFuel').options[0].selected=true;
				}
				
			if (document.getElementById('selTrans'))
				if (document.getElementById('selTrans').options[0].text!='Updating transmission list...') {
					document.getElementById('selTrans').options[0].text='Updating transmission list...';
					document.getElementById('selTrans').options[0].value='0';
					document.getElementById('selTrans').options[0].selected=true;
				}  
				
			cnt=0;
			t.finished=false;
			t.location.href='loadDescs.asp?Source='+src+'&Manufacturer=' + document.getElementById('selMakes').value+'&Model='+document.getElementById('selModels').value;
			if (secParams) 
				timer=setTimeout('check("selDescs", true)', 10)
			else
				timer=setTimeout('check("selDescs", false)', 10);
				
			busy=true;
			
			waitNoBusy("selDescs");
			
			if(cascade && src!='vehDetailsScreen') {
				
				
			}
			//if (src=='vehDetailsScreen')  {
				
			//	alert('test');
			//}
		}	
	}
}


function loadModels(cascade, secParams) {
	if (document.getElementById('selMakes').value!='0') {
		src=document.getElementById('src').value;
		if(!busy) {
			
			if(src!='vehDetailsScreen' && src!='wantedListScreen' && src!='underwriteScreen') {
				cookie.manufacturer=(document.getElementById('selMakes').value!='-1' ? document.getElementById('selMakes').value : '');
				cookie.write();
			}
			if(src!='vehDetailsScreen' && src!='wantedListScreen' && src!='underwriteScreen')
				document.getElementById('selModels').disabled=true;
			if(src=='wantedListScreen') {
				if(!edit) {
				document.getElementById('fuel').value=0;
				//document.getElementById('fuel').disabled=false;
				document.getElementById('transmission').value=0;
				//document.getElementById('transmission').disabled=false;
				}
			}
			
			if (document.getElementById('selDescs').options[0].text!='Updating derivative list...') {
				document.getElementById('selDescs').options[0].text=(src!='vehDetailsScreen' && src!='underwriteScreen' ? 'Updating derivative list...' : 'Please select a Model...');
				document.getElementById('selDescs').options[0].value='0';
				document.getElementById('selDescs').options[0].selected=true;
			}
		
			if (document.getElementById('selColours'))
				if (document.getElementById('selColours').options[0].text!='Updating colours list...') {
					document.getElementById('selColours').options[0].text='Updating colours list...';
					document.getElementById('selColours').options[0].value='0';
					document.getElementById('selColours').options[0].selected=true;
				}
				
			if (document.getElementById('selFuel'))
				if (document.getElementById('selFuel').options[0].text!='Updating fuel type list...') {
					document.getElementById('selFuel').options[0].text='Updating fuel type list...';
					document.getElementById('selFuel').options[0].value='0';
					document.getElementById('selFuel').options[0].selected=true;
				}
			if (document.getElementById('selTrans'))	
				if (document.getElementById('selTrans').options[0].text!='Updating transmission list...') {
					document.getElementById('selTrans').options[0].text='Updating transmission list...';
					document.getElementById('selTrans').options[0].value='0';
					document.getElementById('selTrans').options[0].selected=true;
				}
				
			cnt=0;
			t.finished=false;
			t.location.href='loadModels.asp?Source='+src+'&Manufacturer=' + document.getElementById('selMakes').value;
			if (secParams) 
				timer=setTimeout('check("selModels", true)', 10)
			else
				timer=setTimeout('check("selModels", false)', 10);
			busy=true;				
			if (cascade)
				waitNoBusy("selModels");
		}	
	}
}

function loadMakes(cascade, secParams) {
	src=null; 
	if(document.getElementById('src'))
		src=document.getElementById('src').value;
		
	
	if(!busy) {
		if(src!='vehDetailsScreen' && src!='wantedListScreen' && src!='underwriteScreen')
			document.getElementById('selMakes').disabled=true;
			
		if(src=='wantedListScreen') {
			if(!edit) {
			document.getElementById('fuel').value=0;
			document.getElementById('transmission').value=0;
			}
		}
		
		if (document.getElementById('selModels').options[0])
		if (document.getElementById('selModels').options[0].text!='Updating models list...') {
			document.getElementById('selDescs').options[0].text=(src!='vehDetailsScreen' ? 'Updating models list...' : 'Please select a Make...');
			document.getElementById('selModels').options[0].value='0';
			document.getElementById('selModels').options[0].selected=true;
		}
		
		if(document.getElementById('selDescs').options[0])
		if (document.getElementById('selDescs').options[0].text!='Updating derivative list...') {
			document.getElementById('selDescs').options[0].text=(src!='vehDetailsScreen' && src!='underwriteScreen' ? 'Updating derivative list...' : 'Please select a Make...');
			document.getElementById('selDescs').options[0].value='0';
			document.getElementById('selDescs').options[0].selected=true;
		}
		
		if (document.getElementById('selColours'))
			if (document.getElementById('selColours').options[0].text!='Updating colours list...') {
				document.getElementById('selColours').options[0].text='Updating colours list...';
				document.getElementById('selColours').options[0].value='0';
				document.getElementById('selColours').options[0].selected=true;
			}
		
		if (document.getElementById('selFuel')) 
			if (document.getElementById('selFuel').options[0].text!='Updating fuel type list...') {
				document.getElementById('selFuel').options[0].text='Updating fuel type list...';
				document.getElementById('selFuel').options[0].value='0';
				document.getElementById('selFuel').options[0].selected=true;
			}
		
		if (document.getElementById('selTrans'))
			if (document.getElementById('selTrans').options[0].text!='Updating transmission list...') {
				document.getElementById('selTrans').options[0].text='Updating transmission list...';
				document.getElementById('selTrans').options[0].value='0';
				document.getElementById('selTrans').options[0].selected=true;
			}
			
		cnt=0;
		
		t.finished=false;

		if(src!=null) 
			t.location.href='loadMakes.asp?Source='+src;
		else
			t.location.href='loadMakes.asp?Source=vehdetailsscreen';
		
		busy=true;
		
		if (secParams) 
			timer=setTimeout('check("selMakes", true)', 10)
		else
			timer=setTimeout('check("selMakes", false)', 10);
			
		busy=true;				

		if(cascade)
			waitNoBusy("selMakes");
	}
}

function waitNoBusy(what) {
	if(busy) {
		setTimeout('waitNoBusy("'+what+'")', 10);
	} else {
		if (!errorLoadingList) {
			if (what=='selMakes')
				loadModels(true);
				
			if (what=='selModels')
				loadDescs(true);
				
			if (what=='selDescs') {
				if(src!='vehDetailsScreen' && src!='underwriteScreen') {
					//updateSecParams(1);
					
				}
				
				else
					if(manualReloadOptions || loading)
						loadStandartSpec();							
			}
		}
	}
}



var cnt=0;
var timer=null;
var errorLoadingList=false;

function check(obj, secParams) {
	cnt++;
	if(cnt<1000) {
		if(!t.finished) {
			clearTimeout(timer);
			timer=setTimeout('check("'+obj+'",'+secParams+')', 10);	
		} else {
			clearTimeout(timer);
			copyList(obj, secParams);
		}
	} else {
		errorLoadingList=true;
		clearTimeout(timer);
		alert('Error loading data "' + obj + '"');
		busy=false;
	}
}

function copyList(obj, updatesecParams) {
	var sObj=t.document.getElementById('selOptions');
	var dObj=document.getElementById(obj);
	//alert(obj + ' ' + sObj + ' ' + dObj);
	var foundValueInCookie=false;
	var cpt=0;
	src=document.getElementById('src').value;
	
	dObj.length=sObj.length+1;
	for(var i=0; i<sObj.length; i++) {
		dObj.options[i+1].value=sObj.options[i].value;
		dObj.options[i+1].text=sObj.options[i].text;
		if (!foundValueInCookie && cookie) {
			if (obj=="selMakes")
				if(dObj.options[i+1].value==cookie.manufacturer) {
					cpt=i+1;
					foundValueInCookie=true;
				}
			if (obj=="selModels")
				if(dObj.options[i+1].value==cookie.model) {
					cpt=i+1;
					foundValueInCookie=true;
				}
			if (obj=="selDescs")
				if(dObj.options[i+1].value==cookie.description) {
					cpt=i+1;
					foundValueInCookie=true;
				}
			if (obj=="selColours")
				if(dObj.options[i+1].value==cookie.colour) {
					cpt=i+1;
					foundValueInCookie=true;
				}
			if (obj=="selFuel")
				if(dObj.options[i+1].value==cookie.fuel) {
					cpt=i+1;
					foundValueInCookie=true;
				}
			if (obj=="selTrans")
				if(dObj.options[i+1].value==cookie.trans) {
					cpt=i+1;
					foundValueInCookie=true;
				}
		}
	}
	
	if(obj=="selMakes") {
		dObj.options[0].value=-1;
		dObj.options[0].text=(src=='vehDetailsScreen' || src=='underwriteScreen' ? 'Please pickup a Make or use the Registration Lookup...' : 'All');
		
		busy=false;		
	}
	if(obj=="selModels") {
		dObj.options[0].value=-1;
		dObj.options[0].text=(src=='vehDetailsScreen' || src=='underwriteScreen'  ? 'Please pickup a Model...' : 'All');
		busy=false;
		//if(updatesecParams)
		//	updateSecParams(1);
	}
	if(obj=="selDescs") {
		dObj.options[0].value=-1;
		dObj.options[0].text=(src=='vehDetailsScreen' || src=='underwriteScreen' ? 'Please pickup a Description...' : 'All');
		busy=false;
		//if(updatesecParams)
		//	updateSecParams(1);
	}
	if(obj=="selColours") {
		dObj.options[0].value=-1;
		dObj.options[0].text='All';
		busy=false;
	}
	if(obj=="selFuel") {
		dObj.options[0].value=-1;
		dObj.options[0].text='All';
		busy=false;
	}
	if(obj=="selTrans") {
		dObj.options[0].value=-1;
		dObj.options[0].text='All';
		busy=false;
	}
	
	if(!foundValueInCookie)
		dObj.options[0].selected=true
	else
		dObj.options[cpt].selected=true;
	
	if(src)
		if(src=='vehDetailsScreen')
			enabledTimer=true;
}

function bringVehInfos(obj) {
	var make=escape(document.getElementById('selMakes').value);
	var model=escape(document.getElementById('selModels').value);
	var desc=escape(obj.value);
	document.getElementById('VIN').value='';
	cnt=0;
	t.finished=false;
	t.location.href="loadKwikInfo.asp?make="+make+"&model="+model+"&desc="+desc.replace('+', '*');
	//alert(desc.replace('+', '*'));
	timer=setTimeout("checkBringInfo();", 50);
}


function bringVehInfosForWantedList(obj) {
	var make=escape(document.getElementById('selMakes').value);
	var model=escape(document.getElementById('selModels').value);
	var desc=escape(obj.value);
	cnt=0;
	t.finished=false;
	t.location.href="loadKwikInfo.asp?src=wantedListScreen&make="+make+"&model="+model+"&desc="+desc;
	timer=setTimeout("checkBringInfo();", 50);
}

function checkBringInfo() {
	cnt++;
	if(!t.finished) {
		if(cnt>200) {
			clearTimeout(timer);
			alert('Impossible to load kwikview data');
		} else {
			clearTimeout(timer);
			timer=setTimeout("checkBringInfo();", 50);	
		}
	} else {
		clearTimeout(timer);
		copyNewInfo();
	}
}

function copyNewInfo() {
	var target;
	if(src!='wantedListScreen' && src!='underwriteScreen') {
	if (!t.error) {
		var doors=t.doors;
		var keecode=t.keeCode;
		var fuel=t.fuel;
		var bodyID=t.bodyID;
		var trans=t.trans;
		var capCode=t.capCode;
		
		document.getElementById('CapCode').value=capCode;

		document.getElementById('doors').value=doors;

		document.getElementById('keecode').value=keecode;
		
		target=document.getElementById('fuel');
		findValue(target, fuel);
		
		target=document.getElementById('Transmission');
		findValue(target, trans);
		
		target=document.getElementById('body');
		findValue(target, bodyID);
		canUpdatePrice=true;
		
		document.getElementById('keeCodeModified').value=true;
		if(manualReloadOptions) {
			loadStandartSpec();
			manualReloadOptions=false;
		}
	} else {
		alert('An error occured while reading data from the descriptions table - EOF');
	}
	} else {
		if (document.getElementById('selDescs').value=='-1') {
			document.getElementById('fuel').value=0;
			//document.getElementById('fuel').disabled=false;
			document.getElementById('transmission').value=0;
			document.getElementById('body').value='All';
			//document.getElementById('transmission').disabled=false;
		} else {
			var keecode=t.keeCode;
			var doors=t.doors;
			
			if(document.getElementById('selModels').value==0)
				document.getElementById('keecode').value='All'
			else
				document.getElementById('keecode').value=keecode;
				
			var fuel=t.fuel;
			target=document.getElementById('fuel');
			findValue(target, fuel);
			//document.getElementById('fuel').disabled=true;
			
			var trans=t.trans;
			target=document.getElementById('transmission');
			findValue(target, trans);
			
			if(document.getElementById('body')) {
			var bodyID=t.bodyID;
			target=document.getElementById('body');
			findValue(target, bodyID);
			}
			
			if(document.getElementById('doors'))
				document.getElementById('doors').value=doors;
				
			if(document.getElementById('doors'))
				document.getElementById('doors').value=doors;
			
			if(src=='underwriteScreen') loadStandartSpec();
			//document.getElementById('transmission').disabled=true;
		}
	}
	window.status='Done.';
}

function findValue(target, value) {
	for(var i=0; i<target.length; i++) {
		if(target.options[i].value==value) {
			target.options[i].selected=true;
			break;
		}
	}
}

var lpd;

function loadPlates(obj) {
	var year=obj.value;
	if (obj.id=='min_model_year') lpd=document.getElementById('min_plate');
	if (obj.id=='max_model_year') lpd=document.getElementById('max_plate');
	cnt=0;
	t.finished=false;
	t.location.href="loadPlates.asp?year=" + year;
	timer=setTimeout("checkLoadPlates();", 50);
}

function checkLoadPlates() {
	cnt++;
	if(!t.finished) {
		if(cnt>200) {
			clearTimeout(timer);
			alert('Impossible to load plates');
		} else {
			clearTimeout(timer);
			timer=setTimeout("checkLoadPlates();", 50);	
		}
	} else {
		clearTimeout(timer);
		copyPlates();
	}
}

function copyPlates() {
	var s=top.bottomFrame.document.getElementById('selPlates');
	lpd.length=s.length;
	for(var i=0; i<s.length; i++) {
		lpd[i].value=s[i].value;
		lpd[i].text=s[i].text;
	}
	lpd.options[0];selected=true;
}

var dList=''

function checkBTNDelete() {
	var del=document.getElementsByTagName('input');
	var checkedItems=false;
	dList='';
	for(var i=0; i<del.length; i++) {
		if(del[i].type=='checkbox')
			if(del[i].checked) {
				checkedItems=true;
				dList+=del[i].id.substring(1,del[i].id.length)+', ';
			}
	}
	dList=dList.substring(0, dList.length-2);
	document.getElementById('btnDelete').disabled=!checkedItems;
}

function deleteSelected() {
	if(confirm('Are you sure you want to delete the selected vehicle(s)\nfrom your wanted list ?'))
		top.bottomFrame.document.location.href='deleteFromWantedList.asp?wanted_id=' + escape(dList);
}

function selWantedPeriod(obj) {
	if(obj.id=='chk1') {
		document.getElementById('txtDays').enabled=true;
		document.getElementById('chk2').checked=false;
	} else {
		document.getElementById('txtDays').enabled=false;
		document.getElementById('chk1').checked=false;
	}
}

function AddToSearchMan(obj, manufacturer, cookie) {

	if (cookie=='searchlist')
		var c=top.mainFrame.slCookie;
	if (cookie=='wantedsearch')
		var c=top.mainFrame.wlCookie;
	
	if (obj==null) {
		var strItm=cookie+manufacturer;
			if(document.getElementById(strItm)) 
				obj=document.getElementById(strItm);
		if (obj.checked)
			obj.checked=false
		else
			obj.checked=true;
	}

	if(!c.manufacturer) {
		c.manufacturer=''
		c.write();
	}
	
	if(obj.checked) {
		if(c.manufacturer.indexOf(manufacturer)==-1) {
			if(c.manufacturer.length>0)
				c.manufacturer=c.manufacturer + ',' 
			c.manufacturer=c.manufacturer + '"' + manufacturer + '",';
		}
	} else {
		c.manufacturer=c.manufacturer.replace('"' + manufacturer + '",', '');
		c.manufacturer=c.manufacturer.replace('"' + manufacturer + '"', '');
	}
	c.manufacturer=c.manufacturer.replace(",,", ",");
	
	if (cookie=='searchlist') {
		document.getElementById('chkTradeAll').checked=(cookie=='searchlist' && c.manufacturer=='');
		document.getElementById('chkTradeAll').disabled=document.getElementById('chkTradeAll').checked;
		c.chkTradeAll=(document.getElementById('chkTradeAll').checked ? 1 : 0);
		
	}
	if (cookie=='wantedsearch')	{
		document.getElementById('chkWantedAll').checked=(cookie=='wantedsearch' && c.manufacturer=='');
		document.getElementById('chkWantedAll').disabled=document.getElementById('chkWantedAll').checked;
		c.chkWantedAll=(document.getElementById('chkWantedAll').checked ? 1 : 0);
	}
	c.write();
}

function clickAll(obj, cookie, form) {
	if(document.getElementById(form) && obj.checked)
		for(var i=0; i<document.getElementById(form).length; i++) {
			if(document.getElementById(form)[i].type=='checkbox')
				document.getElementById(form)[i].checked=false;
			obj.disabled=true;
			if (cookie=='searchlist')
				var c=top.mainFrame.slCookie;
			if (cookie=='wantedsearch')
				var c=top.mainFrame.wlCookie;
			c.manufacturer='';
			c.models='';
			c.write();
		}
}

function clickAllModels(obj, cookie, manufacturer) {
	if(obj==null) {
		obj=(document.getElementById('chk'+cookie+manufacturer));
		if(!obj.disabled)
		obj.checked=!obj.checked;
	}
	if(obj.checked && !obj.disabled) {
		var f=(document.getElementById(cookie+manufacturer)); //form
		for (var i=0; i<f.length; i++) {
			if(f[i].type=='checkbox')
				f[i].checked=false;
		}
		if (cookie=='searchlist')
			var c=top.mainFrame.slCookie;
		if (cookie=='wantedsearch')
			var c=top.mainFrame.wlCookie;
		var p=c.models.indexOf(manufacturer);
		var s=c.models;
		s=(s.substring(p, s.indexOf(';', p) + 1));
		c.models=c.models.replace(s, '');
		c.write();
		obj.disabled=true;
	}
}

function searchwhat(what) {
	var c=top.mainFrame.slCookie;
	
	c.searchwhat=what;
	c.write();
	document.location.reload();
}

function searchManufacturers() {
	top.mainFrame.document.getElementById('mframe').src='search_top.asp';
}

function searchModels() {
	top.mainFrame.document.getElementById('mframe').src='search_models.asp';
}

function AddToSearchModel(obj, model, cookie, manufacturer) {
	if (cookie=='searchlist')
		var c=top.mainFrame.slCookie;
	if (cookie=='wantedsearch')
		var c=top.mainFrame.wlCookie;
	
	if (obj==null) {
		var strItm=cookie+model;
			if(document.getElementById(strItm)) 
				obj=document.getElementById(strItm);
		if (obj.checked) {
			obj.checked=false
		}
		else
		{
			obj.checked=true;
		}
	}

	if(!c.models) {
		c.models=''
		c.write();
	}
	
	if(obj.checked) {
		if(c.models.indexOf(manufacturer)==-1) {
			if(c.models.length>0)
				c.models=c.models + ';' 
			c.models=c.models + manufacturer + '=';
		}
		if(c.models.indexOf(escape('"'+model+'~'+'"'))==-1) 
			c.models=c.models.replace(manufacturer + '=', manufacturer + '=' + escape('"'+model+'~'+'"') + ',');
	} else {
		if(c.models.indexOf(escape('"'+model+'~'+'"'))>-1) {
			c.models=c.models.replace(escape('"'+model+'~'+'"') + ',', '');
		}
		var p=c.models.indexOf(manufacturer+'=;');
		if(p>-1)
			c.models=c.models.replace(manufacturer+'=;', '');
	}
	c.models+=';';
	c.models=c.models.replace(';;', ';');
	if(c.models==';')
		c.models='';
	c.write();
	
	if(document.getElementById('chk'+cookie+manufacturer))
	{
		document.getElementById('chk'+cookie+manufacturer).checked=(c.models.indexOf(manufacturer)==-1);
		document.getElementById('chk'+cookie+manufacturer).disabled=document.getElementById('chk'+cookie+manufacturer).checked;
	}
	
	if(document.getElementById('btn'+cookie+model))
		document.getElementById('btn'+cookie+model).disabled=!obj.checked;
}

function searchselected() {
	document.location.href='searchselected.asp';
}

function search1() {
	if(document.getElementById('chksplit')) {
		if(document.getElementById('chksplit').checked)
			searchModels();
		else
			searchselected();
	} else
		searchselected();
}

function splitmodels(obj, cookie) {
	if (cookie=='searchlist')
		var c=top.mainFrame.slCookie;
	if (cookie=='wantedsearch')
		var c=top.mainFrame.wlCookie;
	c.splitmodel=(obj.checked?1:0);
	c.models='';
	c.write();
}

function writecolour(obj) {
	accookie.colour=obj.value; 
	accookie.write();
}

function writefuel(obj) {
	accookie.fuel=obj.value; 
	accookie.write();
}

function writevehsysid(obj) {
	if(isNaN(obj.value)) {
		alert('Please enter a numeric value in this field.');
		obj.value='';
		obj.focus();
	} else {
		accookie.vehsysid=obj.value; 
		accookie.write();
	}
}

function writetrans(obj) {
	accookie.trans=obj.value; 
	accookie.write();
}

function writeyear(obj, w) {
	if(isNaN(obj.value)) {
		alert('Please enter a numeric value in this field.');
		obj.value='1997';
		obj.focus();
	} else {
		if(obj.value<1997) 
		{
			alert('Please enter a value above 1997.');
			obj.value='1997';
			obj.focus();
		}
	}
	if(w=='min') accookie.min_year=obj.value; 
	if(w=='max') accookie.max_year=obj.value; 
	accookie.write();
}

function writemiles(obj, w) {
	if(isNaN(obj.value)) {
		alert('Please enter a numeric value in this field.');
		obj.value='';
		obj.focus();
	} else {
		if(obj.value<0) 
		{
			alert('Please enter a positive value.');
			obj.value='';
			obj.focus();
		}
	}
	if(w=='min') accookie.min_miles=obj.value; 
	if(w=='max') accookie.max_miles=obj.value; 
	accookie.write();
}

function writeprice(obj, w) {
	if(isNaN(obj.value)) {
		alert('Please enter a numeric value in this field.');
		obj.value='0';
		obj.focus();
	} else {
		if(obj.value<0) 
		{
			alert('Please enter a positive value.');
			obj.value='0';
			obj.focus();
		}
	}
	if(w=='min') accookie.min_price=obj.value; 
	if(w=='max') accookie.max_price=obj.value; 
	
	formatCurrency(obj)
	
	accookie.write();
}

function displayVehiclesPictures(picID, e) {
	if(!e) var e=window.event;
	var objID=(e.srcElement.id.toString()=='' ? e.srcElement.parentNode.id : e.srcElement.id);
	if(document.getElementById(objID)) {
		var obj=document.getElementById(objID);
		with(obj) {
			var tx=offsetLeft+offsetWidth;
			var ty=offsetTop;
			var lx=parseInt(document.getElementById('previewPic').style.width);
			var ly=parseInt(document.getElementById('previewPic').style.height);
			var limitY=document.body.clientHeight;
			var nt, nl; //new top and new left for layer
			if((ty+ly)>limitY) {
				nt=limitY-ly -10;
				invert=true;
			}
			else {
				nt=ty;
				invert=false;
			}
			nl=tx+13;
			document.getElementById('previewPic').style.left=nl;
			document.getElementById('previewPic').style.top=nt;
			thumbFrame.document.location.href='loadThumbnails.asp?picID='+picID+'&invert='+invert;
			document.getElementById('previewPic').style.visibility='visible';
		}
	}
}

var timerClosePreview=null;

function closePreviewWnd() {
	document.getElementById('previewPic').style.visibility='hidden';
}

function cancelCloseTimer() {
	clearTimeout(timerClosePreview);
}

function closePreview() {
	timerClosePreview=setTimeout('closePreviewWnd()', 500);
}

function addToDel(obj) {
	var vehsysid=obj.id.split('&')[1];
	var cVehsysid=cookie.delid;
	var objChecked=obj.checked;
	if(!cVehsysid && objChecked)
		cookie.delid=vehsysid+'='+objChecked+';'
	else {
		if (cVehsysid.indexOf(vehsysid)!=-1) {
			if(objChecked)
				cookie.delid=cVehsysid.replace(vehsysid+'=false', vehsysid+'=true')
			else {
				cookie.delid=cVehsysid.replace(vehsysid+'=true', vehsysid+'=false');
				var s=vehsysid+'=false;';
				var p1=cookie.delid.indexOf(s);
				var p2=p1+(s.length);
				cookie.delid=(cookie.delid.substring(0, p1) + cookie.delid.substring(p2, cookie.delid.length));
				//cookie.vehsysid=cVehsysid.replace(vehsysid+'=false;', ' ');
			}
		} else
			if(objChecked)
				cookie.delid+=vehsysid+'='+objChecked+';';
	}
	cookie.write();
	document.getElementById('btnDelete').disabled=(cookie.delid.length==0);
}

function displayVehDetails(what, vehsysid, yourstock, diff) {
	document.location.href='vehDetails.asp?vehsysid='+vehsysid+"&yourstock="+yourstock+'&backcommand=' + backcommand;
}



function copyOptionsCategorySpecData() {
	var s=t.document.getElementById('selAddOptions');
	var d=document.getElementById('selAddOptions');
	
	d.length=s.length;
	for(var i=0; i<s.length; i++) {
		d.options[i].value=s.options[i].value;
		d.options[i].text=s.options[i].text;
	}
	window.status='Done.';
	d.disabled=false;
	enabledTimer=true;
	if(src=='underwriteScreen') {
		document.getElementById('Mileage').disabled=false;
		checkMileage(document.getElementById('Mileage'));
	}
}

function checkOptionCategory() {
	cnt++;
	if(!t.finished) {
		if(cnt>200) {
			clearTimeout(timer);
			alert('Impossible to load options from Category');
		} else {
			clearTimeout(timer);
			timer=setTimeout("checkOptionCategory();", 50);	
		}
	} else {
		clearTimeout(timer);
		copyOptionsCategorySpecData();
	}
}

function loadOptionsFromCategory(obj) {
	var catCode=obj.value;
	var model=document.getElementById('selModels').value;
	var manufacturer=document.getElementById('selMakes').value;
	var selOptions='';
	var d=document.getElementById('selSpec');
	
	for (var i=0; i<d.length; i++) { //makes list of options so doesn't reload the already selected ones - 
		selOptions+=d.options[i].value;
		if(i<d.length-1) selOptions+=', ';
	}   
	
	cnt=0;
	t.finished=false;
	t.location.href='about:blank';
	t.location.href='loadOptionsFromCategory.asp?catCode=' + catCode + '&Manufacturer=' + manufacturer + '&Model=' + model + '&alreadySelected=' + escape(selOptions);
	timer=setTimeout("checkOptionCategory();", 50);
}

function copyCategorySpecData() {
	var s=t.document.getElementById('selCategory');
	var d=document.getElementById('selCategory');
	
	d.length=s.length;
	for(var i=0; i<s.length; i++) {
		d.options[i].value=s.options[i].value;
		d.options[i].text=s.options[i].text;
	}
	window.status='Done.';
	d.disabled=false;
	loadOptionsFromCategory(document.getElementById('selCategory'));
}


function checkCategorySpec() {
	cnt++;
	if(!t.finished) {
		if(cnt>200) {
			clearTimeout(timer);
			alert('Impossible to load Categories of Specification');
		} else {
			clearTimeout(timer);
			timer=setTimeout("checkCategorySpec();", 50);	
		}
	} else {
		clearTimeout(timer);
		copyCategorySpecData();
	}
}

function copyStandartSpecData() {
	var s=top.bottomFrame.document.getElementById('stdEquip');
	var d=document.getElementById('selSpec');
	
	d.length=s.length;

	for(var i=0; i<s.length; i++) {
		d.options[i].value=s.options[i].value;
		d.options[i].text=s.options[i].text;
		cookie.specification+=d.options[i].value;
	}
	window.status='Done.';
	d.disabled=false;
	
	var selOptions='';
	
	for (var i=0; i<d.length; i++) { //makes list of options so doesn't reload the already selected ones - 
		selOptions+=d.options[i].value;
		if(i<d.length-1) selOptions+=', ';
	}   
	
	cnt=0;
	t.finished=false;
	t.location.href='about:blank';
	t.location.href="loadCategorySpec.asp?Manufacturer=" + document.getElementById('selMakes').value + '&Model=' + document.getElementById('selModels').value + '&AlreadySelected=' + escape(selOptions);
	timer=setTimeout("checkCategorySpec();", 50);
}

function checkStandartSpec() {
	cnt++;
	if(!t.finished) {
		if(cnt>200) {
			clearTimeout(timer);
			alert('Impossible to load Standart Specification');
		} else {
			clearTimeout(timer);
			timer=setTimeout("checkStandartSpec();", 50);	
		}
	} else {
		clearTimeout(timer);
		copyStandartSpecData();
	}
}

function loadStandartSpec() {
	if(document.getElementById('keecode').value!='' && document.getElementById('RegDate').value!='') {
		if(!loading) {
			window.status='Loading Standart Specification from CAP... Please wait.';
			cnt=0;
			t.finished=false;
			t.location.href='about:blank';
			t.location.href="loadStandartSpec.asp?KeeCode=" + document.getElementById('keecode').value + '&regdate=' + document.getElementById('RegDate').value;
			//alert('loading std spec');
			timer=setTimeout("checkStandartSpec();", 50);
		}
		else
		{
			cnt=0;
			t.finished=false;
			t.location.href="loadCategorySpec.asp?Manufacturer=" + document.getElementById('selMakes').value + '&Model=' + document.getElementById('selModels').value;
			timer=setTimeout("checkCategorySpec();", 50);
		}
	} else
		enabledTimer=true;
}

function copyKwikviewData() {
	var target;
	if (!t.error) {
	
	var manufacturer=t.manufacturer;
	var model=t.model;
	var desc=t.description;
	var doors=t.doors;
	var keecode=t.keeCode;
	var fuel=t.fuel;
	var bodyID=t.bodyID;
	var trans=t.trans;
	
	document.getElementById('selMakes').value=manufacturer;
	busy=false;
	cookie.model=model;
	cookie.write();
	cookie.description=desc;
	cookie.write();
		
	loadModels(false, true);
	waitNoBusy("selModels");

	document.getElementById('doors').value=doors;

	document.getElementById('keecode').value=keecode;
		
	target=document.getElementById('fuel');
	findValue(target, fuel);
		
	target=document.getElementById('Transmission');
	findValue(target, trans);
		
	target=document.getElementById('body');
	findValue(target, bodyID);
	canUpdatePrice=true;

	} else {
		alert('An error occured while reading data from the descriptions table - EOF');
	}
	window.status='Lookup Done.';
}

function checkKwikLookup() {
	cnt++;
	if(!t.finished) {
		if(cnt>200) {
			clearTimeout(timer);
			alert('Impossible to load kwikview data');
		} else {
			clearTimeout(timer);
			timer=setTimeout("checkKwikLookup();", 50);	
		}
	} else {
		clearTimeout(timer);
		copyKwikviewData();
	}
}

function doKwikLookup(capCode) {
	window.status='Doing link to Kwikview data... Please wait.';
	cnt=0;
	t.finished=false;
	t.location.href="loadkwikLookup.asp?capCode=" + escape(capCode);
	timer=setTimeout("checkKwikLookup();", 50);
}

function copyXMLdoc() {
	document.getElementById('EngineSize').value=top.bottomFrame.engineSize;
	document.getElementById('VIN').value=top.bottomFrame.vin;
	document.getElementById('RegDate').value=top.bottomFrame.regDate;
	document.getElementById('CapCode').value=top.bottomFrame.capCode;	
	
	if(top.bottomFrame.capCode!=null)
		doKwikLookup(top.bottomFrame.capCode);	
}

function checkLookup() {
	cntLookup++;
	if(!t.finished) {
		if(cntLookup>200) {
			clearTimeout(timer);
			alert('Impossible to find backfill data');
			window.status='Failed.';
		} else {
			clearTimeout(timer);
			timer=setTimeout("checkLookup();", 50);	
		}
	} else {
		clearTimeout(timer);
		copyXMLdoc();
	}
}

function doRegLookup(value) {
	if(value=='') 
		alert('Please type in a registration number first')
	else {
		with (document.getElementById('selSpec')) {
			length=0;
			disabled=true;
		}
		window.status='Doing reg lookup for vehicle ' + value + '... Please wait';
		cntLookup=0;
		enabledTimer=false; //disalbes timer in the vehdetail screen
		t.finished=false;
		t.location.href="loadRegLookup.asp?Regno=" + value;
		timer=setTimeout("checkLookup();", 50);
	}
}

function addSpec() {
	var sl=document.getElementById('selAddOptions');
	if(sl.length>0) {
		var dl=document.getElementById('selSpec');
		var dOption=new Option(sl.options[sl.selectedIndex].text, sl.value);
		dl.length++;
		dl.options[dl.length-1]=dOption;
		sl.options[sl.selectedIndex]=null;
	}
}

function removeSpec() {
	//alert('test');
	var sl=document.getElementById('selSpec');
	if(sl.options[sl.selectedIndex])
		//if(sl.length>0) {
			//var dl=document.getElementById('selAddOptions');
			//var dOption=new Option(sl.options[sl.selectedIndex].text, sl.value);
			//dl.length++;
			//dl.options[dl.length-1]=dOption;
			sl.options[sl.selectedIndex]=null;
		//}
}

function doSubmit() {
	if(document.getElementById('RegNo')) {
		var d=document.getElementById('RegNo');
		if (d.value=='') {
			alert('Registration Number must be set');
			return 0;
		}
	}
	
	d=document.getElementById('selMakes');
	if (d.value=='-1') {
		alert('Make must be set');
		return 0;
	}
	d=document.getElementById('selModels');
	if (d.value=='0') {
		alert('Model must be set');
		return 0;
	}
	d=document.getElementById('selDescs');
	if (d.value=='0') {
		alert('Description must be set');
		return 0;
	}
	d=document.getElementById('body');
	if (d.value=='0') {
		alert('Vehicles body must be set');
		return 0;
	}
	var d=document.getElementById('RegDate');
	if (d.value=='') {
		alert('Reg Date must be set');
		return 0;
	}
	
	var d=document.getElementById('OdoCollection');
	if (d.value=='') {
		alert('Mileage must be set');
		return 0;
	}
	
	var d=document.getElementById('ColourTrim');
	if (d.value=='') {
		alert('Colour must be set');
		return 0;
	}
	var d=document.getElementById('VATStatus');
	if (d.value=='0') {
		alert('Please select a VAT Status');
		return 0;
	}
	
	var d=document.getElementById('ServiceHistoryID');
	if (d.value=='0') {
		alert('Please select a Service History');
		return 0;
	}
	
	var d=document.getElementById('ConditionID');
	if (d.value=='0') {
		alert('Please select the vehicle condition');
		return 0;
	}
	
	var d=document.getElementById('selSpec');
	if(d.length==0) {
		alert('Please set the vehicles specification');
		return 0;
	} else {
		for(var i=0; i<d.length; i++)
			d.options[i].selected=true;
	}
	var d=document.getElementById('Reserve');
	if (d.value=='' || d.value=='£0.00')  {
		alert('Please set a Trade Price');
		return 0;
	}
	var d=document.getElementById('WebPrice');
	if ((d.value=='' || d.value=='£0.00') && (document.getElementById('autolocate').checked)) {
		alert('Please set a Retail Price');
		return 0;
	}
	window.status='Recording vehicle details. Please wait...';
	document.form1.submit();
}

function checkIfExistsReg(regno) {
	t.finished=false;
	cnt=0;
	t.location.href='checkIfRegExists.asp?regno='+regno;
	busy=true;
	timer=setTimeout('checkifExists()', 50);
}

function checkifExists() {
	cnt++;
	if(cnt<200) {
		if(!t.finished) {
			clearTimeout(timer);
			timer=setTimeout('checkifExists()', 50);	
		} else {
			clearTimeout(timer);
			if(t.exists) {
				alert("The vehicle's registration already exists")
				document.getElementById('RegNo').value='';
			} else {
				document.getElementById('frmPic').src="picForm.asp?regno=" + document.getElementById("RegNo").value;
			}
			document.getElementById('btnRegLookup').disabled=t.exists;
			
			busy=false;
		}
	} else {
		clearTimeout(timer);
		alert('Error checking the vehicle registration');
		busy=false;
	}
}

function formatReg(regno) {
	var result='';
	for(var i=0; i<regno.length; i++) {
		if(regno.charAt(i)!=' ') {
			result+=regno.charAt(i).toUpperCase();
		}
	}
	document.getElementById('RegNo').value=result;
	return result;
}

function checkIfNumeric(obj) {
	if(isNaN(obj.value)) {
		alert('Please only input Numeric values in this field...');
		obj.value='';
		return false;
	}
	return true;
}

function checkMileage(obj) {
	if(checkIfNumeric(obj)) {
		if(document.getElementById('src'))
			if(document.getElementById('src').value=='underwriteScreen') {
				if(document.getElementById('autval').checked)
					findGLASS(document.getElementById('keecode').value, document.getElementById('Mileage').value, 
					document.getElementById('RegDate').value);
			}
	}	
}

function checkModelYear(obj) {
	var d=new Date();
	var year=d.getFullYear();
	
	if(checkIfNumeric(obj)) {
		if(obj.value<year-7) {
			obj.value='';
			alert('You cannot insert vehicles older than 7 years');
		}
	}
}

function checkDel() {
	cnt++;
	if(cnt<200) {
		if(!t.finished) {
			clearTimeout(timer);
			timer=setTimeout('checkDel()', 50);	
		} else {
			clearTimeout(timer);
			document.location.reload();
		}
	} else {
		clearTimeout(timer);
		alert('Error deleting selected vehicles');
	}
}

function delSelected() {
	if(confirm('Are you sure you wish to delete the selected vehicle(s) ?')) {
		cnt=0;
		t.finished=false;
		t.location.href="deleteVehicles.asp";
		timer=setTimeout("checkDel()", 50);
	}
}

function unlock() {	
	t.location.href='unlock.asp?vehsysid='+document.getElementById('vehsysid').value;
}

var timerLock=null;

function keepLocking() {
	t.location.href="lock.asp?vehsysid=" + document.getElementById('vehsysid').value;
	timerLock=setTimeout("keepLocking()", 60000);
}

function extend(vehsysid) {
	top.bottomFrame.document.location.href="extend.asp?vehsysid="+vehsysid;
}

function editWantedItem(wanted_id) {
	document.location.href='AddToWantedList.asp?wanted_id='  + wanted_id; 
}

function purchase(vehsysid, refresh) {
	var amount=prompt("Please enter your bid.", "Enter your bid");
	if (isNaN(amount))
		alert('This bid must be numeric')
	else {
		t.location.href='purchase.asp?vehsysid=' + vehsysid + '&bidAmount='+amount;
	}
	if (refresh) document.location.reload();
}

function Editbid(vehsysid, dealerid, nolimit) {
	var middleX=((screen.width / 2) - 175);
	var middleY=((screen.height / 2) - 200);
	var bidwnd=window.open('EditBid.asp?vehsysid='+vehsysid+'&dealerid='+dealerid+'&nolimit='+nolimit, 'editbidwindow', config='height=300,width=420, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no');
	bidwnd.focus();
}

function findDerivatives(cookie, model, manufacturer) {
	if(document.getElementById('td'+cookie+model) && document.getElementById('popup')) {
		var obj=document.getElementById('td'+cookie+model);
		var left=0;
		var top=0;
		left=obj.offsetLeft;
		top=obj.offsetHeight;
	
		while(1) {
			if(!obj.offsetParent)
				break;
			obj=obj.offsetParent
			left+=obj.offsetLeft;
			top+=obj.offsetTop;
			
		}
		
		//alert(top);
		
		if(document.getElementById('popup')) {
			var popup=document.getElementById('popup');
			if(awidth!=null)
				popup.style.width=awidth;
			var width=parseFloat(popup.style.width);
			var height=parseFloat(popup.style.height);
			if(left+width>document.body.clientWidth) {
				var dif=(left+width) - document.body.clientWidth;
				left-=dif;
			}
			if(top+height>document.body.clientHeight) {
				var dif=(parseFloat(top)+parseFloat(height)) - parseFloat(document.body.clientHeight) - parseFloat(document.body.scrollTop);
				//alert(document.body.scrollTop);
				top-=dif;
				
			}
			popup.style.left=left-2+'px';
			popup.style.top=top+3+'px';
			popup.style.visibility='visible';
			
			document.getElementById('popupframe').src='findDerivatives.asp?manufacturer=' + escape(manufacturer) + '&model=' + escape(model)
		}
	}
}

var timer=null;
var awidth=null;

function keepOpen() {
	if(timer!=null) {
		clearTimeout(t);
		timer=null;
	}
}
function closePopup2() {
	awidth=document.getElementById('popup').style.width;
	document.getElementById('popup').style.visibility='hidden';
	document.getElementById('popup').style.width='0';
	timer=null;
}

function closePopup() {
	timer=setTimeout("closePopup2();", 1000);
}

function addDesc(obj, manufacturer, model, desc) {
	var cookie=top.mainFrame.deCookie;
	var v=cookie.description;
	if(obj.checked) {
		if(v==null)
			v='|'+manufacturer+'~'+model+'("'+desc+'")';
		else {
			var p=v.indexOf(manufacturer+'~'+model);
			if(p!=-1) {
				v=v.substring(0, p+1+(manufacturer+'~'+model).length) + '"' + desc + '",' + v.substring(p+1+(manufacturer+'~'+model).length, v.length);
			}
			else
				v=v+'|'+manufacturer+'~'+model+'("'+desc+'")';
		}
	} 
	else
	{
		if(v!=null) {
			var p=v.indexOf(',"'+desc+'"');
			if(p!=-1)
				v=v.replace(',"'+desc+'"', '');
				
			var p=v.indexOf(',"'+desc+'",');
			if(p!=-1)
				v=v.replace(',"'+desc+'",', '');
				
			var p=v.indexOf('"'+desc+'",');
			if(p!=-1)
				v=v.replace('"'+desc+'",', '');	
				
			var p=v.indexOf('"'+desc+'"');
			if(p!=-1)
				v=v.replace('"'+desc+'"', '');
				
			var p=v.indexOf('()');
			if(p!=-1) {
				v=v.replace('|'+manufacturer+'~'+model+'()', '');
			}
			
		}
	}
	//alert(v);
	cookie.description=v;
	cookie.write();
}