var defaultUEIndex = 1;
var currentUEIndex = 0;
var timerUEIndex = 1;
var eventRotateDelay = 5000; //time in milliseconds
var clickEventRotateDelay = 10000; //time in milliseconds

var numevents = 0;

jQuery.preloadImages = function()
{
	for(var i = 0; i<arguments.length; i++)
	{
		jQuery("<img>").attr("src", arguments[i]);
	}
}

function selectEvent(index, eventid, flashimage, promoline1, promoline2, ticketurl)
{
	/*
	If we have a click event, we stop the auto rotate for 15 seconds, and then resume again.
	This gives ample time to the user to click on any links for that event.
	*/
	if(arguments[6])
	{
		timerUEIndex = index;
		$(document).stopTime('rotateevents');
		$(document).oneTime(clickEventRotateDelay,'rotateevents', 	function()
												{
													$(document).everyTime(eventRotateDelay, 'rotateevents', function(){
														//alert(currentUEIndex);
														var timereventid = $("#eventid_"+timerUEIndex).val();
														var timerflashimage = $("#flashimage_"+timerUEIndex).val();
														var timerpromoline1 = $("#promoline1_"+timerUEIndex).val();
														var timerpromoline2 = $("#promoline2_"+timerUEIndex).val();
														var timerticketurl = $("#ticketurl_"+timerUEIndex).val();
														selectEvent(timerUEIndex, timereventid, timerflashimage, timerpromoline1, timerpromoline2, timerticketurl);
														
														timerUEIndex ++;
														if(timerUEIndex > numevents)
														{
															timerUEIndex = defaultUEIndex;
														}
														
														//currentUEIndex = timerUEIndex;
													});
												});
		
		if($(".UEPic:animated"))
		$(".UEPic:animated").stop();
	
		if($(".UEOnArrow:animated"))
		{
			$(".UEOnArrow:animated").stop();
			if(currentUEIndex != index)
				$(".UEOnArrow").hide();
		}
		
		if($(".UEDetailPromoline1:animated"))
			$(".UEDetailPromoline1:animated").stop();
		if($(".UEDetailPromoline2:animated"))
			$(".UEDetailPromoline2:animated").stop();
		if($(".UEDetailLinks:animated"))
			$(".UEDetailLinks:animated").stop();
	}
	
	
	
	if(currentUEIndex != index)
	{
		var elOld = $("#UE"+currentUEIndex);
		elOld.hide();
		elOld.removeClass("UEOn").addClass("UEOff").fadeIn("fast");
		
		var UEOnArrow = $(".UEOnArrow");
		
		UEOnArrow.hide();
		
		var el = $("#UE"+index);
		
		var leftBorder = parseInt(el.css("borderLeftWidth"));
		var topBorder = parseInt(el.css("borderTopWidth"));
		
		el.hide();
		el.removeClass("UEOff").addClass("UEOn").fadeIn("fast");
		var elOffset = el.offset();
		var elHeight = el.height();
		var arrowHeight = UEOnArrow.height();
		
		var setTop = elOffset.top + Math.ceil((elHeight - arrowHeight) / 2);
		
		var arrowWidth = UEOnArrow.css("width");
		var arrowWidthInt = parseInt(arrowWidth);
		
		if($.boxModel)
		{
			UEOnArrow.css({top:setTop,left:elOffset.left+1});
			UEOnArrow.css("opacity","show").animate({"left": "-="+(arrowWidthInt), "opacity":"show"}, "fast", "swing");
		}
		else
		{
			//i've had it with bloody Internet Explorer! Going to boycott this shit!
			UEOnArrow.css({top:setTop-topBorder-1 , left:elOffset.left-leftBorder+1});
			UEOnArrow.css("opacity","show").animate({"left": "-="+(arrowWidthInt+leftBorder-1), "opacity":"show"}, "fast", "swing");
		}
		
		
		
		var UEPic = $(".UEPic");
		//UEPic;
		
		var img = $("<img src=\"/userfiles/image/events/" + flashimage + "\" />");
		
		UEPic.fadeTo("fast", 0,	function(){
									UEPic.html(img).fadeTo("fast", 1.0);
								});
		
		var UEDetailPromoline1 = $(".UEDetailPromoline1");
		var UEDetailPromoline2 = $(".UEDetailPromoline2");
		
		UEDetailPromoline1.fadeTo("fast", 0,	function(){
									if(promoline1.length > 35)
									{
										$(UEDetailPromoline1).css("font-size","13px");
										promoline1 = promoline1.substr(0,35) + "...";
									}
									else
									{
										$(UEDetailPromoline1).css("font-size","15px");
									}
									UEDetailPromoline1.html(""+promoline1);
									UEDetailPromoline1.fadeTo("fast", 1.0);
								});
		
		UEDetailPromoline2.fadeTo("fast", 0,	function(){
									UEDetailPromoline2.html(""+promoline2).fadeTo("fast", 1.0);
								});
		
		var theTicketLink = "";
		if($.trim(ticketurl) != "")
		{
			theTicketLink = "<a href=\""+ticketurl+"\" target=\"_blank\" onmouseover=\"return setStatus('Book Now');\" onmouseout=\"return setStatus('');\">Book Now</a><br />";
		}
		var links = $( theTicketLink + "<a href=\""+siteurl+"index.cfm/PageID/2/EventID/"+eventid+"/\" onmouseover=\"return setStatus('More Info');\" onmouseout=\"return setStatus('');\">More Info</a>");
		
		var UEDetailLinks = $(".UEDetailLinks");
		UEDetailLinks.fadeTo("fast", 0,	function(){
									UEDetailLinks.html(links).fadeTo("fast", 1.0);
								});
		currentUEIndex = index;
	}
}

function assignClick(el, index, eventid, flashimage, promoline1, promoline2, ticketurl)
{
	$(el).click(function(e)
	{
		selectEvent(index, eventid, flashimage, promoline1, promoline2, ticketurl, e);
	});
}

$(document).ready(function()
{
	resetHeightUEListItems();
	$(".UEContainer").disableTextSelect();
	var defaulteventid = $("#eventid_"+defaultUEIndex).val();
	var defaultflashimage = $("#flashimage_"+defaultUEIndex).val();
	var defaultpromoline1 = $("#promoline1_"+defaultUEIndex).val();
	var defaultpromoline2 = $("#promoline2_"+defaultUEIndex).val();
	var defaultticketurl = $("#ticketurl_"+defaultUEIndex).val();
	
	setTimeout(	function()
				{
					selectEvent(defaultUEIndex, defaulteventid, defaultflashimage, defaultpromoline1, defaultpromoline2, defaultticketurl);
					numevents = $("#numevents").val();
	
					$(document).everyTime(eventRotateDelay, 'rotateevents', function(){
						//alert(currentUEIndex);
						var timereventid = $("#eventid_"+timerUEIndex).val();
						var timerflashimage = $("#flashimage_"+timerUEIndex).val();
						var timerpromoline1 = $("#promoline1_"+timerUEIndex).val();
						var timerpromoline2 = $("#promoline2_"+timerUEIndex).val();
						var timerticketurl = $("#ticketurl_"+timerUEIndex).val();
						selectEvent(timerUEIndex, timereventid, timerflashimage, timerpromoline1, timerpromoline2, timerticketurl);
						
						timerUEIndex ++;
						if(timerUEIndex > numevents)
						{
							timerUEIndex = defaultUEIndex;
						}
						
						//currentUEIndex = timerUEIndex;
					});
					
					$(window).resize(function(){ 
						realignArrow();
					});
				},
				1500);
});

function setStatus(msg)
{
	window.status = msg;
	return true;
}

function realignArrow()
{
	var UEOnArrow = $(".UEOnArrow");
	var el = $("#UE"+currentUEIndex);
			
	var leftBorder = parseInt(el.css("borderLeftWidth"));
	var topBorder = parseInt(el.css("borderTopWidth"));
	
	var elOffset = el.offset();
	var elHeight = el.height();
	var arrowHeight = UEOnArrow.height();
	
	var setTop = elOffset.top + Math.ceil((elHeight - arrowHeight) / 2);
		
	var arrowWidth = parseInt(UEOnArrow.css("width"));
	
	if($.boxModel)
		UEOnArrow.css({top:setTop, left:elOffset.left-arrowWidth+1});
	else
		UEOnArrow.css({top:setTop-topBorder-1 , left:elOffset.left-leftBorder-arrowWidth+2});
}

function resetHeightUEListItems()
{
	var listHeight = $(".UEList").height();

	var totalItems = $(".UEListItem").size();
	var heightToSet = Math.floor(listHeight/totalItems);
	
	$(".UEListItemDate, .UEListItemTitle").css("line-height",heightToSet-1+"px");
	$(".UEListItem,.UEListItemContainer").height(heightToSet-1).show();
}

