﻿//check if browser is capable, NS3+, IE4+ 
// ---------- CLOCK --------- //
function runClock() {
	var currentTime = new Date ();
	var GMToffset = currentTime.getTimezoneOffset()/60;
	var currentHours = currentTime.getHours() + GMToffset - 6;
	if (currentHours < 0) {
		currentHours = 24 + currentHours
	}
	var currentMinutes = currentTime.getMinutes ( );
	var currentSeconds = currentTime.getSeconds ( );
	currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
	currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
	var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";
	currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;
	currentHours = ( currentHours == 0 ) ? 12 : currentHours;

	var currentTimeString = currentHours + ":" + currentMinutes + " " + timeOfDay;
	document.getElementById("clock").firstChild.nodeValue = currentTimeString;
}

function onlyNumbers(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if (charCode > 31 && (charCode < 48 || charCode > 57))
	return false;	
	return true;
}
//--------------------------------------------------------------------------------------------------
// SUBMIT FORM UPON HITTING RETURN KEY
//--------------------------------------------------------------------------------------------------
function hitEnter(e){ 
	var characterCode 
	if(e && e.which){ 
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		document.forms[0].submit() //submit the form
		return false
	}else{
		return true
	}
}

//--------------------------------------------------------------------------------------------------
// DROP DOWN MENU PAGE JUMPS
//--------------------------------------------------------------------------------------------------
function land(ref, target)
{
lowtarget=target.toLowerCase();
if (lowtarget=="_self") {window.location=loc;}
else {if (lowtarget=="_top") {top.location=loc;}
else {if (lowtarget=="_blank") {window.open(loc);}
else {if (lowtarget=="_parent") {parent.location=loc;}
else {parent.frames[target].location=loc;};
}}}
}
function ddRedirect(menu)
{
ref=menu.choice.options[menu.choice.selectedIndex].value;
splitc=ref.lastIndexOf("*");
target="";
if (splitc!=-1)
{loc=ref.substring(0,splitc);
target=ref.substring(splitc+1,1000);}
else {loc=ref; target="_self";};
if (ref != "") {land(loc,target);}
}

//--------------------------------------------------------------------------------------------------
// Causes the drop down menu jumps for date jump
//--------------------------------------------------------------------------------------------------
function land(ref, target)
{
lowtarget=target.toLowerCase();
if (lowtarget=="_self") {window.location=loc;}
else {if (lowtarget=="_top") {top.location=loc;}
else {if (lowtarget=="_blank") {window.open(loc);}
else {if (lowtarget=="_parent") {parent.location=loc;}
else {parent.frames[target].location=loc;};
}}}
}
function dateChange(menu)
{
var themenu = document.getElementById(menu);
ref=themenu.choiceMonth.options[themenu.choiceMonth.selectedIndex].value;
ref2=themenu.choiceYear.options[themenu.choiceYear.selectedIndex].value;
splitc=ref.lastIndexOf("*");
target="";
if (splitc!=-1)
{loc=ref.substring(0,splitc);
target=ref.substring(splitc+1,1000);}
else {loc=ref2 + ref; target="_self";};
if (ref != "") {land(loc,target);}
}

//--------------------------------------------------------------------------------------------------
// UPDATES THE TOTALS IN TICKET ORDERS
//--------------------------------------------------------------------------------------------------
function numOnly(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode
		if (charCode > 31 && (charCode < 48 || charCode > 57)){
			return false; }
		else {
		return true;}
}
function formatCurrency(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
}
function updateTotal(id, price, origVal) {
		var numTickets = document.getElementById(id + "_num").value
		if (numTickets == null){
			numTickets = 0
		}else{
			numTickets = parseInt(numTickets);
		}
		var ticketPrice = parseFloat(price);
		if (isNaN(document.getElementById("subTotal").value) == false){
			var grandTotal = 0;
		}else{
			var grandTotal = document.getElementById("subTotal").value;
			grandTotal = grandTotal.replace(/\$|\,/g,'');
			grandTotal = parseFloat(grandTotal);
		}
		if (isNaN(numTickets * ticketPrice) == false){
			document.getElementById(id + "_total").value = formatCurrency(numTickets * ticketPrice);
			grandTotal = grandTotal - (origVal * ticketPrice) + (numTickets * ticketPrice);
			document.getElementById(id + "_old").value = numTickets
			document.getElementById("subTotal").value = formatCurrency(grandTotal);
		}else{
			document.getElementById(id + "_total").value = ""
		}
}

function checkForm(form,str,security)
{
	if (document.getElementById('secQuest').value == security) {
		var formArr = str.split(",");
		for (i = 0; i < formArr.length; i++)
			{
				var checkField = document.getElementById(formArr[i]);
				if (checkField.value == "") {
					alert("Please complete the form before submitting.");
					checkField.focus();
					return false
				}
				if (formArr[i] == "em" || formArr[i] == "t_pEmail") {
					var email = document.getElementById(formArr[i]);
					var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if (!filter.test(email.value)) {
						alert("Please provide a valid email address");
						email.focus();
						return false;
					}
				}
			}
	}else{
	alert("The answer you provided to our security question is incorrect.\nPlease try again.");
	return false;
	}
}

function checkJavaForm(form,str,security)
{
	if (document.getElementById('secQuest').value == security) {
		var formArr = str.split(",");
		for (i = 0; i < formArr.length; i++)
			{
				var checkField = document.getElementById(formArr[i]);
				if (checkField.value == "") {
					alert("Please complete the form before submitting.");
					checkField.focus();
					return false
				}
				if (formArr[i] == "em" || formArr[i] == "t_pEmail") {
					var email = document.getElementById(formArr[i]);
					var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if (!filter.test(email.value)) {
						alert("Please provide a valid email address");
						email.focus();
						return false;
					}
				}
			}
		document.getElementById(form).submit()
	}else{
	alert("The answer you provided to our security question is incorrect.\nPlease try again.");
	return false;
	}
}

function checkGenForm(form,str)
{
	var formArr = str.split(",");
	for (i = 0; i < formArr.length; i++)
		{
			var checkField = document.getElementById(formArr[i]);
			if (checkField.value == "") {
				alert("Please complete the form before submitting.");
				checkField.focus();
				return false;
			}
			if (formArr[i] = "em") {
				var email = document.getElementById(formArr[i]);
				var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (!filter.test(email.value)) {
					alert("Please provide a valid email address");
					email.focus();
					return false;
				}
			}
		}
}


//--------------------------------------------------------------------------------------------------
// DIV Slider
//--------------------------------------------------------------------------------------------------
function mutipleSlide(all,id) {
	var hideArr = all.split(",");
	
	for(i = 0; i < hideArr.length; i++) {
		if(document.getElementById(hideArr[i]).style.display == 'none') {
			}else{
				slideup(hideArr[i])
			}
	}
	if(document.getElementById(id).style.display == 'none') {
			slidedown(id)
		}else{
			slideup(id)
		}
}

function slide(id) {
	if(document.getElementById(id).style.display == 'none') {
			slidedown(id)
		}else{
			slideup(id)
		}
}

var timerlen = 5;
var slideAniLen = 600;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function slidedown(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible

        moving[objname] = true;
        dir[objname] = "down";
        startslide(objname);
}

function slideup(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving[objname] = true;
        dir[objname] = "up";
        startslide(objname);
}

function startslide(objname){
        obj[objname] = document.getElementById(objname);

        endHeight[objname] = parseInt(obj[objname].style.height);
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlide(objname)
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
}

function endSlide(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}


function slideslide(id) {
	if(document.getElementById(id).style.display == 'none') {
			slideright(id)
		}else{
			slideleft(id)
		}
}

function mutipleSideSlide(all,id) {
	var hideArr = all.split(",");
	
	for(i = 0; i < hideArr.length; i++) {
		if(document.getElementById(hideArr[i]).style.display == 'none') {
			}else{
				slideleft(hideArr[i])
			}
	}
	if(document.getElementById(id).style.display == 'none') {
			slideright(id)
		}else{
			slideleft(id)
		}
}

var timerlen = 5;
var slideAniLen = 400;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var endWidth = new Array();
var moving = new Array();
var dir = new Array();

function slideright(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible

        moving[objname] = true;
        dir[objname] = "down";
        startslideS(objname);
}

function slideleft(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving[objname] = true;
        dir[objname] = "up";
        startslideS(objname);
}

function startslideS(objname){
        obj[objname] = document.getElementById(objname);

        endHeight[objname] = parseInt(obj[objname].style.height);
        endWidth[objname] = parseInt(obj[objname].style.width);
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
                obj[objname].style.width = "1%";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slidetickS(\'' + objname + '\');',timerlen);
}

function slidetickS(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlideS(objname)
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                var d2 =Math.round(elapsed / slideAniLen * endWidth[objname]);
                if(dir[objname] == "up") {
                        d = endHeight[objname] - d;
                        d2 = endWidth[objname] - d2;
				}
                obj[objname].style.height = d + "px";
                obj[objname].style.width = d2 + "%";
        }

        return;
}

function endSlideS(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";
        obj[objname].style.width = endWidth[objname] + "%";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(endWidth[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}

//--------------------------------------------------------------------------------------------------
// TICKETS
//--------------------------------------------------------------------------------------------------
function checkTerms(formID) {
	if (document.getElementById('agree').checked == 1)
	{ document.getElementById(formID).submit();	
	}else{
	alert('You must accept our term and conditions to continue.');
	}
}
function checkrTitle(formID) {
	if (document.getElementById('rTitle').value == '')
	{ 
		alert('You must type a title for this receipt.\nIf it is for you personally, user your userName as the title.');
	}else{
	document.getElementById(formID).submit();
	}
}
function carryTitle() {
	var rTitle = document.getElementById("rTitle").value
	document.getElementById("receiptTitle").value = rTitle
}
function updateDonation(value) {
	document.getElementById("donationTotal").value = value
}
function updatePrint(value) {
	document.getElementById("printCost").value = value
}
function showSeat(seatID) {
	if (seatID != 'blank') {
		document.getElementById('showSeat').innerHTML = "Seat: " + seatID;
	}
}
function changeAction(paymentMethod) {
	document.getElementById('addInfo').action = "/tickets/checkout/saveInfo.asp?method=" + paymentMethod;
	document.getElementById('addInfo').submit()
}

function hideSeat() {
	document.getElementById('showSeat').innerHTML = "&nbsp;"
}
var xhttp = null
function saveTicketPrice(whatEvent,str2,str)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else // for older IE 5/6
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
var url="../../script/_savePrice.asp?ticket=" + str2 + "&priceGroup=" + str + "&eventID=" + whatEvent;
url=url+"&sid="+Math.random();
xhttp.open("GET",url,false);
xhttp.send(null);
}

var numTickets = 0

function checkCheckout()
{
	num = numTickets
	for (i = 0; i < num; i ++ )
	{
		var checkField = document.getElementById('priceSelect' + i);
		if (checkField.options[checkField.selectedIndex].value == '0') {
			alert("Please select a seat price from the drop down.");
			checkField.focus();
			return false;
		}
	}
}

function attach_file( p_script_url ) {
      // create new script element, set its relative URL, and load it
      script = document.createElement( 'script' );
      script.src = p_script_url;
      document.getElementsByTagName( 'head' )[0].appendChild( script );
}

function updateVenue(eventID){
	attach_file('/script/_updateVenue.asp?eID=' + eventID)
}