var domain = "positickets.co.uk"

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function closewindow() { //v2.0
// alert ("a");
 window.opener.parent.location.reload();
 window.close ();
}

function checkproceed (actionfile, message) {
	//alert ("checkproceed");
	//alert (message);
	if (confirm (message)) {
		window.location.replace(actionfile);
	}
}

function do_email (domain, name, enquiry, linktext) {
	document.write ("<a ");
	if (linktext != "") {
		document.write ("class='"+linktext+"' ");
	}
	document.write (" href=\"mailto:");
	document.write (name + "@" + domain);
	if (enquiry != "") {
		document.write ("?subject="+enquiry)
	}
	document.write ("\">")
	document.write (name + "@" + domain);
	document.write ("</a>")
}
//-----------------------------------------------

function getRefToDiv(divID,oDoc) {
  if( document.getElementById ) {
    return document.getElementById(divID); }
  if( document.all ) {
    return document.all[divID]; }
  if( !oDoc ) { oDoc = document; }
  if( document.layers ) {
    if( oDoc.layers[divID] ) { return oDoc.layers[divID]; } else {
      //repeatedly run through all child layers
      for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
        //on success, return that layer, else return nothing
        y = getRefToDiv(divID,oDoc.layers[x].document); }
    return y; } }
  return false;
}
//-----------------------------------------------
function showDiv(onoff, divID_as_a_string) {
//	alert (onoff + ", " + divID_as_a_string);
  //get a reference as above ...
  myReference = getRefToDiv(divID_as_a_string);
  if( !myReference ) {
    window.alert('Nothing works in this browser');
    return; //don't go any further
  }
  //now we have a reference to it
  if (onoff == 1) {
	  if( myReference.style ) {
    	//DOM & proprietary DOM
	    myReference.style.visibility = 'visible';
	  } else {
    	//layers syntax
	    myReference.visibility = 'show';
	  }
  } else {
	  if( myReference.style ) {
    	//DOM & proprietary DOM
	    myReference.style.visibility = 'hidden';
	  } else {
    	//layers syntax
	    myReference.visibility = 'hide';
	  }
  } 
}

var lastperfid = 0;
//-----------------------------------------------
function set_lastperfid (val) {
lastperfid = val;
}
//-----------------------------------------------
function manage_bookings_selectperfs () {

	var id = document.frm_managebookings.SelectedEventID.value;

	//alert ("manage_bookings_selectperfs (" + id+ ") " );
	if (lastperfid != 0) displayobj(0, "EventID"+lastperfid);
	displayobj(1, "EventID"+id);
	lastperfid = id;
}


//-----------------------------------------------
function displayobj(onoff, element) {
	//alert (onoff + ", " + element);
	var obj = "";
	obj=document.getElementById(element);
	obj.style.display=( (onoff==1) ? '' : 'none');
}
//--------------------------------------------------
function toggledisplayobj(element) {
	var obj = "";
	obj=document.getElementById(element);
	var onoff = obj.style.display;
	//alert (onoff);
	if (onoff == 'none') {
		onoff = 1;
	} else {
		onoff = 0;
	}
	obj.style.display=( (onoff==1) ? '' : 'none');
}

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];}
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

//--------------------------------------------------------
function checkEnter(e){ //e is event object passed from function invocation
var characterCode //literal character code will be stored in this variable

	if(e && e.which){ //if which property of event object is supported (NN4)
		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 ;
	}

}



/*
<!-- Dynamic Version by: Nannette Thacker -->
<!-- http://www.shiningstar.net -->
<!-- Original by :  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->
<!-- Use one function for multiple text areas on a page -->
<!-- Limit the number of characters per textarea -->
<!-- Begin*/
function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}


//This function is used to check if the terms and conditions have been checked
//Used on AddSociety.php (2nd Form)

function CheckTerms(CheckSubscribe, CheckCCUpgrade){
	
	var Terms = "";
	var subscribe = "";
	var CCUpgrade = "";
	var Buying = "";
	var CheckTerms = 0;
	var BuyingLength = 0;
	
	if(CheckSubscribe == 1){
		subscribe = document.getElementById('subscribe').checked;
		if(subscribe == true){
			CheckTerms = 1;
			//alert("Subscribe is TRUE");
		}
		
	
	}
	
	if(CheckCCUpgrade == 1){
		CCUpgrade = document.getElementById('ccupgrade').checked
		
		if(CCUpgrade == true){
			CheckTerms = 1;
			//alert("CCUpgrade is TRUE");
		}
	
	}
	/*
	if(document.SocietyPurchases.buying.checked){
	
		Buying = document.SocietyPurchases.buying.value;
	}
	*/
	BuyingLength = document.SocietyPurchases.buying.length;
	//alert("Buying Length is ["+BuyingLength+"]");
	
		
		
	
	for(i=0; i < BuyingLength; i++){
		if(document.SocietyPurchases.buying[i].checked){
			if(document.SocietyPurchases.buying[i].value != 0){
				
				CheckTerms = 1;
				//alert("Buying is True");
				//alert(document.SocietyPurchases.buying[i].value+" is checked");
			}
		}
	}
	//alert("CheckTerms is ["+CheckTerms+"]");
	
	
	if(CheckTerms == 1){

		Terms = document.getElementById('terms').checked;
		if(Terms != true){
			alert("Please agree to the Terms and Conditions");
			return false;
		}else{
			return true;
		}
	}else{
		return true;
	}

}
//---------------------------------------------------------------------
//---------------------------------------------------------------------

//This function is used on AddEvent
//This is if the Postal Tickets is selected
//Then this will stop the checkbox being unchecked
//For Send Email on Booking
function KeepCheckboxChecked(KeepChecked){
	if(KeepChecked == 1){
		document.getElementById("EmailOnBooking").checked = true;
		alert("This is Mandatory for postal orders");
	}
}
//---------------------------------------------------------------------
//---------------------------------------------------------------------
//This function is for the Calendar on Add Event
function AddDate(NewDate){ //Pass the Year Month and Day
	var CurrentString; //This is the Current string, holding the dates
	var CurrentArray; //This will be the string, when made to an array
	
	var NewString; //This is the new string, holding the dates
	var InArray = new Boolean(); //This is True / False variable.
	

	//Get the Current String from the form
	CurrentString = document.getElementById('PerformanceDates').value;
	//Set the Boolean to false
	InArray = false;
	//Make NewString Blank
	NewString = "";
	
	if(AllowRemoveDate(NewDate) == true){
	//If the Current String is NOT blank
		if(CurrentString != ""){
			//Split the String at _, which is the seperator for dates
			//This is the same as PHP's Explode function
			CurrentArray = CurrentString.split("_");
			
			//Loop through the new array, going date by date
			for(i=0; i<CurrentArray.length - 1; i++){
				//Used to check if the new date is in the array
				if(CurrentArray[i] == NewDate){
				//If the New date is in the array, we do not want to add it, so we set InArray to true
				
					InArray = true;
				}else{
					//Build the New String
					//If the Date is already in the array, this will remove it, by not adding it 
					//To the new string
					NewString = NewString+CurrentArray[i]+"_";
					
					//document.getElementById(CurrentArray[i]).className = "SeatSelected";
					//document.getElementById(CurrentArray[i]).className = "SeatSelected";
					
					//alert("Style for " + CurrentArray[i]+" is "+document.getElementById(CurrentArray[i].className))
					
				}
			}
			
		}
	}else{
		return false;
	}
	if(InArray != true){
		//If the Date was NOT in the array
		//So InArray is FALSE
		//Add the New Date to the string
		NewString = NewString+NewDate+"_";
	
		document.getElementById(NewDate).className = "SeatSelected";
		//alert("Changing Seat Style");
	}else{
		document.getElementById(NewDate).className  = "";
		
	}
	// Now Save the new string to the field in the form
	document.getElementById('PerformanceDates').value = NewString;
	ListSelectedDates();
	
	return true;
	
}
//---------------------------------------------------
//---------------------------------------------------
function MarkSelectedDates(){
	var CurrentString
	var CurrentArray

	//MM_swapLabel('pEventdates','',Eventdates,1);
	CurrentString = document.getElementById('PerformanceDates').value;
	if(CurrentString != ""){
		CurrentArray = CurrentString.split("_");
		//alert (CurrentArray + "; " + CurrentArray.length);
		for(var i=0; i<CurrentArray.length - 1; i++){
			//alert (CurrentArray[i]);
			if (document.getElementById(CurrentArray[i]) != null) {
				document.getElementById(CurrentArray[i]).className = "SeatSelected";
			}
		}
		
	}
	ListSelectedDates();
}

//---------------------------------------------------
//---------------------------------------------------
function ListSelectedDates(){
	
	var CurrentString	= "";
	var CurrentArray	= "";
	var PastDates		= "Past Event Dates:<br />";
	var FutureDates 	= "Future Event Dates:<br/>";
	var Eventdates		= "";
	var AddedPastDate	= 0;
	var DateExp 		= "";
	var Day 			= "";
	var MonthNum 		= "";
	var MonthWord 		= "";
	var Year 			= "";
	

	//MM_swapLabel('pEventdates','',Eventdates,1);
	CurrentString = document.getElementById('PerformanceDates').value;
	//alert(CurrentString);
	if(CurrentString != ""){
		CurrentArray = CurrentString.split("_");
		CurrentArray.sort();
		//alert (CurrentArray + "; " + CurrentArray.length);
		for(i=0; i<CurrentArray.length; i++){
			
			if(CurrentArray[i] != ""){
				//alert("Event Date is "+CurrentArray[i]);
				//alert (CurrentArray[i]);
				
				DateExp = CurrentArray[i].split("-");
				Year = DateExp[0];
				MonthNum = DateExp[1];
				Day = DateExp[2];
				
				MonthWord = MonthNum2MonthWord(MonthNum);
				//alert("MonthNum is "+ MonthNum +" AND MonthWord is "+ MonthWord);
				if(CurrentArray[i] < Tomorrow){
					PastDates += Day+" "+ MonthWord + " "+ Year + "<br/>";
					AddedPastDate = 1;
				}else{
					FutureDates += Day+" "+ MonthWord + " "+ Year + "<br/>";
				}
			}
		}
		
	}
	if(AddedPastDate > 0){
		Eventdates = PastDates+"<br />"+FutureDates;
	}else{
		Eventdates = FutureDates;
	}
	MM_swapLabel('pEventdates','',Eventdates,1);
}
//---------------------------------------------------------
//---------------------------------------------------------

function MM_swapLabel() { //v3.0
  var i,j=0,x,a=MM_swapLabel.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; 
		x.oSrc=x.innerHTML; 
		x.innerHTML=a[i+2];
	}
}
//----------------------------------
//----------------------------------

function MonthNum2MonthWord(MonthNum){
	var MonthWord = "";
	
	switch(MonthNum){
		case "01": return "January";
		case "02": return "February";
		case "03": return "March";
		case "04": return "April";
		case "05": return "May";
		case "06": return "June";
		case "07": return "July";
		case "08": return "August";
		case "09": return "September";
		case "10": return "October";
		case "11": return "November";
		case "12": return "December";
		default: return "";
	}
	
	
}
//----------------------------------
//----------------------------------

function AllowRemoveDate(DateSelected){
	var DontChangeDates = "";
	var DontChangeDatesArray = new Array();
	
	DontChangeDates = document.getElementById('DontChangeDates').value;
	if(DontChangeDates != ""){
		DontChangeDatesArray = DontChangeDates.split("_");
		for(i = 0; i <= DontChangeDatesArray.length; i++){
			if(DateSelected == DontChangeDatesArray[i]){
				alert("There is already bookings for this date\nTo cancel this booking, please use the Cancel function in the admin section");
				return false;
			}
		}
	}
	return true;
}
//----------------------------------
//----------------------------------

function ComfirmCancelOrder(){
	var AlertBox = "";
	
	AlertBox=confirm("Are you sure you want to cancel this order?");
	
	return AlertBox;
	
}
//----------------------------------
//----------------------------------

function CheckIfSeatsBooked(){
	
	var SeatsBooked = "";
	
	SeatsBooked = document.getElementById('booked_seats').value;
	
	if(SeatsBooked != ""){
		alert("You have selected some seats, please click \"Add To Order\" above the floorplan to add these seats");
		return false;
	}else{
		return true;
	}
}


//-----------------------------------
//-----------------------------------

function GoBack(ToPage){
	window.location.replace(ToPage);
	
}
//---------------------------------
function ShowError(ErrorMessage){
	alert(ErrorMessage);
}

//---------------------------
function CheckoutBack(){
	var SalesInvoiceID 	= "";
	var PerformanceID	= "";
	SalesInvoiceID 	= document.getElementById('salesid').value;
	PerformanceID	= document.getElementById('PerformanceID').value;
	//alert("SalesInvoiceID is "+SalesInvoiceID+"\nPerformanceID is "+PerformanceID);
	GoBack("booking.php?salesinid="+SalesInvoiceID+"&performanceid="+PerformanceID);
	return false;
}

//----------------------------------------

function UpdateNoEmail(){
	var EmailOrUsername			= "";
	var DisplayPassword 		= 1;
	var CheckEmailButtonValue 	= "";
		
	if(document.getElementById('NoEmail').checked){
		EmailOrUsername = "Username";
		DisplayPassword = 1;
		CheckEmailButtonValue = "Check Username";
		
		
	}else{
		EmailOrUsername = "Email Address";
		DisplayPassword = 0;
		CheckEmailButtonValue = "Check Email Address";
	}

	MM_swapLabel('EmailORUsername','',EmailOrUsername,1);
	document.getElementById('CheckEmailButton').value = CheckEmailButtonValue;
	displayobj(DisplayPassword, 'ShowPassword');
	
}
//----------------------------------------

function ShowUsername(){
	var EmailOrUsername			= "";
	var DisplayPassword 		= 1;
	var CheckEmailButtonValue 	= "";
		
	EmailOrUsername = "Username";
	DisplayPassword = 1;
	CheckEmailButtonValue = "Check Username";	
	//alert ("ShowUsername");
	
	MM_swapLabel('EmailORUsername','',EmailOrUsername,1);
	document.getElementById('CheckEmailButton').value = CheckEmailButtonValue;
	displayobj(DisplayPassword, 'ShowPassword');
	//alert ("ShowUsername");
}

//-------------------------------------
function SubmitOrder(){
	var HasEmail				= "";
	var SelectedDeliveryMethod	= "";
	
	if(document.getElementById('NoEmail').checked == true){
		HasEmail	= true;
		SelectedDeliveryMethod = document.getElementById('DeleveryMethodDropDown').value;
		
		if(SelectedDeliveryMethod == 2){
			alert("The Delivery method can not be Email Ticket if the User does not have an email address");
			return false;
		}
		
	
	}
	
	
	
	return true;
}
//------------------------------------------------------------------------------
function ShowConcessionPriceInformation(){
	var ShowConcessionPrice = false;
	var ShowConcessionDivs	= 1;
	var NumPerformances		= 0;
	var NumConcessionTitles	= 0;
	var i					= 0;
	
	
	ShowConcessionPrice = document.getElementById('ShowConcessionPrice').checked;
	NumPerformances		= document.getElementById('NumPerformances').value;
	NumConcessionTitles	= document.getElementById('NumConcessionTitles').value;
	
	
	if(ShowConcessionPrice == false){
		ShowConcessionDivs	= 0;
			
	}
	
	numconcessionboxes = NumPerformances * 4;
	for(i = 0; i < numconcessionboxes; i++){
		//DivName = "ShowConcessionPriceBox"+i;
		DivName	= "ShowConcessionPriceBox"+i;
		//alert("Set Div "+DivName+" to be "+ShowConcessionDivs);
		displayobj(ShowConcessionDivs, DivName);
	
	}
	for(i = 0; i < NumConcessionTitles; i++){
		DivName = "ShowConcessionPriceTitle"+i;
		displayobj(ShowConcessionDivs, DivName);
	}
	displayobj(ShowConcessionDivs, 'ShowConcessionPriceInfo');
	//displayobj(ShowConcessionDivs, 'ShowConcessionPriceTitle');
	
		
}

//----------------------------------------------------------------------
function PriceDescriptionChanged(i, maxentries)
{
	//alert ("PriceDescriptionChanged("+i+")");
	thelabel = "PriceDescription" + i;
	PriceDescription = document.getElementById(thelabel).value;
	NumPerformances	= document.getElementById('NumPerformances').value;
	//alert ("PriceDescription ("+PriceDescription+"); NumPerformances="+NumPerformances);
	for (j=1; j < NumPerformances; j++) {
		thelabel = "PriceDescriptionDisabled" + i + "-" + j;
		document.getElementById(thelabel).value = PriceDescription;
	}
	
}
