﻿// JavaScript Document

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

function fixPNG(myImage) { // correctly handle PNG transparency in Win IE 5.5 or higher.
	if (window.ie55up)
	 {
	 var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
	 var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
	 var imgTitle = (myImage.title) ? "title='" + myImage.title + "' " : "title='" + myImage.alt + "' "
	 var imgStyle = "display:inline-block;" + myImage.style.cssText 
	 var strNewHTML = "<span " + imgID + imgClass + imgTitle
	 strNewHTML += " style=\"" + "width:" + myImage.width + "px; height:" + myImage.height + "px;" + imgStyle + ";"
	 strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	 strNewHTML += "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>" 
	 myImage.outerHTML = strNewHTML
	 }
}

function getParameter(parameterName) {
	var queryString = window.location.search.substring(1).toLowerCase();
	var parameters = new Array();
	parameters = queryString.split('&');
	for(var i = 0; i < parameters.length; i++) {
	  if (parameters[i].indexOf(parameterName.toLowerCase())>=0) {
	    var parameterValue = new Array();
	    parameterValue = parameters[i].split('=');
	    return decodeURI(parameterValue[1]);
	  }
	}
	return "null";
}


// BEGIN: Rollover / preload functions
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// END: Rollover / preload functions

function popCentered(fileURL,windowName,contentWidth,contentHeight) {
	var x = (screen.width) ? ( screen.width - contentWidth ) / 2 : 0;
	var y = (screen.height) ? ( screen.height - contentHeight ) / 2 : 0;
	var settings = 'height=' + contentHeight + ',width=' + contentWidth + ',top='+y+',left='+x+',resizable=no,status=no,menubar=no,scrollbars=no';
	//myWin = window.open(fileURL,windowName,settings); changed to use "_blank" and launch new windows each time
	myWin = window.open(fileURL,"_blank",settings);
}

function popVideo(vidWidth,vidHeight,vidTitle,vidPath) {
	var windowWidth = vidWidth + 50;
	var windowHeight = vidHeight + 110;
	var videoURL = encodeURI("/videopop.html?vidWidth=" + vidWidth + "&vidHeight=" + vidHeight + "&vidTitle=" + vidTitle + "&vidPath=" + vidPath);
	if(typeof(myWin) != "undefined") {
		myWin.close();
	};
	popCentered(videoURL,'artsPopVideo',windowWidth,windowHeight);
}

function popImage(imgTitle,imgPath) {
	var popImage = new Image();
	popImage.src=imgPath;

	function getDimensions() {
		if((popImage.height != 0) && (popImage.width != 0)) {
			clearInterval(imgLoadCheck);
			var imgWidth = popImage.width;
			var imgHeight = popImage.height;
			var windowWidth = popImage.width + 50;
			var windowHeight = popImage.height + 110;
			var imgURL = encodeURI("/imagepop.html?imgWidth=" + imgWidth + "&imgHeight=" + imgHeight + "&imgTitle=" + imgTitle + "&imgPath=" + imgPath);
			if(typeof(myWin) != "undefined") {
				myWin.close();
			};
			popCentered(imgURL,'artsPopImage',windowWidth,windowHeight);
		}
	}
	imgLoadCheck = setInterval(getDimensions,100);
}

// END: Pop-up functions

// BEGIN: Cookie functions
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1 
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
  {alert('Welcome again '+username+'!')}
else 
  {
  username=prompt('Please enter your name:',"")
  if (username!=null && username!="")
    {
    setCookie('username',username,365)
    }
  }
}
// END: Cookie functions

function getScreenName() {
	screenName = getCookie("ScreenName");
	if(screenName != "") {
		userName=screenName;
	} else {
		screenName = "notLoggedIn";
	}
	return screenName;
}

function noFlash(section) {
	if ($('noFlash') != null) {
		var redirectUrl = "/getflash.htmls";
		if (section != null) {
			if (section == "game") {
				redirectUrl = "/games/getflash.html";
			}
		}
		document.location.replace(redirectUrl);
	}
}


var myWin;
var userName = getScreenName();