var limit = 10;
var offset = 0;
var total = 0;
var way = '';

function getCalendarEvents(post_url, cur_dt, event_container)
{
	$.post(post_url,{
		curent_date: cur_dt,
		limit: limit,
		offset: offset,
		event_container_node : event_container
	},function(data){
		setCalendarEventsResponse(data)
	}, "json");
}

function setEventCalendarImage(src, alt)
{
    
  if (src != src.replace('neweventinline','calendar_event_logo'))
  	src = src.replace('neweventinline','calendar_event_logo');
  else
  	{
  		ext = src.slice(src.length-4,src.length);
  		src = src.slice(0, src.length-4) + '_calendar_event_logo' + ext;
  	}
	$(".ep_inner .img_area img").attr("src", src);
	$(".ep_inner .img_area img").attr("alt", alt);
}

function setCalendarEventsResponse(val) {
	//var calendarEvents = new Array();
	limit = val.replayDataLimit;
	offset = val.replayDataOffset;
	total = val.replayDataCount;

	for (var i=0; i<limit; i++) {
		$('#event_' + i).unbind('mouseleave');
		$('#event_' + i).unbind('mouseenter');
		$('#event_' + i).hide();
	}
	$("#defaultTextContent").hide();

	if (val.replayCode == 0) {
		var def_src = "/" + val.replayDefaultImage['url'];
		var def_logo_src = "/" + val.replayDefaultImageLogo['url'];
		var def_alt = val.replayDefaultImage['alternative_text'];
		
		
		var first_src = "/" + val.replayData[0]['images']['url'];
		if (first_src != "/") {
			setEventCalendarImage(first_src , val.replayData[0]['images']['alternative_text']);
		} else {
			setEventCalendarImage(def_src , def_alt);
		}

		for (var i in val.replayData) {
            var c_src = "/" + val.replayData[i]['images']['url'];
            
            if (c_src == "/") {
            	c_src = def_logo_src;
            } else {
            	ext = c_src.slice(c_src.length-4,c_src.length);
	            c_src = c_src.slice(0, c_src.length-4) + "_neweventinline" + ext;
            }

            var c_alt = val.replayData[i]['event_logo']['alternative_text'];

			$('#event_image_' + i).attr('src', c_src);
			$('#event_image_' + i).attr('alt', c_alt);
			$('#event_date_place_' + i).html(val.replayData[i]['city'] + ', ' + val.replayData[i]['hours']);
//alert(val.replayData[i]['point_of_interest']);
			$('#event_name_' + i).html(val.replayData[i]['name']);
			$('#event_name_' + i).attr('href', val.replayData[i]['url_alias']);
			
			$('#event_deskr_' + i).html(val.replayData[i]['description']);
			$('#event_more_link_' + i).attr('href', val.replayData[i]['url_alias']);
			
			$('#event_' + i).bind('mouseenter', function() {
				var selected_src = '';
				var selected_alt = '';
				$(this).find('img').each(function(index, item){
					selected_src = $(item).attr("src");
					selected_alt = $(item).attr("alt");
				});
				setEventCalendarImage(selected_src, selected_alt);
			});
			
			$('#event_' + i).bind('mouseleave', function() {
				if (first_src != "/") {
					//setEventCalendarImage(first_src , def_alt);
					setEventCalendarImage(first_src , val.replayData[0]['images']['alternative_text']);
				} else {
					setEventCalendarImage("/" + val.replayDefaultImage['url'], val.replayDefaultImage['alternative_text']);
				}
				
			});
			
			$('#event_' + i).show();

		}
		//$('#view_all').attr('href', 'Events?current_date=' + getDatepickerDate());
		var c_href = 'Events/Result/(limit)/100/(offset)/0/(show_poi_list)/0/(s_search)/1/(sort_by)/-/' +
					'(view_all)/1/(event_container_node)/318/(start_date)/' + getDatepickerDate() + 
					'/(end_date)/' + getDatepickerDate() + '/(locations)/undefined/(search_keyword1)//(cb_checked)/';
		$('#view_all').attr('href', c_href);
	} else {
		var defaultTextContent = document.getElementById('defaultTextContent');
		if ((defaultTextContent == null) || (defaultTextContent == 'undefined')) {
			$(".events_list").append('<div id="defaultTextContent"></div>');
		}

		$("#defaultTextContent").html(val.replayMessage);
		$("#defaultTextContent").show();

		setEventCalendarImage("/" + val.replayDefaultImage['url'], val.replayDefaultImage['alternative_text']);
	}

	changeOffset('');
}

function changeOffset(way)
{
	if (way == 'cal_next') {
		if ((offset + limit) < (total + limit)) {
			offset = offset + limit;
		}
	}
	if (way == 'cal_prev') {
		if ((offset - limit) >= 0) {
			offset = offset - limit;
		}
	}
	
	if (offset == 0) {
		disableElementById('cal_prev');
	}
	if ((offset < total) && (total > limit)) {
		enableElementById('cal_next');
	}
	
	if ((offset + limit) > total) {
		disableElementById('cal_next');
	}
	if ((offset > 0) && (total > limit)) {
		enableElementById('cal_prev');
	}
}

function getDatepickerDate()
{
	return $.datepicker.formatDate( "mm/dd/yy", $("#calendar").datepicker("getDate"));
}

function getEventsOnDate()
{
	var cur_dt = getDatepickerDate();
	getEvents(cur_dt);
}

function disableElementById(elementId)
{
	var el = document.getElementById(elementId);
	if ((el != null) && (el != 'undefined')) {
		var shadowPosLeft = $("#" + elementId).position().left;
		var shadowPosTop = $("#" + elementId).position().top;
		var background = 'url("/extension/nxc_tiglou/design/tiglou/images/transparent_background_black.png")';
		$("#" + elementId + "_shadow").css({"left": shadowPosLeft, "top": shadowPosTop,  "height": "22px", "margin-left": "0", "margin-top": "0", "position": "absolute", "width": "22px", "z-index": "12", "display": "block"});
	}
}

function enableElementById(elementId)
{
	$("#" + elementId + "_shadow").css({"display": "none"});
}

function showShadowWileLocationIsLoading (shadowId, targetId, search_btn_class_or_id)
{
	$('' + search_btn_class_or_id).hide();
	var elTop = $('#' + targetId).position().top;
	var elLeft = $('#' + targetId).position().left;
	var background = 'url("/extension/nxc_tiglou/design/tiglou/images/transparent_background_black.png")';
	$('#' + shadowId).css(
		{
			"left": elLeft,
			"top": elTop,
			"background-image": background,
			"position": "absolute",
			"margin-left": "0px",
			"margin-top": "0px",
			"z-index": "12",
			"display": "block"
		}
	);
	$('#' + shadowId).show();
}

function getLocation(post_url)
{
	var targetId = 'events_calendar_search .box';
	var shadowId = 'event_search_form_shadow';
	var search_btn_class_or_id = '.search_tb';
	getLocationBase(post_url, shadowId, targetId, search_btn_class_or_id);
}

function getLocationDining(post_url)
{
	var targetId = 'subnav';
	var shadowId = 'event_search_form_shadow';
	var search_btn_class_or_id = '.search_tb';
	getLocationBase(post_url, shadowId, targetId, search_btn_class_or_id);
}

function getLocationForMainPage(post_url)
{
	var targetId = 'events_search_form';
	var shadowId = 'event_search_form_shadow_main';
	var search_btn_class_or_id = '#search_btn';
	getLocationBase(post_url, shadowId, targetId, search_btn_class_or_id);
}

function getLocationBase(post_url, shadowId, targetId, search_btn_class_or_id)
{
	showShadowWileLocationIsLoading (shadowId, targetId, search_btn_class_or_id);
	
	$.post(post_url,{},function(data){
		setLocationResponse(data, shadowId, search_btn_class_or_id)
	}, "json");
}

function hideShadowWileLocationIsLoading(shadowId, search_btn_class_or_id)
{
	$('#' + shadowId).hide();
	$('' + search_btn_class_or_id).show();
}

function setLocationResponse(val, shadowId, search_btn_class_or_id)
{
	if (val.replayCode == 0) {
		var selectEl = document.getElementById('locations');
		var option_to_remove = document.getElementById('option_to_remove');
		selectEl.removeChild(option_to_remove);
		
		var selectedFromPost = $('#event_solr_form_location_select_hidden').val();
		for (var i in val.replayData) {
			if (val.replayData[i]['name'] != "") {
				var optionEl = document.createElement('option');
				optionEl.innerHTML = val.replayData[i]['name'];
				if (i == 0) {
					if ((selectedFromPost == '') || (selectedFromPost == null) || (selectedFromPost == 'undefined')) {
						optionEl.setAttribute('selected', 'true');
						optionEl.setAttribute('defaultSelected', 'true');
						optionEl.setAttribute('id', 'defaulSelectedOption');
					}
				}
				if (val.replayData[i]['code'] == selectedFromPost) {
					optionEl.setAttribute('selected', 'true');
					optionEl.setAttribute('defaultSelected', 'true');
					optionEl.setAttribute('id', 'defaulSelectedOption');
				}
				optionEl.setAttribute('class', 'firstBigLetter');
				optionEl.setAttribute('value', val.replayData[i]['code']);
				selectEl.appendChild(optionEl);
			}
		}
		$('#locations').change();
		
		hideShadowWileLocationIsLoading(shadowId, search_btn_class_or_id);
		
		var ajaxedFlag = $('#ajaxedFlag').val();
		if (ajaxedFlag == 'ajaxed') {
			setWay("");
			GetEvents('/en/searchEvent/result', 4);
			return false;
		}
	} else {
		hideShadowWileLocationIsLoading(shadowId, search_btn_class_or_id);
	}
}


