//---------------------------------------------------------
//	Copyright ©2004 WiSS.
//
//	Gareth Evans.
//	email:gareth@WiSS.co.uk
//
//	Original name "global.js"
//
//---------------------------------------------------------



//--Client Tests
function testClient(){var a=checkCookies();if(a==1){var b=getUserAgent();var c=getScreenWidth();var d=getScreenHeight();var e=getAvailScreenWidth();var f=getAvailScreenHeight();var g=checkLayers();var h=checkColourDepth();var i=checkFlash();var k = "*";var l = b+k+c+k+d+k+e+k+f+k+g+k+h+k+i+k+j;setCookie("client",l,"","");}}
function getUserAgent(){var x=navigator.userAgent.toLowerCase();return x;}

//--Screen Resolution and Color Checks
function getScreenWidth(){var x=window.screen.width; return x;}
function getScreenHeight(){var x=window.screen.height; return x;}
function getAvailScreenWidth(){var x=window.screen.availwidth; return x;}
function getAvailScreenHeight(){var x=window.screen.availheight; return x;}
function checkColourDepth(){var a=window.screen.colorDepth;return a;}

//--Cookies Utilities
function checkCookies(){var x;setCookie("test","good","","");var y=getCookie("test");if(y!=null){return 1;}else{alert(y);return 0;}}
function setCookie(name, value, c, d)
{
	value=escape(value);
	if(d=="")
	{
		var thisDate = new Date();
		thisDate.setMonth(thisDate.getMonth()+6);
		d=thisDate.toGMTString();
	}
	if(c!="")
	{
		c="\;Path="+c;
	}
	document.cookie=name+"="+value+";expires="+d+c;}
function getCookie(x)
{
	var b = document.cookie;
	var c=b.indexOf(" "+x+"=");
	if(c==-1)
	{
		c=b.indexOf(x+"=")
	}
	if(c==-1)
	{
		b=null;
	}
	else{c=b.indexOf("=",c)+1;
	var d=b.indexOf(";",c);if(d==-1){d=b.length;}b=unescape(b.substring(c,d));}return b;}

//--Plugin Checks
function FlashVersion(){var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;var v;if (plugin){v = parseInt(plugin.description.substring(plugin.description.indexOf(".")-1))}else{v=0;}return v;}

//--Bug catchers
function ReloadPageForNN4(init){if(init==true)with(navigator){if ((appName=="Netscape")&&(parseInt(appVersion)==4)){document.MM_pgW=innerWidth;document.MM_pgH=innerHeight;onresize=MM_reloadPage;}}else if(innerWidth!=document.MM_pgW||innerHeight!=document.MM_pgH)location.reload();}
ReloadPageForNN4(true);

//--Layer Checks
function AddTestLayer(){document.write("<div id='TestLayer' style='position:absolute;width:50px;height:50px;z-index:-222;visibility:hidden;'>test</div>");}
function checkLayers(){var x="false";var d=document;if(d.getElementById){if(d.getElementById("TestLayer")){x="true";}else{x="false";}}return x;}

//--CSS Toggles
function ShowHide(x){if(document.getElementById){var control = document.getElementById(x);if(control.style.display == "none"){control.style.display = "block";}else{control.style.display = "none";}}}

//--CSS Extension
//Sets Pseudo css events for lists in ie5+ - pass variable for root of list
function SetPseudoListClasses(x){var d=document;var y=navigator.userAgent.toLowerCase();if(y.indexOf('msie')!=-1){var navRoot=FindObj(x,"",d);for(i=0;i<navRoot.childNodes.length;i++){node=navRoot.childNodes[i];if(node.nodeName=="LI"){node.onmouseover=function(){this.className+=" over";};node.onmouseout=function(){this.className=this.className.replace(" over","");};}}}};

//--Browser Utilties for Function Checks
function CheckBrowserFamily(){var x=getUserAgent();var b;if (x.indexOf('opera')!=-1){b="opera";}else if(x.indexOf('msie')!=-1){b="ie";}else if(x.indexOf('gecko')!=-1){b="gecko";}else if(x.indexOf('netscape')!=-1){b="netscape";}else{b="unknown";}return b;}
function CheckBrowserVersion(){}

//--Browser Window Utilities
function NewChildWindow(myURL,myTitle,myWidth,myHeight,myLeft,myTop){var newWindow;var myFeatures="left="+myLeft;myFeatures=myFeatures+",top="+myTop;myFeatures=myFeatures+",height="+myHeight;myFeatures=myFeatures+",width="+myWidth;myFeatures=myFeatures+",scrollbars=yes";newWindow=window.open(myURL,myTitle,myFeatures);}
function CloseWindow(){window.close;}

//--Form Utilities
function SetFocus(x){var d=document;if(d.getElementById){var control = FindObj(x,"",d);control.focus();}}

//--Image Utilities
function ImagePreload(){var d=document;if(d.images){if(!d.WiSSImages)d.WiSSImages=new Array();var i,j=d.WiSSImages.length,y=ImagePreload.arguments;for(i=0;i<y.length;i++)if(y[i].indexOf("#")!=0){d.WiSSImages[j]=new Image;d.WiSSImages[j++].src=y[i];}}}
function ImageSwitch(x,y){var d=document;if(d.getElementById){var z=FindObj(x,"",d);if(!z.oldSrc) z.oldSrc=z.src;z.src = y;}}
function ImageRestore(x){var d=document;if(d.getElementById){var z=FindObj(x,"",d);z.src=z.oldSrc;}}

//--Utilities to find items on a page
function FindObj(targetName,targetFrame,targetDocument){var obj,x,f,d;x=targetName;f=targetFrame;d=targetDocument;if(!d){if(f){d=f.document;}else{d=window.document;}}if(d[x]){return d[x];}if(d.all && d.all[x]){return d.all[x];}if(d.getElementById && d.getElementById(x)){return d.getElementById(x);}for(var i=0;i < d.forms.length;i++){if(d.forms[i][x]){return d.forms[i][x];}}for(var i=0;i<d.anchors.length;i++){if(d.anchors[i].name==x){return d.anchors[i];}}for(var i=0;document.layers&&i<d.layers.length;i++){var obj=FindObject(x,null,d.layers[i].document);if(obj){return obj;}}if(!f&&window[x]){return window[x];}if(f&&f[x]){return f[x];}for(var i=0;f&&f.frames&&i<f.frames.length;i++){obj=FindObject(x,f.frames[i],f.frames[i].document);if(obj){return obj;}}return null;}

//--pop ups for AAA rating compliance
function DoPopUp(anchor,popUpName,popUpfeatures){try{window.open(anchor.href,popUpName,popUpfeatures);return false;}catch(err){return true;}}
function BookMark(Url,Name){var x=navigator.userAgent.toLowerCase();if(x.indexOf('msie')!=-1){window.external.AddFavorite(Url,Name)}else{alert("Unfortunately your Browser doesn't allow automatic Bookmarks.\nTo Bookmark this page please try pressing (CTRL-D)\nor use the browsers help menu to find out more.");}}

//--Page redirection
function Redirect(url){window.location=url;}
function TimeBasedRedirect(url, secs){Wait(secs,"Redirect("+url+");");}

//--time delay
function Wait(secs, functionCall){var delay=secs*1000;setTimeout(functionCall,delay);}

//--password masking to enable entered passwords to be fed back to a page
function PasswordMask(passwordField, hiddenField)
{
	var d = document;
	var x = FindObj(hiddenField);
	var y = FindObj(passwordField);
	y.value = y.value;
}




