
//
//Panwebtech JavaScript functions include file
// (C) www.panwebtech.co.uk
//
var blnState=new Array(10);
blnState[0]=true;
for(var j=1;j<11;j++)
	{
	blnState[j]=false;
	}
var imgImages=new Array(21);
var strState="off";
var bytCount=0;
for(var i=0;i<22;i++)
	{
	bytCount=i;
	if(i>=11){strState="on";bytCount=i-11;}
	imgImages[i]=new Image;
	imgImages[i].src="../images/tmenu"+strState+"_"+bytCount+".gif";
	}
function fSwapImage(strId,intState)
{
var objThis=document.getElementById("img"+strId);
var intId=parseInt(strId);
if(blnState[intId]){return true}
if(intState==1){intId+=11}
objThis.src=imgImages[intId].src;
}
function fForceImage(strId)
{
var intId=parseInt(strId);
for(var i=0;i<11;i++)
	{
	objThis=document.getElementById("img"+i);
	if(i!=intId)
		{
		blnState[i]=false;
		objThis.src=imgImages[i].src;
		}
	else
		{
		blnState[i]=true;
		objThis.src=imgImages[i+11].src;
		}
	}
return true;
}
function fNavigate(intId,intContentId,intForceId)
{
var strUrl;
var strAdditional="";
switch(intId)
	{
	case 0:
		strUrl="pages/freeflowpages.asp";
		break;
	case 1:
		strUrl="pages/freeflowpages.asp";
		break;
	case 2:
		strUrl="pages/freeflowpages.asp";
		break;
	case 3:
		strUrl="pages/freeflowpages.asp";
		break;
	case 4:
		strUrl="pages/freeflowpages.asp";
		break;
	case 5:
		strUrl="pages/freeflowpages.asp";
		break;
	case 6:
		strUrl="pages/freeflowpages.asp";
		break;
	case 7:
		strUrl="pages/freeflowpages.asp";
		break;
	case 8:
		strUrl="documents/documents.asp";
		break;
	case 9:
		strUrl="pages/freeflowpages.asp";
		break;
	case 10:
		strUrl="contact/contact.asp";
		atrAdditional="&mode=1"
		break;
	case 11:
		strUrl="privacy/privacy.asp";
		break;
	case 12:
		strUrl="terms/terms.asp";
		break;
	case 13:
		strUrl="news/news.asp";
		atrAdditional="&mode=1"
		break;
	}
strUrl="../"+strUrl+"?companyid=1&contentid="+intContentId+"&forceid="+intForceId+strAdditional;
window.location.href=strUrl;
return true;
}
function fSubscribe()
{
var strFields="";
strFields="txtForename|txtSurname|txtEmail";
strFields=strFields.split("|");
for(var i=0;i<strFields.length-1;i++)
	{
	objE=document.getElementById(strFields[i]);
	if(objE.value==""){alert("Please ensure you have supplied your Forename, Surname and Email Address");return false}
	}
document.forms.frmForm.method="post"
document.forms.frmForm.action="../onlineadvice/subscribe.asp?companyid="+fQueryString(window.location,"companyid")+"&contentid=0&forceid=9&mode=1";
document.forms.frmForm.submit();
return true;
}
function fRollover(blnRoll, objThis)
{
var bytIndex;
var strUrl;
if(blnRoll==1)
	{
	objThis.style.color="#cc0000";
	}
else
	{
	objThis.style.color="#7f0cc3";
	}
}
function fQueryString(objLocation, strName)
{
//Returns the value for the passed strName (Case insensitive)
var intIndex;
var strQueryLc;
var strQuery;

strQuery=objLocation.search;
strQueryLc=strQuery.toLowerCase();
strName=strName.toLowerCase()+"=";
intIndex=strQueryLc.indexOf(strName);
if(intIndex<0)
	{
	return "";
	}
intIndex=strQueryLc.indexOf("=",intIndex);
intIndex+=1;
strQuery=strQuery.slice(intIndex);
intIndex=strQuery.indexOf("&");
if(intIndex<0)
	{
	return strQuery;
	}
else
	{
	return strQuery.substring(0,strQuery.indexOf("&"));
	}
}
function fInputEmailCheck(objThis)
{
var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
var intLen=objThis.value.length;
var strString=objThis.value;
var bytReason=0;
var strReason="";
var intChar=0;
var strOutput="";
if(intLen==0)
	{
	return true;
	}
for(var i=0;i<intLen;i++)
	{
	intChar=strString.charCodeAt(i);
	if((intChar>48 && intChar<58)||(intChar>63 && intChar<91)||(intChar>96 && intChar<123)||(intChar>44 && intChar<47))
		{
		//unused
		}
	else
		{
		bytReason=1;
		intChar=0;
		}
	if(intChar)
		{
		strOutput+=String.fromCharCode(intChar);
		}
	}
if(!reg1.test(strOutput) && reg2.test(strOutput)) 
	{
	//unused
	}
else
	{
	bytReason=2;
	}
if(bytReason>0)
	{
	switch (bytReason)
		{
		case 1:
			strReason="One or more illegal characters have been replaced.";
			break;
		case 2:
			strReason="Not a valid email address fromat";
			break;
		}
	objThis.value=strOutput;
	alert("Please check the email address you just entered.\n\nReason: "+strReason);
	objThis.focus();
	}
return false;
}
function fInputDateCheck(objThis)
//Checks date format passed onChange event is dd/mm/yyyy
{
var strString=objThis.value;
var strBits=strString.split("/");
var strLimits="31|28|31|30|31|30|31|31|30|31|30|31".split("|");
var blnFailed;
if(strBits.length!=3){blnFailed=true}
if(!blnFailed)
	{
	for(var i=0;i<3;i++)
		{
		if(isNaN(strBits[i]))
			{
			blnFailed=true;
			break;
			}
		}
	}
if(!blnFailed)
	{
	if((strBits[0]<1)||(strBits[0]>31)||(strBits[1]<1)||(strBits[1]>12)||(strBits[2]<1900)||(strBits[2]>2020))
		{
		blnFailed=true;
		}
	}
if(!blnFailed)
	{
	for(i=0;i<12;i++)
		{
		if((strBits[1]==(i+1))&&(strBits[0]>strLimits[i])){blnFailed=true;break}
		}
	}
if(blnFailed)
	{
	alert("Please ensure that the date is correct and in the format (dd/mm/yyyy)");
	objThis.value="";
	objThis.focus();
	return false;
	}
return true;
}
function fInputNumberCheck(objThis,blnFloat,blnNeg,blnSpace)
{
var intLen=objThis.value.length;
var strString=objThis.value;
var intChar;
var strOutput="";
var bytReason=0;
var strReason;
var blnGotNeg=false;
var blnGotFloat=false;
if(intLen==0)
	{
	return true;
	}
for(var i=0;i<=intLen;i++)
	{
	intChar=strString.charCodeAt(i);
	intNext=strString.charCodeAt(i+1);
	if(intChar==46)
		{
		if(blnFloat)
			{
			if(i==0||(i==intLen)||blnGotFloat||(intNext==46))
				{
				intChar=0;
				bytReason=1;
				}
			blnGotFloat=true;
			}
		else
			{
			intChar=0;
			bytReason=2;
			}
		}
	if(intChar==45)
		{
		if(blnNeg)
			{
			if((i!=0)||blnGotNeg||(intNext==45))
				{
				intChar=0;
				bytReason=3;
				}
			blnGotNeg=true;
			}
		else
			{
			intChar=0;
			bytReason=4;
			}
		}
	if((intChar<48)||(intChar>57))
		{
		if((blnFloat&&(intChar!=46))||(blnNeg&&(intChar!=45)))
			{
			if(intChar==32)
				{
				if(!blnSpace)
					{
					intChar=0;
					bytReason=5;
					}
				}
			else
				{
				intChar=0;
				bytReason=6;
				}
			}
		}
	if(intChar)
		{
		strOutput+=String.fromCharCode(intChar);
		}
	}
if(bytReason>0)
	{
	switch (bytReason)
		{
		case 1:
			strReason="Decimal point out of position or duplicated.";
			break;
		case 2:
			strReason="Decimal point is not allowed.";
			break;
		case 3:
			strReason="Minus sign out of position or duplicated.";
			break;
		case 4:
			strReason="Negative values are not allowed.";
			break;
		case 5:
			strReason="The space character is not allowed.";
			break;
		case 6:
			strReason="Non-numeric character found.";
			break;
		}
	alert("Please check the value you just entered.\n\nReason: "+strReason);
	}
objThis.value=strOutput;
if(bytReason>0)
	{
	objThis.focus();
	objThis.select();
	}
return true;
}
function fDayTime()
{
//Simply returns Morning/Afternoon/Evening based on local client time

var dtDate;
var nHours;
var strDayTime = "evening";

dtDate = new Date();
nHours = dtDate.getHours();

if (nHours >= 0 && nHours < 12){strDayTime = "morning"}
if (nHours >= 12 && nHours < 18){strDayTime = "afternoon"}

return strDayTime;

}


function fWriteFooter(varLeft, varTop)
{
//Passed the varLeft and varTop coordinates for the default strFooter which is returned
//by this function and embedded on the calling page with the document.write method.
//If varTop and varLeft are zero then absolute positioning is overridden.

var strFooter;
var strPosition;

if ((varLeft == 0) && (varTop == 0))
        {
        strPosition = "";
        }
else
        {
        strPosition = 'position:relative; top:' + varTop + '; left:' + varLeft + '; ';
        }
        
strFooter = '<DIV id="divFooter" align="left" style="font-size:7pt; ';
strFooter = strFooter + strPosition
strFooter = strFooter + 'width:auto; height:auto; text-align:center">';
strFooter = strFooter + 'Copyright &copy; Web Motor Company Ltd. 2002 All Rights Reserved<BR>';
strFooter = strFooter + 'Forest Hall, Newcastle, Tyne and Wear. NE12 0NB.<BR>';
strFooter = strFooter + '<B>Tel:</B> 0191 1234567 <B>Fax:</B> 0191 7654321 <B>Email:</B> <A href="mailto:sales@webmotorcompany.co.uk?I have an enquiry" onMouseOver="fRollover(true, this)" onMouseOut="fRollover(false, this)">sales@webmotorcompany.co.uk</A><BR>';
strFooter = strFooter + 'View our <A href="../privacy/privacy.htm" onMouseOver="fRollover(true, this)" onMouseOut="fRollover(false, this)">privacy</A> statement.<BR>';
strFooter = strFooter + 'An <B><font color="#00AA00">e</font>Dealer</B> system by<A style="font-size:7pt" Href="http://www.panwebtech.co.uk" target="_blank" onMouseOver="fRollover(true, this)" onMouseOut="fRollover(false, this)">';
strFooter = strFooter + 'www.panwebtech.co.uk</A></DIV><BR><BR><BR><BR>';
return strFooter;
        
}

function fResize(intX, intY, objWindow)
{
//Resize the browser window to the passed parameters
var intCurrX;
var intCurrY;

objWindow.resizeTo(intX,intY);
if(self.innerWidth)
	{
	intCurrX=objWindow.self.innerWidth;
	intCurrY=objWindow.self.innerHeight;
	}
else
	{
	intCurrX=objWindow.document.body.clientWidth;
	intCurrY=objWindow.document.body.clientHeight;
	}
//Calculate sizing error based on amount of "Chrome"
intX=intX+(intX-intCurrX);
intY=intY+(intY-intCurrY);
//Resize correctly
objWindow.resizeTo(intX,intY);
return true;	
}

function fCentre(objWindow)
{
//Centre the browser
var intWidth=objWindow.self.screen.availWidth;
var intHeight=objWindow.self.screen.availHeight;
var intBWidth;
var intBHeight;
if(self.outerWidth)
	{
	intBWidth=objWindow.self.outerWidth;
	intBHeight=objWindow.self.outerHeight;
	}
else
	{
	intBWidth=objWindow.document.body.clientWidth;
	intBHeight=objWindow.document.body.clientHeight;
	}
objWindow.moveTo((intWidth-intBWidth)/2,(intHeight-intBHeight)/2);
return false;
}

function fToProper(strString)
{
//Return the passed string with all first leters capitalised
//only works on space delimited strings
var strSentence=new Array;
var i;
var bytChar;

strString=strString.toLowerCase();
strSentence=strString.split(" ");
for(i=0;i<strSentence.length;i++)
	{
	bytChar=strSentence[i].charCodeAt(0);
	if((bytChar>96)&&(bytChar<123))
		{
		bytChar-=32;
		strSentence[i]=String.fromCharCode(bytChar)+strSentence[i].substr(1,(strSentence[i].length)-1);
		}
	}
return strSentence.join(" ");
}
function fGetTarget(bytTab)
{
var strPage;
var strAdditional="";
var strUrl;
switch(bytTab)
	{
	case 0 :
		strPage="about";
		break;
	case 1 :
		strPage="conveyancing";
		break;
	case 2 :
		strPage="familylaw";
		break;
	case 3 :
		strPage="wills";
		break;
	case 4 :
		strPage="commercial";
		break;
	case 5 :
		strPage="contact";
		break;
	}
strUrl=strPage+"/"+strPage+".htm"+strAdditional;
return strUrl;
}
// Flash Version Detector  v1.2.1
// documentation: http://www.dithered.com/javascript/flash_detect/index.html
// license: http://creativecommons.org/licenses/by/1.0/
// code by Chris Nott (chris[at]dithered[dot]com)
// with VBScript code from Alastair Hamilton (now somewhat modified)


function isDefined(property) {
  return (typeof property != 'undefined');
}

var flashVersion = 0;
function fGetFlashVersion() {
	var latestFlashVersion = 8;
   var agent = navigator.userAgent.toLowerCase(); 
	
   // NS3 needs flashVersion to be a local variable
   if (agent.indexOf("mozilla/3") != -1 && agent.indexOf("msie") == -1) {
      flashVersion = 0;
   }
   
	// NS3+, Opera3+, IE5+ Mac (support plugin array):  check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		var flashPlugin = navigator.plugins['Shockwave Flash'];
		if (typeof flashPlugin == 'object') { 
			for (var i = latestFlashVersion; i >= 3; i--) {
            if (flashPlugin.description.indexOf(i + '.') != -1) {
               flashVersion = i;
               break;
            }
         }
		}
	}

	// IE4+ Win32:  attempt to create an ActiveX object using VBScript
	else if (agent.indexOf("msie") != -1 && parseInt(navigator.appVersion) >= 4 && agent.indexOf("win")!=-1 && agent.indexOf("16bit")==-1) {
	   var doc = '<scr' + 'ipt language="VBScript"\> \n';
      doc += 'On Error Resume Next \n';
      doc += 'Dim obFlash \n';
      doc += 'For i = ' + latestFlashVersion + ' To 3 Step -1 \n';
      doc += '   Set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash." & i) \n';
      doc += '   If IsObject(obFlash) Then \n';
      doc += '      flashVersion = i \n';
      doc += '      Exit For \n';
      doc += '   End If \n';
      doc += 'Next \n';
      doc += '</scr' + 'ipt\> \n';
      document.write(doc);
   }
		
	// WebTV 2.5 supports flash 3
	else if (agent.indexOf("webtv/2.5") != -1) flashVersion = 3;

	// older WebTV supports flash 2
	else if (agent.indexOf("webtv") != -1) flashVersion = 2;

	// Can't detect in all other cases
	else {
		flashVersion = flashVersion_DONTKNOW;
	}

	return flashVersion;
}

flashVersion_DONTKNOW = -1;