// JavaScript Document
//<![CDATA[
var category = 0;
var week = null;
var objDate=new Date();
var date = dateFormat(new Date(), "yyyy-mm-dd");
var base_url = "http://www.worldofstage.com";

function scrollMixPicks (selected_week, selected_date) {
	week = selected_week;
	date = selected_date;
	document.getElementById("date1").value=date;
	new Ajax.Updater('mixpicks-calendar',
                    'calendar/ajax_calendar/' + week + '/' + date,
                    {
                      asynchronous: true,
                      onSuccess: showMixPicks(week,date,category,date)
                    });
}

function showMixPicks (selected_week, selected_date, selected_category,start_date) {
	week = selected_week;
	date = selected_date;
	document.getElementById("date1").value=date;
	category = selected_category;	
	closeWin();
	//---- omega ------------------------------------------
	document.category_form.hidden_seldate.value = selected_date;
	
	
	var browser=navigator.appName;
 if (browser=='Microsoft Internet Explorer'){
  document.execCommand("ClearAuthenticationCache");
 }
	if(document.getElementById('my_map').style.visibility!='hidden')
						{
						document.getElementById("cale_footerbanner_5").style.visibility="visible";						
						document.getElementById("cale_footerbanner_5").innerHTML="<div class=mapLoading></div>";
						}
	list_container = document.getElementById("mixpicks-listings");
	list_container.innerHTML = '<div class="loading"></div>';	

	var changeClassName="";
	changeClassName="cal_date_"+date;
	var changeStartClassName="";
	changeStartClassName="cal_date_"+start_date;
	var dateID="";
	dateID="cal_dat_"+date;
	var dayID="";
	dayID="cal_day_"+date;
	
	//alert(changeClassName);
    new Ajax.Updater('mixpicks-listings',
                    'calendar/ajax_listings/'+ date + '/' + category,
                    {
                      asynchronous: true,
                      onSuccess: function() {  
                       
					
						if(changeClassName==changeStartClassName)
						{	
						
						node = document.getElementsByClassName('selected_date', $('mixpicks-calendar'))[0]
                       	Element.removeClassName(node, 'selected_date')
                        Element.addClassName(node, 'unselected_date')
						node2 = document.getElementsByClassName('unselected_date_1', $('mixpicks-calendar'))[0]
                        Element.removeClassName(node2, 'unselected_date_1')
                        Element.addClassName(node2, 'selected_date_1')
						node3 = document.getElementsByClassName('cal_day', $('mixpicks-calendar'))[0]
                        Element.removeClassName(node3, 'cal_day')
                        Element.addClassName(node3, 'cal_day_2')
						node4 = document.getElementsByClassName('cal_date', $('mixpicks-calendar'))[0]
                        Element.removeClassName(node4, 'cal_date')
                        Element.addClassName(node4, 'cal_date_2')
						
						}
						else
						{
						node = document.getElementsByClassName('selected_date', $('mixpicks-calendar'))[0]
                       	Element.removeClassName(node, 'selected_date')
                        Element.addClassName(node, 'unselected_date')
						node = document.getElementsByClassName('selected_date_1', $('mixpicks-calendar'))[0]
                        Element.removeClassName(node, 'selected_date_1')
                        Element.addClassName(node, 'unselected_date_1')
						node1 = document.getElementsByClassName('cal_day', $('mixpicks-calendar'))[0]
                        Element.removeClassName(node1, 'cal_day')
                        Element.addClassName(node1, 'cal_day_2')
						node1 = document.getElementsByClassName('cal_date', $('mixpicks-calendar'))[0]
                        Element.removeClassName(node1, 'cal_date')
                        Element.addClassName(node1, 'cal_date_2')
						
						document.getElementById(changeClassName).className="selected_date"	
						//document.getElementById(dateID).className="cal_date"
						//document.getElementById(dayID).className="cal_day"
						}
						
						update_calendar_header(week, date, category);
                       reloadMap(week,date,category);
					   document.getElementById(dateID).className="cal_date";
						document.getElementById(dayID).className="cal_day";
                      }
                    });
	//load();
	//searchLocations(date);
	//reloadMap(week,date,category);
	
}

function clearMarkers() {
	//map.clearMarkers();
	//map.refresh();
	//map.ClearOverlays();
	//alert(markers);
	/*map.removeOverlay('0');	
	map.removeOverlay('1');
	map.removeOverlay('2');
	map.removeOverlay('3');
	map.removeOverlay('4');
	map.removeOverlay('5');
	map.removeOverlay('6');
	map.removeOverlay('7');
	map.removeOverlay('8');
	map.removeOverlay('9');*/
	//map.refresh();
	
	map.clearOverlays();
	
	/*var point = new GLatLng(40.8275378,-74.1030232);
	var marker = createMarker(point,"Williams Center Cinema","<div id=\"gmapmarker\"><div><a href='#'>Williams Center Cinema<\/a><br\/>1 Williams Plaza<br\/>Rutherford, NJ 07070<br\/>New York<br\/>(201) 939-2323<\/div><\/div>", 0,"");
	map.addOverlay(marker);*/
	
}


function update_calendar_header (selected_week, selected_date, selected_category) {
	week = selected_week;
	date = selected_date;
	category = selected_category;
	
	new Ajax.Updater('calender_header_left',
										'calendar/ajax_calendar_header/' + date,
					{
                      asynchronous: true,
                      onSuccess: loadCategoryBox(week, date, category)						
					});
}

function reloadMap (selected_week, selected_date, selected_category)
{
	
	week = selected_week;
	date = selected_date;
	category = selected_category;
	var maptype=document.getElementById("mapType").value;
	var zoomlevel=document.getElementById("zoomLevel").value;
	//alert(zoomlevel);
	AjaxLoad('calendar/ajax_calendar_map/' + week + '/' +date + '/' + category+ '/' + maptype+ '/' + zoomlevel,'my_map');
	

}

function reloadDragMap (selected_week, selected_date, selected_category,endLat,endLon)
	  {
	week = selected_week;
	date = selected_date;
	category = selected_category;
	var maptype=document.getElementById("mapType").value;
	var zoomlevel=document.getElementById("zoomLevel").value;
	//if(map!=null){maptype=map.getCurrentMapType().getName(false);}
	
	AjaxLoad('calendar/ajax_calendar_drag_map/' + week + '/' +date + '/' + category + '/'+ endLat +'/'+endLon+ '/' + maptype+ '/' + zoomlevel,'my_map');
}

function reloadEventList(selected_week, selected_date, selected_category)
{
	week = selected_week;
	date = selected_date;
	category = selected_category;
	
	list_container = document.getElementById("mixpicks-listings");
	list_container.innerHTML = '<div class="loading"></div>';	
	new Ajax.Updater('mixpicks-listings',
                    'calendar/ajax_listings/'+ date + '/' + category,
                    {
                      asynchronous: true,
                      onSuccess: function() { 
	reloadMap(week,date,category);
					 }
                    });
	
}

function loadCategoryBox(selected_week, selected_date, selected_category)
{
	week = selected_week;
	date = selected_date;
	category = selected_category;
	
	new Ajax.Updater('cagegory_box','calendar/ajax_category_box/' + week + '/' +date + '/' + category,
					{
						asynchronous: true
					});
}

function setCalendarContentType(tab) {
	$('calendar-tab-'+curCalendarTab).removeClassName('calendar-tab-selected');
	curCalendarTab = tab;
	showMixPicks(curChannel,curDate)
	$('calendar-tab-'+curCalendarTab).addClassName('calendar-tab-selected');
}


function dispaly_map()
{
	map_obj = document.getElementById('my_map');
	map_main_obj = document.getElementById('map_main');
	
	if((map_obj.style.visibility == 'hidden' )&&(map_main_obj.style.visibility == 'hidden'))
	{ 
		//map_obj.innerHTML = '<div class="mapLoading"></div>';
		//reloadMap(week,date,category);
		map_obj.style.float = 'left';
		map_obj.style.clear = 'both';
		map_obj.style.position = 'relative';
		//map_obj.style.display = '';
		map_obj.style.visibility = '';
		
		map_main_obj.style.float = 'left';
		map_main_obj.style.clear = 'both';
		map_main_obj.style.position = 'relative';
		//map_main_obj.style.display = '';
		map_main_obj.style.visibility = '';
	}
	else
	{
		//map_obj.style.display = 'none';
		map_obj.style.visibility = 'hidden';
		map_obj.style.position = 'absolute';
		
		//map_main_obj.style.display = 'none';
		map_main_obj.style.visibility = 'hidden';
		map_main_obj.style.position = 'absolute';
		closeWin();
	}
}
var xmlhttp, xmlhttp2, xmlhttp3;
var Pages = new Array();
var Destinations = new Array();
var CurDest = '';
var SubmitResultDest = '';

function MakeXmlHttpRequest(){
	if (window.XMLHttpRequest){
		return new XMLHttpRequest();
	}
	else if (window.ActiveXObject){
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		alert("Your browser does not support AJAX!");
	}
}

//--------------------------------------------------------------------------------------------------------------------------------------------------
//	AJAX Request [GET] and Receive Result

function AjaxLoad(Page, Destination){
	if(CurDest == ''){
		CurDest = Destination;
		try{
			//document.getElementById(CurDest).innerHTML = '<img src="icons/loading.gif" style="vertical-align:middle;">Loading...';
		}catch(e){}
		xmlhttp = MakeXmlHttpRequest();
		xmlhttp.onreadystatechange = ReceiveAjax;
		xmlhttp.open("GET", Page, true);
		xmlhttp.send(null);
		CurPage = Page;
	}
	else{
		Pages.push(Page);
		Destinations.push(Destination);
	}
}

function ReceiveAjax(){
	if (xmlhttp.readyState==4){
		if (xmlhttp.status==200){
			//alert(xmlhttp.responseText);
			document.getElementById(CurDest).innerHTML = xmlhttp.responseText;
			///eval(xmlhttp.responseText);
			RunScriptsIfFound(xmlhttp.responseText);
			//onLoad1();
			
		}
		else{
			alert('Couldn\'t connect to the server');
		}
		CurDest = '';
		if(Pages.length > 0){
			AjaxLoad(Pages[Pages.length-1], Destinations[Destinations.length-1]);
			Pages.pop();
			Destinations.pop();
		}
	}
}

//--------------------------------------------------------------------------------------------------------------------------------------------------
//	AJAX Submit [POST] and Receive Result

function AjaxSubmit(SubmitForm, ElemCount, SubmitTo, Destination){
	var params = '';
	for(Cou = 0; Cou < ElemCount; Cou++){
		params += SubmitForm.elements[Cou].name + '=' + SubmitForm.elements[Cou].value + '&';
	}
	params += 'x=y';
	SubmitResultDest = Destination;
	//document.getElementById(SubmitResultDest).innerHTML += '<img src="icons/loading.gif" style="vertical-align:middle;">Sending...';
	xmlhttp2 = MakeXmlHttpRequest();
	xmlhttp2.open("POST", SubmitTo, true);
	xmlhttp2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp2.setRequestHeader("Content-length", params.length);
	xmlhttp2.setRequestHeader("Connection", "close");
	xmlhttp2.onreadystatechange = ReceiveAjaxPost;
	xmlhttp2.send(params);
	return false;
}

function ReceiveAjaxPost(){
	if (xmlhttp2.readyState==4){
		if (xmlhttp2.status==200){
			document.getElementById(SubmitResultDest).innerHTML = xmlhttp2.responseText;
			RunScriptsIfFound(xmlhttp2.responseText);
		}
		else{
			alert('Couldn\'t connect to the server');
		}
		SubmitResultDest = '';
	}
}

function RunScriptsIfFound(AjaxReturn){
	//alert(AjaxReturn.indexOf('<script type="text/javascript">'));
	if(AjaxReturn.indexOf('<script type="text/javascript">') > -1){
		
		var P1 = AjaxReturn.indexOf('<script type="text/javascript">') + 31;
		
		var P2 = AjaxReturn.indexOf('</script>');
		//alert(x[1].substring(P1, P2));
		//eval(x[0]);
		setTimeout(AjaxReturn.substring(P1, P2),10);
		x();
		//alert(AjaxReturn.substring(P1, P2));
	}
}
function x()
{
	document.getElementById("cale_footerbanner_5").style.visibility="hidden";
}
function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(e);
}
function UpdateRow(RowId, DataArray){
	var Row = document.getElementById(RowId);
	for(var i = 0; i < DataArray.length - 1; i++){
		Row.cells[i].innerHTML = DataArray[i];
	}
}

function InsertRow(Table, DataArray, RowID){
	var Table = document.getElementById(Table);
	var Row = Table.insertRow(Table.rows.length);
	Row.id = RowID;
	Row.className = "AltRowOdd";
	var Cell;
	for(var i = 0; i < DataArray.length; i++){
		Cell = Row.insertCell(i);
		Cell.id = Cell.uniqueID;
		Cell.innerHTML = DataArray[i];
	}
}

function RemoveRow(RowId){
	var Row = document.getElementById(RowId);
	Row.style.display = 'none';
}
//]]>

