/*
    EMERSON COLLEGE
    (c) 2006
	Performing Arts Admission
*/

/* Current Page Reference
	http://javascript.about.com/od/guidesscriptindex/a/url.htm
	copyright Stephen Chapman, 1st Jan 2005
	you may copy this function but please keep the copyright notice with it
*/
function getURL(uri) {
	uri.dir = location.href.substring(0,location.href.lastIndexOf('\/'));
	uri.dom = uri.dir; if (uri.dom.substr(0,7) == 'http:\/\/') uri.dom = uri.dom.substr(7);
	uri.path = ''; var pos = uri.dom.indexOf('\/'); if (pos > -1) {uri.path = uri.dom.substr(pos+1); uri.dom = uri.dom.substr(0,pos);}
	uri.page = location.href.substring(uri.dir.length+1,location.href.length+1);
	pos = uri.page.indexOf('?');if (pos > -1) {uri.page = uri.page.substring(0, pos);}
	pos = uri.page.indexOf('#');if (pos > -1) {uri.page = uri.page.substring(0, pos);}
	uri.ext = ''; pos = uri.page.indexOf('.');if (pos > -1) {uri.ext =uri.page.substring(pos+1); uri.page = uri.page.substr(0,pos);}
	uri.file = uri.page;
	if (uri.ext != '') uri.file += '.' + uri.ext;
	if (uri.file == '') uri.page = 'index';
	uri.args = location.search.substr(1).split("?");
	return uri;
}

var uri = new Object();
getURL(uri);

/*
	Color Functions
*/

function hextorgb(hex) {
	
	hextorgb_R = parseInt(((hex.charAt(0)=="#") ? hex.substring(1,7) : hex).substring(0,2),16);
	hextorgb_G = parseInt(((hex.charAt(0)=="#") ? hex.substring(1,7) : hex).substring(2,4),16);
	hextorgb_B = parseInt(((hex.charAt(0)=="#") ? hex.substring(1,7) : hex).substring(4,6),16);
	
	return "rgb("+hextorgb_R+", "+hextorgb_G+", "+hextorgb_B+")";
	
}


function rgbtohex(rgbString) {
	
	rgbString_fix = rgbString.replace(/rgb\(/,"").replace(/\)/,'');
	rgbArray = new Array();
	rgbArray = rgbString_fix.split(", ");
	
	var hs='0123456789abcdef';
	
	var hex1=hs.charAt((rgbArray[0]>>4)&0xf)+hs.charAt(rgbArray[0]&0xf);
	var hex2=hs.charAt((rgbArray[1]>>4)&0xf)+hs.charAt(rgbArray[1]&0xf);
	var hex3=hs.charAt((rgbArray[2]>>4)&0xf)+hs.charAt(rgbArray[2]&0xf);
	var hextot=hex1+hex2+hex3;
	
	return '#'+hextot;
	
}

/*
	Document title change
*/
function documentTitle(msg) {
	
	if (msg == undefined || msg == "") {
		msgTitle = "Emerson College | StageDoor";
	} else {
		msgTitle = msg;
	}
	
	document.title = msgTitle;
	
}

// Clear Debug Information
function clearDebug() {
	$('debug').innerHTML = "";
}


/*
	Automatic Window Scrolling
*/

var scrollWindowFix_scrollSteps = 10;
var scrollWindowFix_timer="";

function scrollWindowFix(id){
	
	// Only fires if IE less-than 7 is used
	if (BrowserDetect.browser == "Explorer" && BrowserDetect.version < 7) {

		clearTimeout(scrollWindowFix_timer);
		doc=window.document.body;
		obj=window.document.getElementById(id);
	
		if (doc.scrollTop <= obj.offsetTop-scrollWindowFix_scrollSteps) {
			window.scrollTo(0,scrollWindowFix_scrollSteps);
			scrollWindowFix_timer=setTimeout("scrollWindowFix(\'"+id+"\')",10);
	
			if (doc.scrollTop>(doc.scrollHeight-doc.clientHeight)-scrollWindowFix_scrollSteps) {
					clearTimeout(scrollWindowFix_timer);
					doc.scrollTop=doc.scrollHeight-doc.clientHeight;
			}
			
		} else {
	
			if (doc.scrollTop >= obj.offsetTop+scrollWindowFix_scrollSteps) {
				window.scrollTo(0,-scrollWindowFix_scrollSteps);
				scrollWindowFix_timer=setTimeout("scrollWindowFix(\'"+id+"\')",10);
			} else {
				clearTimeout(scrollWindowFix_timer);
				doc.scrollTop=obj.offsetTop;
			}
	
		}
	}
}

function toTop() {
	clearTimeout(scrollWindowFix_timer);
	if (window.document.body.scrollTop >= scrollWindowFix_scrollSteps) {
		window.scrollTo(0,-scrollWindowFix_scrollSteps);
		scrollWindowFix_timer=setTimeout("toTop()",10);
	} else {
		clearTimeout(scrollWindowFix_timer);
		window.document.body.scrollTop=0;
	}
}


// Macromedia (Adobe) Functions

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_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_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];}
}

/*
	ppk's Brower Detect
*/
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"
		}
	]

};
BrowserDetect.init();
