var bodyWidth;
var hintWidth = 540;
// Core Functions
var classAtt;
	if(window.ActiveXObject){
		classAtt='className';
	}else{
		classAtt='class';	
	}
/* Set main navigation links for drop down for IE6 */
function setNavLinks(){
		var linksArr=document.getElementById('mainNav').getElementsByTagName('li');
		//displayEle(document.getElementById('mainNav'),false);
		if(window.ActiveXObject){
			setFormRollover();//set form button rollovers for IE
			for(var i=0; i<linksArr.length; ++i){
				linksArr[i].onmouseover=function(){
					//createIframe(this,true);
					addClass(this,'ieHover',true);
				}
				linksArr[i].onmouseout=function(){
						createIframe(document.getElementsByTagName('body')[0],document.getElementById('linkHint'),false);		
						addClass(this,'ieHover',false);
				}
			}
		}
}
/* Set form button rollover for IE6 */
function setFormRollover(){
	var inpArr = document.getElementsByTagName('input');
	for(var i = 0; i < inpArr.length; i++){
		if(inpArr[i].getAttribute('type') =='submit'){
			inpArr[i].onmouseover = function(){
				addClass(this,'ieHover',true);
			}
			inpArr[i].onmouseout = function(){
				addClass(this,'ieHover',false);
			}
		}
	}
}
/* Fix for IE6 */
function createIframe(parentObj,maskObj,toggle){
	
	if(window.ActiveXObject){
		//alert(maskObj.offsetTop);
		//alert('iframe');
		//subMenu = parentObj.getElementsByTagName('UL');
		//if(subMenu.length > 0){
			if(toggle==true && (!document.getElementById('iframeIE'))){
				var iframeEle=document.createElement('iframe');
				//var firstSibling=parentObj.firstChild;
				iframeEle.setAttribute('src',"BLOCKED SCRIPT '&lt;html&gt;&lt;/html&gt;'");
				iframeEle.setAttribute('scrolling','no');
				iframeEle.setAttribute('frameborder','0');
				iframeEle.setAttribute('id','iframeIE');
				
				
				iframeEle.style.top =maskObj.offsetTop + 'px';
				iframeEle.style.left = maskObj.offsetLeft + 'px';
				iframeEle.style.height = maskObj.offsetHeight + 'px';
				iframeEle.style.width = maskObj.offsetWidth + 'px';
					parentObj.insertBefore(iframeEle,maskObj);
			}else if(toggle==false && (document.getElementById('iframeIE'))){
				parentObj.removeChild(document.getElementById('iframeIE'));
			}
	}
}
/* End fix for IE6 */
/* set finance table functionality across site */
var fTableLinks = new Array(); /* Finance table links */
function hideTables(){// find all and set finance table display to none by adding class
	var rowsArr = document.getElementById('main').getElementsByTagName('tr');
	var finceCell;
	for(var i = 0 ; i < rowsArr.length; i++){
		for(var j = 0; j< rowsArr[i].childNodes.length; j++){
			if(rowsArr[i].childNodes[j].nodeType == 1){// if element
				if(rowsArr[i].childNodes[j].className.indexOf('finceCell') != -1){// if it has class 'finceCell'
				addClass(rowsArr[i],'hideEle',true);
					var currentObj = rowsArr[i].previousSibling;
					while(currentObj.nodeType != 1){
						currentObj = currentObj.previousSibling;
					}
					currentObj.setAttribute('title','fRoll'+i);//create title to use as array key
					fTableLinks[currentObj.getAttribute('title')] = rowsArr[i].childNodes[j];// store finance cell as object with rollover table row as the key
					currentObj.onmouseover=function(){
						addClass(fTableLinks[this.getAttribute('title')].parentNode,'hideEle',false);
					}
					currentObj.onmouseout=function(){
						addClass(fTableLinks[this.getAttribute('title')].parentNode,'hideEle',true);
					}
				}
			}
		}
	}
}

/* End finance tables */
function eleExists(ele){
	if(typeof(ele) == 'string'){
		ele= document.getElementById(ele);
	}
	if(ele){
		return true;
	}
}
function isEvenInt(intVal){ /* returns true if integer is even */
	if(intVal%2 == 0){
		return true;	
	}else{
		return false;	
	}
}
function isNextAdjSibling(currSib,testSib){/* returns true if testSib element is adjacent and follows after the given element (currSib) */

	var sibArr = currSib.parentNode.childNodes;
	var objArr = new Array(); 
	for(var i = 0; i < sibArr.length; ++i){ /* strip out all non object types */
		if(sibArr[i].nodeType == 1){
			objArr.push(sibArr[i]);
		}
	}
	for(var i =0;i < objArr.length; ++i){
		if(objArr[i] == currSib && objArr[i+1] == testSib){
			return true;
		}
	}
	return false;
}
function findNextOccur(parentObj,startObj,findObj){// return next occurance of object given by findObj var.
  var objArr = parentObj.childNodes;
  var startIndex;
  for(var i in objArr){
    if(objArr[i] == startObj){
      startIndex = i;
    }
  }
  for(var i = startIndex; i < objArr.length; i++){
    if(objArr[i].nodeName == findObj){
      return objArr[i];
    }
  }
  return null;
}
function changeFileName(pathStr,addExtn){
	var pathSplit = pathStr.split('/');
	var fileName=pathSplit.pop();
	if(addExtn == true){
		charIndex=fileName.lastIndexOf('_');
		return '/images/' + fileName.substring(0,charIndex) + '.jpg';
	}else {
		charIndex=fileName.indexOf('.');
		return '/images/' + fileName.substring(0,charIndex) + '_lrg.jpg';
	}
	
}
function imgFileName(imgObj,toAdd){
	var URLStr = imgObj.src.split('/');//array of parts of url separated by '/'
	var lastSlash = imgObj.src.lastIndexOf('/');
	var filePath = imgObj.src.substr(0,lastSlash); // file path without filename
	var fileName = URLStr.pop();//file name without path
	var fileExt =fileName.split('.')[1];//file extention
	var fileLabel = fileName.split('.')[0];//first part of file name, eg filename_1.jpg = filename_1
	var noKeyName = fileLabel.split('_')[0];//first part of file name without underscore, eg filename_1 = filename
	var newImgURL = filePath+'/'+noKeyName + '_' + toAdd + '.' + fileExt;// new path and filename
	var newImgOb = new Image();
	newImgOb.src = newImgURL;
	return newImgURL
}
function isChild(childObj,ascenObj){/* returns true if childObj is nested somewhere within ascenObj (only if ascenObj is a positioned element) */
	var currNode = childObj;
		while(currNode != ascenObj){
			currNode=currNode.offsetParent;
		}
	if(currNode==ascenObj){
		return true;
	}
}

function addClass(eleObj,classVal,toggle){
    if (eleObj) {
		if(toggle==true){//if class is to be added
			if(!eleObj.className){//if the 'class' attribute does not exist
				eleObj.className = classVal;
			}else if(eleObj.className && eleObj.className.indexOf(classVal)== -1){//if the 'class' attribute does exist then add value to existing value
				eleObj.className+=' ' + classVal;
			}
		}else if(toggle==false){//if class is to be removed
			var newClassVal=eleObj.className.replace(classVal,'');//replace classVal with empty string and return the remaining class value
			eleObj.className=newClassVal;
		}
    }
}
function moveSubmit(formObj,targetObj){
	var inputArr = formObj.getElementsByTagName('input');
	
	for(var i = 0; i < inputArr.length; ++i){
		//alert(inputArr[i].getAttribute('type'));
		if(inputArr[i].getAttribute('type') == 'submit'){
			targetObj.appendChild(inputArr[i]);
			
		}
	}
}
function eleLeft(ele,topEleId){
	var currOffsetEle = ele;
	var parentEleT =ele.offsetTop;
	var parentEleL = ele.offsetLeft;
	 /* work back through the DOM until the parent ID is matched whilst summing elements offset left */
	//dowhile(currOffsetEle = currOffsetEle.offsetParent){
	while(currOffsetEle.offsetParent.getAttribute('id') != topEleId){
		//alert(currOffsetEle.id);
		parentEleT += currOffsetEle.offsetTop;
		parentEleL += currOffsetEle.offsetLeft;
		currOffsetEle = currOffsetEle.offsetParent;
	}
	
	return parentEleL;	// return the left position in pixels of element in relation to container 
}
/* Home Page Specific Functions   */
function advSearch(){
	if(eleExists('searchForm')){
		var searchForm = document.getElementById('searchForm');
		var advLink = document.getElementById('advSrchLink');
		var closeLink = document.getElementById('closeAdv');
		var advEle = document.getElementById('advSearch');
                if(document.getElementById('homePage')){
                  var formclick = false;
                  var closeclick = false;
                } else {
                  var formclick = true;
                  var closeclick = true;
                }

		advLink.onclick=function(){
                        document.getElementById('searchForm').advanced_search_F.value = 'Y';
			addClass(searchForm,'advShow',true);
			//moveSubmit(searchForm,advEle);
			return false;
		}
		closeLink.onclick=function(){
                        document.getElementById('searchForm').advanced_search_F.value = 'N';
			addClass(searchForm,'advShow',false);
			//moveSubmit(searchForm,searchForm);
                        //closeclick = true;
			return false;
		}
                searchForm.onmouseover=function(){
                        if (!closeclick) {
                          document.getElementById('searchForm').advanced_search_F.value = 'Y';
                          addClass(searchForm,'advShow',true);
                          //moveSubmit(searchForm,advEle);
                          return false;
                        }
                }
                searchForm.onclick=function(){
                        formclick = true;
                }
                searchForm.onmouseout=function(){
                        if (!formclick) {
                          document.getElementById('searchForm').advanced_search_F.value = 'N';
                          addClass(searchForm,'advShow',false);
                          //moveSubmit(searchForm,searchForm);
                          return false;
                        }
                }
	}
	
}

function changeEleBg(eleArr,eleCurr){// takes obj array and applys 'current' class to eleCurr and removes from other array members
	for(var i = 0; i < eleArr.length; i++){
		//alert(eleArr[i].getAttribute('alt') + eleCurr.getAttribute('alt'));
		if(eleArr[i]==eleCurr){
			addClass(eleCurr,'current',true);
		}else if(eleArr[i]!=eleCurr){
			eleArr[i].removeAttribute(classAtt);
		}
	}
	//
}
function changeImgArr(imgArr,eleCurr){// takes obj array and applys on or off state for img
	for(var i = 0; i < imgArr.length; i++){
		if(imgArr[i]==eleCurr){
			if(imgArr[i].src.indexOf('_on.gif') == -1){
				imgArr[i].src = imgArr[i].src.replace('.gif','_on.gif');
			}
		}else if(imgArr[i]!=eleCurr){
			imgArr[i].src = imgArr[i].src.replace('_on.gif','.gif');
		}
	}
	//
}
/* function to position sub navigation (not drop downs) */
function subNavPos(){
	var liArr = document.getElementById('mainNav').getElementsByTagName('li');
	var objOffsetR = 0; //Var used for subnav position if it overlaps the sites width
	for(var i =0; i < liArr.length; i++){
		if(liArr[i].className.indexOf('current') != -1){//if it's the current tab on main navigation
			var ulArr = liArr[i].getElementsByTagName('ul');
			for(var j =0; j < ulArr.length; j++){
				if(ulArr[j].className.indexOf('subNav') != -1){//find the sub nav within the current tab
					var newObj = document.getElementById('navBar').appendChild(ulArr[j]);
					if(eleLeft(liArr[i],'navBar')+(newObj.clientWidth/2) > document.getElementById('container').clientWidth){// if subnav overlaps sites right edge
						newObj.style.right = 0;
					}else{
						newObj.style.left = Math.max(eleLeft(liArr[i],'navBar') - (newObj.clientWidth/2) + (liArr[i].clientWidth/2) - objOffsetR,29) + 'px' ;
					}
						return;
				}
			}
		}
	}
}

/* Function to operate the navigation tabs in site */
function tabNav(){
	var tabNavObj = new Array();
	var ulArr = document.getElementsByTagName('ul');
	for(var i = 0; i < ulArr.length; i++)
	{
		if(ulArr[i].getAttribute(classAtt) == 'tabNav')
		{
			var tabs = ulArr[i].getElementsByTagName('a');
			
			for(var j = 0; j < tabs.length; j++)
			{
				tabs[j].onclick=function()
				{
					var tabEles = this.parentNode.parentNode.childNodes;
					var tabSiblings = new Array();
					
					for(var k = 0; k < tabEles.length; k++)
					{
						if(tabEles[k].nodeName == 'LI')
						{
							tabSiblings.push(tabEles[k]);
						}
					}
					changeEleBg(tabSiblings,this.parentNode);
					
					/* check for find dealer element, and if the tab is a child */
					if(document.getElementById('findDlr') && isChild(this,document.getElementById('findDlr')))
					{//home page Find dealer panel
						findDlr(this);
					}
					else if(document.getElementById('carDetData') && isNextAdjSibling(this.parentNode.parentNode,document.getElementById('carDetData')))
					{//Results page 
						carDataTabs(this);
					}
					else if(document.getElementById('jobVcans') && isChild(this,document.getElementById('jobVcans')))
					{// Careers Page
            jobVacancies(this);
          }
          else if(document.getElementById('dealerDir') && isNextAdjSibling(this.parentNode.parentNode,document.getElementById('dealerDir')))
          {// Dealer Directory Page
            dlrDir(this)
					}
					else if(document.getElementById('dlrLCol') && isChild(this,document.getElementById('dlrLCol')))
					{// Dealer Home Page
            //dlrHomeTab(this);
					}
					else if(document.getElementById('newCarsTabs') && isNextAdjSibling(this.parentNode.parentNode,document.getElementById('newCarsTabs')))
					{// New Cars Page
            newCarsTabs(this);
					}
					
					return false;
				}
			}
		}
	}
}

function divHint(calleeLink,toggle){
	var divHint = document.getElementById('linkHint');
	if(toggle== true){
		//createIframe(document.getElementsByTagName('body')[0],divHint,true);
		addClass(divHint,'show',true);
	}
	
}
function isArrValue(arr,val){
	if(arr == null){
		return false;
	}
	for(var i = 0; i < arr.length; i++){
		if(typeof arr[i] == 'string'){
			if(arr[i].indexOf(val) != -1){
				return true
			}
		}else{// if val = object
			if(arr[i] == val){
				return true
			}
		}
	}
}
function getAdjEle(currObj,prevSib){
  var adjObj;
  /**/if(currObj.previousSibling == null){ /* required for IE otherwise an error generated */
    return null;
  }
  /**/if(currObj.nextSibling == null){ /* required for IE otherwise an error generated */
    return null;
  }
  if(prevSib == true){
    adjObj = currObj.previousSibling;
    while(adjObj.nodeType != 1 && adjObj.previousSibling != null){
      adjObj = adjObj.previousSibling;
    }
    
  }else if(prevSib == false){
    adjObj = currObj.nextSibling;
    while(adjObj.nodeType != 1 && adjObj.nextSibling != null){
      adjObj = adjObj.nextSibling;
    }
  
  }
  return adjObj;
}
  
function isArrKey(arr,key){
  if(arr == null){
    return false;
  }
  for(var i in arr){
    if(i == key){
      return true
    }else{
      return false
    }
  }
}
function getArrIndex(arr,arrVal){
  for(var i = 0; i < arr.length; i++){
    //alert('arr[i] = ' + arr[i] + ' arrVal = ' + arrVal + ' arr.length = ' + arr.length);
    if(arr[i] == arrVal){
      return i;
    }
  }
}

function linkHint(linkCont,excptArr){// excptArr = array of objects (or string values) that are exempt
	if(document.getElementById(linkCont)){
		var linkArr = document.getElementById(linkCont).getElementsByTagName('a');
		setHintLink();
		for(var i=0; i <linkArr.length; i++)
		{
			if(!isArrValue(excptArr,linkArr[i].getAttribute('title')))
			{
				//alert(linkArr[i].getAttribute('title'));
					linkArr[i].onmouseover=function(e){
						divHint(linkArr[i],true);
						var parentEleT =this.offsetTop;
						var parentEleL = this.offsetLeft;
						var currOffsetEle = this;
						if (!e) {
							var e = window.event;
						}
						var bodyObj;
						if(document.documentElement.scrollTop)
						{
							bodyObj = document.documentElement;
						}
						else
						{
							bodyObj = document.body;
						}
						var adjustHint = 0;
						if((e.clientX + document.documentElement.scrollTop + hintWidth) > bodyWidth)
						{
							adjustHint = ((e.clientX + document.documentElement.scrollTop) + hintWidth) - bodyWidth;
						}
						document.getElementById('linkHint').style.top = e.clientY + document.documentElement.scrollTop + "px";
						document.getElementById('linkHint').style.left = e.clientX + document.documentElement.scrollLeft - adjustHint + "px";
                                                if ($(this).attr('title').indexOf(' Dealer') != -1) {
                                                  var infourl = '/ajax-html-dealer-info-by-make.php';
                                                  var loc = $(this).attr('title').substr(0,$(this).attr('title').indexOf(' Dealer'));
                                                  $('#linkHint').html(window['div_man_'+loc.replace(' ','_').toLowerCase()]);
                                                } else {
                                                  var infourl = '/ajax-html-dealer-info.php';
                                                  var loc = $(this).attr('title');
                                                  $('#linkHint').html(window['div_town_'+loc.replace(' ','_').toLowerCase()]);
                                                }
					}
			}
				linkArr[i].onmouseout=function(){
					
				}
				/* Dealer list panel events */
				document.getElementById('dlrList').onmouseout=function(){
					addClass(document.getElementById('linkHint'),'show',false);
					createIframe(document.getElementsByTagName('body')[0],divHint,false);
				}
				/* Dealer make panel events */
				document.getElementById('dlrMake').onmouseout=function(){
					addClass(document.getElementById('linkHint'),'show',false);
					createIframe(document.getElementsByTagName('body')[0],divHint,false);
				}
				document.getElementById('linkHint').onmouseout=function(){
					addClass(this,'show',false);
					createIframe(document.getElementsByTagName('body')[0],divHint,false);
				}
				document.getElementById('linkHint').onmouseover=function(){
					addClass(this,'show',true);
					createIframe(document.getElementsByTagName('body')[0],document.getElementById('linkHint'),true);
				}
	
		}
	}
}
function setHintLink(){/* sub link hint for IE browser */
	if(window.ActiveXObject){
		var hintLinks = document.getElementById('linkHint').getElementsByTagName('li');
		for(var i =0; i < hintLinks.length ; i++){
			hintLinks[i].onmouseover = function(){
				addClass(this,'showEle',true);
			}
			hintLinks[i].onmouseout = function(){
				addClass(this,'showEle',false);
			}
		}
	}
}
function findDlr(eleObj){ /* Function for Find Dealer panel on homepage */
	var titleArr = new Array();
	titleArr['Directory']='dlrList';
	titleArr['By Make']='dlrMake';
	titleArr['By Map']='dlrMap';
	titleArr['Dealer Info']='dlrInfo';
	var arrKey;
	arrKey = (typeof eleObj == 'string') ?  eleObj : eleObj.getAttribute('title');
	for(var i in titleArr){
		if(arrKey == i){
			addClass(document.getElementById(titleArr[i]),'show',true);
			if(i='dlrMap'){
				initialize();
			}
		}else{
			addClass(document.getElementById(titleArr[i]),'show',false);
		}
	}
}
function selectMake(){ /* Event when Select field 'make' changes */
	if(document.getElementById('homePage')){
		var selectFld = document.getElementById('selectFld');
		selectFld.onchange = function(){
			addClass(this,'lng',false);
			addClass(this,'change',true);
			addClass(document.getElementById('resHotDeals'),'show',true);
			addClass(document.getElementById('hotDlSrch').getElementsByTagName('form')[0],'hideEle',true);
			
			viewSrchHint();
			findDlr('Dealer Info');
		}
	}
}
function viewSrchHint(){
	var viewLink = document.getElementById('viewHint');
	var searchHint = document.getElementById('modHint');
	addClass(viewLink,'show',true);
	viewLink.onmouseover=function(e){
		if (!e) {
			var e = window.event;
		}
		addClass(this,'show',true);
		addClass(searchHint,'show',true);
		
		searchHint.style.top = e.clientY + document.documentElement.scrollTop + "px";
		searchHint.style.left = e.clientX + document.documentElement.scrollLeft + "px";
	}
	searchHint.onmouseout=function(){
		addClass(this,'show',false);
	}
	searchHint.onmouseover=function(){
		addClass(this,'show',true);
	}
}
function adjustHint(){
	
}
/* ################ Careers ################## */
function jobVacancies(eleObj){ /* Function for job vancies tables on Careers Page */
        var titleArr = new Array();
        var tablesArr = document.getElementById('jobVcans').getElementsByTagName('table');
        titleArr['5 Most Recent Jobs'] = 'rec5Jobs';
        titleArr['All Jobs'] = 'allJobs';
        var arrKey;
        arrKey = (typeof eleObj == 'string') ?  eleObj : eleObj.getAttribute('title');
        for(var i in titleArr){
                if(arrKey == i){
                        addClass(document.getElementById(titleArr[i]),'showEle',true);
				}else{
                        addClass(document.getElementById(titleArr[i]),'showEle',false);
                }
        }
}
/* ################ Dealer Directory ################## */
function dlrDir(eleObj){
	var titleArr = new Array();
	titleArr['By Make']='dlrDirMake';
	titleArr['By Location']='dlrDirLoc';
	titleArr['By Map']='dlrMap';
	var arrKey;
	arrKey = (typeof eleObj == 'string') ?  eleObj : eleObj.getAttribute('title');
	for(var i in titleArr){
			if(arrKey == i){
					
					addClass(document.getElementById(titleArr[i]),'showEle',true);
			if(i='dlrMap'){
				initialize();
			}
			}else{
					addClass(document.getElementById(titleArr[i]),'showEle',false);
			}
	}	
	
}
/* ################ Dealer Home ################## */
/*function dlrHomeTab(eleObj){
	var titleArr = new Array();
	titleArr['Contact Details']='dlrContacts';
	titleArr['Quick Contact Form']='dlrContForm';
	var arrKey;
	arrKey = (typeof eleObj == 'string') ?  eleObj : eleObj.getAttribute('title');
	for(var i in titleArr){
	  if(arrKey == i){
		addClass(document.getElementById(titleArr[i]),'showEle',true);
	  }else{
		addClass(document.getElementById(titleArr[i]),'showEle',false);
  	  }
	}	
	
}*/
function dlrContactForms()
{
  if(document.getElementById('dlrContacts'))
  {
    var linkArr = document.getElementById('dlrContacts').getElementsByTagName('a');

    for(var i = 0; i < linkArr.length; i++)
    {
      if(linkArr[i].className.indexOf('btnReveal') != -1)
      {
        linkArr[i].onclick = function()
        {
          var formObj = findNextOccur(this.parentNode.parentNode,this.parentNode,"FORM");
  
          if(formObj != null)
          {
            if(formObj.className.indexOf('showEle') != -1)
            {
              addClass(formObj,'showEle',false);
            }
            else
            {
              addClass(formObj,'showEle',true);
            }
          }
 
          return false;
        }
      }
      else if(linkArr[i].className.indexOf('closeBar') != -1)
      {
        linkArr[i].onclick = function()
        {
          var formObj = findNextOccur(this.parentNode.parentNode,this.parentNode,"FORM")
          addClass(this.parentNode,'showEle',false);
          return false;
        }
      }
    }
  }
}
/* ################ Hot Deals ################## */
function modelsNav(){
	if(document.getElementById('modelsNav')){
		var imgArr = document.getElementById('modelsNav').getElementsByTagName('img');
		var brandArr = document.getElementById('brandNav') ? document.getElementById('brandNav').getElementsByTagName('a') : new Array();
		var imgOnSrc = new Array();
		for(var i = 0; i < imgArr.length; i++){
		    var charIndex=imgArr[i].src.lastIndexOf('_off.');
                    if (charIndex>0) {
			imgOnSrc.push(imgArr[i].src.substring(0,charIndex) + '.jpg');// Array of image 'on' src to pre-load
			
			imgArr[i].onmouseover= function(){
				var charIndex=this.src.lastIndexOf('_off.');
				this.src=this.src.substring(0,charIndex) + '.jpg';
			}
			imgArr[i].onmouseout= function(){
				var charIndex=this.src.lastIndexOf('.');
				this.src=this.src.substring(0,charIndex) + '_off.jpg';
			}
		    }	
		}
		for(var i = 0; i < imgOnSrc.length; i++){//Pre-load images
			var imgObj= new Image;
			imgObj.src=imgOnSrc[i];
			/*if(i == imgOnSrc.length -1){
				imgObj.onload=function(){
					alert('last img loaded = ' + this.src);
				}
			}*/
		}
		for(var i=0; i < brandArr.length; i++){
			brandArr[i].onclick = function(){
				addClass(document.getElementById('modelsNav'),'showEle',true);
			}
		}
	}
}
function dlrContactBar(){
	if(document.getElementById('contactBar')){
		var barsHolder = document.getElementById('dlrTelBars') ? document.getElementById('dlrTelBars') : null;
		var linkArr = document.getElementById('contactBar').getElementsByTagName('a');
		var divArr  = document.getElementsByTagName('div');
		for(var i =0; i < divArr.length ; i++){
			if(divArr[i].className.indexOf('closeBar') != -1 && divArr[i].parentNode.getAttribute('id')=='hotDlsCon'){
				divArr[i].onclick = function(){
					addClass(document.getElementById('hotDlsCon'),'showEle',false);
					return false;
				}
			}else if(divArr[i].className.indexOf('closeBar') != -1 && divArr[i].parentNode.getAttribute('id')=='dlrTelBars'){
				divArr[i].onclick = function(){
					addClass(document.getElementById('dlrTelBars'),'showEle',false);
					return false;
				}
					
			}
		
		}
		for(var i = 0; i < linkArr.length; i++){// telephone and email event handlers, reveals contact form and dealer numbers
			if(linkArr[i].className.indexOf('tel') != -1){
				if(barsHolder){// if the div holding all the info bars exists 
					linkArr[i].onmouseover = function(){
						addClass(document.getElementById('dlrTelBars'),'showEle',true);
						addClass(document.getElementById('hotDlsCon'),'showEle',false);
						return false;
					}
				}
			}else if(linkArr[i].className.indexOf('email') != -1){
				linkArr[i].onmouseover = function(){
					addClass(document.getElementById('hotDlsCon'),'showEle',true);
					addClass(document.getElementById('dlrTelBars'),'showEle',false);
					return false;
				}
			}
		}
	}
}
/* ################ New Cars ################## */
function newCarsTabs(eleObj){
	var titleArr = new Array();
	if(document.getElementById('brandNav'))
	{
		titleArr['Browse by Manufacturer']='brandNav';
	}
	else
	{
		titleArr['Browse by Model']='modelsNav';
	}
	titleArr['Browse by Body Type']='bodyTypeNav';
	//titleArr['Top 5 Searches']='top5NewSrch';
	
	var arrKey;
	arrKey = (typeof eleObj == 'string') ?  eleObj : eleObj.getAttribute('title');
	
	for(var i in titleArr)
	{
		if(arrKey == i)
		{
					if(titleArr[i] == 'bodyTypeNav')
					{//if search by body type selected set up hover handlers for IE
						setBodyLinks();
					}
					addClass(document.getElementById(titleArr[i]),'showEle',true);
		}
		else
		{
					addClass(document.getElementById(titleArr[i]),'showEle',false);
		}
	}	
	
}
function setBodyLinks(){ // hover handlers for 'Search by body type' navigation for IE
	if(window.ActiveXObject && document.getElementById('bodyTypeNav')){ // if IE and body type nav exists
		var liArr =  document.getElementById('bodyTypeNav').getElementsByTagName('li');
		for(var i = 0; i < liArr.length; i++){
			liArr[i].onmouseover=function(){
				addClass(this,'ieHover',true);
			}
			liArr[i].onmouseout=function(){
				addClass(this,'ieHover',false);
			}
		}
	
	}
}
function carDataTabs(eleObj){ /* Function on results page and New Car Details Page to switch between the car data tables */
	var titleArr = new Array();
	titleArr['General']='carDataGen';
	titleArr['Standard Features']='carDataFeat';
	titleArr['Included Options']='carDataOpts';
	titleArr['Tech Spec']='carDataSpec';
	titleArr['Email Dealer']='carDataForm';
	for(var i in titleArr){
		if(document.getElementById(titleArr[i])){
			if(eleObj.getAttribute('title') == i){
				addClass(document.getElementById(titleArr[i]),'showEle',true);
			}else{
				addClass(document.getElementById(titleArr[i]),'showEle',false);
			}
		}
	}
}
function setTechSpecLinks(){
	if(document.getElementById('carDetData')){
		var ulArr=document.getElementById('carDetData').getElementsByTagName('ul');
		for(var i= 0; i < ulArr.length; ++i){
			
			if(ulArr[i].className.indexOf('listTree') != 1){
				
				var linkArr = ulArr[i].getElementsByTagName('a');
				for(var j =0; j < linkArr.length; ++j){
					
					linkArr[j].onclick= function(){
						if(this.offsetParent.className.indexOf('show')==-1){
							//alert(this.offsetParent.className.indexOf('show'));
							addClass(this.offsetParent,'show',true);
						}else{
							addClass(this.offsetParent,'show',false);
						}
						return false;
					}
				
				}
			}
		}
		//var linkArr = document.getElementById('carDataSpec').getElementsByTagName('a');
	}
        else if(document.getElementById('hotDealContent'))
        {
          var ulArr = document.getElementById('hotDealContent').getElementsByTagName('ul');
          for(var i = 0; i < ulArr.length; ++i)
          {
            if(ulArr[i].className.indexOf('listTree') != 1)
            {
              var linkArr = ulArr[i].getElementsByTagName('a');
              for(var j = 0; j < linkArr.length; ++j)
              {
                linkArr[j].onclick = function()
                {
                  if(this.offsetParent.className.indexOf('show') == -1)
                  {
                    addClass(this.offsetParent, 'show', true);
                  }
                  else
                  {
                    addClass(this.offsetParent, 'show', false);
                  }
                  return false;
                }
              }
            }
          }
        }
}
/* ###### Functions for scrappage logo functionality ##### */
function setScrappageBtns(){
  var currentObj;//store new element to remove on mouse out
  var linkArr = document.getElementsByTagName('a');
  var iconHint;
  for(var i =0; i < linkArr.length; i++){
    if(linkArr[i].className.indexOf('btnScrap') != -1){
      
      linkArr[i].onmouseover = function(){
          var newEle;
          var parentEle;
          var nextEle;
          var spanArr = this.getElementsByTagName('span');
            iconHint = document.createElement('img');
            iconHint.setAttribute('src','http://cdn.perrys.co.uk/d/perrys/images/icon_scrapxlrg.gif');
            iconHint.setAttribute('id','scrapHint');
            iconHint.style.left = this.offsetLeft + (this.offsetWidth + 5) + 'px';// this.style.left + 'px';
            iconHint.style.top = this.offsetTop - 10 + 'px';
          
          if(this.parentNode.nodeName == "TD"){
            nextEle = getAdjEle(this.parentNode.parentNode,false);//find adjacent row
            parentEle = nextEle.parentNode;// find parent table
            var tableRow=document.createElement('tr');
            newEle=document.createElement('td');
            newEle.setAttribute('colSpan',"6");
            parentEle.insertBefore(tableRow,nextEle);
            parentEle = tableRow;
            currentObj = tableRow;
          }else if(this.parentNode.nodeName == "H2"){
            this.parentNode.insertBefore(iconHint,this.parentNode.firstChild);
            iconHint.style.left = '80px';// this.style.left + 'px';
            iconHint.style.top = this.offsetTop - 65 + 'px';                                            
            nextEle = getAdjEle(this.parentNode,false);
            newEle=document.createElement('p');
            parentEle = this.parentNode.parentNode;
            
          }else if(document.getElementById('contactBar') && document.getElementById('hotDealFeat')){
            this.parentNode.appendChild(iconHint);
            var adjEle = getAdjEle(this.parentNode,false);
            iconHint.style.left = this.offsetLeft + (this.offsetWidth + 5) + 'px';// this.style.left + 'px';
            iconHint.style.top = this.offsetTop - 65 + 'px';
            nextEle = (getAdjEle(adjEle,false) == null) ? document.getElementById('contactBar') : getAdjEle(adjEle,false);
            newEle = document.createElement('div');
            parentEle = nextEle.parentNode;
          }
          newEle.setAttribute(classAtt,"scrapInfo");
          newEle.innerHTML = spanArr[0].innerHTML;
          if(parentEle.nodeName == "TR"){//test for table row before td cell is added
            parentEle.appendChild(newEle);
            iconHint = null;
          }else{
            //this.onmouseout =null;
            currentObj = newEle;
            parentEle.insertBefore(newEle,nextEle);
            iconHint.onmouseout = function(){
              this.parentNode.removeChild(this);
            }
            
          }
          
      }
      linkArr[i].onmouseout = function(){
        currentObj.parentNode.removeChild(currentObj);
        if(iconHint != null){
          this.parentNode.removeChild(iconHint);
        }
      }
    }
  }
}
/* png fix for IE6 */
function ie6PngFix(varsArr){
        this.re_ie6 =/MSIE 6.0/;
        if(this.re_ie6.test(navigator.userAgent)){//test for IE6 browser
                this.pngArr = new Array();// Array: - holds all pngs found
                this.pngObj = null;//String: id of obj or Object: - for single png or a png outside of given container
                this.pngParent = null; // String: id of obj - container element, for grouped objs with same parent
                this.blankImg = 'images/blank.gif';//

                for (var key in varsArr) { this[key] = varsArr[key]; }

                /* methods */
                this.applyFilter = function(){
                        for(var i = 0; i < this.pngArr.length; i++){
                                if(this.pngArr[i]){
                                        this.pngArr[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.pngArr[i].src + "', sizingMethod='scale')";
                                        this.pngArr[i].style.width = this.pngArr[i].width;
                                        this.pngArr[i].style.height = this.pngArr[i].height;
                                        this.pngArr[i].setAttribute('src', this.blankImg);
                                }
                        }
                }

                if(this.pngParent != null){
                        var imgArr;
                        if(this.pngParent != 'all' && document.getElementById(this.pngParent)){
                                imgArr = document.getElementById(this.pngParent).getElementsByTagName('img');
                        }else if(this.pngParent == 'all'){
                                imgArr = document.body.getElementsByTagName('img');
                        }else{
                                return;
                        }
                        //var imgArr = (this.pngParent == 'all')? document.body.getElementsByTagName('img') : document.getElementById(this.pngParent).getElementsByTagName('img');
                        var re_png = /\.png/;
                        this.imgObj = new Array();
                        for(var i = 0; i < imgArr.length; i++){
                                if(re_png.test(imgArr[i].src)){
                                        this.pngArr.push(imgArr[i]);

                                }
                        }
                }
                if(this.pngObj != null){
                        if(typeof this.pngObj == 'string'){
                                if(document.getElementById(this.pngObj)){
                                        this.pngArr.push(document.getElementById(this.pngObj));
                                }
                        }else{
                                this.pngArr.push(this.pngObj);
                        }

                }
                this.applyFilter();
        }
}
window.onresize=function()
{
	bodyWidth =document.documentElement.clientWidth;
}

window.onload=function()
{
    dlrContactForms();
	bodyWidth = document.documentElement.clientWidth;
	//selectMake();
	setNavLinks();
	linkHint('dlrMake',Array('Perrys Used Car Centre','Perrys Prestige Used Cars'));
	linkHint('dlrList',null);
	//tabNav();
	advSearch();
        if(document.getElementById('homePage'))
        {
        }
	if(document.getElementById('results'))
	{
		iniResults();
	}
	
	setTechSpecLinks();
	modelsNav();
	subNavPos();
	hideTables();
	//dlrContactBar();	
        if(document.getElementById('routeFinder')){
                initialize();
        }
        if(document.getElementById('myPHome')){
                myPCfsetBtns();setMyPPanelBtns();//my perrys
        }
        setScrappageBtns();
        var pngFix = new ie6PngFix({pngParent:"seoThumbs", pngObj:"seoMainPic"});
}

function bookmark(url, description) 
{
  netscape="Netscape and Mozilla User's hit CTRL+D to add a bookmark to this site."
  if (navigator.appName=='Microsoft Internet Explorer') 
  {
    window.external.AddFavorite(url, description);
  } 
  else if (navigator.appName=='Netscape') 
  {
    alert(netscape);
  }
}

function dlrCont(what, emailtype, dept) {
  //dlrHomeTab(what);
  var tabArr=document.getElementById('dlrLCol').getElementsByTagName('li');
  tabArr[0].className='';
  tabArr[1].className='current';
  document.getElementById('dlrContName').innerHTML=what.innerHTML;
  document.getElementById('email_type_F').value=emailtype;
  document.getElementById('department_id_F').value=dept;
  document.getElementById('fao_F').value=what.innerHTML;
  var logImg = new Image();
  logImg.src = "/log-event.php?cat=D&event_type=Dealer+Feedback&id="+document.getElementById('dealer_id_F').value;
  
}
