// JavaScript Document
var activeDialog=false;
var activeMenu=false;
var activeMenus=new Array();
var dialogs=new Array();
var tipArray=new Array();
var libSrc="lib/";
var contentSrc="content/";
var pgSrc="http://www.fortcollinschildrenstheatre.org/";
var xmlLead='<?xml version="1.0" encoding="iso-8859-1" ?>'
var localWindow="";

function clearMenuDialog(){
	hideDialog();
}

function reSize(){
	if(activeMenus.length>0) positionMenus();
	if(dialogs.length>0){dialogs.each(function(s){positionDialog(s);});}
	if(tipArray.length>0) positionTips();

	$('imageTrack').setStyle({
		width: (document.viewport.getWidth() - 0) + "px"
	});
	$('horizDivider').setStyle({
		width: (document.viewport.getWidth() - 133 + 1) + "px"
	});
	$('leftSideBar').setStyle({
		height: "100%"
	});
	$('welcome').setStyle({
		top: "17px",
		left: ((document.viewport.getWidth()/2)-($('welcome').getWidth()/2) + 63) + "px"
	});
	
	if(pageName=="leadPage") leadPageResize();
	
}

function loadTrackImages(xDoc){
	var iList=xDoc.getElementsByTagName("barImage");
	for(var i=0;i<iList.length;i++){//BUILD INITIAL ARRAY
		imgSrc=rootPath + iList[i].getAttribute("fileName")
		trackArray.push(imgSrc);
	}
	for(var j=0;j<iList.length;j++){//RANDOMIZE ARRAY
		var idx=genRandom(0,iList.length)
		var insImg=trackArray.pop();
		trackArray.splice(idx,0,insImg);
	}
	for(var k=0;k<iList.length;k++){//BUILD IMAGE TRACK
		var newImg=document.createElement("IMG")
		newImg.src=trackArray[k];
		var imgHolder=document.createElement("DIV");
		imgHolder.className="imageDiv";
		imgHolder.appendChild(newImg);
		$('imageTrack').appendChild(imgHolder);
		imgHolder.style.left=(k*150) + "px";
	}
	trackTimer=setTimeout(moveImages,10);
	pageReq(xmlLead + '<Request type="' + pageRequest + '" />');
}

function loadSidebar(xDoc){
	var sbTable =document.createElement("TABLE");
	sbTable.className="basic";
	sbTable.width="100%";
	var sbBody =document.createElement("TBODY");
	var sbCell =document.createElement("TD");
	sbCell.style.padding="6px";
	var sbList=xDoc.getElementsByTagName("sideBar");
	for(var i=0;i<sbList.length;i++){
		if(i>0){
			var barCell=sbCell.cloneNode(true);
			barCell.innerHTML='<img src="' + pgSrc + 'images/sidebar/sidebar_divider.png" width="120" height="3">';
			var rowDiv=document.createElement("TR");
			rowDiv.appendChild(barCell);
			sbBody.appendChild(rowDiv)
		}
				
		var titleCell=sbCell.cloneNode(true);
		titleCell.className="subhead2 font_14";
		var tNode=sbList[i].getElementsByTagName("sbTitle");
		titleCell.innerHTML=tNode[0].childNodes[0].nodeValue;
		var row1=document.createElement("TR");
		row1.appendChild(titleCell);
		sbBody.appendChild(row1);
		
		var descCell=sbCell.cloneNode(true);
		var dNode=sbList[i].getElementsByTagName("sbContent")
		descCell.innerHTML=dNode[0].childNodes[0].nodeValue;
		var row2=document.createElement("TR");
		row2.appendChild(descCell);
		sbBody.appendChild(row2);
		
		var subNode=sbList[i].getElementsByTagName("sbSubhead");
		if(subNode[0].childNodes[0].nodeValue!=""){
			var shCell=sbCell.cloneNode(true);
			shCell.className="font_11 font_bold";
			shCell.innerHTML=subNode[0].childNodes[0].nodeValue;
			var row3=document.createElement("TR");
			row3.appendChild(shCell);
			sbBody.appendChild(row3);
		}
		
		var linkNode=sbList[i].getElementsByTagName("sbLink");
		if(linkNode[0].childNodes[0].nodeValue!=""){
			var linkCell=sbCell.cloneNode(true);
			var sbLink=document.createElement("A");
			sbLink.href=linkNode[0].getAttribute("loc");
			sbLink.innerHTML=linkNode[0].childNodes[0].nodeValue;			
			linkCell.appendChild(sbLink);
			var row4=document.createElement("TR");
			row4.appendChild(linkCell);
			sbBody.appendChild(row4);
		}
	}
	sbTable.appendChild(sbBody);
	$("sidebarTable").update(sbTable);
}

function loadPage(dest){
	window.location=pgSrc + dest;
}

function rollover(show,imgID,baseImg,rollImg){
	var srcImg=$(imgID);
	srcImg.baseImg=baseImg;
	srcImg.rollImg=rollImg;
	if(show){
		srcImg.src=srcImg.rollImg
	}else{
		srcImg.src=srcImg.baseImg;
	}
}

function rollImage(show,imgID){
	var srcImg=$(imgID);
	if(show){
		srcImg.src=srcImg.lightImg;
	}else{
		srcImg.src=srcImg.baseImg;
	}
}

function buildDialog(dName,parentObj,lOff,tOff){
	var dg=$(dName);
	var pObj=$(parentObj);
	dg.parentObj=pObj;
	dg.leftOffset=lOff;
	dg.topOffset=tOff;
	dg.setStyle({
		left: "0px",
		top:"0px"
	});
	dialogs.push(dg);
}

function showDialog(dName){
	var dg=$(dName);
	positionDialog(dg);
	dg.show();
	reSizing();
}

function positionDialog(dg){
	var pObj=dg.parentObj;
	var lOff=dg.leftOffset;
	var tOff=dg.topOffset;
	
	var pLeft=pObj.cumulativeOffset().left;
	var pTop=pObj.cumulativeOffset().top;
	
	docWid=document.viewport.getWidth();
	docHgt=document.viewport.getHeight();
	
	diaWid=dg.getWidth();
	diaHgt=dg.getHeight();
	
	if((pLeft+diaWid+dg.leftOffset)>docWid){
		dg.setStyle({left:(docWid-diaWid-25)+"px"});
	}else{
		dg.setStyle({left:(pLeft+diaWid+dg.leftOffset)+"px"});
	}
	
	if((pTop+diaHgt+dg.topOffset)>docHgt){
		dg.setStyle({top:(docHgt-diaHgt-5)+"px"});
	}else{
		dg.setStyle({top:(pTop+dg.topOffset)+"px"});
	}
}

function hideDialog(){
	var divList=$$("DIV");
	divList.each(function(s){
		if(s.id.startsWith('dia') && !activeDialog){
			s.hide();
			if(validationAR){
				validationAR.each(function(s){s.setStyle({color:'#000000'})});
			}
		}
	});
}

function reqMenu(qStr){
	new Ajax.Request(libSrc + "menuProcess.aspx",{
		contentType: 'text/xml',
		postBody: qStr,
		onSuccess: function(transport){menuAction(transport);}
	});
}

function menuAction(reqObj) {
	if (reqObj.readyState == 4) {
		if (reqObj.status == 200) {
			var root_node;
			var	xmlObject=reqObj.responseXML;
			if(xmlObject==null) xmlObject = (new DOMParser()).parseFromString(reqObj.responseText, "text/xml");
			root_node = xmlObject.getElementsByTagName("Response");
			var aType=root_node[0].getAttribute("type");
			switch (aType){
				case "menuData":
					buildMenu(xmlObject);
					break;
				case "regMenu":
					buildRegMenu(xmlObject);
					break;
				case "gotoPage":
					if(root_node[0].getAttribute("status")=="proceed"){
						window.location=root_node[0].getAttribute("targetFile");
					}else if(root_node[0].getAttribute("status")=="not found"){
						alert("The requested page is still in development\n\nIf this content is mission critical, please inquire with the web master for development update.");
					}
					break;
				case "noLogin":
					dest=pgSrc + "index.aspx";
					window.location=(dest);
					break;
				default:
					alert("unrecognized request: " + aType + "\n" + reqObj.responseText);
			}
		}
	}
}

function reqTestimonials(qStr){
	new Ajax.Request(libSrc + "testimonialProcess.aspx",{
		contentType: 'text/xml',
		postBody: qStr,
		onSuccess: function(transport){testimonialAction(transport);}
	});
}

function testimonialAction(reqObj) {
	if (reqObj.readyState == 4) {
		if (reqObj.status == 200) {
			var root_node;
			var	xmlObject=reqObj.responseXML;
			if(xmlObject==null) xmlObject = (new DOMParser()).parseFromString(reqObj.responseText, "text/xml");
			root_node = xmlObject.getElementsByTagName("Response");
			var aType=root_node[0].getAttribute("type");
			switch (aType){
				case "testimonialData":
					buildTestimonials(xmlObject);
					break;
				default:
					alert("unrecognized request: " + aType + "\n" + reqObj.responseText);
			}
		}
	}
}

function buildErrorResponse(resp){
	alert("The request returned an error: " + resp);
}

function isVisible(elem){
	try{
		var isVis=true;
		var anc=elem.ancestors();
		anc.each(function (j){
			if(!j.visible()){isVis=false;}   
		});
		return isVis;
	}catch(e){
		return false;
	}
}

function genRandom(upper,lower){
	var rndNum=parseInt((upper - lower + 1)*Math.random() + lower);
	return rndNum;
}

function selectItem(frmName,searchItem,lName){
	var frm;
	var isFound=false;
	((frmName=="") ? frm=document.forms[0] : frm=document[frmName])
	var opts=frm[lName].options;
	for(y=0;y<opts.length;y++){
		if(searchItem==opts[y].value){opts[y].selected=true; isFound=true;}
	}
	if(!isFound){
		opts[0].selected=true; 
	}
}

function parseQS(keyName){
	qs=location.search.substring(1,location.search.length)
	var args = qs.split('&') // parse out name/value pairs separated via &
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=');
		if(pair[0]==keyName){
			return unescape(pair[1]);
		}
	}
	return "";
}
//DATE UTILITIES
Date.prototype.getDayName = function(shortName) {
   var Days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
   if (shortName) {
      return Days[this.getDay()].substr(0,3);
   } else {
      return Days[this.getDay()];
   }
}

Date.prototype.getMonthName = function() {
   return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][this.getMonth()]; 
}

//Dreamweaver standard functions

function 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 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=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 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=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function swapImage() { //v3.0
  var i,j=0,x,a=swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
