// JavaScript Document
var NR_CAL_INFO_DATE = null,
	NR_CAL_IS_OVER_DAY = 0,
	NR_CAL_DETAIL_PAGE = "http://www.vailmusicfestival.org/concertPage.php";

try { document.createEvent("TouchEvent"); window.isMobile = true; }
catch (err) { window.isMobile = false; }

if(!window.isMobile)
{
	jQuery("#nrcal td")
		.live("click", function()
		{	NRCalClick(jQuery(this).attr("day"), this);
		})
		.live("mouseover", function()
		{	NRCalOver(jQuery(this).attr("day"), this);
		})
		.live("mousemove", function(e)
		{	NRCalMove(e);
		})
		.live("mouseout", function()
		{	NRCalOut();
		})
		;		
} else
{	jQuery(function()
	{	jQuery("#nrcal td").css({"cursor": "default"});
	});
}

function NRCalRefresh( time_stamp, elem )
{
	var parent_div = elem;
	
	while (parent_div.nodeName!="DIV")
	{
		parent_div = parent_div.parentNode;
	}
	
	AjaxRequest( parent_div.getAttribute("nrcalpath")+"nr_calendar.tpl.php", "POST", "cal_date_unix="+time_stamp, true, AJAX_ACTION_ELEM, parent_div );
}

function NRCalOver( time_stamp, elem )
{
	if (elem.className=="hasdata" || elem.className=="todayhasdata")
	{
		var parent_div = elem;
		
		while (parent_div.nodeName!="DIV")
		{
			parent_div = parent_div.parentNode;
		}
	
		NR_CAL_IS_OVER_DAY = 1;
		if ( NR_CAL_INFO_DATE!=time_stamp ) AjaxRequest( parent_div.getAttribute("nrcalpath")+"nr_calendar_info.ajax.php", "POST", "cal_date_unix="+time_stamp, true, AJAX_ACTION_PROC, NRCalOverCallback );
	}
}

function NRCalOverCallback( data )
{
	if (NR_CAL_IS_OVER_DAY>0)
	{
		var elem = document.getElementById( "nr_cal_info" ),
			elem_body = document.getElementById( "nr_cal_info_body" );

		data = data.split( String.fromCharCode(1) );
		
		NR_CAL_INFO_DATE = data[0];
		
		if(data[1] != '')
		{	elem_body.innerHTML = data[1];
			if (elem.style.display=="none") elem.style.display = "block";
			if(jQuery && window.isMobile) jQuery("#nrcal td").css({"cursor": "default"});
		}
	}
}

function NRCalMove( evt )
{
	var elem = document.getElementById( "nr_cal_info" ),
		wscroll = GetWindowScroll();
	
	wscroll = wscroll.split( "," );
	
	if (!evt) var evt = window.event;
	
	//elem.style.left = (evt.clientX+15)+"px";
	//elem.style.top = (evt.clientY+parseInt(wscroll[1]))+"px";
	
	var left = (evt.clientX+12);
	var top = (evt.clientY-3);

	if(!window.isMobile) top += parseInt(wscroll[1]);
	else top -= 15;

	elem.style.left = left+"px";
	elem.style.top = top+"px";
}

function NRCalOut()
{
	var elem = document.getElementById( "nr_cal_info" );
	
	NR_CAL_INFO_DATE = null;
	NR_CAL_IS_OVER_DAY = 0;
	if (elem.style.display=="block") elem.style.display = "none";
}

function NRCalClick( time_stamp, elem )
{
	//if(window.isMobile == true) { window.event.preventDefault(); return false;}
	
	if (elem.className=='hasdata' || elem.className=='todayhasdata') window.open(NR_CAL_DETAIL_PAGE+"?date="+time_stamp,"_self");
}

function NRCalTouch( time_stamp, elem )
{
	var info = document.getElementById("nr_cal_info");
	if(!info || window.event.touches == undefined || window.event.touches.length > 1) return;
	var touch = window.event.touches[0];
	
	// 2nd tap: click
	if(elem.className.indexOf("touched") != -1)
	{
		document.location = NR_CAL_DETAIL_PAGE+"?date="+time_stamp,"_self";
	}
	
	// 1st tap: pseudo-hover
	else
	{	NRCalOver(time_stamp, elem);
		NRCalMove(window.event.touches[0]);
		
		if(jQuery)
		{	jQuery("#nrcal td.touched").removeClass("touched");
			jQuery(elem).addClass("touched");
			//jQuery("#home_bkgd").one("touchstart", function(){ alert(1); NRCalTouchEnd(); });
		}
	}
}

function NRCalTouchEnd()
{
	NRCalOut();
	
	if(jQuery)
	{
		jQuery("#nrcal td.touched").removeClass("touched");
	}
}

function GetWindowScroll()
{
	var	x = 0,
		y = 0;
	
	if (document.all)
	{
		if (document.documentElement)
		{
			if (document.documentElement.scrollLeft) x = document.documentElement.scrollLeft;
			if (document.documentElement.scrollTop) y = document.documentElement.scrollTop;
		}
		else
		{
			x = document.body.scrollLeft;
			y = document.body.scrollTop;
		}
	}
	else
	{
		x = window.pageXOffset;
		y = window.pageYOffset;
	}
	
	return x+","+y;
}/* 

*/
