// ------------------------------------- \\
//	JQuery ready function.
//	executes when the DOM is fully loaded
// ------------------------------------- \\
$(document).ready(function(){

  //hide the all of the element with class msg_body
  $(".msg_body").hide();
  $(".msg_head").css('backgroundImage','url("images/arrowDown.gif")');
  //toggle the componenet with class msg_body
  $(".msg_head").click(function()
  {
	//Speed of drop down boxes
    $(this).next(".msg_body").slideToggle(600);
	//toggle between arrows
	if($(this).css('backgroundImage') == 'url(images/arrowUp.gif)')
		$(this).css('backgroundImage','url("images/arrowDown.gif")');
	else
		$(this).css('backgroundImage','url("images/arrowUp.gif")'); 
  });
  
  
  	$(".pane .delete").click(function(){
		$(this).parents(".pane").animate({ opacity: 'hide' }, "slow");
	});

}); // END JQuery ready function
// ---------------------------------------------------------- \\
//	Keeps track if it was the users (current session)
//	First time adding an event to their cart.
// ---------------------------------------------------------- \\
var first = true;
// ---------------------------------------------------------- \\
//	Validates index.php
//	- Ensure user has at least one item added to their cart 
//		before continueing.
//	- If it is valid changes the window location 
//		to eventRegistration.php
// ---------------------------------------------------------- \\
function validate()
{
	if(cartCount == 0)
	{
		//print warning
		 $('#dialog').jqm().jqmShow({ toTop: true});
	}
	else
		window.location.href = "eventRegistration.php";
}
// ---------------------------------------------------------- \\
//	Removes Event from cart on eventRegistration.php page
//	- Call back function
//	If user removes all event:
//	- Display error and disable submit button.
// ---------------------------------------------------------- \\
function cartEventRemoved(eventArray)
{
	eventArray  = eval( eventArray );
	cartCount = eventArray[0];
	if(cartCount == 0)
	{
		var emptyCart = document.getElementById("emptyCart");
		emptyCart.innerHTML = "<tr bgcolor=\"#FFFFFF\" valign=\"top\"><td align=\"LEFT\"><h3>Please add an event before continuing.</h3></td></tr>";
		document.getElementById("submitButton").disabled = true;
	}
}
// ---------------------------------------------------------- \\
//	Removes Event from cart on eventRegistration.php page
//	Submits AJAX request to remove the event from cart
//	Uses JQuery pane to remove the event from the HTML view
// ---------------------------------------------------------- \\
function registrationRemoveEvent(pTagID, pMonthObjID, pEventObjID, pSessionObjID)
{
	var url="eventsUtil.php";
	url=url+"?type=removeEvent&tagID="+pTagID+"&monthObjID="+pMonthObjID+"&eventObjID="+pEventObjID+"&sessionObjID="+pSessionObjID;
	url=url+"&sid="+Math.random();	
	var ai = new AJAXInteraction(url, cartEventRemoved);
	ai.doGet();
}
// ---------------------------------------------------------- \\
//	Callback function for index.php.  Receives AJAX response.
//	- Updates cart with new count.
//	- Adds new Link to send AJAX request to remove event
// ---------------------------------------------------------- \\
function eventAdded(eventArray)
{
	eventArray  = eval( eventArray );
	document.getElementById("basketCount").innerHTML = eventArray[0];
	document.getElementById(eventArray[1]).innerHTML = "<a href=\"javascript:removeEventFromCart('"+eventArray[1]+"', "+eventArray[2]+", "+eventArray[3]+", "+eventArray[4]+" )\">Opt-Out of Event</a>";
	//update javascript cart count
	cartCount = eventArray[0];
}
// ---------------------------------------------------------- \\
//	Adds an event to users cart.  Sends AJAX request.
//	- creates new AJAXInteraction object so concurrent 
//	  Requests can be sent out.
//	- Display modal dialog if it's the users first event added.
//	- Updates link to add event with loading image
// ---------------------------------------------------------- \\
function addEventToCart(pTagID, pMonthObjID, pEventObjID, pSessionObjID)
{
	if(first)
	{
		$('#addMoreEvents').jqm().jqmShow();
		first = false;
	}
	var url="eventsUtil.php";
	url=url+"?type=addEvent&monthObjID="+pMonthObjID+"&eventObjID="+pEventObjID+"&sessionObjID="+pSessionObjID+"&tagID="+pTagID;
	url=url+"&sid="+Math.random();
	var ai = new AJAXInteraction(url, eventAdded);
	ai.doGet();
	//show loader image
	document.getElementById(pTagID).innerHTML = "<img src=\"images/loader.gif\" alt=\"loading\" />";
}
// ---------------------------------------------------------- \\
//	Call back function.  Receives AJAX response.
//	- Updates cart with new count.
//	- Adds new link to send AJAX request to Add event back into cart
// ---------------------------------------------------------- \\
function eventRemoved(eventArray)
{
	eventArray  = eval( eventArray );
	document.getElementById("basketCount").innerHTML = eventArray[0];
	document.getElementById(eventArray[1]).innerHTML = "<a href=\"javascript:addEventToCart('"+eventArray[1]+"', "+eventArray[2]+", "+eventArray[3]+", "+eventArray[4]+")\">"+eventArray[5]+"</a>";
	//update javascript cart counts
	cartCount = eventArray[0];
}
// ---------------------------------------------------------- \\
//	Removes event from users cart.  Sends AJAX request.
//	- creates new AJAXInteraction object so concurrent 
//	  Requests can be sent out.
//	- Replaces link with loader image
// ---------------------------------------------------------- \\
function removeEventFromCart(pTagID, pMonthObjID, pEventObjID, pSessionObjID)
{
	var url="eventsUtil.php";
	url=url+"?type=removeEvent&tagID="+pTagID+"&monthObjID="+pMonthObjID+"&eventObjID="+pEventObjID+"&sessionObjID="+pSessionObjID;
	url=url+"&sid="+Math.random();
	var ai = new AJAXInteraction(url, eventRemoved);
	ai.doGet();
	//show loader image
	document.getElementById(pTagID).innerHTML = "<img src=\"images/loader.gif\" alt=\"loading\" />";
}