// DEFAULT TEXT //

var active_color = '#000'; // Colour of user provided text
var inactive_color = '#999'; // Colour of default text
 
function setDefaults() {
 
Event.observe( window, 'load', function () {
    var default_values = new Array();
    $$("input.default-value").each( function (s) {
        $(s).setStyle({ color: inactive_color });
        $(s).observe( 'focus', function () {
            if (!default_values[s.id]) {
                default_values[s.id] = s.value;
            }
            if (s.value == default_values[s.id]) {
                s.value = '';
                $(s).setStyle({ color: active_color });
            }
            $(s).observe( 'blur', function () {
                if (s.value == '') {
                    $(s).setStyle({ color: inactive_color });
                    s.value = default_values[s.id];
                }
            });
        });
    });
});

}

setDefaults();

// PRINT MESSAGE

function hidePrint() {

document.getElementById('print').style.display="none";

}



// DISBALE ENTER KEY

function stopRKey(evt) { 
  var evt = (evt) ? evt : ((event) ? event : null); 
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
  if ((evt.keyCode == 13) && (node.type=="text" || node.type=="checkbox"))  {return false;} 
} 

document.onkeypress = stopRKey; 

// SCRIPTS

var gId = null;


function pShow(id) {

		if (gId && document.getElementById(gId).style.display!="none") {
		cancelTimeout();
		document.getElementById(gId).style.display="none";
		}
		
		gId = id;
	
		document.getElementById(gId).style.display="block";
}

function hide() {
	
		document.getElementById(gId).style.display="none";
}

function hideTimer(ms) {
	
		timout = setTimeout('hide()', ms);
}

function cancelTimeout() {
	
		clearTimeout(timout) ;
}


function printMap() {
	if (document.directions.saddr.value) {
		document.directions.pw.value="2";
		document.directions.submit();
	}

	else {
		document.getElementById('enterSaddr').style.display="inline";
		setTimeout("fade('enterSaddr')", 2000);
	}
}

function fade(id) {
	Effect.Fade(id, { duration: 2.0 });
}

function gotoMap() {
	if (document.directions.saddr.value) {
		document.directions.submit();
	}
	
	else {
		window.location.href="http://www.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Pocono+Community+Theater+Inc,+East+Stroudsburg,+PA+18301&sll=40.997912,-75.183052&sspn=0.020956,0.045447&ie=UTF8&z=15&iwloc=A";
	}
}


function showHidePhysAddr() {

	if (document.joinmailinglist.physAddrCheck.checked) {
		Effect.Appear('physAddr_container', { duration: 0.2 });
	}
	
	else  {
		document.joinmailinglist.physAddr.focus();
		document.joinmailinglist.physAddr.value="";
		Effect.Fade('physAddr_container', { duration: 0.2 });
	}
}


  function hideRow4(page) {
	
	document.getElementById('row4_1').style.display="none";
	document.getElementById('row4_2').style.display="none";
	document.getElementById('row4_3').style.display="none";
	document.getElementById('row4_4').style.display="none";
  }


function purchaseCouple(type) {

	document.getElementById(type).style.display="inline";
}

function activateDonate() {

	document.getElementById('donateContainer').style.display="inline";
}

function linktoad1() {
	
	window.open("http://www.essabank.com");
	
	/*if (document.getElementById('sponsorbanners1') || document.getElementById('sponsorbanners3')) {
		window.open("http://www.castlesitters.com/main.html");
	}
	
	else if (document.getElementById('sponsorbanners2') || document.getElementById('sponsorbanners4')) {
		window.open("http://www.griswoldspecialcare.com");
	}
	*/
	
}

function linktoad2() {

	window.open("http://www.esvh.com");

	/*
	if (document.getElementById('sponsorbanners1') || document.getElementById('sponsorbanners2')) {
		window.open("http://www.esvh.com");
	}
	
	else if (document.getElementById('sponsorbanners3') || document.getElementById('sponsorbanners4')) {
		window.open("http://www.essabank.com");
	}
	*/
	
}

function showLoginopts() {

	if (document.getElementById('loginopts').style.display=="none") {
		document.getElementById('loginopts').style.display="block";
	}
	
	else {
		document.getElementById('loginopts').style.display="none";
	}
}


// QUICKTIME TRAILERS

url=null;

go=null;

total = null;

complete = null;

percent = null;

loadedTime = null;

atTime = null;

rate = null;

uStop = "no";

function playPauseTrailer() {

	if (rate==0 && go=="ok") {
		document.getElementById('playPause').style.backgroundImage="url(images/pause.png)";
		document.trailer.Play();
	}
	
	if (rate==1) {
		document.getElementById('playPause').style.backgroundImage="url(images/play.png)";
		document.trailer.Stop();
		go="ok";
		uStop="yes";
	}

}

function openTrailer(lurl, title, surl) {
smallurl=surl;
largeurl=lurl;
url=lurl;
document.getElementById('smalltrailer').style.backgroundImage="url(images/small.png)";
Effect.Appear('trailer_container', { duration: 0.4 });
document.getElementById('trailer_title').innerHTML=title;
document.getElementById('buffering').innerHTML= "Loading... ";
Effect.Appear('lightsdown', { duration: 2.0 });
go="no";
setTimeout("changeMovie('open')", 2500);


}

function changeMovie(action) {


	if (document.trailer) {
	
		document.trailer.SetURL(url);
		document.trailer.SetControllerVisible(false);
		uStop = "no";
	}


loadedTime = document.trailer.GetMaxTimeLoaded();

atTime = document.trailer.GetTime();

status = document.trailer.GetPluginStatus();

duration = total = document.trailer.GetDuration();
	
	if (action=="open") {
	
		getMovieStatus();
	}
}

function getMovieStatus() { 
	


	if (document.trailer.GetURL()=="images/null.mov") {
		
		recheckMovieStatus = setTimeout('getMovieStatus()', 1000);
	
	}
	
total = document.trailer.GetMovieSize();		
complete = document.trailer.GetMaxBytesLoaded();
percent = Math.round(complete / total * 100);
rate = document.trailer.GetRate();
	
		if (status=="Complete") {
		
			document.getElementById('buffering').innerHTML="";
		}
		
		if (rate==0 && uStop!="yes") {
		
			document.getElementById('buffering').innerHTML= "buffering... " + percent + "%";
		}
		
		if (rate==0 && uStop=="yes") {
		
			document.getElementById('buffering').innerHTML= percent + "%";
		}
		
		if (status=="Error") {
		
			setTimeout('changeMovie();', 1000);
		}
		
		if (rate==1 && status!="Complete") {
		
			document.getElementById('buffering').innerHTML= percent + "%";
			uStop = "no";
			go="ok";
		}
		

	

	recheckMovieStatus = setTimeout('getMovieStatus()', 1000)
	
	if (document.trailer.GetRate()==0) {
		document.getElementById('playPause').style.backgroundImage="url(images/play.png)";
	}
	
	if (document.trailer.GetRate()==1) {
		document.getElementById('playPause').style.backgroundImage="url(images/pause.png)";
	}
}


function smallTrailer() {
	
	if (url==largeurl) {
		document.getElementById('smalltrailer').style.backgroundImage="url(images/large.png)";
		url=smallurl;
	}
	
	else if (url==smallurl) {
		document.getElementById('smalltrailer').style.backgroundImage="url(images/small.png)";
		url=largeurl;
	}

changeMovie();

}


function embedTrailer() {
	QT_WriteOBJECT('images/null.mov' , '848', '448', '', 'name', 'trailer', 'id', 'trailer', 'autoplay', 'true', 'enablejavascript', 'true', 'CONTROLLER', 'false', 'bgcolor', '000000', 'obj#CODEBASE', 'http://www.apple.com/qtactivex/qtplugin.cab', 'HREF', '', 'scale', 'Aspect', 'emb#PLUGINSPAGE', 'http://www.apple.com/quicktime/download/');



}

function closeTrailer() {
	url="images/null.mov";
	

	Effect.Fade('lightsdown', { duration: 1.0 });
		document.trailer.SetControllerVisible(false);
		Effect.Fade('trailer_container', { duration: 1.0 });
		changeMovie();
		clearTimeout('recheckMovieStatus');
}

function openMoreInfo(title, site, nyt, imdb, desc, rating, length, position) {

	new Draggable('moreinfo_container', {handle: 'topbar'});

	document.getElementById('rating').src="images/ratings/"+rating+".png";
	
	var char = position.substring(0,1);
	
	Effect.Appear('moreinfo_container', { duration: 0.10 });

	
	if (char=="n") {
		
		document.getElementById('moreinfo_container').style.top="114px";
	}
	
	else {
		document.getElementById('moreinfo_container').style.top="614px";
	}
	
	document.getElementById('movietitle').innerHTML=title;
	document.getElementById('nytlink').href=nyt;
	document.getElementById('imdblink').href=imdb;
	document.getElementById('sitelink').href=site;
	document.getElementById('length').innerHTML=length+" minutes";
	document.getElementById('description').innerHTML=desc;

}

function openEMoreInfo(title, date, poster, site, desc, price) {

	new Draggable('moreinfo_container', {handle: 'topbar'});
	
	Effect.Appear('moreinfo_container', { duration: 0.10 });
	document.getElementById('eventtitle').innerHTML=title;
	document.getElementById('date').innerHTML=date;
	document.getElementById('price').innerHTML=price;
	document.getElementById('sitelink').href=site;
	document.getElementById('description').innerHTML="<p><span id='poster'><img src='images/events/"+poster+"'></span>"+desc+"</p>";

}

function closeMoreInfo() {

	Effect.Fade('moreinfo_container', { duration: 0.10 });
}

// MAKE TONIGHT SCROLLABLE

/*<![CDATA[*/
function makeScrollable(wrapper, scrollable){
	// Get jQuery elements
	var wrapper = JQ(wrapper), scrollable = JQ(scrollable);
	
	// Hide images until they are not loaded
	scrollable.hide();
	var loading = JQ('<div class="loading" style="position:relative;text-align:center;">Loading...</div>').appendTo(wrapper);
	
	// Set function that will check if all images are loaded
	var interval = setInterval(function(){
		var images = scrollable.find('img');
		var completed = 0;
		
		// Counts number of images that are succesfully loaded
		images.each(function(){
			if (this.complete) completed++;	
		});
		
		if (completed == images.length){
			clearInterval(interval);
			// Timeout added to fix problem with Chrome
			setTimeout(function(){
				
				loading.hide();
				// Remove scrollbars	
				wrapper.css({overflow: 'hidden'});						
				
				scrollable.slideDown('slow', function(){
					enable();	
				});					
			}, 1000);	
		}
	}, 100);
	
	function enable(){
		// height of area at the top at bottom, that don't respond to mousemove
		var inactiveMargin = 99;					
		// Cache for performance
		var wrapperWidth = wrapper.width();
		var wrapperHeight = wrapper.height();
		// Using outer height to include padding too
		var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
		// Do not cache wrapperOffset, because it can change when user resizes window
		// We could use onresize event, but it's just not worth doing that 
		// var wrapperOffset = wrapper.offset();
		
		// Create a invisible tooltip
		var tooltip = JQ('<div class="sc_menu_tooltip"></div>')
			.css('opacity', 0)
			.appendTo(wrapper);
	
		// Save menu titles
		scrollable.find('a').each(function(){				
			JQ(this).data('tooltipText', this.title);				
		});
		
		// Remove default tooltip
		scrollable.find('a').removeAttr('title');		
		// Remove default tooltip in IE
		scrollable.find('img').removeAttr('alt');	
		
		var lastTarget;
		//When user move mouse over menu			
		wrapper.mousemove(function(e){
			// Save target
			lastTarget = e.target;

			var wrapperOffset = wrapper.offset();
		
			var tooltipLeft = e.pageX - wrapperOffset.left;
			// Do not let tooltip to move out of menu.
			// Because overflow is set to hidden, we will not be able too see it 
			tooltipLeft = Math.min(tooltipLeft, wrapperWidth - 75); //tooltip.outerWidth());
			
			var tooltipTop = e.pageY - wrapperOffset.top + wrapper.scrollTop() - 40;
			// Move tooltip under the mouse when we are in the higher part of the menu
			if (e.pageY - wrapperOffset.top < wrapperHeight/2){
				tooltipTop += 80;
			}				
			tooltip.css({top: tooltipTop, left: tooltipLeft});				
			
			// Scroll menu
			var top = (e.pageY -  wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight - inactiveMargin;
			if (top < 0){
				top = 0;
			}			
			wrapper.scrollTop(top);
		});
		
		// Setting interval helps solving perfomance problems in IE
		var interval = setInterval(function(){
			if (!lastTarget) return;	
										
			var currentText = tooltip.text();
			
			if (lastTarget.nodeName == 'IMG'){					
				// We've attached data to a link, not image
				var newText = JQ(lastTarget).parent().data('tooltipText');

				// Show tooltip with the new text
				if (currentText != newText) {
					tooltip
						.stop(true)
						.css('opacity', 0)	
						.text(newText)
						.animate({opacity: 1}, 1000);
				}					
			}
		}, 200);
		
		// Hide tooltip when leaving menu
		wrapper.mouseleave(function(){
			lastTarget = false;
			tooltip.stop(true).css('opacity', 0).text('');
		});			
		
		/*
		//Usage of hover event resulted in performance problems
		scrollable.find('a').hover(function(){
			tooltip
				.stop()
				.css('opacity', 0)
				.text(JQ(this).data('tooltipText'))
				.animate({opacity: 1}, 1000);
	
		}, function(){
			tooltip
				.stop()
				.animate({opacity: 0}, 300);
		});
		*/			
	}
}
	
JQ(function(){	
	makeScrollable("div.tonighttext", "div.tonighttext table");
	
});
/*]]>*/



// AJAX 

var xmlHttp

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

// JOIN MAILING LIST



function joinMailingList()
{ 

document.getElementById('joinmailinglist_response').style.background="URL(images/joinmailinglist_response.png) 0px 0px no-repeat";

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }

var vfullname = encodeURIComponent(document.getElementById('fullname').value);
var vemailaddr = encodeURIComponent(document.joinmailinglist.emailAddr.value);
var vphysaddr = encodeURIComponent(document.joinmailinglist.physAddr.value);

url="joinmailinglist.php?fullname="+vfullname+"&emailAddr="+vemailaddr+"&physAddr="+vphysaddr;
xmlHttp.onreadystatechange=joinMailingListST;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function joinMailingListST() { 
	
	if (xmlHttp.readyState==1) {
			
	document.getElementById('spinner').style.display="inline";
	
	}
	
	else if (xmlHttp.readyState==4) {
	
	
	
		if (xmlHttp.responseText=="Thanks for joining!") {
		
			document.joinmailinglist.fullname.style.color="#999";
			
			document.joinmailinglist.emailAddr.style.color="#999";
			
			document.joinmailinglist.physAddr.style.color="#999";
		
			document.getElementById('spinner').style.display="none";
			
			document.joinmailinglist.fullname.value="Full Name";
			
			document.joinmailinglist.emailAddr.value="E-mail Address";
			
			document.joinmailinglist.physAddr.value="Street, City, State & Zip Code";
			
			document.joinmailinglist.physAddrCheck.checked= false;		
			
			Effect.Fade('physAddr_container', { duration: 0.2 });
		
			Effect.Appear('joinmailinglist_response', { duration: 0.1 });
			
			setDefaults();
			
			setTimeout("fade('joinmailinglist_response')", 5000);
		}
		
		if (xmlHttp.responseText=="That e-mail address is already registered.") {
		
			document.getElementById('spinner').style.display="none";
		
			Effect.Appear('joinmailinglist_response', { duration: 0.1 });
			
			document.getElementById('joinmailinglist_response').style.background="URL(images/joinmailinglist_response.png) 0px -31px no-repeat";
			
			setTimeout("fade('joinmailinglist_response')", 5000);
		
		}
		
		if (xmlHttp.responseText=="Fill in contact info.") {
		
			document.getElementById('spinner').style.display="none";
		
			Effect.Appear('joinmailinglist_response', { duration: 0.1 });
			
			document.getElementById('joinmailinglist_response').style.background="URL(images/joinmailinglist_response.png) 0px -62px no-repeat";
			
			setTimeout("fade('joinmailinglist_response')", 5000);	
		
		}
		
		if (xmlHttp.responseText=="Invalid e-mail address.") {
		
			document.getElementById('spinner').style.display="none";
		
			Effect.Appear('joinmailinglist_response', { duration: 0.1 });
			
			document.getElementById('joinmailinglist_response').style.background="URL(images/joinmailinglist_response.png) 0px -93px no-repeat";
			
			setTimeout("fade('joinmailinglist_response')", 5000);	
		
		}		
	}
}

