/**
 * @author ui42
 */
/* header javascripts */

/* indexOf for IE */
if (!Array.prototype.indexOf) {
	Array.prototype.indexOf = function(elt /* , from */) {
		var len = this.length;

		var from = Number(arguments[1]) || 0;
		from = (from < 0) ? Math.ceil(from) : Math.floor(from);
		if (from < 0)
			from += len;

		for (; from < len; from++) {
			if (from in this && this[from] === elt)
				return from;
		}
		return -1;
	};
}

$(document).ready( function() {
	// clean input field in top right selection
		$("#top-search input[name='search']").click( function() {
			$(this).val('');
		});
		// if onblur, fill with default value
/*		$("#top-search input[name='search']").blur( function() {
			if (!$(this).val() && !searchbox_changed) {
				$(this).val(this.defaultValue);
			}
		});
		$("#top-search input[name='search']").keyup( function() {
			searchbox_changed = true;
		});*/
		// if search clicked on top right search
		$("#top-search a").click( function() {
			var value = $.trim($("#top-search input[name='search']").val());
			var form = $("#top-search form");
			//if (value) {
			// if value exists
			if (parseInt(value).toString() == value) {
				// search for object ID
				$("#top-search input[name='idobjektu']").val(value);
				var url = "objekt_detail.php";
				if ($("#top-search input[name='PHPSESSID']").val())
				{
					url = url + "?PHPSESSID=" + $("#top-search input[name='PHPSESSID']").val();
				}
				form.attr("action", url);
				form[0].submit();
			} else {
				// do fultext search
				$("#top-search input[name='ftext']").val(value);
				form[0].submit();
			}
			//}

			return false;
		});
		// if enter pressed on right top search
		$("#top_right_search input").keypress( function(e) {
			if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
				$('#top_right_search_submit').click();
				return false;
			} else {
				return true;
			}
		});

		// menu arrows, input is menu, which should be displayed
		function reset_arrows(leave_down) {
			switch (leave_down) {
			case 'language':
				$("#currencies").hide("fast");
				$("#contacts").hide("fast");
				$('#contacts_sel_arrow').css("background-image",
						"url('../../images/design/arrow-down.png')");
				$('#currency_sel_arrow').css("background-image",
						"url('../../images/design/arrow-down.png')");
				break;
			case 'contacts':
				$('#language_sel_arrow').css("background-image",
						"url('../../images/design/arrow-down.png')");
				$('#currency_sel_arrow').css("background-image",
						"url('../../images/design/arrow-down.png')");
				$("#currencies").hide("fast");
				$("#languages").hide("fast");
				break;
			case 'currency':
				$("#languages").hide("fast");
				$("#contacts").hide("fast");
				$('#contacts_sel_arrow').css("background-image",
						"url('../../images/design/arrow-down.png')");
				$('#language_sel_arrow').css("background-image",
						"url('../../images/design/arrow-down.png')");
				break;
			}
		}

		// option boxes for currency, contact and language
		$('#more-contacts').click(
				function() {
					if ($("#contacts").css('display') != 'block') {
						reset_arrows('contacts');
						var pos = findAbsPos(this);
						$("#contacts").css('left', pos[0] - 2);
						$("#contacts").css('top', pos[1] + 15);
						$('#contacts').slideToggle('normal');
						$('#contacts_sel_arrow').css("background-image",
								"url('../../images/design/arrow-up3.gif')");
					} else {
						reset_arrows('contacts');
						$('#contacts').slideToggle('normal');
						$('#contacts_sel_arrow').css("background-image",
								"url('../../images/design/arrow-down.png')");
					}
					return false;
				});

		$('#language-selector').click(
				function() {
					if ($("#languages").css('display') != 'block') {
						reset_arrows('language');
						var pos = findAbsPos(this.parentNode);
						$("#languages").css('left', pos[0] - 2);
						$("#languages").css('top', pos[1] + 15);
						$('#languages').slideToggle('normal');
						$('#language_sel_arrow').css("background-image",
								"url('../../images/design/arrow-up3.gif')");

					} else {
						reset_arrows('language');
						$('#languages').slideToggle('normal');
						$('#language_sel_arrow').css("background-image",
								"url('../../images/design/arrow-down.png')");
					}
					return false;
				});

		$('#currency-selector').click(
				function() {
					if ($("#currencies").css('display') != 'block') {
						reset_arrows('currency');
						var pos = findAbsPos(this.parentNode);
						$("#currencies").css('left', pos[0] + 35);
						$("#currencies").css('top', pos[1] + 15);
						$('#currencies').slideToggle('normal');
						$('#currency_sel_arrow').css("background-image",
								"url('../../images/design/arrow-up3.gif')");
					} else {
						reset_arrows('currency');
						$('#currencies').slideToggle('normal');
						$('#currency_sel_arrow').css("background-image",
								"url('../../images/design/arrow-down.png')");

					}
					return false;
				});

		refresMyChoiceMenuNumber();

	});

function getAjaxURL()
{
	var _url = "ajax.php";

	if ($("#PHPSESSID").val())
	{
		_url = _url + "?PHPSESSID=" + $("#PHPSESSID").val();
	}

	return _url;
}

function stopRKey(evt) {
	var evt  = (evt) ? evt : ((event) ? event : null);
	if (evt.keyCode == 13 && evt.originalTarget.type != 'textarea') { return false; }
	return true;
}

// helper for option boxes, find pos
function findAbsPos(element) {
	var curleft = curtop = 0;
	if (element.offsetParent) {
		do {
			curleft += element.offsetLeft;
			curtop += element.offsetTop;
		} while (element = element.offsetParent);
		return [ curleft, curtop ];
	}
}
// set cookie
function setCookie(c_name, value, expiredays, path) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" + escape(value)
			+ ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
			+ ((path == null) ? "" : ";path=" + path);
}
//set cookie
function setURICookie(c_name, value, expiredays, path) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" + encodeURIComponent(value)
			+ ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
			+ ((path == null) ? "" : ";path=" + path);
}
// get cookie
function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1) {
			c_start = c_start + c_name.length + 1;
			c_end = document.cookie.indexOf(";", c_start);
			if (c_end == -1)
				c_end = document.cookie.length;
			return unescape(document.cookie.substring(c_start, c_end));
		}
	}
	return "";
}

function refresMyChoiceMenuNumber() {
	var choice_cookies = getCookie('limba_moj_vyber_objekty');
	var cards = new Array();
	if (choice_cookies)
		cards = choice_cookies.split(':');
	var counter = 0;
	for (var i = 0; i < cards.length; i++) {
		if (cards[i] != '-')
			counter = counter + 1;
	}
	if (counter > 0) {

		$('#object_count_text').html(
				' (<span id="object_count">' + counter + '</span>)')
	} else {
		$('#object_count_text').html('');
	}
}

function appendParamToURL(url, param)
{
	if (url.indexOf('?') == -1)
	{
		url += '?';
	}
	else
	{
		url += '&';
	}
	
	url += param;
	
	return url;
}

function handleShowFavorites()
{
	var show_favorites = getCookie('show_favorites');

	if (show_favorites == 1)
	{
		show_favorites = 0;
	}
	else
	{
		show_favorites = 1;
	}
	
	if (document.getElementById("reservation_show_favorites") != null)
	{
		// sme na stranke rezervacie
		var val = $('#reservation_show_favorites').val();
		
		if (val == 0)
		{
			show_favorites = 1;
			val = 1;
		}
		else
			val = 0;
		
		$('#reservation_show_favorites').val(val);
	}
	
	setCookie('show_favorites', show_favorites, 30, '/');

	refreshTopFavorites();
}

function handleSubmitDates()
{
	var f_day = (typeof($('input#from_day').val()) != 'undefined' ? $('input#from_day').val() : '');
	var f_month = (typeof($('input#from_month').val()) != 'undefined' ? $('input#from_month').val() : '');
	var f_year = (typeof($('input#from_year').val()) != 'undefined' ? $('input#from_year').val() : '');
	var t_day = (typeof($('input#to_day').val()) != 'undefined' ? $('input#to_day').val() : '');
	var t_month = (typeof($('input#to_month').val()) != 'undefined' ? $('input#to_month').val() : '');
	var t_year = (typeof($('input#to_year').val()) != 'undefined' ? $('input#to_year').val() : '');
	
    var from_date = f_year + '-' + f_month + '-' + f_day;
    var to_date = t_year + '-' + t_month + '-' + t_day;

	$('#from_date').val(from_date);
	$('#to_date').val(to_date);

	$('#from_year').attr('name','');
	$('#from_month').attr('name','');
	$('#from_day').attr('name','');
	$('#to_year').attr('name','');
	$('#to_month').attr('name','');
	$('#to_day').attr('name','');

	$('#from_year').attr('disabled','disabled');
    $('#from_month').attr('disabled','disabled');
    $('#from_day').attr('disabled','disabled');
    $('#to_year').attr('disabled','disabled');
    $('#to_month').attr('disabled','disabled');
    $('#to_day').attr('disabled','disabled');

    return true;
}

function refreshTopFavorites()
{
	if (document.getElementById("favorite_items") == null) 
		return;
	
	xajax_renderFavorites();
}

function addErrorClass(ctrl)
{
	$(ctrl).addClass('input_error');
}

function removeErrorClass(ctrl)
{
	$(ctrl).removeClass('input_error');
}

/* EURO CALC */
function roundNumber(num, dec) {
	var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
	return result;
}

function euro_calc() {
	var new_skk;
	var old_skk = $("#calc_skk").val().replace(',', '.');
	if (old_skk.indexOf('.') != -1) {
		var decimal = old_skk.split('.');

		if (decimal[1].length > 2) {
			decimal[1] = decimal[1].slice(0, 2);
			new_skk = parseFloat(decimal[0] + '.' + decimal[1]);
			$("#calc_skk").val(new_skk);
		} else
			new_skk = old_skk;
	} else
		new_skk = old_skk;
	var euro_price = roundNumber(new_skk / 30.126, 2);
	$("#calc_eur").val(euro_price);
}
function euro_calc_rev() {
	$("#calc_eur").keyup( function(e) {
		if ((e.which && e.which == 9) || (e.keyCode && e.keyCode == 9)) {
			// alert('nic');
			return false;
		} else {
			var new_eur;
			var old_eur = $("#calc_eur").val().replace(',', '.');
			$("#calc_eur").val().replace(',', '.');
			if (old_eur.indexOf('.') != -1) {
				var decimal = old_eur.split('.');
				if (decimal[1].length > 2) {
					decimal[1] = decimal[1].slice(0, 2);
					new_eur = parseFloat(decimal[0] + '.' + decimal[1]);
					$("#calc_eur").val(new_eur);
				} else
					new_eur = old_eur;
			} else
				new_eur = old_eur;

			var skk_price = roundNumber(new_eur * 30.126, 2);
			$("#calc_skk").val(skk_price);
		}
	});
}