// GLOBAL VARIABLES ********************************************************************************************************var intTimer=1000;  // DELAY FOR HOMEPAGE IMAGESvar intStartDelay=250;  // DELAY FOR HOMEPAGE IMAGES TO START ROTATINGvar br="";if(document.getElementById) br="DOM";else if(document.all) br="IE";else if(document.layers) br="NS";// DREAMWEAVER FUNCTION ****************************************************************************************************function MM_reloadPage(init) {  //reloads the window if Nav4 resized  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();}// FORM FUNCTIONS **********************************************************************************************************function getQueryVals() {	var arrQueryKeys=new Array(), arrQueryVals=new Array();	var arrReturn=new Array();  // GET THE Key & VALUE PAIRS	arrTempPairs=document.location.search.substring(1).split("&");	for(var i=0;i<arrTempPairs.length;i++) {	  // GET EACH KEY AND VALUE		arrTempSep=arrTempPairs[i].split("=");		if(arrTempSep.length==2) {			arrQueryKeys[i]=arrTempSep[0];			arrQueryVals[i]=arrTempSep[1]; } }	for(var i=0;i<arrQueryKeys.length;i++) arrReturn[arrQueryKeys[i]]=arrQueryVals[i];	return arrReturn;}function frmObjSetFocus(docFrmElem) {	if(docFrmElem) {		docFrmElem.focus();		if(docFrmElem.type=="text" || docFrmElem.type=="textarea" || docFrmElem.type=="password") docFrmElem.select(); }}function validateEmail(docFrmElem, txtErrorMsg, blnOptional) {	if(docFrmElem) {		if(!docFrmElem.value && blnOptional) return true;		if(!txtErrorMsg) txtErrorMsg="Error at form entry: '"+docFrmElem.name+"'";		var regExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;		if(!regExp.test(docFrmElem.value)) {			alert(txtErrorMsg);			frmObjSetFocus(docFrmElem);			return false; }		return true; }	else return false;}function validateString(docFrmElem, txtErrorMsg, intMin, intMax, blnOptional) {	if(docFrmElem) {		if(!docFrmElem.value && blnOptional) return true;		if(!txtErrorMsg) txtErrorMsg="Error at form entry: '"+docFrmElem.name+"'";		if(!intMin) intMin=1;		if(!intMax) intMax=65535;		if(!docFrmElem.value || docFrmElem.value.length<intMin || docFrmElem.value.length>intMax) {			alert(txtErrorMsg);			frmObjSetFocus(docFrmElem);			return false; }		return true; }	else return false;}function validateContact(frmObj) {	var blnPassed=false;	if(frmObj) return (validateString(frmObj.frmName, "Please make sure you have entered your name.") && validateEmail(frmObj.frmEmail, "Please make sure you have entered a valid email address.") && validateString(frmObj.frmMessage, "Please make sure you have entered a message."));	return false;}// IMAGE FUNCTIONS *********************************************************************************************************var myNavImages=new Array, myNavSubImages=new Array, myNavNumImages=new Array;var myOtherImages=new Array;var myNavImagesPreOn=new Array, myNavImagesPreOff=new Array;var myNavSubImagesPreOn=new Array, myNavSubImagesPreOff=new Array;var myNavNumImagesPreOn=new Array, myNavNumImagesPreOff=new Array;var myOtherImagesPre=new Array;var intNavImagesPreOn=0, intNavImagesPreOff=0;var intNavSubImagesPreOn=0, intNavSubImagesPreOff=0;var intNavNumImagesPreOn=0, intNavNumImagesPreOff=0;var intOtherImagesPre=0;function preloadImg() {  // UN-COMMENT THIS TO CHECK PRELOAD!//	alert("NAV: "+intNavImagesPreOn+" & "+intNavImagesPreOff+"\nNAV-SUB: "+intNavSubImagesPreOn+" & "+intNavSubImagesPreOff+"\nNAV-NUM: "+intNavNumImagesPreOn+ " & "+intNavNumImagesPreOff+"\nOTHER: "+intOtherImagesPre);	function incCountOn() { intNavImagesPreOn++; }	function incCountOff() { intNavImagesPreOff++; }	function incCountSubOn() { intNavSubImagesPreOn++; }	function incCountSubOff() { intNavSubImagesPreOff++; }	function incCountNumOn() { intNavNumImagesPreOn++; }	function incCountNumOff() { intNavNumImagesPreOff++; }	function incCountOther() { intOtherImagesPre++; }	if(br!="") {		var txtEvalOff=txtEvalSubOff=txtEvalNumOff="";		var intStart=intNavImagesPreOn;		for(var i=intStart;i<myNavImages.length;i++) {		  // PRELOAD THE ROLLOVER IMAGES FIRST			myNavImagesPreOn[i]=new Image();			myNavImagesPreOn[i].onload=incCountOn;			myNavImagesPreOn[i].src=(myNavImages[i]+"on.gif");			txtEvalOff+="myNavImagesPreOff["+i+"]=new Image(); myNavImagesPreOff["+i+"].onload=incCountOff; myNavImagesPreOff["+i+"].src=\""+myNavImages[i]+"off.gif\"; "; }		var intStart=intNavSubImagesPreOn;		for(var i=intStart;i<myNavSubImages.length;i++) {		  // PRELOAD THE ROLLOVER IMAGES FIRST			myNavSubImagesPreOn[i]=new Image();			myNavSubImagesPreOn[i].onload=incCountSubOn;			myNavSubImagesPreOn[i].src=(myNavSubImages[i]+"on.gif");			txtEvalSubOff+="myNavSubImagesPreOff["+i+"]=new Image(); myNavSubImagesPreOff["+i+"].onload=incCountSubOff; myNavSubImagesPreOff["+i+"].src=\""+myNavSubImages[i]+"off.gif\"; "; }		intStart=intNavNumImagesPreOn;		for(var i=intStart;i<myNavNumImages.length;i++) {		  // PRELOAD THE ROLLOVER IMAGES FIRST			myNavNumImagesPreOn[i]=new Image();			myNavNumImagesPreOn[i].onload=incCountNumOn;			myNavNumImagesPreOn[i].src=(myNavNumImages[i]+"on.gif");			txtEvalNumOff+="myNavNumImagesPreOff["+i+"]=new Image(); myNavNumImagesPreOff["+i+"].onload=incCountNumOff; myNavNumImagesPreOff["+i+"].src=\""+myNavNumImages[i]+"off.jpg\"; "; }		for(var i=intOtherImagesPre;i<myOtherImages.length;i++) {			myOtherImagesPre[i]=new Image();			myOtherImagesPre[i].src=(myOtherImages[i]);			myOtherImagesPre[i].onload=incCountOther; }		if(txtEvalOff!="") eval(txtEvalOff);		if(txtEvalSubOff!="") eval(txtEvalSubOff);		if(txtEvalNumOff!="") eval(txtEvalNumOff); }}function imgCheckPreload() {  // MAKE SURE ALL IMAGES HAVE BEEN PRELOADED  // THE PRELOAD FUNCTION CAN BE STOPPED BY A CALL TO ANOTHER FUNCTION, E.G. NAVIGATION ROLLOVER!	if(intNavImagesPreOn!=myNavImages.length || intNavImagesPreOff!=myNavImages.length || intNavSubImagesPreOn!=myNavSubImages.length || intNavSubImagesPreOff!=myNavSubImages.length || intNavNumImagesPreOn!=myNavNumImages.length || intNavNumImagesPreOff!=myNavNumImages.length || intOtherImagesPre!=myOtherImages.length) preloadImg();}function imgSwap(imgName, imgSrc) {	if(br!="") {		if(document[imgName] && imgSrc) document[imgName].src=imgSrc;		window.focus();// COMMENTED-OUT TO SPEED-UP ROLLOVER//		imgCheckPreload();	}}var navSel=navSubSel=-1;var navNumSel=navNumDupSel=0;function imgNavigation(imgNumber, imgType, imgStatus) {	var imgSelected=-1;	var txtImgSrc=txtImgSrcSel="";	var blnSelected=false;	if((imgType=="nav" || imgType=="navSub" || imgType=="navNum" || imgType=="navNumDup") && (imgStatus=="off" || imgStatus=="on" || imgStatus=="sel") && !isNaN(parseInt(imgNumber))) {		if(imgStatus=="sel") {			blnSelected=true;			imgStatus="on"; }		if(imgType=="nav") {			imgSelected=navSel;			txtImgSrc=myNavImages[parseInt(imgNumber)];			if(blnSelected) txtImgSrcSel=myNavImages[parseInt(imgSelected)]; }		else if(imgType=="navSub") {			imgSelected=navSubSel;			txtImgSrc=myNavSubImages[parseInt(imgNumber)];			if(blnSelected) txtImgSrcSel=myNavSubImages[parseInt(imgSelected)]; }		else if(imgType=="navNum") {			imgSelected=navNumSel;			txtImgSrc=myNavNumImages[parseInt(imgNumber)];			if(blnSelected) txtImgSrcSel=myNavNumImages[parseInt(imgSelected)]; }		else if(imgType=="navNumDup") {			imgSelected=navNumDupSel;			txtImgSrc=myNavNumImages[parseInt(imgNumber)];			if(blnSelected) txtImgSrcSel=myNavNumImages[parseInt(imgSelected)]; }		if(imgNumber!=imgSelected) {			document[imgType+imgNumber.toString()].src=txtImgSrc+imgStatus+".gif";			if(blnSelected && txtImgSrcSel!="") {				if(imgSelected!=-1) document[imgType+imgSelected.toString()].src=txtImgSrcSel+"off.gif";				eval(imgType+"Sel=imgNumber;"); } } }	imgCheckPreload();}function Banner(txtName) {	this.txtName=txtName;	this.arrImages=new Array();	for(var i=0;i<arguments.length-1;i++) {		this.arrImages[i]=arguments[i+1];		if(i==1) {		  // PRELOAD FIRST IMAGE			var imgTemp=new Image();			imgTemp.src=arguments[i+1]; } }	this.intDisplayed=0;	this.blnPreloaded=false;}function bannerStart() {  // DONE LIKE THIS SO THEY ROTATE AT DIFFERENT TIMES	bannerSwap(banner1);	setTimeout("bannerSwap(banner4)", intStartDelay);	setTimeout("bannerSwap(banner2)", (intStartDelay*2));	setTimeout("bannerSwap(banner3)", (intStartDelay*3));}function bannerSwap(objName) {	if(objName.arrImages.length>0) {		if(objName.intDisplayed>=(objName.arrImages.length-1)) objName.intDisplayed=0;		else objName.intDisplayed++;		imgSwap(objName.txtName, objName.arrImages[objName.intDisplayed]);		if(!objName.blnPreloaded) {			var intTemp=((objName.intDisplayed>=(objName.arrImages.length-1))?0:(objName.intDisplayed++));			if(intTemp==0) objName.blnPreloaded=true;			else {			  // PRELOAD NEXT IMAGE				var imgTemp=new Image();				imgTemp.src=objName.arrImages[intTemp]; } }		setTimeout("bannerSwap("+objName.txtName+")", intTimer); }}// SUB NAVIGATION FUNCTION *************************************************************************************************function layerSubNav(intNav, intNavSub) {	if(br && !isNaN(parseInt(intNav)) && top.topFrameNav && intNavSub!=6) {		if(top.topFrameNav.location.pathname=="/blank.htm") top.topFrameNav.location.href="/frame_nav.htm?sel="+intNav;		else top.topFrameNav.imgNavigation(intNav, 'nav', 'sel'); }	if(br && top.topFrameNavSub && intNavSub!=6) {		if(intNav==1) {			if(!intNavSub) intNavSub=0;			if(top.topFrameNavSub.location.pathname=="/blank.htm") top.topFrameNavSub.location.href="/frame_nav_serv.htm?serv="+intNavSub;			else if(top.topFrameNavSub.navSubSel!=intNavSub) top.topFrameNavSub.imgNavigation(intNavSub, 'navSub', 'sel'); }		else if(top.topFrameNavSub.location.pathname!="/blank.htm") {			top.topFrameNavSub.location.href="/blank.htm";			top.topFrameNavSub.navSubSel=-1; } }  // THE CONTACT "CLICK" HAS TO BE DONE ON ITS OWN AS IT IS A DIFFERENT DOMAIN!  // THE NAVIGATION SHOULB ALREADY BE THERE!	if(br && parseInt(intNav)==6) imgNavigation(6, 'nav', 'sel');}// WINDOW FUNCTION *********************************************************************************************************function checkForFrameset() {	if(self.location.href==top.location.href) top.location.href="/index.htm";}function winNew(winName, url, theWidth, theHeight, scroll, showToolbar, allowResize, showStatus, showMenubar, showLocation) {	if(url && !isNaN(parseInt(theWidth)) && !isNaN(parseInt(theHeight))) {		intLeft=(screen.width)?(screen.width-theWidth)/2:0;		intTop=(screen.height)?(screen.height-theHeight)/2:0;		params="width="+theWidth+",height="+theHeight+",left="+intLeft+",top="+intTop+",scrollbars=";		params+= (scroll) ? scroll:"no";		params+=",toolbar=";		params+= (showToolbar) ? showToolbar:"no";		params+=",resizable=";		params+= (allowResize) ? allowResize:"no";		params+=",status=";		params+= (showStatus) ? showStatus:"no";		params+=",menubar=";		params+= (showMenubar) ? showMenubar:"no";		params+=",location=";		params+= (showLocation) ? showLocation:"no";		popupName=window.open(url, winName, params);		if(popupName) popupName.focus();		return false; }}// CONFIGURATION ***********************************************************************************************************/* NAVIGATION */myNavImages[0]="images/comp";myNavImages[1]="images/serv";myNavImages[2]="images/guar";myNavImages[3]="images/did";myNavImages[4]="images/data";myNavImages[5]="images/case";myNavImages[6]="images/cont";/* IMAGE CHANGE NAVIGATION - DONE TWICE, AS IT IS DISPLAYED TWICE */myNavNumImages[0]="images/Im01";myNavNumImages[1]="images/Im02";myNavNumImages[2]="images/Im03";myNavNumImages[3]="images/Im04";/* SUB-NAVIGATION *//* these are in the code of each of these pages - as they are specific to an individual page only */