String.prototype.trim=new Function("return this.replace(/^\\s+|\\s+$/g,'')");
String.prototype.nocr=new Function("return this.replace(/(\\r\\n|[\\r\\n])/g,'')");

/*function clickIE4(){
if (event.button==2){
	return false;
	}
}

function clickNS4(e){
	if (document.layers||document.getElementById&&!document.all){
		if (e.which==2||e.which==3){
	
			return false;
		}
	}
}

if (document.layers){
	document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown=clickNS4;
}
	else if (document.all&&!document.getElementById){
	document.onmousedown=clickIE4;
}

document.oncontextmenu=new Function("return false")
*/
var imgBasket=new Image(100,20); imgBasket.src="img/basket.gif";
var imgBasketo=new Image(100,10); imgBasketo.src="img/basketo.gif";
var imgHelp=new Image(54,20); imgHelp.src="img/help.gif";
var imgHelpo=new Image(54,20); imgHelpo.src="img/helpo.gif";
var imgAddBasket=new Image(87,22); imgAddBasket.src="img/add-to-basket.gif";
var imgAddBasketo=new Image(87,22); imgAddBasketo.src="img/add-to-basketo.gif";
var imgGo=new Image(32,18); imgGo.src="img/go.gif";
var imgGoo=new Image(32,18); imgGoo.src="img/goo.gif";
var sNavFile=new Array("home","my-account","my-favourites","new-lines","contact-us");
var aiNavWidth=new Array()
var aiNav=new Array();
var aiNavo=new Array();
for (var i=0 ; i<sNavFile.length ; i++) {
	if ( i==0 ){
		aiNav[i]=new Image(153,28); aiNav[i].src="img/nav/"+sNavFile[i]+".gif";
		aiNavo[i]=new Image(153,28); aiNavo[i].src="img/nav/"+sNavFile[i]+"_o.gif";
	} else {
		aiNav[i]=new Image(152,28); aiNav[i].src="img/nav/"+sNavFile[i]+".gif";
		aiNavo[i]=new Image(152,28); aiNavo[i].src="img/nav/"+sNavFile[i]+"_o.gif";
	}
}
var sPNavFile=new Array("home","about-us","apply-for-account","technical-support","contacts");
var aiPNavWidth=new Array()
var aiPNav=new Array();
var aiPNavo=new Array();
for (var i=0 ; i<sPNavFile.length ; i++) {
	if ( i==0 ){
		aiPNav[i]=new Image(153,28); aiPNav[i].src="img/nav/"+sPNavFile[i]+".gif";
		aiPNavo[i]=new Image(153,28); aiPNavo[i].src="img/nav/"+sPNavFile[i]+"_o.gif";
	} else {
		aiPNav[i]=new Image(152,28); aiPNav[i].src="img/nav/"+sPNavFile[i]+".gif";
		aiPNavo[i]=new Image(152,28); aiPNavo[i].src="img/nav/"+sPNavFile[i]+"_o.gif";
	}
}
function btnOv(sID,sImg) {
	if (sImg==null)
		setImg("i"+sID,"",eval("img"+sID+"o.src"));
	else
		setImg(sID,"",eval("img"+sImg+"o.src"));
}
function btnOut(sID,sImg) {
	if (sImg==null)
		setImg("i"+sID,"",eval("img"+sID+".src"));
	else
		setImg(sID,"",eval("img"+sImg+".src"));
}
function mPOv(i) {
	setImg("iPNav",i,aiPNavo[i].src);
}
function mPOut(i) {
	setImg("iPNav",i,aiPNav[i].src);
}
function mOv(i) {
	setImg("iNav",i,aiNavo[i].src);
}
function mOut(i) {
	setImg("iNav",i,aiNav[i].src);
}
function atbOv(obj) { obj.src=imgAddBasketo.src; }
function atbOut(obj) { obj.src=imgAddBasket.src; }
function goOv(obj) { obj.src=imgGoo.src; }
function goOut(obj) { obj.src=imgGo.src; }
function setImg(id,i,src) {
	if (src!=null) {
		var img=getImage(id+i);
		if (img) img.src=src;
	}
}
function getImage(id) {
	if (document.images && document.images[id])
		return document.images[id];
	else
		return null;
}
function getElement(sName) {
	return document.getElementById(sName);
}

function popWindow(w,h,sUrl) {
	var wclwin=window.open(sUrl,"wclwin","toolbar=no,location=no,directories=no,margin=0,status=no,menubar=no,scrollbars=yes,resizable=no,width="+w+",height="+h);
	wclwin.focus();
}

function isInteger(sName) {
	var sVal=getElement(sName).value;
	var re=/(^\d+$)/;
	return (re.test(sVal));
}
function isIntegerVal(sName) {
	
	var re=/(^\d+$)/;
	return (re.test(sName));
}

String.prototype.ltrim=new Function("return this.replace(/^\\s+/,'')");
String.prototype.rtrim=new Function("return this.replace(/\\s+$/,'')");
String.prototype.trim=new Function("return this.replace(/^\\s+|\\s+$/g,'')");

function popImg(sID,sUrl) {
	var w=window.open(sUrl+"?part="+sID,"qualtex","width=510,height=600,scrollbars=yes");
	w.focus();
}
function doClose(){
	window.close();
}
function TogglePrices(){
	
	obj=getElement("toggleprices");
	
	if (obj ){
	
		obj.value="yes";
		
		document.toggle.submit();
	}
}
function TogglePricesRRP(){
	
	obj=getElement("togglepricesrrp");
	
	if (obj ){
	
		obj.value="yes";
		
		document.togglerrp.submit();
	}
}
function extractXML(sXML,sTag) {
	var iFrom=sXML.indexOf("<"+sTag+">");
	var iTo=sXML.indexOf("</"+sTag+">",iFrom);
	return (iFrom!=-1 && iTo!=-1 ? sXML.substring(iFrom+(sTag.length+2),iTo) : "");
}

function Fetcher() {
	var me=this;
	this.fnCB=null;
	this.xmlHttp=null;
	try { this.xmlHttp=new XMLHttpRequest(); }
	catch (trymicrosoft) {
		try { this.xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (othermicrosoft) {
			try { this.xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (failed) {
				this.xmlHttp=null;
			}  
		}
	}
	this.now=function(sURL) {
		var sRet="";
		if (this.xmlHttp) {
			this.xmlHttp.open("GET",cacheBust(sURL),false);
			this.xmlHttp.send(null);
  			if (this.xmlHttp.readyState==4)
				sRet=this.xmlHttp.responseText.nocr().trim();
		}
		return sRet;
	}	
	this.whenever=function(sURL,fnCB) {
		if (this.xmlHttp) {
			this.fnCB=fnCB;
			this.xmlHttp.open("GET",cacheBust(sURL),true);
			this.xmlHttp.onreadystatechange=this.loader;
			this.xmlHttp.send(null);
		}
	}
	this.loader=function() {
		if (me.xmlHttp) {
			if (me.xmlHttp.readyState==4 && me.xmlHttp.status==200) {
				me.fnCB(me.xmlHttp.responseText.nocr().trim());
			}
		}
	}
	this.abortme=function() {
		if (me.xmlHttp) {
			if (me.xmlHttp.readyState!=4 && me.xmlHttp.readyState!=0) {
				me.abort();
			}
		}
	}
	
}
function cacheBust(sURL) {
	return sURL+(sURL.indexOf('?')==-1 ? '?' : '&')+'cbzz='+(new Date()).getTime();
}
function search_validate() {
	var bRet=true;		
	var sSearch=document.searchfrm.search.value.trim();
	while (sSearch.indexOf("  ")!=-1) sSearch.Replace("  "," ");
	if (sSearch.length<2){
		alert('please enter a minimum of 2 characters in the search box');
		bRet=false;
	} else {
	
		var sSearchSplit=sSearch.split(" ");
		for(i = 0; i<sSearchSplit.length; i++){
			if ( !isIntegerVal(sSearchSplit[i]) && sSearchSplit[i].length<2 && bRet){
				alert('please enter a minimum of 2 characters per search term');
				bRet=false;
			}
		}
		if ( bRet){
			var obj=document.getElementById("searchbut");
			if (obj) obj.disabled=true;
		}
	}
	return bRet;
}
function makeElink(user,host,domain) {
	
	var atsign = "&#64;";
	var addr = user + atsign + host + domain;
	document.write("<" + "a" + " " + "href=" + "mail" + "to:" + addr + ">" + addr + "<\/a>");
}