var edit_arrow_down_img='<img src="/img/elements/theaters_display.gif" width="7" height="5" border="0" />';
var edit_minus_img='<img src="/img/elements/theaters_hide.gif" width="7" height="5" border="0" />';
var collapse_img_on='&#160;<img src="/img/elements/collapse_on.gif" width="8" height="8" border="0" title="Expand" class="collapseImg" />&#160;';
var collapse_img_off='&#160;<img src="/img/elements/collapse_off.gif" width="8" height="8" border="0" title="Collapse" class="collapseImg" />&#160;';

var MacIE=false;
if(navigator.userAgent.split("MSIE")[1] && navigator.userAgent.split("MSIE")[1].indexOf("PowerPC")>=1) {MacIE=true;}

if(document.location.href.indexOf("id=2")>-1 || document.location.href.indexOf("start/2")>-1) { var start_page_number="1" } 
else { var start_page_number="0" }

function sD(el,v) {
	document.getElementById(el).style.display = v;
}
function miniExplore(){
	sD('exploreB','none');
	sD('exploreMax','inline');
}
function maxiExplore(){
	sD('exploreB','block');
	sD('exploreMax','none');
}
function miniChannelLinks(){
	document.getElementById('channelLinksMain').style.height = "30px";
	sD('channelLinksMin','none');
	sD('channelLinksMax','block');	
}					
function maxiChannelLinks(){
	document.getElementById('channelLinksMain').style.height = origChanLinkHeight;
	sD('channelLinksMin','block');
	sD('channelLinksMax','none');			
}	


var thishost = self.location.hostname; 
var thisdomain = thishost.substring(thishost.lastIndexOf(".",(thishost.length - 5)), thishost.length );
var hideShowtimes="hide showtimes";
var displayShowtimes="display showtimes";
var cookieEnd="; expires=Wed, 30-Dec-2037 00:00:00 GMT; path=/; domain=" + thisdomain;

function adjustTheaterDisplays(firstTheater) {
  var showTheatersPos = document.cookie.indexOf("showTheaters=");
  if (showTheatersPos != -1) {
    var start = showTheatersPos + 13;                                    // Start of cookie value
    var end = document.cookie.indexOf(";", start);                       // End of cookie value
    if (end == -1) end = document.cookie.length;
    var theaterIDs = unescape(document.cookie.substring(start, end));    // Extract the value
    var theaterIDsArray = theaterIDs.split(",");                         // Run through the array and pick out the IDs.
    if(theaterIDsArray[0]==1) {    
      document.getElementById("listings_"+firstTheater).style.display="block";
      document.getElementById("displayButton_"+firstTheater).innerHTML=hideShowtimes;
      document.cookie = "showTheaters=" + firstTheater + cookieEnd;
    } else {
      if(document.getElementById("listings_"+firstTheater).style.display!="block") {
        document.getElementById("displayButton_"+firstTheater).innerHTML=displayShowtimes;
      }
      for (i=0;i<=theaterIDsArray.length;i++) {
        if(theaterIDsArray[i]) {
          var testForListing=document.getElementById("listings_"+theaterIDsArray[i]);
          if(testForListing) { // If element/listing exists then display it.
            document.getElementById("listings_"+theaterIDsArray[i]).style.display="block";
            document.getElementById("displayButton_"+theaterIDsArray[i]).innerHTML=hideShowtimes;
          }
        }
      }
    } 
  } else {      
    document.getElementById("listings_"+firstTheater).style.display="block";
    document.getElementById("displayButton_"+firstTheater).innerHTML=hideShowtimes;
    document.cookie = "showTheaters=" + firstTheater + cookieEnd;
  }  
}

function showText(type) {		
	var theaterID = type;	
	var showTheatersPos = document.cookie.indexOf("showTheaters=");
  if (showTheatersPos != -1) {
    var start = showTheatersPos + 13;                                   // Start of cookie value
    var end = document.cookie.indexOf(";", start);                      // End of cookie value
    if (end == -1) end = document.cookie.length;
    var theaterIDs = unescape(document.cookie.substring(start, end));   // Extract the value	 
    var theaterIDsArray = theaterIDs.split(",");
  }
  document.getElementById("theaterRow_" + theaterID).style.borderTop="1px solid #fff";
  document.getElementById("theaterTitle_" + theaterID).style.background="#aaa";
	switch(theaterID) {					
		case theaterID: 
			if(document.getElementById("listings_" + theaterID).style.display=="block") {
				document.getElementById("displayButton_" + theaterID).innerHTML="display showtimes";
				document.getElementById("listings_" + theaterID).style.display="none";
				// Remove selected TheaterID from the showTheaters array.
        var newTheaterIDsArray = new Array();
        j=0;
        for (i=0;i<theaterIDsArray.length;i++) { 
          if (theaterIDsArray[i]!=theaterID) { 
            newTheaterIDsArray[j] = theaterIDsArray[i];
            j++;
          } 
				} 
        if(theaterIDsArray.length==0 || newTheaterIDsArray.length==0) document.cookie = "showTheaters=0" + cookieEnd;
        else document.cookie = "showTheaters=" + newTheaterIDsArray + cookieEnd;
			} else {
				document.getElementById("displayButton_" + theaterID).innerHTML=hideShowtimes;
				document.getElementById("listings_" + theaterID).style.position="relative";
				document.getElementById("listings_" + theaterID).style.display="block";
        // Run thru cookie and sniff out the values for "showTheaters"
        if(theaterIDsArray[0]=="" || theaterIDsArray[0]==0) theaterIDsArray.length=0;
        theaterIDsArray[theaterIDsArray.length]=theaterID;
        document.cookie = "showTheaters=" + theaterIDsArray + cookieEnd;          
 			}
			break;
		default: break;
	}
}

function showDynCt(targetContainerId, contentString) {
	document.getElementById(targetContainerId).innerHTML = contentString;
}

function replaceContent(showMe,hideMe,changeTextID,changeText) { 
  document.getElementById(showMe).style.display="block";
  document.getElementById(hideMe).style.display="none"; 
  document.getElementById(changeTextID).innerHTML=changeText;
}

function collapseWidget(ctname,referrer) { // referrer can be used to turn off array creation in cases when a button triggers the collapseWidget function.
  
  if(start_page_number=="1") { var collapsedPage = "collapsed_p2"; } 
  else { var collapsedPage = "collapsed_p1"; }
  var collapsedWidgetsPos = document.cookie.indexOf(collapsedPage+"=");
  if (collapsedWidgetsPos != -1) {
    var start = collapsedWidgetsPos + 13;                                      // Start of cookie value
    var end = document.cookie.indexOf(";", start);                             // End of cookie value
    if (end == -1) end = document.cookie.length;
    var collapsedWidgets = unescape(document.cookie.substring(start, end));    // Extract the value	 
    var collapsedWidgetsArray = collapsedWidgets.split(",");
  } else { var collapsedWidgetsArray = new Array(); }
  if(ctname=="init") { // this test is for the initial page load
    for (i=0;i<collapsedWidgetsArray.length;i++) { 
      var ctname = collapsedWidgetsArray[i];
      if(document.getElementById(ctname+"_widget_all")) {
        if(document.getElementById("collapse_"+ctname)) document.getElementById("collapse_"+ctname).innerHTML=collapse_img_on;
        if(document.getElementById("collapse_content_"+ctname)) document.getElementById("collapse_content_"+ctname).innerHTML="display";
        document.getElementById(ctname+"_widget_all").style.display="none";
      }
    } 
  } else {
    if (document.getElementById(ctname+"_widget_all")) {
      if(document.getElementById(ctname+"_widget_all").style.display=="none") {
        if(document.getElementById("collapse_"+ctname)) document.getElementById("collapse_"+ctname).innerHTML=collapse_img_off;
        if(document.getElementById("collapse_content_"+ctname)) document.getElementById("collapse_content_"+ctname).innerHTML="hide";
        document.getElementById(ctname+"_widget_all").style.display="block";    
        // remove ctname from array of collapsed widgets
        var newcollapsedWidgetsArray = new Array();
        j=0;
        for (i=0;i<collapsedWidgetsArray.length;i++) { 
          if (collapsedWidgetsArray[i]!=ctname) { 
            newcollapsedWidgetsArray[j] = collapsedWidgetsArray[i]; j++;
          } 
        } 
        if(collapsedWidgetsArray.length==0 || newcollapsedWidgetsArray.length==0) document.cookie = collapsedPage+"=0" + cookieEnd;
        else document.cookie = collapsedPage+"=" + escape(newcollapsedWidgetsArray) + cookieEnd;
      } else {
        if(document.getElementById("collapse_"+ctname)) document.getElementById("collapse_"+ctname).innerHTML=collapse_img_on;
        if(document.getElementById("collapse_content_"+ctname)) document.getElementById("collapse_content_"+ctname).innerHTML="display";
        document.getElementById(ctname+"_widget_all").style.display="none";
        if(document.getElementById(ctname+"_edit_notice")) {
          if(document.getElementById(ctname+"_edit_notice").style.display=="block") document.getElementById(ctname+"_edit_notice").style.display="none";
        }
        // add ctname to array of collapsed widgets    
        if(collapsedWidgetsArray[0]=="" || collapsedWidgetsArray[0]==0) collapsedWidgetsArray.length=0;
        collapsedWidgetsArray[collapsedWidgetsArray.length]=ctname;
        document.cookie = collapsedPage+"=" + escape(collapsedWidgetsArray) + cookieEnd;
      }  
    }
  }
}//collapsewidget

/* START layer 1 dhtml building blocks */

	function xhr(){var a=null;if(window.ActiveXObject){a=new ActiveXObject("Msxml2.XMLHTTP");if(!a){a=new ActiveXObject("Microsoft.XMLHTTP")}}else if(window.XMLHttpRequest){a=new XMLHttpRequest()}return a}

	function scape(s) {
		return (window.encodeURIComponent?window.encodeURIComponent(s):escape(s));
	}//
	
	function isWithinNode(e,i,c,t,obj) {
	answer = false;
	te = e;
	while(te && !answer) {
		if	((te.id && (te.id == i)) || (te.className && (te.className == i+"Class"))
				|| (!t && c && te.className && (te.className == c))
				|| (!t && c && te.className && (te.className.indexOf(c) != -1))
				|| (t && te.tagName && (te.tagName.toLowerCase() == t))
				|| (obj && (te == obj))
			) {
			answer = te;
		} else {
			te = te.parentNode;
		}
	}
	return te;
	}//isWithinNode

	function getElementsByClassName(tagName, cName, refElement) {
		searchElement = refElement ? refElement : document;
		dels = searchElement.getElementsByTagName(tagName);
		els = new Array(); j = 0;
		for (t = 0; dels[t]; t++) {
			if (
					(c = dels[t].className)
						&&
						(
							(c == cName) || (c.indexOf(cName) != -1)
						)
				) {
				els[j] = dels[t];
				j++;
			}
		}
		if (els.length == 0) els = null;
		return els;
	}//getElementsByClassName

	function registerEvent(o,es,funcPointer) {
		if (o.addEventListener) o.addEventListener(es,funcPointer,false);
		else if (o.attachEvent) o.attachEvent("on"+es,funcPointer);
		else o["on" + es] = funcPointer;
	}//registerEvent

	function freezeEvent(e) {
	if (e.preventDefault) e.preventDefault();
	e.returnValue = false;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return false;
	}//freezeEvent
	
	function getEvent(event) {
	return (event ? event : window.event);
	}//getEvent()
	
	function getEventElement(e) {
	return (e.srcElement ? e.srcElement: (e.target ? e.target : e.currentTarget));
	}//getEventElement()
	
	function togDis(o) {
	if ((o.style.display == "") || (o.style.display == "block") )
		o.style.display = "none";
	else
		o.style.display = "block";
	}//togDis

	function getNextSibling(elmt,classMatch) {
	refTag = elmt.tagName;
	if (refTag) refTag = refTag.toLowerCase();
	elmt = elmt.nextSibling;
	while (elmt && ( !elmt.className || ((elmt.tagName != refTag) && (elmt.className != classMatch) && (elmt.className.indexOf(classMatch) == -1)) ))
				elmt = elmt.nextSibling;
	return elmt;
	}//getNextSibling
	
	function getPreviousSibling(elmt,classMatch) {
	refTag = elmt.tagName;
	if (refTag) refTag = refTag.toLowerCase();
	elmt = elmt.previousSibling;
	while (elmt && ( !elmt.className || ((elmt.tagName != refTag) && (elmt.className != classMatch) && (elmt.className.indexOf(classMatch) == -1)) ))
				elmt = elmt.previousSibling;
	return elmt;
	}//getPreviousSibling

	function writeIn(s,i) {
	document.getElementById(i).innerHTML = s;
	}

/* END layer 1 dhtml building blocks */

/* start contextual menu */
	function togCM() {
	if (cm && cm.menu) togDis(cm.menu);
	}//showCM()
	function killCM() {
	togCM();cm = null;
	}//killCM()
	function contextualMenu() { }
	cm = null;
	
	function handleContextualMenuMouseOver(event) {
		e = getEvent(event);
		eL = getEventElement(e);
		if (!window.mw) {
			if (	!cm 
					&&
					(
						(cmt = isWithinNode(eL,null,"cmTrigger"))
						||
						(cmt = isWithinNode(eL,"moreShort"))//backward compatibility
					)
				) {
				cm = new contextualMenu();
				cm.trigger = cmt;
				cm.menu = getNextSibling(cmt,"cmMenu");
				if (!cm.menu) cm.menu = document.getElementById("moreMenu");//backward compatibility
				togCM();
			} else if (cm && (isWithinNode(eL,null,null,null,cm.menu) || isWithinNode(eL,null,null,null,cm.trigger))) {
				clearTimeout(cm.hideMenuTimer);
			} else if (cm) {
				cm.hideMenuTimer = setTimeout('killCM()',500);
			} else {
				window.status = "";
			}
		}//make sure we're not in the middle of a drag and drop
	}//handleContextualMenuMouseOver
	
	function registerContextualMenu() {
		registerEvent(document.body,"mouseover",handleContextualMenuMouseOver);
	}

	loadActions = new Array();
	
	function addLoadAction(s) {
		i = (loadActions.length - 1);
		i++;
		loadActions[i] = s;
	}//addLoadAction
	
	function executeLoadActions() {
		for (j=0;loadActions[j];j++) {
			eval(loadActions[j]);
		}
	}//
	
	addLoadAction("registerContextualMenu()");
	
	window.onload = executeLoadActions;
/* end contextual menu */

function showDetails(element,id,state,widget,left,top) {
	var X = findX(element);
	var Y = findY(element);
	if(document.getElementById(id+"_details") && state=="show"){ 
		if(document.getElementById(widget+"_details_content")) { document.getElementById(widget+"_details_content").innerHTML=document.getElementById(id+"_details").innerHTML; }
		
		document.getElementById(widget+"_details").style.left=X+left+"px";
		document.getElementById(widget+"_details").style.top=Y+top+"px";
		document.getElementById(widget+"_details").style.display="block"; 
	} else {
		document.getElementById(widget+"_details").style.display="none";
	}
}
function findX(element) {
	var curleft = 0;
	if (element.offsetParent) {
		while (element.offsetParent) {
			curleft += element.offsetLeft;
			element = element.offsetParent;
		}
	} 
	else if (element.x) {curleft += element.x;}
	return curleft;
}
function findY(element) {
	var curtop = 0;
	if (element.offsetParent) {
		while (element.offsetParent) {
			curtop += element.offsetTop;
			element = element.offsetParent;
		}
	}
	else if (element.y) {curtop += element.y;}
	return curtop;
}

function hideShow(idOfTargetElement) {
	if(document.getElementById(idOfTargetElement).style.display == "" || document.getElementById(idOfTargetElement).style.display == "block") {
		document.getElementById(idOfTargetElement).style.display = "none";
	} else {
		document.getElementById(idOfTargetElement).style.display = "block";
	}
}

function showToolTip(toolTipCopy, obj, e, boxWidth){
 if (window.event) {
  event.cancelBubble=true
 }else if (e.stopPropagation){
  e.stopPropagation()
 }
 if (typeof delayhide!="undefined"){
  clearTimeout(delayhide)
 }
 toolTipDivObj=document.getElementById?document.getElementById("toolTipDiv"):toolTipDiv
 toolTipDivObj.innerHTML=toolTipCopy
 if (toolTipGoFlag){
  toolTipDivObj.style.left=toolTipDivObj.style.top=-500
  toolTipDivObj.style.width=(boxWidth!="")?boxWidth:"250px";
  if (e.type=="click" && toolTipDivObj.style.visibility=="hidden" || e.type=="mouseover"){
   toolTipDivObj.style.visibility="visible"
  }else if (e.type=="click"){
   toolTipDivObj.style.visibility="hidden"
  }
  toolTipDivObj.x=obj.offsetLeft+obj.offsetParent.offsetLeft;
  toolTipDivObj.y=obj.offsetTop+obj.offsetParent.offsetTop;
  toolTipDivObj.style.left=toolTipDivObj.x-3;
  toolTipDivObj.style.top=toolTipDivObj.y+obj.offsetHeight+10;
 }
}

function hideToolTip(toolTipDelay,recalled){
 if (toolTipGoFlag){
  if (recalled && typeof toolTipDivObj!="undefined") {
   toolTipDivObj.style.visibility="hidden"
  } else {
   delayhide=setTimeout("hideToolTip(0,true)",toolTipDelay)
  }
 }
}

var toolTipGoFlag = false;
if ((document.all)||(document.getElementById&&!document.all)) {
 toolTipGoFlag = true;
}

function iframeReload(frame,delay){ //Call this function in the OnLoad of an iFrame to have it auto-refresh
	if(!delay){
		delay=300000 // Defaults to 5 min
	}
	setTimeout(function(){frame.src=frame.src;},delay);
}
