var exclude=1;
var agt=navigator.userAgent.toLowerCase();
var win=0;var mac=0;var lin=1;
if(agt.indexOf('win')!=-1){win=1;lin=0;}
if(agt.indexOf('mac')!=-1){mac=1;lin=0;}
var lnx=0;if(lin){lnx=1;}
var ice=0;
var ie=0;var ie4=0;var ie5=0;var ie6=0;var com=0;var dcm;
var op5=0;var op6=0;var op7=0;
var ns4=0;var ns6=0;var ns7=0;var mz7=0;var kde=0;var saf=0;
if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE"){
	var thisKDE=agt;
	var splitKDE=thisKDE.split("konqueror/");
	var aKDE=splitKDE[1].split("; ");
	var KDEn=parseFloat(aKDE[0]);
	if(KDEn>=2.2){
		kde=1;
		ns6=1;
		exclude=0;
		}
	}
else if(agt.indexOf('webtv')!=-1){exclude=1;}
else if(typeof window.opera!="undefined"){
	exclude=0;
	if(/opera[\/ ][5]/.test(agt)){op5=1;}
	if(/opera[\/ ][6]/.test(agt)){op6=1;}
	if(/opera[\/ ][7-9]/.test(agt)){op7=1;}
	}
else if(typeof document.all!="undefined"&&!kde){
	exclude=0;
	ie=1;
	if(typeof document.getElementById!="undefined"){
		ie5=1;
		if(agt.indexOf("msie 6")!=-1){
			ie6=1;
			dcm=document.compatMode;
			if(dcm!="BackCompat"){com=1;}
			}
		}
	else{ie4=1;}
	}
else if(typeof document.getElementById!="undefined"){
	exclude=0;
	if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6")!=-1){ns6=1;}
	else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ns6=1;ns7=1;}
	else if(agt.indexOf("gecko")!=-1){ns6=1;mz7=1;}
	if(agt.indexOf("safari")!=-1 || (typeof document.childNodes!="undefined" && typeof document.all=="undefined" && typeof navigator.taintEnabled=="undefined")){mz7=0;ns6=1;saf=1;}
	}
else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
	exclude=0;
	ns4=1;
	if(typeof navigator.mimeTypes['*']=="undefined"){
		exclude=1;
		ns4=0;
		}
	}
if(agt.indexOf('escape')!=-1){exclude=1;ns4=0;}
if(typeof navigator.__ice_version!="undefined"){exclude=1;ie4=0;}

//addLoadListener(function() { CreateDealerLocator();});
addLoadListener(function() { setSelectedCategory();});
addLoadListener(function() { setEnteredPostCode();});

var branch;
var Lvl;
function addLoadListener(fn)
{
	if(typeof window.addEventListener != 'undefined')
	{
		window.addEventListener('load',fn,false);
	}
	else if (typeof document.addEventListener != 'undefined')
	{
		document.addEventListener('load',fnn, false);
	}
	else if (typeof window.attachEvent != 'undefined')
	{
		window.attachEvent('onload', fn);
	}
	else
	{
		var oldfn = window.onload;
		if(typeof window.onload != 'function')
		{
			window.onload = fn;
		}
		else
		{
			window.onload = function()
			{
				oldfn();
				fn();
			};
		}
	}
}

function attachEventListener(target, eventType, functionRef, capture)
{
	if(typeof target.addEventListener != "undefined")
	{
		target.addEventListener(eventType, functionRef, capture);
	}
	else if (typeof target.attachEvent != "undefined")
	{
		target.attachEvent("on" + eventType, functionRef);
	}
	else
	{
		eventType = "on" + eventType;
		
		if(typeof target[eventype] == "function")
		{
			var oldListener = target[eventType];
			
			target[eventType] = function()
			{
				oldListener();
				
				return functionRef();
			};
		}
		else
		{
			target[eventType] = functionRef;
		}
	}
}

function CheckCategory()
{
	var myVar = self.location.toString().toLowerCase();
	var pgname = myVar.substr(myVar.lastIndexOf('/')+1,(myVar.lastIndexOf('.')-myVar.lastIndexOf('/')-1));
	if(pgname.toLowerCase() == 'productbrowse')
	{
		var pattern = /%20/g;
		var searchval = myVar.substring(myVar.lastIndexOf('category=')+9,myVar.lastIndexOf('category=')+13).toUpperCase();
		return(searchval);
	}
	else
	{
		return 'NonBrowse';
	}
}
function CheckDealerLocatorCategory()
{
	var myVar = self.location.toString().toLowerCase();
	var pgname = myVar.substr(myVar.lastIndexOf('/')+1,(myVar.lastIndexOf('.')-myVar.lastIndexOf('/')-1));
	if(pgname.toLowerCase() == 'dealerlocator')
	{
		var pattern = /%20/g;
		var searchval = myVar.substring(myVar.lastIndexOf('category=')+9,myVar.lastIndexOf('category=')+13).toUpperCase();
		return(searchval);
	}
	else
	{
		return 'NoCat';
	}
}
function setSelectedCategory()
{
	//alert(CheckDealerLocatorCategory());
	var selCat = getURLParam("Category");
	if(selCat != '')
	{
		//var opt = document.getElementById(selCat);
		//if(opt)
		//	alert(opt.value);
			
		var selObj = document.getElementById('DLCategoriesList');
		if(selObj)
		{
			for(var i = 0; i < selObj.length; i++)
			{
				if(selObj.options[i].value.toLowerCase() == selCat.toLowerCase())
				{
					selObj.selectedIndex = i;
					break;
				}
			}
		}
	}
}
function setEnteredPostCode()
{
	var pCode = getURLParam("PostCode");
	if(pCode != '')
	{
	var pcode1 = document.getElementById('DLPostCodeInput').value;
	var pcode2 = document.getElementById('DealerLocatorPostCode').value; 
		if(document.getElementById('DLPostCodeInput'))
			document.getElementById('DLPostCodeInput').value = pCode;
		if(document.getElementById('DealerLocatorPostCode'))
			document.getElementById('DealerLocatorPostCode').value = pCode;
			
	}
}
function CreateDealerLocator()
{
	var dispL = 'MenuList';
	var dispVals = '';
	var Count = 0;
	var dynamicMU = '';
	var parentCatName = ''
	Lvl = 1;
	//var currMenu = CheckCategory().toString();
	//dynamicMU += '<div id="LeftNav" style="height:'+(NumFirstLvlItems*24)+'px"><ul id="navigation" class="vertical">';
	if(NumFirstLvlItems > 0)
	{
		dynamicMU += '<select name="DLCategoriesList" id="DLCategoriesList"  tabIndex="119">'
		for(var i=1;i<=NumFirstLvlItems;i++)

		{
			dispL = 'MenuList' + i;
			dispVals = window[dispL.split(',')];
			NumSubs1 = dispVals[1];s
			parentCatName = dispVals[0];
			if(NumSubs1 > 0)
			{
				dispL = 'MenuList'+i;
				Lvl = 2;
				dynamicMU = CreateDealerLocatorListItems(Count,dynamicMU,NumSubs1,dispL,parentCatName);
				Lvl = 1;
			}
			else
			{
				dynamicMU += '<option value="' + dispVals[2] + '">' + dispVals[0] + '</option>';
			}
		}
		dynamicMU += '</select>';
		//alert(dynamicMU);
		var insHTML = document.getElementById('DLCategories');
		insHTML.innerHTML=insHTML.innerHTML + dynamicMU;
		//dropdownCatMenu('navigation');
		return;
	}
}

function CreateDealerLocatorListItems(itemNum, dynamicMU, NumSubs,dispL,parentCatName)
{
	//dispL += itemNum;
	var dispVals;
	var Count = 0;
	for(var i=1;i<=NumSubs;i++)
	{
		Count++;
		dispL += '_' + i;
		dispVals = window[dispL.split(',')];
		var NumSubs2 = dispVals[1];
		dynamicMU += '<option value="' + dispVals[2] + '">' + parentCatName + ' - ' + dispVals[0] + '</option>';
		var StrEnd = dispL.lastIndexOf("_");
		dispL = dispL.slice(0,StrEnd);
	}
	return dynamicMU;
}
function toProperCase(s)
{
  return s.toLowerCase().replace(/^(.)|\s(.)/g, 
          function($1) { return $1.toUpperCase(); });
}
function clearCatMenus(root)
{
	var menus = root.getElementsByTagName('ul');
	for (var i = 0; i < menus.length; i++)
	{
		menus[i].style.left =  '-200em';
	}
}

function unwantedCatTextEvent()
{
	return (navigator.vendor == 'Apple Computer, Inc.' && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget)));
};

function isNumeric(strString)
   //  check for valid numeric strings	
{
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	{
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
			blnResult = false;
		}
	}
	return blnResult;
}
function doDealerLocatorEnter(e) {
  var KeyID = (window.event) ? e.keyCode : e.which;
  if(KeyID == 13) {
    document.getElementById('DLSearchButton').focus();
  }  
}
function doDelearLocatorSearch()
{
	var validSearch = true;
	var url = 'DealerLocator.aspx?Category=';
	var selObj = document.getElementById('DLCategoriesList');
	if(selObj)
	{
		var selIndex = selObj.selectedIndex;
		url += selObj.options[selIndex].value + '&CategoryName='+selObj.options[selIndex].text;
	}
	var pCode = document.getElementById('DLPostCodeInput');
	if(pCode)
	{
		var pCodeVal = pCode.value;
		if(isNumeric(pCodeVal) && pCodeVal != '0')
		{
			if(pCodeVal != '0')
				url += '&PostCode=' + pCodeVal;
		}
		else
		{
			if(pCodeVal.length == 0)
			{
				var alertMsg = 'You must enter a post code to perform a search';
			}
			else
			{
				var alertMsg = 'The post code you have entered(';
				alertMsg += pCodeVal;
				alertMsg += ')is not a valid post code\n';
				alertMsg += 'Please check that you have only inserted numbers into the post code field and try again';
			}
			alert(alertMsg);
			validSearch = false;
		}
	}
	if(validSearch)
		window.location=url;
}

function doDealerLocatorSearchPage()
{
	var validSearch = true;
	var url = 'DealerLocator.aspx?Category=';
	var selObj = document.getElementById('DLCategoriesList');
	if(selObj)
	{
		var selIndex = selObj.selectedIndex;
		url += selObj.options[selIndex].value + '&CategoryName='+selObj.options[selIndex].text;
	}
	var pCode = document.getElementById('DealerLocatorPostCode');
	if(pCode)
	{
		var pCodeVal = pCode.value;
		if(isNumeric(pCodeVal) && pCodeVal != '0')
		{
			if(pCodeVal != '0')
				url += '&PostCode=' + pCodeVal;
		}
		else
		{
			if(pCodeVal.length == 0)
			{
				var alertMsg = 'You must enter a post code to perform a search';
			}
			else
			{
				var alertMsg = 'The post code you have entered(';
				alertMsg += pCodeVal;
				alertMsg += ')is not a valid post code\n';
				alertMsg += 'Please check that you have only inserted numbers into the post code field and try again';
			}
			alert(alertMsg);
			validSearch = false;
		}
	}
	if(validSearch)
		window.location=url;
}



