// Width/height of the popup border
var weight = 4;
var woffset_right = weight;
var woffset_left = 0;

var direction;

var isFromDeeplink = false;
var deeplikPath = '../white/';

var hotelHintRQ = false;
var hotelHintTimeout = false;

var Class = { 
	create: function() {
		return function() { this.initialize.apply(this, arguments); }
}};


var PopupControl = Class.create();
PopupControl.prototype = {
	initialize: function(callback, frequency) {
		this.callback = callback;
		this.frequency = frequency;
		this.currentlyExecuting = false;
		this.listcontrols = Array();
		this.selecteditems = Array();
		this.afterinit = false;
		this.target = false;
		this.targetid;
		this.mouseover = false;
		this.leftspace = 0;
		this.mouseover = false;
		this.noiframe = false;
		this.oldclass = null;
		this.autoleftspace = true;
		this.colorShift = 25;
	},
	
	setvalues: function() {
		var args = this.setvalues.arguments;
		this.popupname = args[0];
		this.visible = false;
		this.targetid = args[1];
		this.toggler = args[2];
		//this.writebefore();
		this.noiframe = (!$.browser.msie);
		return this;
	},

	initobjects: function() {
		//this.tbl = document.getElementById(this.popupname+'popuptable');
		this.tbl = $("#"+this.popupname+"popuptable");
//    this.tbl=document.body.insertBefore(this.tbl,document.body.firstChild);
		if (!this.noiframe)
			this.iframe = $("#"+this.popupname+'backgroundframe');
		this.target = $("#"+this.targetid);
		this.afterinit = true;
		this.tbl.popup = this;
		this.tbl.onmouseover = function(){this.popup.mouseover = true};
		this.tbl.onmouseout = function(){this.popup.mouseover = false};
	},
	
	toggle: function() {
		if (this.visible)
			this.hide(this.toggle.arguments.length == 1 ? this.toggle.arguments[0] : null);
		else
			this.show(this.toggle.arguments.length == 1 ? this.toggle.arguments[0] : null);
		if (this.ontoggle)
			this.ontoggle(this.visible);
	},
	
	hide: function(target) {
		if(!this.tbl) return;
		$("#"+this.toggler+" .tabTop").hide();
		$("#"+this.toggler+" .tabLeft").hide();
		$("#"+this.toggler+" .tabRight").hide();
		$("#"+this.toggler+" .labWrapper").removeClass("color9bg");
		if(this.popupname == "p3" || this.popupname == "p4" || this.popupname == "p5" || this.popupname == "p8")
			$("#"+this.toggler+" .formfield").removeClass("color9bg");
		this.tbl.hide();
		if (!this.noiframe)
			this.iframe.css("display",'none');
		
		if (this.forcevisible) return;
		if (!this.afterinit) return true;
		this.visible = false;
		//this.tbl.style.display = 'none';
		this.tbl.css("display","none");
		if (!this.noiframe)
			this.iframe.css("display","none");
			//this.iframe.style.display = 'none';
		this.target.className = this.oldclass;
		this.oldclass = null;
		if (this.onhide)
			this.onhide();
		document.currentpopup = null;
	},
	
	show: function() {
		if (this.visible)
    {
			document.currentpopup = null;
      this.fixframe();
      return;
    }
		else if (document.currentpopup)
			document.currentpopup.hide(document.currentpopup.toggler);
		if (!this.afterinit) this.initobjects();
		
		document.currentpopup = this;
		pn = this.popupname+"popuptable";
		
		oWidth = 10; oHeight = 10; oTop = document.rounded_corners ? 5 : 4; oLeft = 5; oTabWidth = 4; oCalWidth = -2;
//    parentOffset = $("#"+this.toggler).offset();^M
//    parentOffset = $("#"+this.toggler).offset();
    var tg=$("#"+this.toggler)[0];
    for (var prTop=0,prLeft=0;tg && $(tg).css("position")=='static';prTop+=tg.offsetTop,prLeft+=tg.offsetLeft,tg=tg.offsetParent)

		parentWidth = $("#"+this.toggler+" .formfield").outerWidth();
		parentInnerWidth = $("#"+this.toggler+" .formfield").innerWidth();
		if(parentInnerWidth == 0) parentInnerWidth = parentWidth;
		parentHeight = $("#"+this.toggler).height();
		
		$("#"+this.toggler+" .tabTop").show().width(parentWidth + oWidth);
		$("#"+this.toggler+" .tabLeft").show().height(parentHeight).width(oTabWidth);
		$("#"+this.toggler+" .tabRight").show().height(parentHeight).width(oTabWidth);
    if (!this.noiframe)
      prLeft=prLeft+1;

		$("#"+this.toggler+" .tabTop").css("top", (prTop - oTop)+"px").css("left", (prLeft - oLeft)+"px");
		$("#"+this.toggler+" .tabLeft").css("top", prTop+"px").css("left", (prLeft - oLeft)+"px");
		$("#"+this.toggler+" .tabRight").css("top", prTop+"px").css("left", (prLeft + parentWidth)+"px");
    
		$("#"+this.toggler+" .labWrapper").addClass("color9bg");
	  this.prTop=prTop+oHeight+parentHeight;
		pn = this.popupname+"popuptable";
		tp2 = $("#"+pn+" .tp2");
		$("#"+pn+" .tp1").width(parentInnerWidth + oWidth);
		tp2.width(parentInnerWidth + oWidth);
		nw = this.tbl.innerWidth() - parentInnerWidth - oWidth - 6;
		if(this.popupname == "p3" || this.popupname == "p4" || this.popupname == "p5" || this.popupname == "p8") {
			$("#"+pn+" .tp1").width(parentInnerWidth + oWidth + oCalWidth);
			tp2.width(parentInnerWidth + oWidth + oCalWidth);
			nw += -oCalWidth;
			$("#"+this.toggler+" .formfield").addClass("color9bg");
		}
		if(this.popupname == "p5") {
			$("#"+this.toggler+" .tabLeft").css("width", "5px");
		}
		
		if(ibe_searchform == "main" && this.popupname.indexOf("p5") == -1 || this.popupname.indexOf("_s4") != -1) {
			if(document.rounded_corners) {
				tp2.css("margin-right","5px");
				$("#"+pn+" .tp3").width($("#"+pn+" .tp3").width() - 4);
				$("#"+pn+" .tp3").css("border-right-width","2px").css("margin-right","3px");
				$("#"+pn+" .tp4").width($("#"+pn+" .tp4").width() - 2);
				$("#"+pn+" .tp4").css("margin-right","2px");
				$("#"+pn+" .tp5").width($("#"+pn+" .tp5").width() - 1);
				$("#"+pn+" .tp5").height(2);
				$("#"+pn+" .tp5").css("margin-right","1px");
			}
			tp2.css("border-right-width", nw + "px");
			this.tblLeft=(prLeft - oLeft);
      this.tbl.show().css("left",(this.tblLeft)+"px");
		}
		else {
			if(document.rounded_corners) {
				tp2.css("margin-left","5px");
				$("#"+pn+" .tp3").width($("#"+pn+" .tp3").width() - 4);
				$("#"+pn+" .tp3").css("border-left-width","2px").css("margin-left","3px");
				$("#"+pn+" .tp4").width($("#"+pn+" .tp4").width() - 2);
				$("#"+pn+" .tp4").css("margin-left","2px");
				$("#"+pn+" .tp5").width($("#"+pn+" .tp5").width() - 1);
				$("#"+pn+" .tp5").height(2);
				$("#"+pn+" .tp5").css("margin-left","1px");
			}
			tp2.css("border-left-width", nw + "px");
			$("#"+pn+" .tp1").addClass("fright");
			if(this.popupname == "p1" || this.popupname == "p2")
      {
        this.tblLeft=(prLeft - (this.tbl.outerWidth()) + parentInnerWidth + oWidth/2 + 2);       
				this.tbl.show().css("left",this.tblLeft+"px");
        
      }
			else
      {
        this.tblLeft=(prLeft - (this.tbl.outerWidth()) + parentInnerWidth + oWidth/2);
				this.tbl.show().css("left",this.tblLeft+"px");
      }
        
		}
//    this.tblLeft=Math.round(this.tblLeft);
//        alert();            
		
		this.visible = true;
		if (!this.noiframe) {
			this.iframe.css("display",'');
			this.fixframe();
		}
	},
	
	fixframe: function() {
		if (this.noiframe) return;
		if (!this.visible) return;
//    this.iframe:
		
		
		toff = this.tbl.offset({ scroll: false });
		twid = this.tbl.innerWidth();
		this.iframe.css({
			position: "absolute",
      top: this.prTop + "px",
			left: this.tblLeft,
			width: (this.tbl.innerWidth()-1) + "px",
			height: (this.tbl.innerHeight() - 15) + "px"
		});
  },
	
	focus: function() {
		this.show();
	},
	
	blur: function() {
		if (!this.mouseover) {
			this.hide();
			this.mouseover = false;
		}
	}
}
function d2h(d) { d = d.toString(16); if(d.length < 2) return "0"+d; else return d; }
function h2d(h) {return parseInt(h,16);} 

function ep_setBgColor (el, mode, source) {
	var colors = $(source).html().split("|");
	if(mode == "over")
		el.css("background-color",colors[1]);
	else
		el.css("background-color",colors[0]);
}

function ep_calculateColor(id) {
	var colorShift = 25;
	var cout = "";
	var cover = "";
	var target = $(id);
	var curCol = target.css("background-color");
	if(!curCol || curCol == "transparent") return false;
	if(curCol.indexOf("#") != -1) { // Color as Hex value
		curCol = curCol.substring(1);
		
		r = h2d(curCol.substring(0,2));
		g = h2d(curCol.substring(2,4));
		b = h2d(curCol.substring(4,6));
		cout = "#"+d2h(parseInt(r))+d2h(parseInt(g))+d2h(parseInt(b));
		r = h2d(curCol.substring(0,2)) - colorShift;
		g = h2d(curCol.substring(2,4)) - colorShift;
		b = h2d(curCol.substring(4,6)) - colorShift;
	}
	else if(curCol.indexOf("rgb") != -1) { // Color as RGB value
		curCol = curCol.substring(4, curCol.length - 1);
		
		colors = curCol.split(",");
		r = parseInt(colors[0].replace(/\s*/,""));
		g = parseInt(colors[1].replace(/\s*/,""));
		b = parseInt(colors[2].replace(/\s*/,""));
		cout = "#"+d2h(parseInt(r))+d2h(parseInt(g))+d2h(parseInt(b));
		r = parseInt(colors[0].replace(/\s*/,"")) - colorShift;
		g = parseInt(colors[1].replace(/\s*/,"")) - colorShift;
		b = parseInt(colors[2].replace(/\s*/,"")) - colorShift;
	}
	else
		return false;
	
	if(r<0) r += 2 * colorShift;
	if(g<0) g += 2 * colorShift;
	if(b<0) b += 2 * colorShift;
	
	cover = "#"+d2h(r)+d2h(g)+d2h(b);
	target.html(cout+"|"+cover);
}

function ep_setEmptyDestination() {
	document.dstlist.selectapt(null);
	$('#desCode').val('');
	document.dstlist.deleteselection(document.dstlist.lastselection_h, "h");
	document.dstlistpopup.hide('dstWrapper');
}

function ep_hideAll() {
	if(document.deplistpopup) document.deplistpopup.hide('depWrapper');
	if(document.dstlistpopup) document.dstlistpopup.hide('dstWrapper');
	if(document.kidsagepopup) document.kidsagepopup.hide('kidaltWrapper');
	if(document.startdatepopup) document.startdatepopup.hide("depCalWrapper");
	if(document.enddatepopup) document.enddatepopup.hide("retCalWrapper");
}

function ep_listOver(el, cls_list, price) {
	if($(el).attr("mover") == "false") return;
	var classes = cls_list.split(",");
	var cc = null;
	var le = classes.length;
	for(var i = 0; i < le; i++) {
		if(price)
			$(el).find(".price").toggleClass(classes[i]);
		else
			$(el).toggleClass(classes[i]);
	}
}

function ep_toggleWizardLink(el, mode) {
	var colors = $("#store_wizlink_color").html().split("|");
	if(mode == "over") el.css("color",colors[1]);
	else el.css("color",colors[0]);
}

function ep_filterReg() {
	document.getElementById("fihtl").value = '';  //clicked on htlRegion, then empty htlName
	window.document.forms['form_filters'].submit();
}

function ep_filterCty() {
/*	document.getElementById("fireg").value = '';  //clicked on htlName, then empty htlRegion
	document.getElementById("fihtl").value = '';  //clicked on htlRegion, then empty htlName*/
	window.document.forms['form_filters'].submit();
}

function ep_filterHtl() {
	document.getElementById("fireg").value = '';  //clicked on htlName, then empty htlRegion
	window.document.forms['form_filters'].submit();
}

function hotelinfo(purl,path){
  window.open(purl,'hotelinfowindow','channelmode=0,directories=0,fullscreen=0,location=0,menubar=0,resizable=1,scrollbars=1,status=1,titlebar=0,toolbar=0,width=840,height=570')
}

function ep_validateOffer(id) {
	if($('#offer_'+id).attr("status") != "BA") {
		$('#hide_'+id).css("display","block");
		return validate(id); // ajax.js
	}
}

function ep_getOrderBy(ordnr) {
	var act_url = document.URL;
	var regex = /ob={0,1}-./g;          //pattern
	if ( regex.test(act_url) )   //param "ob" exists
		act_url = act_url.replace(regex, 'ob=' + ordnr);
	else
		act_url += '&ob=' + ordnr;
	window.location.href = act_url;
}


function checkChildren() {
	if( $("#adultsSel").val() < $("#babySel").val() ) {
		alert("Die Anzahl der Babies darf die Anzahl der Erwachsenen nicht ueberschreiten.");
		$("#babySel").val("0");
		return false;
	}
	return true;
}

function showKidsAge() {
	if(!checkChildren()) return;
	
	if($("#kidsSel").val() == 0) {
		$("#child1Age").val("");
		$("#child2Age").val("");
		$("#child3Age").val("");
		$("#child4Age").val("");
		$("#kidaltWrapper").css("display","none");
		$("#kidalt").css("display","none");
		document.kidsagepopup.hide();
	}
	else {
		var numofkids ='';
		$("#child1AgeContainer").css("display","block");
		$("#child2AgeContainer").css("display","block");
		$("#child3AgeContainer").css("display","block");
		$("#child4AgeContainer").css("display","block");
		
		$("#child1Age").val($("#child1AgeSel").val());
		$("#child2Age").val($("#child2AgeSel").val());
		$("#child3Age").val($("#child3AgeSel").val());
		$("#child4Age").val($("#child4AgeSel").val());
		
		if ($("#kidsSel").val() < 4){
			$("#child4AgeContainer").css("display","none");
			$("#child4Age").val("");
		}
		if ($("#kidsSel").val() < 3){
			$("#child3AgeContainer").css("display","none");
			$("#child3Age").val("");
		}
		if ($("#kidsSel").val() < 2){
			$("#child2AgeContainer").css("display","none"); 
			$("#child2Age").val(""); 
		}
			   
		$("#kidaltWrapper").css("display","block");
		$("#kidalt").css("display","block");
		document.kidsagepopup.show();
	}
}

function showAttr(){
	$('#attr').css('backgroundColor',$("#store_popup2_color").html().split('|')[0]);
  document.attrpopup.show();
}
function hideAttr(){
  document.attrpopup.hide('attrWrapper')
  $('#attr').css('backgroundColor','inherit');
}

// set searchtype to PA (pauschal)
function fieldsPA(news) {
	ep_hideAll();
	if(news) $("#scopeNE").attr("checked",true);
	document.searchtypeRadio = "PA";
	$("#searchtype").val("PA");
	$("#departure").css("display","block");

	//$("#calInput2").val(incDate($("#calInput1").val(), 21));
	$("div.hideNH").css("display","block");
	$("div.hideNF").css("display","block");
	ep_makeDestList();
}

// set searchtype to NF (flights only)
function fieldsNF(news) {
	ep_hideAll();
	if(news) $("#scopeNE").attr("checked",true);
	document.searchtypeRadio = "NF";
	$("#searchtype").val("NF");
	$("#departure").css("display","block");

	//$("#calInput2").val(incDate($("#calInput1").val(), 21));
	$("div.hideNH").css("display","block");
	$("div.hideNF").css("display","none");
	ep_makeDestList();
}

// set searchtype to NH (hotels only)
function fieldsNH(news) {
	ep_hideAll();
	if(news) $("#scopeNE").attr("checked",true);
	document.searchtypeRadio = "NH";
	$("#searchtype").val("NH");
	$("#departure").css("display","none");
	//$("#calInput2").val(incDate($("#calInput1").val(), 21));
	$("div.hideNF").css("display","block");
	$("div.hideNH").css("display","none");
	ep_makeDestList();
}

function wizardsubmit() {
	var allowEmptyValue = [ 't' ];
	// same searchresults with new params?
	//var verf = $("#step").val() != "3" && $("#step").val() != "4" || $("#scopeTH").attr("checked");
	var verf = $("#step").val() != "3" && $("#step").val() != "4" || true;
	
	var purl = "";
	var curdest = "";
	var gid = "";
	var ourl = Array();

	if ($("#depCode") && $("#depCode").val().length == 0 && document.deplistpopup && $("#searchtype").val() != "NH") {
		document.deplistpopup.show('depWrapper');
		return false;
	}
	$("#child1Age").val(""); $("#child2Age").val(""); $("#child3Age").val("");

	if ($("#kidsSel").val() > 0 && $("#child1AgeSel").val() != "") $("#child1Age").val($("#child1AgeSel").val());
	if ($("#kidsSel").val() > 1 && $("#child2AgeSel").val() != "") $("#child2Age").val($("#child2AgeSel").val());
	if ($("#kidsSel").val() > 2 && $("#child3AgeSel").val() != "") $("#child3Age").val($("#child3AgeSel").val());


	if (epsf_gateparam != null) {
		purl = document.URL.split("?");
		var ourl = new Array();
		if(purl.length > 1)
			ourl = purl[1].split("&");
		var nurl = Array();
		nurl.push(purl[0]);
		for (var i = 0; i < ourl.length; i++) {
			if (ourl[i].split("=").shift() != epsf_gateparam + "[]")
				nurl.push(ourl[i]);
			else
				purl = unescape(ourl[i].split("=").pop());
		}
	}
	else
		purl = document.URL.split("?");

	// check current destination
	try{
		if(purl.length > 1)
			ourl = purl[1].split("&");
	
		for (var i = 0; i < ourl.length; i++) {
			if(ourl[i].split("=").shift() == "ds")
				curdest = ourl[i].split("=").pop();
			if(ourl[i].split("=").shift() == "g")
				gid = ourl[i].split("=").pop();
		}
	}
	catch(e){;};

	// set step for new search
	if(!verf || curdest != $("#desCode").val() || $("#desCode").val() == "" || $("#step").val() == "1" || $("#step").val() == "2") {
		$("#step").val("2");
		if ($("#desCode").val().length > 0) {
			if (document.searchtype == "NF")
			{
				$("#step").val("4");
			} else
			{
				$("#step").val("3");
			}
		}
	}
	else if($("#step").val() == "5" || $("#step").val() == "6") {
			$("#step").val("4");
			//$("#step").val("3");
	}
	else if(($("#step").val() == "4" && gid == "") || $("#radioNH").attr("checked")) {
		$("#step").val("3");
	}
	else {
	} // old step value is ok

	try {
		var x = document.forms.form_params.elements;

		var url = new Array;
		for (var i = 0; i < x.length; i++) {
			if ( jQuery.inArray(x[i].name, allowEmptyValue) > -1 || x[i] != undefined && x[i].name != "" && x[i].name != "ro" && x[i].name != "scope" && x[i].value != "0" && (x[i].type != "radio" || x[i].checked)) {
				url.push(x[i].name + "=" + escape(x[i].value));
			}
		}
		if($("#step").val() == "4") {
			url.push("g="+gid);
			url.push("sc=tibetxml");
		}
	}
	catch (e) {}
	
	if (epsf_gateparam != null) {
		nurl.push(epsf_gateparam + "[]=" + escape("?" + url.join("&")));
		var j = nurl[0];
		nurl.shift();
		j += "?"+nurl.join("&");
		//console.debug("url IF: "+"?"+nurl.join("&"));
		forwardWithLoadingScreen(j);
	}
	else {
		//console.debug("url ELSE: "+url.join("&"));
		forwardWithLoadingScreen("?" + url.join("&"));
	}
}

// disallow deeplinkinfo for active session.
// if the browser will be closed, deeplinkinfo will be allowed again (cookies)
function ep_DisallowDeepLinkInfo(days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = "deepLinkDisallow=1"+expires+"; path=/";
}

function ep_deepLinkInfoAllowed() {
	var nameEQ = "deepLinkDisallow=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return false;
	}
	return true;
}

function ep_closeDeepLinkInfo() {
	if($("#deeplink_off").attr("checked"))
		ep_DisallowDeepLinkInfo(3);
	$("#deeplinkinfo").hide();
	$("#blackbox").hide();
	$("#right_searchform").css({
		zIndex: "2",
		position: "static"
	});
	$("#mask_searchform").hide();
		$("body").attr("scrolling","yes");
}

function ep_showDeeplinkInfo() {
	if(ep_deepLinkInfoAllowed()) {
		$("#blackbox").css("height",$("html").height()+"px").show();
		$("#deeplinkinfo").show().css({
			top: $("#menupath").offset().top + "px",
			left: $("#menupath").offset().left + "px",
			width: $("#menupath").outerWidth() + "px"
		});
		$("#right_searchform").css({
			zIndex: "10000",
			position: "relative"
		});
		$("#mask_searchform").show().css({
			top: $("#right_searchform").offset().top + "px",
			left: $("#right_searchform").offset().left + "px",
			width: $("#right_searchform").outerWidth() + "px",
			height: $("#right_searchform").outerHeight() + "px"
		}).click(function(){ ep_closeDeepLinkInfo(); });
		$("body").attr("scrolling","no");
	}
}


// Toggle advanced search options in both search forms
function ep_advSearchToggler() {
	$("a#searchoptions_switcher").click(function(event) {
		$("#sf_advanced_options").slideToggle("slow");
		if($("a#searchoptions_switcher").text() == ept_AdvancedSearch)
			$("a#searchoptions_switcher").text(ept_AdvancedSearch_close);
		else
			$("a#searchoptions_switcher").text(ept_AdvancedSearch);
		return false;
	});
}

function ep_Merkzettel(mkztype)
{
  var mkzUrl = '';
  var urlstart = iberooturl;
  
  if (mkztype == 'print')
  {
    
    //var requestUrl:String = SRVanessa.myMainUrl + 'index.php/Angebot_' + dateString + '.pdf?st=NBM';
    var myDate = new Date();
		var day = myDate.getDate();
		var month = myDate.getMonth();
		var year = myDate.getFullYear();
		
    var dayString = '';
    var monthString = '';
    var yearString = year.toString();
    
    if(day < 10)
      dayString = '0' + day.toString();
    else
      dayString = day.toString();
    
    if(month < 10)
      monthString = '0' + (month + 1).toString();
    else
      monthString = (month + 1).toString();
    
    var dateString = dayString + '_' + monthString + '_' + yearString;
    urlstart += 'index.php/Angebot_' + dateString + '.pdf';
  }
  try {
		var x = document.forms.ep3merkzettleform.elements;
		var url = new Array;
		for (var i = 0; i < x.length; i++) {
			if (x[i].name != "" && x[i].name != "ro" && x[i].name != "scope" && x[i].value != "" && x[i].value != "0" && (x[i].type != "radio" || x[i].checked)) {
				url.push(x[i].name + "=" + escape(x[i].value));
			}
		}
	}
	catch (e) {}

	if (epsf_gateparam != null) {
		nurl.push(epsf_gateparam + "[]=" + escape("?" + url.join("&")));
		var j = nurl[0];
		nurl.shift();
		j += "?"+nurl.join("&");
		//console.debug("url IF: "+"?"+nurl.join("&"));
		mkzUrl = urlstart+j;
	}
	else {
		//console.debug("url ELSE: "+url.join("&"));
		mkzUrl = urlstart+"?" + url.join("&");
	}
  if (mkztype == 'print')
  {
    mkzUrl += '&print';
    window.open(mkzUrl,'merkzettelprintwindow','channelmode=0,directories=0,fullscreen=0,location=0,menubar=0,resizable=1,scrollbars=1,status=1,titlebar=0,toolbar=0,width=840,height=570')
  }
  else
  {
    $('#MkzRetWait').css("display",'block');
    var page = $.ajax({url: mkzUrl, 
					   type: "GET",
					   success: function(html){   $('#MkzRetWait').css("display",'none');   $('#MkzRetOK').css("display",'block'); }
					   });
  }
}

function recalcOpt()
{
  var opt_div = document.getElementById('AttributesDiv');
  if (!opt_div)
    return;
  
  var opt_inputs = opt_div.getElementsByTagName("input");
  var opt_value = [];
  for (var i=0; i < opt_inputs.length; i++)
  {
    if (opt_inputs[i].checked)
      opt_value[opt_value.length] = opt_inputs[i].value;
  }
  if (opt_value.length && document.getElementById('Attr'))
  {
    document.getElementById('Attr').value = opt_value.join(',');
  }
  if (opt_value.length == 0 && document.getElementById('Attr'))
  {
	  document.getElementById('Attr').value = '';
  }
  if (opt_value.length)
  {
	  $('#attributesCount').html(' (' + opt_value.length + ')');
  } else
  {
	  $('#attributesCount').html('');
  }
}

function resetOptFromInput()
{
  var opt_div = document.getElementById('AttributesDiv');
  if (!opt_div)
    return;
  if (!document.getElementById('Attr'))
    return;
  
  var opt_arr = document.getElementById('Attr').value.split(',');
  var opt_inputs = opt_div.getElementsByTagName("input");
  for (var i=0; i < opt_inputs.length; i++)
  {
    if (jQuery.inArray(opt_inputs[i].value, opt_arr) !== -1)
      opt_inputs[i].checked = true;
    else
      opt_inputs[i].checked = false;
  }
}

function clearOpt()
{
  var opt_div = document.getElementById('AttributesDiv');
  if (!opt_div)
    return;
  
  var opt_inputs = opt_div.getElementsByTagName("input");
  for (var i=0; i < opt_inputs.length; i++)
  {
    opt_inputs[i].checked = false;
  }
  if (document.getElementById('Attr'))
    document.getElementById('Attr').value = '';
}

function removeAttr(id)
{
	var result = new Array();
	var temp = document.getElementById('Attr').value.split(',');
	for (i = 0; i < temp.length; i++)
	{
		if (temp[i] != id)
		{
			result[result.length] = temp[i];
		}
	}
	document.getElementById('Attr').value = result.join(',');
	resetOptFromInput();
	recalcOpt();
	
	//remove link to attribute from list
	//document.getElementById('attrSelected_' + id).parentNode.removeChild(document.getElementById('attrSelected_' + id));
	$('#attrSelected_' + id).removeAttr('onclick').removeClass('color18').addClass('color6 ').css({'cursor': 'default ', 'textDecoration': 'none'});
	$('#attrSelected_' + id + ' span').remove();
	
	/*if (!result.length)
	{
		document.getElementById('attrSelected_container').style.display = 'none';
	}*/
	
	return false;
}

function updateHotelAttributesInfo()
{
	if (document.getElementById('Attr'))
	{
		var opt_value = document.getElementById('Attr').value.split(',');
		if (document.getElementById('Attr').value != '')
		{
			$('#attributesCount').html(' (' + opt_value.length + ')');
			if ($('#h1_attributesCount'))
			{
				$('#h1_attributesCount').html(opt_value.length + ' ' + _t('hotelproperties'));
			}
			return;
		} else
		{
			$('#attributesCount').html('');
			if ($('#h1_attributesCount'))
			{
				$('#h1_attributesCount').html('');
			}
			return;
		}
	} else
	{
		return;
	}	
}

function hotelHintExec(hotelNameField)
{
  if (hotelHintTimeout)
    clearTimeout(hotelHintTimeout);
  hotelHintTimeout = setTimeout(function(){ hotelHint(hotelNameField); }, 500);
}

function hotelHint(hotelNameField)
{
  // stop previous request
  if (hotelHintRQ)
    hotelHintRQ.abort();
  // skip displaying hint when input shorter than 3 letters
  if (hotelNameField.value.length < 3)
    return;
  
	try {
		var x = document.forms.form_params.elements;
		var url = new Array;
		var hotelhinturl = '';
		var ep3FormSendElements = ['st','sd','ed','drf','drt','tt','lang','hn'];
		for (var i = 0; i < x.length; i++) {
			if (x[i].name != undefined && x[i].name != "" && x[i].name != "ro" && x[i].name != "scope" && x[i].value != "" && x[i].value != "0" && (x[i].type != "radio" || x[i].checked)) {
				if (jQuery.inArray(x[i].name, ep3FormSendElements) != -1)
          url.push(x[i].name + "=" + escape(x[i].value));
			}
		}
    url.push('sp=4');
    url.push('action=hotelfilter');
    url.push('callback=hotelHintsCallback'); // callback function name
	}
	catch (e) {}

	if (epsf_gateparam != null) {
		nurl.push(epsf_gateparam + "[]=" + escape("?" + url.join("&")));
		var j = nurl[0];
		nurl.shift();
		j += "?"+nurl.join("&");
		//console.debug("url IF: "+"?"+nurl.join("&"));
		hotelhinturl = j;
	}
	else {
		//console.debug("url ELSE: "+url.join("&"));
		hotelhinturl = "?" + url.join("&");
	}
	
	if (valprefixurl!='') {
		hotelhinturl = hotelhinturl.substring(url.indexOf('?'));
		hotelhinturl = valprefixurl+hotelhinturl;
	}

  hotelHintRQ = $.ajax({url: hotelhinturl, 
			type: "GET",
			success: function(html){ eval(html); }
		});

}

function hotelHintsCallback(textval)
{
  if (textval[1].length == 0)
  {
    //no result
    return;
  }
  else
  {
	  var result = '';
	  for (i=0; i<textval[1].length; i++)
	  {
		  result += '<div class="cpointer pad5 ptop2 pbot2" ';
		  result += 'onclick="$(\'#hotelname_search\').attr(\'value\', $(this).text()); $(\'#hotelname_results\').hide();" ';
		  result += 'onmouseover="ep_listOver(this,\'color13bg,color14bg\');" ';
		  result += 'onmouseout="ep_listOver(this,\'color14bg,color13bg\');"';
		  result += '>';
		  result += highlightText(textval[1][i], 'color14bg tbold')  + '</div>';
	  }
	  
	  $('#hotelname_results').css({'display': 'block', 'zIndex': '100'});
	  $('#hotelname_results').html(result);
    //alert(textval[1].join(', '));
  }
}


function highlightText (text, classNames)
{
	var search = $('#hotelname_search').attr('value').toLowerCase();
	var temp = text.toLowerCase().split(search);
	var result = '';
	var suche = text.toLowerCase().indexOf(search);
	if (suche != -1)
	{
		result += text.substr(0, suche);
		result += '<span class="' + classNames + '">' + text.substr(suche, search.length) + '</span>';
		result += text.substr(suche+search.length);
		return result;
	} else
	{
		return text;	
	}
}

function ep3_parseURL(gateparamname, inurl){
  if(inurl.indexOf('?') == -1)
    return [[],{},{}];
  
  var nurl={}, gurl={}, ep3url = '';
  var rex = /^([^\[]+)(\[([^\]]*)\])?=(.*)$/;
  var tmp = '';
  var url = [], turl = [];
  var ourl=inurl.replace(/^[^\?]*\?/,'').replace(/#.*$/,'').replace(/&amp;/g,'&').split('&');
  for(var i=0; i<ourl.length; i++)
  {
    if(ourl[i] == '')
      continue;
    tmp = rex.exec(ourl[i]);
    // arrays - ["aaaa[bbb]=xxx", "aaaa", "[bbb]", "bbb", "xxx"]
    if(typeof(tmp[2]) == 'undefined' || tmp[2] == '')
      nurl[tmp[1]] = unescape(tmp[4]);
    else if(gateparamname && tmp[1] == gateparamname)
      ep3url+='&'+unescape(tmp[4]).replace(/^[^\?]*\?/,'').replace(/#.*$/,'').replace(/&amp;/g,'&');
    else // javascript arrays
      url.pop(tmp[0]);
  }
  
  if (ep3url.length > 0){
    ourl = ep3url.split('&');
    for(var i=0; i<ourl.length; i++)
    {
      if(ourl[i] == '')
        continue;
      tmp = rex.exec(ourl[i]);
      if(typeof(tmp[2]) == 'undefined' || tmp[2] == '')
        gurl[tmp[1]] = unescape(tmp[4]);
    }
  }
  
  return [nurl,gurl,url];
}

