function validate_popupform(div, form) {
	var popupform = document.getElementById(div);
	var inputs = popupform.getElementsByTagName('input');
	var txtBankAddr = popupform.getElementsByTagName('textarea')[0];
	var bValid = true;
	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].value.length < 1) {
			bValid = false;
		}
	}
	if (txtBankAddr.value.length < 1)
		bValid = false;
	
	if (bValid)
		document.forms[form].submit();
	else
		//alert("Sorry. You must fill in all your bank account information to proceed.");
		if (div == 'cashout_cad')
			document.getElementById('errMissingInfoCAD').style.display = 'block';
		else
			document.getElementById('errMissingInfoUSD').style.display = 'block';
		
	return false;
}

function handle_formsubmit(form_index) {	
	document.forms[form_index].submit();
	
	return false;
}

function handle_mark_invoice_paid(form_index) {
	//document.forms[form_index].submit();
	
	// Assign the invoice ID to all hidden inputs requiring it
	//hdn_procInvoicePaymentStatus_inputs = document.getElementsByName('procInvoicePaymentStatus');
	
	if (!window.invoice_payment_submission) {
		window.invoice_payment_submission = true;
	
		// Disable radio buttons
		var invoice_payment_status_rbs = document.getElementsByName('invoice_payment_status');
		for (var invoice_payment_status_rb in invoice_payment_status_rbs) {
			invoice_payment_status_rb.enabled = false;
		}
		
		// Display a processing animation
		btnProcess_Payment_Status = document.getElementById('btnProcess_Payment_Status');
		btnProcess_Payment_Status.style.display = 'none';
		
		divProcess_Payment_Status_Progress = document.getElementById('divProcess_Payment_Status_Progress');
		divProcess_Payment_Status_Progress.style.display = 'block';
		
		// Get the Invoice ID
		var invoice_id = document.getElementsByName('invoice_id')[0].value;
		
		var url = 'SR/incl/procInvoiceHandling.php?ajax=T&proc=payment_status&value=1&invoice_id=' + invoice_id;
		//alert(url);
		async_http_request(url, handle_invoice_payment_status_result);
		
		/* for (var hdn_invoice_id in hdn_invoice_ids) {
			hdn_invoice_id.value = extra_info1;	
		} */
		
		return false;
	}
}

function handle_invoice_venue_access(form_index) {
	
	if (!window.venue_access_submission) {
		window.venue_access_submission = true;
	
		// Disable radio buttons
		var invoice_venue_access_rbs = document.getElementsByName('invoice_venue_access');
		for (var invoice_venue_access_rb in invoice_venue_access_rbs) {
			invoice_venue_access_rb.enabled = false;
		}
		
		// Display a processing animation
		btnProcess_Venue_Access = document.getElementById('btnProcess_Venue_Access');
		btnProcess_Venue_Access.style.display = 'none';
		btnCancel_Venue_Access = document.getElementById('btnCancel_Venue_Access');
		btnCancel_Venue_Access.style.display = 'none';
		
		divProcess_Venue_Access_Progress = document.getElementById('divProcess_Venue_Access_Progress');
		divProcess_Venue_Access_Progress.style.display = 'block';
		
		// Set the value of any unchecked email recipient checkboxes to "unchecked"
		var hdnEmail_Recipient_Count = document.getElementsByName('email_recipient_count')[0];
		tmp_email_recipient_count = hdnEmail_Recipient_Count.value;
		if (tmp_email_recipient_count > 0) {
			for (var i = 1; i <= tmp_email_recipient_count; i++) {
				var chkEmail_Recipient = document.getElementById('email_recipient_' + i);
				if (!chkEmail_Recipient.checked)
					chkEmail_Recipient.value += '_UNCHECKED';
			}
		}
		//alert(document.forms[form_index].name);
		document.forms[form_index].submit();
	}
}

function handle_invoice_payment_status_result(http) {
	if (http.readyState == 4 && (http.status==200 || window.location.href.indexOf("http")==-1)) {
        var response = http.responseText.replace(/^\s+|\s+$/g, '');
		
		var invoice_id = document.getElementsByName('invoice_id')[0].value;
		var divProcess_Payment_Status_Progress = document.getElementById('divProcess_Payment_Status_Progress');
		var colInvoice_PaymentStatus = document.getElementById('colInvoice_PaymentStatus_' + invoice_id);

		// Handle failure
		if ((response == undefined) || (response == '0')) {
			
			divProcess_Payment_Status_Progress.innerHTML = 'Failed!';
			
		// Handle success
		} else if (response == '1') {
			
			divProcess_Payment_Status_Progress.innerHTML = 'Success!';
			colInvoice_PaymentStatus.innerHTML = 'Paid - <a href=\"\" onclick=\"return popForm(\'invoice_handler\', true, ' + invoice_id + ', 1)\" style=\"font-size: 1em;\">Provide Venue Access</a>';
			
			var invoice_handler_title = document.getElementById('invoice_handler_title');
			var invoice_handler_payment_status = document.getElementById('invoice_handler_payment_status');
			var invoice_handler_venue_access = document.getElementById('invoice_handler_venue_access');
			
			invoice_handler_title.innerHTML = "Provide Venue Access to an Invoiced Patron&nbsp;";
			invoice_handler_payment_status.style.display = 'none';
			invoice_handler_venue_access.style.display = 'block';
			
		} else {
			divProcess_Payment_Status_Progress.innerHTML = response;
		}
		
		// Re-enable radio buttons
		var invoice_payment_status_rbs = document.getElementsByName('invoice_payment_status');
		for (var invoice_payment_status_rb in invoice_payment_status_rbs) {
			invoice_payment_status_rb.enabled = true;
		}
		
		btnCancel_Venue_Access = document.getElementById('btnCancel_Venue_Access');
		btnCancel_Venue_Access.style.display = 'block';
		
		window.invoice_payment_submission = false;
    }
}

// Handles radiobutton input onclick events
function handle_optionchanged(input_name, form_index) {
	
	// Get the changed value
	var rb_inputs = document.forms[form_index].elements[input_name];
	var changed_value = '';
	for (var i = 0; i < rb_inputs.length; i++) {
		//alert('test');
		if (rb_inputs[i].checked) {
			changed_value = rb_inputs[i].value;
			break;	
		}
	}

	if (input_name == 'invoice_payment_status') {
		var btnProcess_Payment_Status = document.getElementById('btnProcess_Payment_Status');
		
		if (changed_value == 'unpaid') {
			btnProcess_Payment_Status.style.display = 'none';
			
		} else if (changed_value == 'paid') {
			btnProcess_Payment_Status.style.display = 'block';
		}
		
	} else if (input_name == 'invoice_venue_access') {
		//var btn_process = document.getElementById('btnProcess');
		var divVenue_Access_Details = document.getElementById('divVenue_Access_Details');
		var lnkVenue_Access = document.getElementById('lnkVenue_Access');
		
		if (changed_value == 'eticket') {
			//btn_process.style.width = '125';
			divVenue_Access_Details.style.display = 'none';
			lnkVenue_Access.innerHTML = 'SEND E-TICKET';
		} else if (changed_value == 'custom') {
			//btn_process.style.width = '150';
			divVenue_Access_Details.style.display = 'block';
			lnkVenue_Access.innerHTML = 'SEND INSTRUCTIONS';
			
			// Do an ajax request to build a table of email recipients
			handle_request_venueaccess_recipients();
		}
	}
	
	return true;
}

function handle_request_venueaccess_recipients() {
	
	// Disable radio buttons
	var invoice_venue_access_rbs = document.getElementsByName('invoice_venue_access');
	for (var invoice_venue_access_rb in invoice_venue_access_rbs) {
		invoice_venue_access_rb.enabled = false;
	}
	
	// Display the loading animation
	var divLoading_Venue_Access_Recipients = document.getElementById('divLoading_Venue_Access_Recipients');
	divLoading_Venue_Access_Recipients.style.display = 'block';
	
	// Get the Invoice ID
	var invoice_id = document.getElementsByName('invoice_id')[0].value;
	
	var url = 'SR/incl/procInvoiceHandling.php?ajax=T&proc=email_recipients&invoice_id=' + invoice_id;
	//alert(url);
	async_http_request(url, handle_process_venueaccess_recipients);
	
}

/* Handles an asynchronous HTTP response containing buyer names & email addresses
 * for building the "email recipients" checkboxes on the invoice handling popup
 * (popup - SR/incl/invoice_handler_popup, processor - SR/incl/procInvoiceHandling.php) */
function handle_process_venueaccess_recipients(http) {
	if (http.readyState == 4 && (http.status==200 || window.location.href.indexOf("http")==-1)) {
		// Trim any whitespace in the response
        var response = http.responseText.replace(/^\s+|\s+$/g, '');

		// Display an error message if necessary
		var divVenue_Access_Recipients = document.getElementById('divVenue_Access_Recipients');
		var divLoading_Venue_Access_Recipients = document.getElementById('divLoading_Venue_Access_Recipients');
		
		if ((response == undefined) || (response == "-1")) {
			divVenue_Access_Recipients.innerHTML = '<div><span style=\"color:#FF0000;\">An error occurred while retrieving the guests!</span></div><br/>';

		} else if (response == "0") {
			divVenue_Access_Recipients.innerHTML = '<div><span style=\"color:#FF0000;\">Error: No guest records found for the invoice!</span></div><br/>';
		
		// Otherwise, parse the response for the 
		} else {
			
			var email_recipient_buyers = new Array();
			var email_recipient_names = new Array();
			var email_recipient_addresses = new Array();
			
			// If there's only one buyer record
			if (response.indexOf("+++*+++") == -1) {
				var email_recipient_count = 0;
				var recipient_values = response.split("!+!");
				email_recipient_buyers[0] = recipient_values[0];
				email_recipient_names[0] = recipient_values[1];
				email_recipient_addresses[0] = recipient_values[2];
			
			// If there is more than 1 buyer record
			} else {
				var email_recipients = response.split("+++*+++");
				var email_recipient_count = email_recipients.length;
				
				for (var g = 0; g < email_recipient_count; g++) {
					var recipient_values = email_recipients[g].split("!+!");
					
					email_recipient_buyers[g] = recipient_values[0];
					email_recipient_names[g] = recipient_values[1];
					email_recipient_addresses[g] = recipient_values[2];
				}
			}
			
			// Update the forms "email_recipient_count" hidden input value
			var hdnEmail_Recipient_Count = document.getElementsByName('email_recipient_count')[0];
			hdnEmail_Recipient_Count.value = (email_recipient_count - 1);
			
			// Build a table with checkbox inputs for each email recipient
			var strRecipientTable = "<table align=\"center\" width=\"100%\"><tr><colspan=\"2\">Purchaser:</td></tr><tr style=\"color: #000000; font-size: 0.75em;\"><td valign=\"top\">" + email_recipient_names[0] + "</td><td>" + email_recipient_addresses[0] + "<br/><br/></td></tr><tr><td colspan=\"2\">Purchaser\'s Guests:</td></tr>";
			
			for (var r = 1; r < email_recipient_count; r++) {
				strRecipientTable += "<tr style=\"color: #000000; font-size: 0.75em;\"><td><input type=\"checkbox\" id=\"email_recipient_" + r + "\" name=\"email_recipient_" + r + "\" value=\"" + email_recipient_buyers[r] + "\" CHECKED/>&nbsp;" + email_recipient_names[r] + "</td><td>" + email_recipient_addresses[r] + "</td></tr>";
			}
			
			strRecipientTable += "</table><br/>";
			//alert(strRecipientTable);
			
			// Write the HTML to the popup
			divVenue_Access_Recipients.innerHTML = strRecipientTable;
		}
		
		// Hide the loading animation
		divLoading_Venue_Access_Recipients.style.display = 'none';
	}
}

function handle_buyer_email_admin_edit() {
	var divBuyerEmailAdminNormal = document.getElementById('divBuyerEmailAdminNormal');
	divBuyerEmailAdminNormal.style.display = 'none';
	
	var divBuyerEmailAdminEditButton = document.getElementById('divBuyerEmailAdminEditButton');
	divBuyerEmailAdminEditButton.style.display = 'none';
	
	var divBuyerEmailAdminEdit = document.getElementById('divBuyerEmailAdminEdit');
	divBuyerEmailAdminEdit.style.display = 'block';
	
	var divBuyerEmailAdminCancelButton = document.getElementById('divBuyerEmailAdminCancelButton');
	divBuyerEmailAdminCancelButton.style.display = 'block';
	
	var btnProcessBuyerEmailUpdate = document.getElementById('btnProcessBuyerEmailUpdate');
	btnProcessBuyerEmailUpdate.style.display = 'block';
}

function handle_buyer_email_admin_canceledit() {
	var divBuyerEmailAdminEdit = document.getElementById('divBuyerEmailAdminEdit');
	divBuyerEmailAdminEdit.style.display = 'none';
	
	var divBuyerEmailAdminCancelButton = document.getElementById('divBuyerEmailAdminCancelButton');
	divBuyerEmailAdminCancelButton.style.display = 'none';
	
	var btnProcessBuyerEmailUpdate = document.getElementById('btnProcessBuyerEmailUpdate');
	btnProcessBuyerEmailUpdate.style.display = 'none';
	
	var divBuyerEmailAdminNormal = document.getElementById('divBuyerEmailAdminNormal');
	divBuyerEmailAdminNormal.style.display = 'block';
	
	var divBuyerEmailAdminEditButton = document.getElementById('divBuyerEmailAdminEditButton');
	divBuyerEmailAdminEditButton.style.display = 'block';
}

function handle_buyer_emailaddr_update() {
	//document.forms[form_index].submit();
	
	// Assign the invoice ID to all hidden inputs requiring it
	//hdn_procInvoicePaymentStatus_inputs = document.getElementsByName('procInvoicePaymentStatus');
	
	//if (!window.invoice_payment_submission) {
	//	window.invoice_payment_submission = true;
	
		// Disable cancel button
		var divBuyerEmailAdminCancelButton = document.getElementById('divBuyerEmailAdminCancelButton');
		divBuyerEmailAdminCancelButton.style.display = 'none';
		
		// Display a processing animation
		btnProcessBuyerEmailUpdate = document.getElementById('btnProcessBuyerEmailUpdate');
		btnProcessBuyerEmailUpdate.style.display = 'none';
		
		divProcessBuyerEmailUpdateProgress = document.getElementById('divProcessBuyerEmailUpdateProgress');
		divProcessBuyerEmailUpdateProgress.style.display = 'block';
		
		// Get the Buyer ID & Updated Email Address
		var user_id = document.getElementById('hdnUserID').value;
		var buyer_id = document.getElementById('hdnBuyerAdminID').value;
		var buyer_newemail = document.getElementById('txtBuyerEmailAddress').value;
		
		var url = 'SR/incl/procBuyerEmailAdmin.php?ajax=T&proc=buyer_email_update&user_id=' + user_id + '&buyer_id=' + buyer_id + '&buyer_newemail=' + buyer_newemail;
		//alert(url);
		async_http_request(url, handle_buyer_emailaddr_update_result);
		
		/* for (var hdn_invoice_id in hdn_invoice_ids) {
			hdn_invoice_id.value = extra_info1;	
		} */
		
		return false;
	//}
}

function handle_buyer_emailaddr_update_result(http) {
	if (http.readyState == 4 && (http.status==200 || window.location.href.indexOf("http")==-1)) {
		// Trim any whitespace in the response
        var response = http.responseText.replace(/^\s+|\s+$/g, '');
		
		// Hide the loading animation
		var divProcessBuyerEmailUpdateProgress = document.getElementById('divProcessBuyerEmailUpdateProgress');
		divProcessBuyerEmailUpdateProgress.style.display = 'none';
		
		// Display an error message if necessary
		var divProcessBuyerEmailError = document.getElementById('divProcessBuyerEmailError');
		
		if ((response == undefined) || (response == "-1")) {
			divProcessBuyerEmailError.innerHTML = '<span style=\"color:#FF0000;\">An error occurred while processing the request</span><br/>';
			divProcessBuyerEmailError.style.display = 'block';

		} else if (response == "0") {
			divProcessBuyerEmailError.innerHTML = '<span style=\"color:#FF0000;\">An error occurred while processing the request</span><br/>';
			divProcessBuyerEmailError.style.display = 'block';
		
		// Otherwise, parse the response for the 
		} else {
			var buyer_id = document.getElementById('hdnBuyerAdminID').value;
			var buyer_newemail = document.getElementById('txtBuyerEmailAddress').value;
			
			// Update the Receipts & Refunds screen with the new buyer email address
			var spanBuyerEmail = document.getElementById('spanBuyerEmail_' + buyer_id);
			spanBuyerEmail.innerHTML = buyer_newemail;
			
			var lnkBuyerEmail = document.getElementById('lnkBuyerEmail_' + buyer_id);
			lnkBuyerEmail.onclick = function () { return popForm('buyer_email_admin', true, buyer_id, buyer_newemail) };
			
			// Close the Popup
			popForm("close");
		}
		
	}
}

function handle_twitter_search_request(qry) {
	/*var host_script = "http://search.twitter.com/search.json?";
	
	async_http_request(host_script + qry, handle_twitter_search_result);
	
	alert(host_script + qry);
	return false;*/
	
	$.ajax({
		type: "GET",
		url: "http://search.twitter.com/search.json",
		data: {
				q : "twitterapi",
				rpp: "2"
		},
		success: function(data, textStatus) {
				alert(data.completed_in);
		},
		dataType: "jsonp",
		error: function(XMLHttpRequest, textStatus, errorThrown){
				console.log("error.");
		}
});

}

function handle_twitter_search_result(http) {
	//if (http.readyState == 4 && (http.status==200 || window.location.href.indexOf("http")==-1)) {
		// Trim any whitespace in the response
        //var response = http.responseText.replace(/^\s+|\s+$/g, '');
		
		alert(http.responseText);
	//}
}

/* Newsite - Browse Events */

// Append an event-category filter to the event results
function handle_browse_events_filter_append(strEventCategory) {
	if ($("#colBrowseEventsFilterCategory_" + strEventCategory).length == 0)
		$("#tblBrowseEventsFilterCategories tr:first").append("<td id=\"colBrowseEventsFilterCategory_" + strEventCategory + "\"><div class=\"event_category_tag\"><table><tr><td align=\"left\" valign=\"top\"><a href=\"#\" onclick=\"handle_browse_events_filter_remove('" + strEventCategory + "'); return false;\"><img class=\"event_category_tag_x\" src=\"img/newsite/newsite_event_category_tag_x.png\"/></a></td><td align=\"left\" valign=\"top\"><img class=\"event_category_tag_sep\" src=\"img/newsite/newsite_event_category_tag_sep.png\"/></td><td align=\"left\" valign=\"top\"><div class=\"event_category_tag_name\"><a href=\"#\" onclick=\"handle_browse_events_filter_focus('" + strEventCategory + "'); return false;\"><span>" + strEventCategory + "</span></a></div></td></tr></table></div></td>");
	handle_browse_events_refresh();
}

function handle_browse_events_filter_remove(strEventCategory) {
	if ($("#colBrowseEventsFilterCategory_" + strEventCategory).length > 0)
		$("#colBrowseEventsFilterCategory_" + strEventCategory).remove();
	handle_browse_events_refresh();
}

function handle_browse_events_filter_removeall() {
	if ($("#tblBrowseEventsFilterCategories td").length > 0)
		$("#tblBrowseEventsFilterCategories td").remove();
	handle_browse_events_refresh();
}

function handle_browse_events_filter_focus(strEventCategory) {
	handle_browse_events_filter_removeall();
	handle_browse_events_filter_append(strEventCategory);
	handle_browse_events_refresh();
}

function handle_browse_events_refresh() {
	// TBD
}

var browse_events_pagination_selection = -1;
var browse_events_scroll_offset = 0;
var browse_events_results_height = 0;
var browse_events_last_action = "browse";
var browse_events_last_search_string = "";
function handle_browse_events_pagination(page_num, bRefresh) {
	//document.location = "?a=browse_events&rp=" + page_num;
	browse_events_last_action = "browse";
	
	$(".subpage_info_heading_title span")[0].textContent = 'Upcoming Events';
	
    if (document.documentElement && document.documentElement.scrollTop)
      browse_events_scroll_offset = document.documentElement.scrollTop;
    else if (document.body)
      browse_events_scroll_offset = document.body.scrollTop;
	  
	browse_events_results_height = $(".browse_events_results")[0].offsetHeight;
	
	browse_events_pagination_selection = page_num;
	$(".browse_events_pagination").hide();
	$(".browse_events_results").hide();
	$(".browse_events_loading").show();
	//var browse_events_loading_height = $(".browse_events_loading")[0].offsetHeight;
	$(".browse_events_results_height_keeper").css('min-height', (browse_events_results_height - 471/*155*/) + 'px');
	$(".browse_events_results_height_keeper").show();
	
	
	var url = 'ajax/proc/browse_events_query.php?rp=' + page_num;
	//alert(url);
	async_http_request(url, handle_browse_events_pagination_result);
	
	/* for (var hdn_invoice_id in hdn_invoice_ids) {
		hdn_invoice_id.value = extra_info1;	
	} */
	
	//return false;
}

function stripslashes(str) {
    str = str.replace(/\\'/g,'\'');
    str = str.replace(/\\"/g,'"');
    str = str.replace(/\\0/g,'\0');
    str = str.replace(/\\\\/g,'\\');
    return str;
}

function handle_browse_events_pagination_result(http) {
	if (http.readyState == 4 && (http.status==200 || window.location.href.indexOf("http")==-1)) {
		// Trim any whitespace in the response
        var response = http.responseText.replace(/^\s+|\s+$/g, '');
		
		// Display an error message if necessary
		//var divProcessBuyerEmailError = document.getElementById('divProcessBuyerEmailError');
		
		if ((response == undefined) || (response == "-1")) {
			//divProcessBuyerEmailError.innerHTML = '<span style=\"color:#FF0000;\">An error occurred while processing the request</span><br/>';
			//divProcessBuyerEmailError.style.display = 'block';

		} else if (response == "0") {
			//divProcessBuyerEmailError.innerHTML = '<span style=\"color:#FF0000;\">An error occurred while processing the request</span><br/>';
			//divProcessBuyerEmailError.style.display = 'block';
		
		// Otherwise, parse the response for the 
		} else {
			
			var thing_index = response.indexOf('@!@');
			var num_browse_events_results = parseInt(response.substring(0, (thing_index)));
			response = response.substring((thing_index + 3));
			
			var browse_events_results = new Array();
			var event_extensions = new Array();
			var event_categories = new Array();
			var event_cat_suffixes = new Array();
			var event_names = new Array();
			var event_dates = new Array();
			var event_descriptions = new Array();
			
			if (response.indexOf("+++*+++") == -1) {
				//var num_browse_events_results = 1;
				var event_values = response.split("!+!");
				event_extensions[0] = event_values[0];
				event_categories[0] = event_values[1];
				if (event_categories[0] == 'default')
					event_cat_suffixes[0] = 'default';
				else
					event_cat_suffixes[0] = event_categories[0] + '_' + ((Math.floor(Math.random()*5)) + 1);
				event_names[0] = stripslashes(event_values[2]);
				event_dates[0] = event_values[3];
				event_descriptions[0] = stripslashes(event_values[4]);
				
				//console.log(event_extensions[0] + ' ' + event_cat_suffixes[0] + ' ' + event_names[0] + ' ' + event_dates[0] + ' ' + event_descriptions[0]);
				
			} else {
				browse_events_results = response.split("+++*+++");
				//var num_browse_events_results = browse_events_results.length;
				
				for (var r = 0; r < num_browse_events_results; r++) {
					var event_values = browse_events_results[r].split("!+!");
					event_extensions[r] = event_values[0];
					event_categories[r] = event_values[1];
					if (event_categories[r] == 'default')
						event_cat_suffixes[r] = 'default';
					else
						event_cat_suffixes[r] = event_categories[r] + '_' + ((Math.floor(Math.random()*5)) + 1);
					event_names[r] = stripslashes(event_values[2]);
					event_dates[r] = event_values[3];
					event_descriptions[r] = stripslashes(event_values[4]);
					
					//console.log(event_extensions[r] + ' ' + event_cat_suffixes[r] + ' ' + event_names[r] + ' ' + event_dates[r] + ' ' + event_descriptions[r]);
				}
			}
			
			//console.log('num_browse_events_results= ' + num_browse_events_results);
			
			var first_result = ((browse_events_pagination_selection - 1) * 6);
			var current_result = first_result;
			
			var l_slot = 0;
			var r_slot = 0;
			for (var result_slot = 0; result_slot < 6; result_slot++) {
				var slot_side = "L";
				if ((result_slot % 2) == 1)
					slot_side = "R";
				
				if (slot_side == "L") {
					if ((result_slot < num_browse_events_results) && (event_cat_suffixes[current_result] != undefined)) {
						//$(".browse_events_result_img_" + slot_side)[l_slot].css('background', 'url(img/newsite/event_category-' + event_cat_suffixes[result_slot] + '.jpg) no-repeat');
						$(".browse_events_result_img_" + slot_side)[l_slot].setAttribute('style', 'width: 300px; height: 125px; margin-right: 20px; background: url(img/newsite/event_category-' + event_cat_suffixes[current_result] + '.jpg) no-repeat');
						$(".browse_events_img_link")[result_slot].setAttribute('href', 'http://www.picatic.com/' + event_extensions[current_result]);
						$(".browse_events_result_name a")[result_slot].setAttribute('href', 'http://www.picatic.com/' + event_extensions[current_result]);
						$(".browse_events_result_name a")[result_slot].innerHTML = (event_names[current_result]);
						$(".browse_events_result_date span")[result_slot].innerHTML = (event_dates[current_result]);
						$(".browse_events_result_desc span")[result_slot].innerHTML = (event_descriptions[current_result]);
					} else {
						$(".browse_events_result_img_" + slot_side)[l_slot].setAttribute('style', '');
						$(".browse_events_img_link")[result_slot].setAttribute('href', '');
						$(".browse_events_result_name a")[result_slot].setAttribute('href', '');
						$(".browse_events_result_name a")[result_slot].innerHTML = ('');
						$(".browse_events_result_date span")[result_slot].innerHTML = ('');
						$(".browse_events_result_desc span")[result_slot].innerHTML = ('');
					}
				
					l_slot++;
				} else {
					if ((result_slot < num_browse_events_results) && (event_cat_suffixes[current_result] != undefined)) {
						//$(".browse_events_result_img_" + slot_side)[r_slot].css('background', 'url(img/newsite/event_category-' + event_cat_suffixes[result_slot] + '.jpg) no-repeat');
						$(".browse_events_result_img_" + slot_side)[r_slot].setAttribute('style', 'width: 300px; height: 125px; background: url(img/newsite/event_category-' + event_cat_suffixes[current_result] + '.jpg) no-repeat');
						$(".browse_events_img_link")[result_slot].setAttribute('href', 'http://www.picatic.com/' + event_extensions[current_result]);
						$(".browse_events_result_name a")[result_slot].setAttribute('href', 'http://www.picatic.com/' + event_extensions[current_result]);
						$(".browse_events_result_name a")[result_slot].innerHTML = (event_names[current_result]);
						$(".browse_events_result_date span")[result_slot].innerHTML = (event_dates[current_result]);
						$(".browse_events_result_desc span")[result_slot].innerHTML = (event_descriptions[current_result]);
					} else {
						$(".browse_events_result_img_" + slot_side)[r_slot].setAttribute('style', '');
						$(".browse_events_img_link")[result_slot].setAttribute('href', '');
						$(".browse_events_result_name a")[result_slot].setAttribute('href', '');
						$(".browse_events_result_name a")[result_slot].innerHTML = ('');
						$(".browse_events_result_date span")[result_slot].innerHTML = ('');
						$(".browse_events_result_desc span")[result_slot].innerHTML = ('');
					}
					
					r_slot++;
				}
				current_result++;
			}
			
		}
		// Hide the loading animation
		$(".browse_events_loading").hide();
		$(".browse_events_results_height_keeper").hide();
		$(".browse_events_results").show();
		$(".browse_events_pagination").show();
		
		
		var new_browse_events_results_height = $(".browse_events_results")[0].offsetHeight;
		var browse_events_height_offset = 0;
		//if (new_browse_events_results_height >= browse_events_results_height)
			browse_events_height_offset = (new_browse_events_results_height - browse_events_results_height);
		//window.scrollTo(0, (browse_events_scroll_offset + browse_events_height_offset));
		
		
		var num_pages = Math.round((num_browse_events_results / 6));
		handle_browse_events_results_initialize(browse_events_pagination_selection, num_pages)
	}
}

function handle_browse_events_search_keypress(search_string, event) {
	var key=event.keyCode || event.which;
	if (key==13)
		handle_browse_events_search(search_string, 1);
}		

function handle_browse_events_search(search_string, page_num) {
	browse_events_last_action = "search";
	browse_events_last_search_string = search_string;
	
	var search_string_title = "";
	if (search_string.length > 32)
		search_string_title = search_string.substr(0, 35) + '...';
	else
		search_string_title = search_string;
		
	$(".subpage_info_heading_title span")[0].textContent = 'Search For "' + search_string_title + '"';
	
	if (document.documentElement && document.documentElement.scrollTop)
      browse_events_scroll_offset = document.documentElement.scrollTop;
    else if (document.body)
      browse_events_scroll_offset = document.body.scrollTop;
	  
	browse_events_results_height = $(".browse_events_results")[0].offsetHeight;
	
	browse_events_pagination_selection = page_num;
	$(".browse_events_pagination").hide();
	$(".browse_events_results").hide();
	$(".browse_events_loading").show();
	//var browse_events_loading_height = $(".browse_events_loading")[0].offsetHeight;
	$(".browse_events_results_height_keeper").css('min-height', (browse_events_results_height - 471) + 'px');
	$(".browse_events_results_height_keeper").show();
	
	var url = 'ajax/proc/browse_events_query.php?rp=' + page_num + '&q=' + encodeURIComponent(search_string).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+').replace(/\x26/g, "%26");
	async_http_request(url, handle_browse_events_pagination_result);
}

function handle_browse_events_results_initialize(current_page, last_page) {
	if (last_page == null)
		last_page = 3;
	if (last_page < 1)
		last_page = 1;
	else if (last_page > 18)
		last_page = 18;
	
	if ($("#tblBrowseEventsPagination td").length > 0)
		$("#tblBrowseEventsPagination td").remove();
	
	for (var i = 1; i <= last_page; i++) {
		if (browse_events_last_action == "browse") {
			if (i == current_page)
				$("#tblBrowseEventsPagination tr:first").append("<td align=\"left\"><span class=\"browse_events_pagination_selected\"><a href=\"#results\" onclick=\"handle_browse_events_pagination(" + i + ", true); return false;\">" + i + "</a></span></td>");
			else
				$("#tblBrowseEventsPagination tr:first").append("<td align=\"left\"><span class=\"browse_events_pagination_page\"><a href=\"#results\" onclick=\"handle_browse_events_pagination(" + i + ", true); return false;\">" + i + "</a></span></td>");
		} else if (browse_events_last_action == "search") {
			if (i == current_page)
				$("#tblBrowseEventsPagination tr:first").append("<td align=\"left\"><span class=\"browse_events_pagination_selected\"><a href=\"#results\" onclick=\"handle_browse_events_search(browse_events_last_search_string, " + i + "); return false;\">" + i + "</a></span></td>");
			else
				$("#tblBrowseEventsPagination tr:first").append("<td align=\"left\"><span class=\"browse_events_pagination_page\"><a href=\"#results\" onclick=\"handle_browse_events_search(browse_events_last_search_string, " + i + "); return false;\">" + i + "</a></span></td>");
		}
	}
}

function handle_learn_more_service_bubble_description_toggle(active_bubble) {
	if (active_bubble == 1) {
		$(".learn_more_info_promote").css('display', 'none');
		$(".learn_more_info_manage").css('display', 'none');
		$(".learn_more_info_sell").css('display', 'block');
	} else if (active_bubble == 2) {
		$(".learn_more_info_sell").css('display', 'none');
		$(".learn_more_info_manage").css('display', 'none');
		$(".learn_more_info_promote").css('display', 'block');
	} else if (active_bubble == 3) {
		$(".learn_more_info_sell").css('display', 'none');
		$(".learn_more_info_promote").css('display', 'none');
		$(".learn_more_info_manage").css('display', 'block');
	}
}

function handle_learn_more_service_bubbles_toggle(active_bubble) {
	if (active_bubble == 1) {
		$('.learn_more_service_bubble_1 a').css('background-position', '125px 0px');
		$(function(){
			$('.learn_more_service_bubble_1 a').hover(function(){
				$(this).css('background-position', '125px 0px');
			},function(){
				$(this).css('background-position', '125px 0px');
			});
		});
		
		$('.learn_more_service_bubble_2 a').css('background-position', '0px 250px');
		$(function(){
			$('.learn_more_service_bubble_2 a').hover(function(){
				$(this).css('background-position', '250px 250px');
			},function(){
				$(this).css('background-position', '0px 250px');
			});
		});
	
		$('.learn_more_service_bubble_3 a').css('background-position', '0px 125px');
		$(function(){
			$('.learn_more_service_bubble_3 a').hover(function(){
				$(this).css('background-position', '250px 125px');
			},function(){
				$(this).css('background-position', '0px 125px');
			});
		});
		
	} else if (active_bubble == 2) {
		$('.learn_more_service_bubble_1 a').css('background-position', '0px 0px');
		$(function(){
			$('.learn_more_service_bubble_1 a').hover(function(){
				$(this).css('background-position', '250px 0px');
			},function(){
				$(this).css('background-position', '0px 0px');
			});
		});
		
		$('.learn_more_service_bubble_2 a').css('background-position', '125px 250px');
		$(function(){
			$('.learn_more_service_bubble_2 a').hover(function(){
				$(this).css('background-position', '125px 250px');
			},function(){
				$(this).css('background-position', '125px 250px');
			});
		});
	
		$('.learn_more_service_bubble_3 a').css('background-position', '0px 125px');
		$(function(){
			$('.learn_more_service_bubble_3 a').hover(function(){
				$(this).css('background-position', '250px 125px');
			},function(){
				$(this).css('background-position', '0px 125px');
			});
		});
		
	} else if (active_bubble == 3) {
		$('.learn_more_service_bubble_1 a').css('background-position', '0px 0px');
		$(function(){
			$('.learn_more_service_bubble_1 a').hover(function(){
				$(this).css('background-position', '250px 0px');
			},function(){
				$(this).css('background-position', '0px 0px');
			});
		});
		
		$('.learn_more_service_bubble_2 a').css('background-position', '0px 250px');
		$(function(){
			$('.learn_more_service_bubble_2 a').hover(function(){
				$(this).css('background-position', '250px 250px');
			},function(){
				$(this).css('background-position', '0px 250px');
			});
		});
	
		$('.learn_more_service_bubble_3 a').css('background-position', '125px 125px');
		$(function(){
			$('.learn_more_service_bubble_3 a').hover(function(){
				$(this).css('background-position', '125px 125px');
			},function(){
				$(this).css('background-position', '125px 125px');
			});
		});
	}
	
	handle_learn_more_service_bubble_description_toggle(active_bubble);
}

var event_page_google_geocoder;  
var event_page_google_map;
function handle_event_page_google_map_initialize(venue_address) {
	event_page_google_geocoder = new google.maps.Geocoder();
    var venue_latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 15,
      center: venue_latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    event_page_google_map = new google.maps.Map(document.getElementById("venue_map_canvas"), myOptions);
	
	if (event_page_google_geocoder) {
	  event_page_google_geocoder.geocode( { 'address': venue_address}, function(results, status) {
		if (status == google.maps.GeocoderStatus.OK) {
		  event_page_google_map.setCenter(results[0].geometry.location);
		  var marker = new google.maps.Marker({
			  map: event_page_google_map, 
			  position: results[0].geometry.location
		  });
		} else {
		  alert("Geocode was not successful for the following reason: " + status);
		}
	  });
	}
}

function handle_event_page_ticket_tooltip_show(ticket_num) {
	
}

function handle_event_page_ticket_tooltip_hide(ticket_num) {
	
}

function handle_event_page_socialmedia_widgets_toggle(tab_num) {
	if (tab_num == 1) {
		$(".eventpage_socialmedia_widgets_facebook").css('display', 'none');
		$(".eventpage_socialmedia_widgets_linkedin").css('display', 'none');
		$(".eventpage_socialmedia_widgets_googleplus").css('display', 'none');
		$(".eventpage_socialmedia_widgets_twitter").css('display', 'block');
	} else if (tab_num == 2) {
		$(".eventpage_socialmedia_widgets_twitter").css('display', 'none');
		$(".eventpage_socialmedia_widgets_linkedin").css('display', 'none');
		$(".eventpage_socialmedia_widgets_googleplus").css('display', 'none');
		$(".eventpage_socialmedia_widgets_facebook").css('display', 'block');
	} else if (tab_num == 3) {
		$(".eventpage_socialmedia_widgets_twitter").css('display', 'none');
		$(".eventpage_socialmedia_widgets_facebook").css('display', 'none');
		$(".eventpage_socialmedia_widgets_googleplus").css('display', 'none');
		$(".eventpage_socialmedia_widgets_linkedin").css('display', 'block');
	} else if (tab_num == 4) {
		$(".eventpage_socialmedia_widgets_twitter").css('display', 'none');
		$(".eventpage_socialmedia_widgets_facebook").css('display', 'none');
		$(".eventpage_socialmedia_widgets_linkedin").css('display', 'none');
		$(".eventpage_socialmedia_widgets_googleplus").css('display', 'block');
	}
}

function handle_event_page_socialmedia_tab_select(tab_num) {
	if (tab_num == 1) {
		$('.eventpage_socialmedia_tab_twitter a').css('background-position', '0px -50px');
		$('.eventpage_socialmedia_tab_facebook a').css('background-position', '-92px 0px');
		$('.eventpage_socialmedia_tab_linkedin a').css('background-position', '-200px 0px');
		$('.eventpage_socialmedia_tab_googleplus a').css('background-position', '-308px 0px');
		
	} else if (tab_num == 2) {
		$('.eventpage_socialmedia_tab_twitter a').css('background-position', '0px 0px');
		$('.eventpage_socialmedia_tab_facebook a').css('background-position', '-92px -50px');
		$('.eventpage_socialmedia_tab_linkedin a').css('background-position', '-200px 0px');
		$('.eventpage_socialmedia_tab_googleplus a').css('background-position', '-308px 0px');
		
	} else if (tab_num == 3) {
		$('.eventpage_socialmedia_tab_twitter a').css('background-position', '0px 0px');
		$('.eventpage_socialmedia_tab_facebook a').css('background-position', '-92px 0px');
		$('.eventpage_socialmedia_tab_linkedin a').css('background-position', '-200px -50px');
		$('.eventpage_socialmedia_tab_googleplus a').css('background-position', '-308px 0px');
		
	} else if (tab_num == 4) {
		$('.eventpage_socialmedia_tab_twitter a').css('background-position', '0px 0px');
		$('.eventpage_socialmedia_tab_facebook a').css('background-position', '-92px 0px');
		$('.eventpage_socialmedia_tab_linkedin a').css('background-position', '-200px 0px');
		$('.eventpage_socialmedia_tab_googleplus a').css('background-position', '-308px -50px');
		
	}
	
	handle_event_page_socialmedia_widgets_toggle(tab_num);
}

var bEventDescriptionTruncated = false;
function handle_event_page_read_more_toggle() {
	if (!$("#divEventPageReadMoreContent").is(':visible')) {
		// Display the "Read More" div
		$("#divEventPageReadMoreContent").css('display', 'block');
		$(".eventpage_description_read_more_link a").text('Show Less');
		//If the Event description was truncated, hide the main description divs
		if (bEventDescriptionTruncated) {
			$("#divEventPageDescriptionHeading").css('display', 'none');
			$("#divEventPageDescriptionText").css('display', 'none');
		}
		
	} else {
		// Hide the "Read More" div
		$("#divEventPageReadMoreContent").css('display', 'none');
		$(".eventpage_description_read_more_link a").text('Read More');
		//If the Event description was truncated, display the main description divs
		if (bEventDescriptionTruncated) {
			$("#divEventPageDescriptionHeading").css('display', 'block');
			$("#divEventPageDescriptionText").css('display', 'block');
		}
	}
}

function handle_ticket_quantity_combobox_selection(ticket_num, ticket_q) {
	$("#ticket_quanity_combobox_value_" + ticket_num).val(ticket_q);
	$("#spanTicketQuantityComboBoxLabel_" + ticket_num).text(ticket_q);
	
	if ($("#divTicketQuantityComboBoxList_" + ticket_num).css('display') == 'block')
		$("#divTicketQuantityComboBoxList_" + ticket_num).hide();
}

function handle_region_combobox_selection(region_code, region_name) {
	$("#region_combobox_value").val(region_code);
	$("#spanRegionComboBoxLabel").text(region_name);
	
	if ($("#divRegionComboBoxList").css('display') == 'block')
		$("#divRegionComboBoxList").hide();
}

function handle_exp_month_combobox_selection(month) {
	$("#exp_month_combobox_value").val(month);
	$("#spanExpMonthComboBoxLabel").text(month);
	
	if ($("#divExpMonthComboBoxList").css('display') == 'block')
		$("#divExpMonthComboBoxList").hide();
}

function handle_exp_year_combobox_selection(year) {
	$("#exp_year_combobox_value").val(year);
	$("#spanExpYearComboBoxLabel").text('20' + year);
	
	if ($("#divExpYearComboBoxList").css('display') == 'block')
		$("#divExpYearComboBoxList").hide();
}

var eventpage_payment_method_rb = 0;
var pp3_payment_method_rb = 0;
function handle_radiobutton_selection(group_id, btn_id) {
	
	// Event Page Payment Method
	if (group_id == 1) {
		if (btn_id == 0) {
			document.frmPurchaseTickets.Invoice.value = 'no';
			$(".picatic_radio_button:first").css('background-position', '0px -25px');
			$(".picatic_radio_button:last").css('background-position', '0px 0px');
			eventpage_payment_method_rb = 0;
		} else {
			document.frmPurchaseTickets.Invoice.value = 'yes';
			$(".picatic_radio_button:first").css('background-position', '0px 0px');
			$(".picatic_radio_button:last").css('background-position', '0px -25px');
			eventpage_payment_method_rb = 1;
		}
		return;
	}
	
	// Purchase Process Step 3 Payment Method (Visa, Mastercard, Invoice Me)
	if (group_id == 3) {
		if (btn_id == 0) {
			$("#pp3_payment_method_rb_0").css('background-position', '0px -25px');
			$("#pp3_payment_method_rb_1").css('background-position', '0px 0px');
			$("#pp3_payment_method_rb_2").css('background-position', '0px 0px');
			pp3_payment_method_rb = 0;
			document.frmProcessBillingInfo.payment_method.value = '0';
			$("#divToggleCCDetails").css('display', 'block');
		} else if (btn_id == 1) {
			$("#pp3_payment_method_rb_0").css('background-position', '0px 0px');
			$("#pp3_payment_method_rb_1").css('background-position', '0px -25px');
			$("#pp3_payment_method_rb_2").css('background-position', '0px 0px');
			pp3_payment_method_rb = 1;
			document.frmProcessBillingInfo.payment_method.value = '1';
			$("#divToggleCCDetails").css('display', 'block');
		} else if (btn_id == 2) {
			$("#pp3_payment_method_rb_0").css('background-position', '0px 0px');
			$("#pp3_payment_method_rb_1").css('background-position', '0px 0px');
			$("#pp3_payment_method_rb_2").css('background-position', '0px -25px');
			pp3_payment_method_rb = 2;
			document.frmProcessBillingInfo.payment_method.value = '2';
			$("#divToggleCCDetails").css('display', 'none');
		}
		return;
	}
}

// Purchase Process Step 2 Guest Survey (multiple-choice)
function handle_radiobutton_survey_selection(question, ticket, ticket_num, btn_id, value, total_opts) {
	
	// Apply the CSS changes for selecting a radio-button
	$("#guest_survey_rb_" + question + "_" + ticket + "_" + ticket_num + "_" + btn_id).css('background-position', '0px -25px');
	for (i = 0; i < total_opts; i++) {
		if (i != btn_id)
			$("#guest_survey_rb_" + question + "_" + ticket + "_" + ticket_num + "_" + i).css('background-position', '0px 0px');
	}
	
	// Update the form input value with the new selection value
	$('input[name="answer_' + question + "_" + ticket + '_' + ticket_num + '"]').val(value);
}

var purchase_terms_agree = false;
function handle_checkbox_toggle(check_id, bInitialize) {
	
	// Purchase Process Step 3 - I Agree (to the Picatic Terms & Conditions)
	if (check_id == 1) {
		if ((purchase_terms_agree == true) || (bInitialize == true)) {
			$(".picatic_check_box").css('background-position', '-25px 0px');
			document.frmProcessBillingInfo.agree.value="";
			purchase_terms_agree = false;
		} else {
			$(".picatic_check_box").css('background-position', '-25px -25px');
			purchase_terms_agree = true;
			document.frmProcessBillingInfo.agree.value="yes";
		}
	}
}

function handle_login_attempt() {
		
		// Hide the "Sumbit" button and display a processing animation
		var btnLoginAttemptSubmit = document.getElementById('btnLoginAttemptSubmit');
		btnLoginAttemptSubmit.style.display = 'none';
		var divLoginAttemptProgress = document.getElementById('divLoginAttemptProgress');
		divLoginAttemptProgress.style.display = 'block';
		var divLoginAttemptError = document.getElementById('divLoginAttemptError');
		divLoginAttemptError.style.display = 'none';
		
		// Get the credentials from the form fields
		var user_email = document.getElementById('txtUser_Email').value;
		var user_pw = document.getElementById('txtUser_PW').value;
		
		// Submit the AJAX request
		var url = 'ajax/proc/user_login_attempt.php?user_email=' + user_email + '&user_pw=' + user_pw;
		async_http_request(url, handle_login_attempt_result);
}

function handle_login_attempt_result(http) {
	if ((http.readyState == 4) && ((http.status == 200) || (window.location.href.indexOf("http") == -1))) {
		// Trim any whitespace in the response
        var response = http.responseText.replace(/^\s+|\s+$/g, '');
		
		// Get DIV elements for displaying the result
		var divLoginAttemptError = document.getElementById('divLoginAttemptError');
		var divLoginAttemptProgress = document.getElementById('divLoginAttemptProgress');
		var btnLoginAttemptSubmit = document.getElementById('btnLoginAttemptSubmit');
		
		// If the AJAX response was not returned (some error occurred)
		if (response == undefined)  {
			divLoginAttemptProgress.style.display = 'none';
			btnLoginAttemptSubmit.style.display = 'block';
			divLoginAttemptError.innerHTML = '<span style=\"color:#FF0000;\">Sorry, an error occurred! Contact us if this persists.</span><br/>';
			divLoginAttemptError.style.display = 'block';
		
		} else if (response == "-1") {
			divLoginAttemptProgress.style.display = 'none';
			btnLoginAttemptSubmit.style.display = 'block';
			divLoginAttemptError.innerHTML = '<span style=\"color:#FF0000;\">Invalid Credentials. Try again.</span><br/>';
			divLoginAttemptError.style.display = 'block';
		
		// If the login attempt succeeded 
		} else {
			divLoginAttemptError.style.display = 'none';
			divLoginAttemptProgress.innerHTML = '<img src="admin/images/indicator.gif" alt="Processing" title="Processing"/>&nbsp;<span style=\"color:#535353;\">Validating Credentials...&nbsp;</span><span style=\"color:#F07002;\">Success!</span><br/><br/>';
			btnLoginAttemptSubmit.style.display = 'none';
			
			document.frmLogin.submit();
			
			// Close the Popup
			//popForm("close");
		}
		
	}
}
