// GLOBAL VARIABLES ********************************************************************************************************
var redirectTo="http://www.victoriaartgallery.co.uk";
var allowedURLs=new String("www.victoriaartgallery.local,www.victoriaartgallery.co.uk,www.secure.je");
eval("var myRE = /"+top.location.hostname+"\\b/i \n"+
  "if(!myRE.test(allowedURLs)) top.location.href=redirectTo;");

var br=brPlatform="";
if(navigator.appVersion.indexOf("Win")!=-1) var brPlatform="windows";
else var brPlatform="Other";
if(document.getElementById) {
	docLay="document.getElementById";
	if(navigator.appName=="Microsoft Internet Explorer") br="IE";
	else br="NS6";
	var txtBrack1="(";
	var txtBrack2=")";
	var txtStyle=".style";
	var txtShow="visible";
	var txtHide="hidden"; }
else if(document.all) {
	br="IE";
	docLay="document.all";
	var txtBrack1="[";
	var txtBrack2="]";
	var txtStyle=".style";
	var txtShow="visible";
	var txtHide="hidden"; }
else if(document.layers) {
	br="NS";
	docLay="document.layers";
	var txtBrack1="[";
	var txtBrack2="]";
	var txtStyle="";
	var txtShow="show";
	var txtHide="hide"; }

// DETECTION FUNCTION ******************************************************************************************************
var flash2Installed=false;
var flash3Installed=false;
var flash4Installed=false;
var flash5Installed=false;
var flash6Installed=false;
var blnDisplayFlash=false;
function detectFlash() {
	if(br=="IE" && brPlatform=="windows") {
		document.write('<SCR' + 'IPT LANGUAGE=VBScript\>\n');
		document.write('on error resume next \n');
		document.write('flash2Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2")))\n');
		document.write('flash3Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3")))\n');
		document.write('flash4Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4")))\n');
		document.write('flash5Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))\n');
		document.write('flash6Installed=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6")))\n');
		document.write('</SCR' + 'IPT\> \n'); }
	if(navigator.plugins) {
		if(navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var isVersion2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";
			var flashDescription=navigator.plugins["Shockwave Flash"+isVersion2].description;
			var flashVersion=parseInt(flashDescription.charAt(flashDescription.indexOf(".")-1));
			flash2Installed=(flashVersion==2);
			flash3Installed=(flashVersion==3);
			flash4Installed=(flashVersion==4);
			flash5Installed=(flashVersion==5);
			flash6Installed=(flashVersion==6); } }
	for(var i=2;i<=flashMaxVersion;i++) { if(eval("flash"+i+"Installed")==true) flashActualVersion=i; }
	blnDisplayFlash=(flashActualVersion>=flashRequiredVersion);
}

// FORM FUNCTIONS **********************************************************************************************************
function frmObjSetFocus(docFrmElem) {
	if(docFrmElem) {
		docFrmElem.focus();
		if(docFrmElem.type=="text" || docFrmElem.type=="textarea" || docFrmElem.type=="password") docFrmElem.select(); }
}
function frmCheckDropDowns(blnIgnoreCheck) {
	if(document.frmSearch && !blnIgnoreCheck) {
		var frmObj=document.frmSearch;
		if(frmObj.sAr.selectedIndex==0 && frmObj.sSt.selectedIndex==0 && frmObj.sMe.selectedIndex==0 && frmObj.sSu.selectedIndex==0 && frmObj.sPr.selectedIndex==0) {
			alert("Please select an item from one of the drop-downs.\nIf you want to view all of the images currently available click: 'View All Images'.");
			return false; } }
	return true;
}
function frmCheckCustom() {
	if(document.frmSearchCustom) {
		var frmObj=document.frmSearchCustom;
		if(frmObj.sCu.value=="") {
			alert("Please make sure you have entered something in the text entry.\nIf you want to view all of the images currently available click: 'View All Images'.");
			return false; } }
	return true;
}
function frmCheckContact(frmObj) {
	var blnPassed=true;
	if(frmObj) {
		layerMakeHidden('divContactName');
		layerMakeHidden('divContactEmail');
		layerMakeHidden('divContactEnquiry');
		if(!(blnPassed=validateString(frmObj.frmContactName, "Please make sure you have entered your name."))) layerMakeVisible('divContactName');
		else if(!(blnPassed=validateEmail(frmObj.frmContactEmail, "Please make sure you have entered a valid email address."))) layerMakeVisible('divContactEmail');
		else if(!frmObj.frmContactSubscribe.checked){
			if(!(blnPassed=validateString(frmObj.frmContactEnquiry, "Please make sure you have either entered an enquiry or chosen to subscribe to our mailing list."))) layerMakeVisible('divContactEnquiry'); } }
	return blnPassed;
}

// IMAGE FUNCTIONS *********************************************************************************************************
var myOtherImages=new Array;
var preOtherImages=new Array;
function imgPreload() {
	if(br!="") {
		for(var i=0;i<arguments.length;i++) {
			preOtherImages[i]=new Image();
			preOtherImages[i].src=arguments[i]; } }
}
function imgSwap(imgName, imgSrc) {
	if(br!="") {
		if(document[imgName]) {
			if(document[imgName].src!=imgSrc) document[imgName].src=imgSrc; } }
}

// LAYER FUNCTIONS *********************************************************************************************************
function layerMakeHidden(objLayer) {
	if(docLay) eval(docLay+txtBrack1+"'"+objLayer+"'"+txtBrack2+txtStyle+".visibility='"+txtHide+"';");
}
function layerMakeVisible(objLayer) {
	if(docLay) eval(docLay+txtBrack1+"'"+objLayer+"'"+txtBrack2+txtStyle+".visibility='"+txtShow+"';");
}

// VALIDATION FUNCTIONS ****************************************************************************************************
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;
}

// WINDOW FUNCTIONS ********************************************************************************************************
var timerID;
function winStatus(txt) {
  // NETSCAPE 6 WILL OVER-RIDE THE STATUS BAR TEXT WITH THE URL IF THERE IS NOT A SLIGHT DELAY!
  // - HOPEFULLY THIS WILL BE SORTED OUT IN THE FUTURE!?
	var displayMe;
	if(txt) displayMe=txt;
	else displayMe="";
	if(timerID) clearTimeout(timerID);
	if(br=="NS6") timerID=setTimeout("window.status='"+displayMe+"'",1);
	else window.status=displayMe;
	return true;
}
var popupName;
function winNew(winName, url, theWidth, theHeight, scroll, showToolbar, allowResize, showStatus, showMenubar, showLocation) {
	var txtNewHost="";
  // CHECK TO SEE IF THIS IS AN EXTERNAL URL
	if(url.indexOf("http")!=-1) {
	  // THIS IS USED SO WE CAN ALWAYS GIVE "FOCUS" TO POPUP (EVEN EXTERNAL)
		var arrItems=url.split(/\//, 2);
		if(arrItems.length>=2) {
			txtNewHost=arrItems[1];
		  // MAKE SURE WE'VE GOT RID OF ANY EMBEDDED USERNAME/PASSWORDS
			var arrURL=txtNewHost.split(/@/, 2);
			if(arrURL.length==2) txtNewHost=arrURL[1];
			else if(arrURL.length==1) txtNewHost=arrURL[0]; } }
	if(txtNewHost=="") txtNewHost=self.location.hostname;
	if((br!="IE") && (url.indexOf(".pdf")!=-1)) {
		top.location.href=url;
		return false; }
	if(url) {
		if(url.indexOf(".pdf")!=-1) {
			theWidth=770;
			theHeight=550; }
		else if(winName=="winImage") {
			theWidth=600;
			theHeight=544;
			allowResize="1"; }
		else if(self.location.hostname!=txtNewHost) {
			theWidth=798;
			theHeight=520;
			scroll=showToolbar=allowResize=showStatus=showMenubar=showLocation="yes";
			allowResize="1"; }
		if(!isNaN(parseInt(theWidth)) && !isNaN(parseInt(theHeight))) {
			intLeft=(screen.width)?(screen.width-theWidth)/2:0;
			if(self.location.hostname!=txtNewHost) intTop=10;
			else 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);
			return false; } }
	if(!popupName) return true;
}
function winFitPicture() {
	var iWidth=(br=="NS")?window.innerWidth:document.body.clientWidth;
	var iHeight=(br=="NS")?window.innerHeight:document.body.clientHeight;
	iWidth=document.images[0].width-iWidth;
	iHeight=document.images[0].height-iHeight;
	window.resizeBy(iWidth, iHeight);
}

// CONFIGURATION ***********************************************************************************************************
var flashRequiredVersion=4;	// FLASH: VERSION USER NEEDS TO VIEW SITE
var flashMaxVersion=6;		// FLASH: HIGHEST VERSION
var flashActualVersion=0;	// FLASH: VERSION USER HAS
// detectFlash();
