﻿var map = null;
var _pageIndex = 0;

function GetWindowWidth() { var width = 0; if (typeof (window.innerWidth) == 'number') { width = window.innerWidth; } else if (document.documentElement && document.documentElement.clientWidth) { width = document.documentElement.clientWidth; } else if (document.body && document.body.clientWidth) { width = document.body.clientWidth; } if (!width || width < 100) { width = 100; } return width; }
function GetWindowHeight() { var height = 0; if (typeof (window.innerHeight) == 'number') { height = window.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { height = document.documentElement.clientHeight; } else if (document.body && document.body.clientHeight) { height = document.body.clientHeight; } if (!height || height < 100) { height = 100; } return height; }


function InitializeEventList()
{


	$('#' + txtStartDateClientID).datepicker({dayNamesMin: DayNamesMinString.split(','),monthNames:MonthNamesString.split(','), monthNamesShort: MonthNamesShortString.split(','), dateFormat: 'dd.mm.yy', showOn: 'both', buttonImage: 'templates/images/calendar.gif', buttonImageOnly: true, onClose: function(date) { StartDateSelected(date); } });
	$('#' + txtEndDateClientID).datepicker({dayNamesMin: DayNamesMinString.split(','),monthNames:MonthNamesString.split(','), monthNamesShort: MonthNamesShortString.split(','), dateFormat: 'dd.mm.yy', showOn: 'both', buttonImage: 'templates/images/calendar.gif', buttonImageOnly: true, onClose: function(date) { EndDateSelected(date); } });

	var dt = new Date();
	$("#" + txtStartDateClientID).datepicker('option', 'minDate', dt);
	//$("#" + txtEndDateClientID).datepicker('option', 'minDate', AddDays(dt, 1));
	$("#" + txtEndDateClientID).datepicker('option', 'minDate', dt);
	lbRegion_OnChange();
	$("#lblCity").html(refineCitiesText1);
	

	if (typeof(directSearch)!="undefined")
	{
		window.setTimeout("GetEvents(0,1);",2000);
	}
}
function ShowCategoryPanel()
{
	$("#" + categoryPanelClientID).show();
}

function HideCategoryPanel()
{
	$("#" + categoryPanelClientID).hide();
}

function GetSelectedCategories()
{
	//var ids = "";
	//$("input[CustomName='Category'][checked=true]").each(function(){ids+=(ids.length!=0 ? "," : "") + this.value;});
	
	var s = "";
    //	$("input:checked[type='checkbox'][group='EventCategory']").each(function(i, el) { s += el.categoryid + ","; });

    var els = $("input:checked[type='checkbox'][group='Category']");
    for (var i = 0; i < els.length; i++) {
        s += $(els[i]).attr("value") + ",";
    }
    return s;
	//return ids;
}

function GetEvents(pageIndex, isNew)
{ 
	$("#PagerBlock").html("");
	$("#ResultBlock").html("<div style='text-align:center;padding-top:100px;'><img src='templates/images/ajax-loader.gif'/><br>" + searchText +"</div>");

	var regionID = "";
	$("input:checked[name='CityCheckbox']").each(function() { regionID += (regionID!="" ? "," : "") + this.value; });

	if (regionID == "")
		regionID = $("#" + lbRegionClientID).val();
		
	var s = "CategoryIDs=" + GetSelectedCategories() +
					"&RegionIDs=" + regionID +
					"&PageIndex=" + pageIndex +
					"&IsNew=" + isNew +
					"&StartDate=" + $("#" + txtStartDateClientID).val() +
					"&EndDate=" + $("#" + txtEndDateClientID).val() +
					"&SortType=" + $("#" + cboSortTypeClientID).val() +
					"&Keyword=" + $("#txtSearchKeyword2").val();



	_pageIndex = pageIndex;
	$.post("templates/Handler/EventsV3.ashx", s, ReceiveEvents);

	$("#EventListFormBlock1").attr("disabled", "disabled");
	$("#EventListFormBlock2").attr("disabled", "disabled");
	
	$("#" + btnSearchClientID).attr("disabled", "disabled");
}



function ReceiveEvents(arg)
{
	$("#EventListFormResultCaptionBlock").show();
	$("#ResultBlockHeader").fadeIn("slow");
	var rows = arg.split('^');
	var numPages = rows[0];
	$("#ResultBlock").html(rows[1]);
	if (rows[1] == "")
	{
		$("#ResultBlock").html("<div style='width:300px;margin:100px;text-align:center'>" + noResultsText + "</div>");
		$("#PagerBlock1").html("");
		$("#PagerBlock2").html("");

	}
	else
	{
		var pagerString = "";
		var from = parseInt(_pageIndex / 10) * 10;
		var to = (from + 9 >= numPages - 1 ? numPages - 1 : from + 9);
		if (from > 9)
		{
			pagerString = "<span class='EventListPagerLink' onclick='_pageIndex= (parseInt(_pageIndex / 10) * 10)-1;GetEvents(_pageIndex,0);'>...</span>";
		}
		for (i = from; i <= to; i++)
		{
			if (_pageIndex == i)
				pagerString += "<span class='EventListPagerLinkSelected'>" + (i + 1) + "</span> ";
			else
				pagerString += "<span class='EventListPagerLink' onclick='GetEvents(" + (i) + ",0);'>" + (i + 1) + "</span> ";
		}

		if (to < numPages - 1)
		{
			pagerString += "<span class='EventListPagerLink' onclick='_pageIndex=" + (to + 1) + ";GetEvents(_pageIndex,0);'>...</span>";
		}

		$("#PagerBlock1").html(pagerString);
		$("#PagerBlock2").html("&nbsp;&nbsp;" + pagerText1 + " " + (_pageIndex + 1) + " " + pagerText2 + " " + numPages + "&nbsp;&nbsp;");
	}
	
	$("#EventListFormBlock1").attr("disabled", "");
	$("#EventListFormBlock2").attr("disabled", "");

	$("#" + btnSearchClientID).attr("disabled", "");
	
}

function ToggleBlock(id)
{
	var o = $("#imgUpDown");
	if (o.attr("src") == "templates/images/up.gif")
		o.attr("src", "templates/images/down.gif");
	else
		o.attr("src", "templates/images/up.gif");		
		
	$("#" + id).slideToggle();
}

function StartDateSelected(date)
{
	var segments = date.split(".");
	var startDate = new Date(segments[2], segments[1] - 1, segments[0]);
	segments = $("#" + txtEndDateClientID).val().split(".");
	var endDate = new Date(segments[2], segments[1] - 1, segments[0]);

	if (startDate.getTime() >= endDate.getTime())
	{
//		var newDate = AddDays(startDate, 1);
		var newDate = startDate;

		$("#" + txtEndDateClientID).val((newDate.getDate() < 10 ? "0" : "") + newDate.getDate() + "." + ((newDate.getMonth() + 1) < 10 ? "0" : "") + (newDate.getMonth() + 1) + "." + newDate.getFullYear());
	}

}

function EndDateSelected(date)
{
	var segments = date.split(".");
	var endDate = new Date(segments[2], segments[1] - 1, segments[0]);
	segments = $("#" + txtStartDateClientID).val().split(".");
	var startDate = new Date(segments[2], segments[1] - 1, segments[0]);

	if (startDate.getTime() >= endDate.getTime())
	{
		var newDate = endDate;

		$("#" + txtStartDateClientID).val((newDate.getDate() < 10 ? "0" : "") + newDate.getDate() + "." + ((newDate.getMonth() + 1) < 10 ? "0" : "") + (newDate.getMonth() + 1) + "." + newDate.getFullYear());
	}

}


function AddDays(myDate, days)
{
	return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
}

function GetCities()
{
	var params = "ID=" + $("#" + lbRegionClientID).val();
	
	if ($("#" + lbRegionClientID).val()!=null)
		$.post("templates/Handler/Cities.ashx", params, ReceiveCities);
}

function ReceiveCities(arg)
{
	var columns = arg.split('^');
	var s = "";
	for (i = 0; i < columns.length-2; i += 2)
		s += "<input type='checkbox' name='CityCheckbox' value='" + columns[i] + "' onclick='GetAvailableCategories()'/>" + columns[i + 1] +"<br/>";

	$("#cityListContainer2").html(s);

	GetAvailableCategories();
}

function txtSearchKeyword_KeyDown(ev)
{
	window.setTimeout("FadeDateBlock()",500);
	
	if (ev.keyCode == 13)
	{
		GetEvents(0, 1);
		return false;
	}
}

function FadeDateBlock()
{
	if($("#txtSearchKeyword2").val() != "")
	{
		$("#EventListDateBlock").fadeOut();
	}
	else 
	{
		$("#EventListDateBlock").fadeIn();
	}
}

function ShowMap(lat, lon)
{
	if (map != null)
		map.DeleteAllShapes();
	var mapContainer = $("#MapContainer");
	var width = GetWindowWidth();
	var height = GetWindowHeight();
	mapContainer.css("left", 32).css("left", (width / 2) - 32).css("top", (height / 2) - 32).css("width", "64").css("height", 64).css("display", "block");
	mapContainer.animate({ "left": 32, "top": 32, "width": width - 64, "height": height - 64 }, 500, function() { $("#divMap").show(); GetMap(); map.Resize(width - 64, height - 92); AddPin(lat, lon); });
}

function HideMap()
{

	var mapContainer = $("#MapContainer");
	var width = GetWindowWidth();
	var height = GetWindowHeight();
	$("#divMap").hide();
	//$("#divModalOverlay").fadeOut("fast",function(){
	mapContainer.animate({ "left": (width / 2) - 32, "top": (height / 2) - 32, "width": 64, "height": 64 }, 500, function() { $("#MapContainer").css("display", "none"); });
	//});
}

function GetMap(lat, lon)
{
	if (map == null)
	{
		map = new VEMap('divMap');
		map.LoadMap(new VELatLong(52.4, 9.7), 9, 'r', false);
		map.HideDashboard();
	}
}


function AddPin(lat, lon)
{
	var latlon = new VELatLong(lat, lon);
	var shape = new VEShape(VEShapeType.Pushpin, latlon);
	map.AddShape(shape);
	map.SetCenterAndZoom(latlon, 14);
}


function GetAvailableCategories()
{
	var regionID = "";

	$("[name='CityCheckbox'][checked=true]").each(function() { regionID += (regionID != "" ? "," : "") + this.value; });

	if (regionID == "")
		regionID = $("#" + lbRegionClientID).val();

	$.post("templates/Handler/AvailableCategories.ashx", "RegionIDs=" + regionID, ReceiveAvailableCategories);
}

function ReceiveAvailableCategories(arg)
{
	return;
	var rows = arg.split("^");

	for (var i = 0; i < rows.length; i++)
	{
		var columns = rows[i].split(';');
		$("span[CategoryID='" + columns[0] + "']").html("(" + columns[1]+")");
	}

}


function ToggleCityDropdown()
{


	var offset = $("#lblCity").offset();
	$("#cityListContainer").css("left", offset.left).css("top", offset.top+21).toggle();
	
	var regionIDCount=0;
	$("[name='CityCheckbox'][checked=true]").each(function() { regionIDCount++; });
	
	if (regionIDCount==0)
		$("#lblCity").html(refineCitiesText1);
	else
		$("#lblCity").html(regionIDCount + " " + refineCitiesText2);
}

function ToggleRegionDropdown()
{
	var offset = $("#lblRegion").offset();
	$("#" +lbRegionClientID).css("left", offset.left).css("top", offset.top + 21).toggle();
}

function lbRegion_OnChange()
{
	$("#lblRegion").html($("#" + lbRegionClientID +" :selected").text());
	GetCities();
	$("#" + lbRegionClientID).css("display","none");
}


function SelectAllCategories()
{
	$("[group='Category']").each(function() { this.checked="checked"; });
}

function DeSelectAllCategories()
{
	$("[group='Category']").each(function() { this.checked=""; });
}

function DeSelectAllCities()
{
	$("[Name='CityCheckbox']").each(function() { this.checked=""; });
}

function SwitchLinkText(o)
{
	var obj = $(o);
	if (obj.html()==obj.attr("MoreText"))
		obj.html(obj.attr("LessText"))
	else
		obj.html(obj.attr("MoreText"))
}

function CloseCityDropdown()
{
	$("#cityListContainer").hide();
	
	var regionIDCount=0;
	$("[name='CityCheckbox'][checked=true]").each(function() { regionIDCount++; });
	
	if (regionIDCount==0)
		$("#lblCity").html(refineCitiesText1);
	else
		$("#lblCity").html(regionIDCount + " " + refineCitiesText2);
}
