var google_api_key = new String('');
var kolelo = new Array();
function doSearch(men4e){
	var t1 = '.submitform';
	var t2 = '#menuSeachbox-small';
	var t3 = '#menuSeachbox-middle';
	var cont,pref = '';
	if(jQuery(t1).attr('id') != undefined){
		cont = t1;
		pref = '/search';
	}
	if(jQuery(t2).attr('id') != undefined){
		cont = t2;
		pref = '';
	}
	if(jQuery(t3).attr('id') != undefined){
		cont = t3;
		pref = '';
	}
	jQuery(cont+' input,'+cont+' select').filter(function(){
		var element_ = jQuery(this);
		var csv = element_.attr('name')+'__';
		var csb = element_.attr('value');
		csb = csb.replace(/\//ig, '-');
		eval('men4e = men4e.replace(/'+csv+'/ig, "'+csb+'");');
	});
	men4e = pref+men4e;
	window.location = men4e;
}

function do_next2last(go2url){
	if((go2url == '') || (go2url == undefined))
		return;
	var cont = '.bookmodule';
	var rlobj = '';
	var ok = true;
	jQuery(cont+' input,'+cont+' select').filter(function(){
		var element_ = jQuery(this);
		if('arrival_type' == element_.attr('name')){
			if((element_.attr('value') == -1)){
				alert(texrequired);
				ok = false;
			}
		}
		rlobj += element_.attr('name')+'='+element_.attr('value')+'&';
	});
	if(!ok){
		return ok;
	}
	else{
		var l = go2url+'book.php?'+rlobj;
		window.location=l;
	}
}

function getMouseXY(e){
	var IE = document.all?true:false;
	var tempX,tempY;
	if (IE){ //grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.documentElement.scrollLeft;
		tempY = event.clientY + document.documentElement.scrollTop;
	} else {  //grab the x-y pos.s if browser is NS
		tempX = e.pageX;
		tempY = e.pageY;
	}  
	//catch possible negative values in NS4
	if (tempX < 0){tempX = 0}
	if (tempY < 0){tempY = 0}  
	//show the position values in the form named Show
	//in the text fields named MouseX and MouseY
	return [tempX,tempY];
}
/*google map init*/
function getGoogleMarker(type){
	var tinyIcon = new GIcon(G_DEFAULT_ICON);
	if(type['icon']!=undefined){
		tinyIcon.image = type['icon']['path'];
		tinyIcon.iconSize = new GSize(type['icon']['w'], type['icon']['h']);
	}
	if(type['shadow']!=undefined){
		tinyIcon.shadow = type['shadow']['path'];
		tinyIcon.shadowSize = new GSize(type['shadow']['w'], type['shadow']['h']);
	}
	return tinyIcon;
}
function gmap_head_event(e,objects){
	
}
function gmap_head(objects){
	//gmap head function, it execute only once
	objects.gmap_head_div.prepend(objects.info[0].head);
}
function gmap_footer(objects){
	//gmap footer function, it execute only once
}
function initGmap(lat,lon, info, poi, e){
	/*config*/
	if((lat[0] == '') || (lon[0] == ''))
		return;
	var gmap_head_pattern_function = 'gmap_head';
	var gmap_footer_pattern_function = 'gmap_footer';
	var id2attachafter = '#'+info[0].id2attachafter;
	var gmap_container_name = 'gcontainer';
	if((info[0].w != undefined) && (info[0].h != undefined))
		var gmap_size = [parseInt(info[0].w),parseInt(info[0].h)];
	else
		var gmap_size = [520,300];
	if(jQuery('#'+gmap_container_name).attr('id')==gmap_container_name){
		jQuery('#'+gmap_container_name).hide(500, function(){
			jQuery(this).remove();
		});
		return false;
	}
	var control_objects = {};
	control_objects.lat = lat;
	control_objects.lon = lon;
	control_objects.info = info;
	control_objects.gmap_container = jQuery('<div id="'+gmap_container_name+'"></div>');
	control_objects.gmap_container.click(function(event){
		event.stopPropagation();
	});
	control_objects.gmap_head_div = jQuery('<div id="gmap_head"></div>');
	control_objects.gmap_foot_div = jQuery('<div id="gmap_foot"></div>');
	control_objects.gmap_target_div = jQuery('<div id="gmap"></div>');
	var map_size = new Array(gmap_size[0],gmap_size[1]);
	var attachAfter = jQuery(id2attachafter);
	/*config*/
	if(google_api_key == ''){
		alert('missing api key');
		return false;
	}
	if(attachAfter.attr('id') == undefined){
		alert('missing '+id2attachafter);
		return false;
	}
	var closetag = jQuery('<a id="closegmap">X</a>');
	control_objects.gmap_close_tag = closetag.bind('click', function(){
		control_objects.gmap_container.hide(500, function(){
			jQuery(this).remove();
		});
	});
	control_objects.gmap_head_div.event_funct = function(e,function_name){
		if(function_name==undefined)
			return false;
		eval(function_name+'_event(e,control_objects);');
	}
	control_objects.gmap_foot_div.event_funct = function(e,function_name){
		if(function_name==undefined)
			return false;
		eval(function_name+'_event(e,control_objects);');
	}
	control_objects.gmap_head_div.funct = function(function_name){
		if(function_name==undefined)
			return false;
		eval(function_name+'(control_objects);');
	}
	control_objects.gmap_foot_div.funct = function(function_name){
		if(function_name==undefined)
			return false;
		eval(function_name+'(control_objects);');
	}
	if(control_objects.info[0].head != undefined){
		control_objects.gmap_head_div.funct(gmap_head_pattern_function);
		control_objects.gmap_head_div.append(control_objects.gmap_close_tag);
		control_objects.gmap_container.append(control_objects.gmap_head_div);
	}
	if(control_objects.info[0].footer != undefined){
		control_objects.gmap_foot_div.funct(gmap_footer_pattern_function);
	}
	control_objects.gmap_container.append(control_objects.gmap_target_div);
	if(control_objects.info[0].footer != undefined){
		control_objects.gmap_container.append(control_objects.gmap_foot_div);
	}
	if(control_objects.info[0].float == true){
		var mouse_coord = getMouseXY(e);
		control_objects.gmap_container.css({top:(mouse_coord[1]+15)});
	}
	control_objects.gmap_container.hide(0);
	/*
	 *	how to call some object function
	 *	control_objects.gmap_head_div.event_funct('z','head_event');
	 * */
	jQuery.getScript('http://www.google.com/jsapi?key='+google_api_key, function(){
		google.load("maps", "2", {"callback" : function(){
			/*google map definition*/
			var map = new GMap2(control_objects.gmap_target_div.get(0),
					{ size: new GSize(parseInt(map_size[0]),parseInt(map_size[1])) }
			);
			map.removeMapType(G_HYBRID_MAP);
			map.setCenter(new GLatLng(lat[0], lon[0]), ((lat.length==1)?15:10));
			map.addControl(new GSmallMapControl());
			var mapControl = new GMapTypeControl();
	        map.addControl(mapControl);
			for(i in poi){
				var latlng = new GLatLng(poi[i].lat,poi[i].lon);
				//@todo marker type;
//				if(info[i]['icon']==undefined)
					var marker = new GMarker(latlng,{icon:getGoogleMarker(new Array())});
//				else
//					var marker = new GMarker(latlng,{icon:getGoogleMarker(info[i]['icon'])});
				marker.id = i;
				GEvent.addListener(marker, 'click', function() {
					/*click event*/
					if(typeof(poi[this.id].html) != 'undefined')
						this.openInfoWindowHtml(poi[this.id].html);
	        	});
				GEvent.addListener(marker, 'mouseover', function() {
					/*mouse over event*/
	        	});
				GEvent.addListener(marker, 'mouseout',function(e){
	        		/*mouse out event*/
	    		});
				map.addOverlay(marker);
			}
	        /*show map*/
	        attachAfter.after(control_objects.gmap_container);
	        if(typeof(control_objects.info[0].newcss) != 'undefined'){
	        	control_objects.gmap_container.css(control_objects.info[0].newcss);
	        }
	        control_objects.gmap_container.show(500);
		}});
	});
}
/*end google map init*/
function showImg(id, url){
	var IE = document.all?true:false;
	var container = jQuery(id);
	var parrent_container = container.parent();
	var loading_img = jQuery('<img src="/images/loading.gif" alt="loading"/>');
	loading_img.css({
		position:"absolute",
		top:"17px",
		left:"24px",
		border:"none",
		padding:"0",
		margin:"0",
		zIndex:"1"
	});
	if(IE){
		container.attr('src',url);
	}else{
		loading_img.hide(0);
		parrent_container.append(loading_img);
		loading_img.fadeIn(300);
		container.fadeTo(300, 0.01, function(){
			jQuery.get(url, function(){
				container.attr('src',url);
				loading_img.fadeOut(300, function(){
					jQuery(this).remove();
				});
				container.fadeTo(300, 1.0);
			});
		});
	}
}

function viewCustomerRating(e,aid,lang,id){
	var fadeSpeed = 400;
	var usercomments = jQuery('#usercomennts');
	if(usercomments.attr('id') != undefined){
		if(!document.all){
			usercomments.fadeTo(fadeSpeed, 0.01, function(){
				jQuery(this).remove();
			});
		}
		return false;
	}
	var mousepos = getMouseXY(e);
	jQuery.get('/apartment_comments.php?l='+lang+'&aid='+aid, function(data){
		if(data == '')
			return;
		var textContainer = jQuery('<div id="usercomennts"></div>');
		textContainer.css({top:(mousepos[1]-200)+'px',left:(mousepos[0]-183)+'px'});
		textContainer.append(data);
		textContainer.fadeTo(0, 0.01);
		textContainer.find('.closewindow').click(function(){
			textContainer.fadeTo(fadeSpeed, 0.01, function(){jQuery(this).remove();});
		});
		jQuery(id).after(textContainer);
		textContainer.fadeTo(fadeSpeed, 1.0);
	});
}
function getCancelationPolocy(lid, cid, aid){
	var url = '/cancelation_policy.php?c='+cid+'&l='+lid;
		if(typeof(aid) != 'undefined')
			var url = '/cancelation_policy.php?a='+aid+'&l='+lid;
	jQuery(window.open(url,"","menubar=no,width=580,height=600,toolbar=no,scrollbars=yes")).ready(function(){
		setTimeout(function(){
			jQuery('input[name="accept"]').attr('checked', false);
		}, 500);
	});
	return false;
}
function escapeQuotes(str){
	str = str.replace(/'/ig, "\\'");
	str = str.replace(/\n/ig, "\\n");
	return str;
}

var allerady_requested = false;
function doBook(url_suffix){
	if(allerady_requested == true)
		return;
	var redy_url = {};
	var cc = '.cright';
	if(url_suffix == '_phone_request')
		cc = '.crightphone';
	var objects = jQuery(cc+' input,'+cc+' select,'+cc+' textarea').css({background:"#F9F9F9"}).get();
	var obj_len = objects.length;
	for(i=0;i<obj_len;i++){
		var element = jQuery(objects[i]);
		if((element.attr('class') == 'maybe') && (element.attr('value') == '')){
			element.css({background:"#DBC4C0"});
			return false;
		}
		if(element.attr('type') == 'checkbox'){
			eval('redy_url.'+element.attr('name')+"='"+element.attr('checked')+"';");
		}else{
			String :valuestr = escapeQuotes(element.attr('value'));
			valuestr = valuestr.replace(/[']/g,' ');
			eval('redy_url.'+element.attr('name')+"='"+valuestr+"';");
		}
	}
	var container = jQuery('#panecenter');
	var vurtel = jQuery('<div id="booking_status_paneimg"></div>');
	vurtel.hide(0);
	vurtel.empty().html('<img alt="" src="/images/loading.gif"/>');
	container.after(vurtel);
	vurtel.fadeIn(500);
	allerady_requested = true;
	var myfin_url = '/do_book'+url_suffix+'.php';
	jQuery.ajax({
		type: "GET",
		url: myfin_url,
		data: redy_url,
		async: true,
		success: function(data){
			vurtel.fadeOut(500, function(){
				jQuery(this).remove();
				eval(data);
				allerady_requested = false;
			});
		}
	});
}
function final_step_results(type,object){
	var container = jQuery('#panecenter');
	container.after(object);
}

function callback_fb_error(num){
	var err_c = jQuery('<div class="errorc'+num+'">'+fastrequest_error[num]+'</div>');
	err_c.fadeIn(0);
	jQuery('.ffc p').after(err_c);
	err_c.fadeTo(10000, 0.01, function(){
		jQuery(this).hide(500, function(){
			jQuery(this).remove();
		});
	});
}
function slepvane_na_bumagite(){
	var listtype = ['as','bs','drundar'];
	for(i in listtype){
		jQuery(".hotelextend-info,.recomendet-apartments-l,.fetapt").filter(function(){
		var ts_ = listtype[i];
		if((jQuery(this).attr('id') != undefined) || (jQuery(this).attr('id') != '')){
			var my_this = jQuery(this);
			var moe_kolelo = kolelo[ts_];
			if (moe_kolelo != undefined) {
				var myid = eval("my_this.attr('id').replace(/as|bs|drundar/ig, '');") * 1;
				if (!isNaN(myid) && (myid != my_this.attr('id'))) {
					var sttt = jQuery('<a href="">' + moe_kolelo[1] + '</a>').attr('class','hdet');
					my_this.append(sttt);
					var mymore = '/';
					if (moe_kolelo[0] != '') 
						mymore = '/' + moe_kolelo[0] + '/';
					if (moe_kolelo[2] != '') 
						mymore = mymore + moe_kolelo[2] + '-apartments-details-' + myid + '/';
					sttt.attr('href', mymore).attr('rel', 'nofollow');
					var finder = {};
					if(sttt.parent().parent().get(0).tagName == 'LI')
						finder = sttt.parent().parent().find('.jcaradjata');
					else
						finder = sttt.parent().parent().parent().find('.jcaradjata');
					finder.attr('href', mymore).attr('rel', 'nofollow');
				}
			}
		}
	});
	}
}
function scroolable(){
	var scroolable = jQuery("#scrollable").scrollable({
		next: '#nextBtn',
		prev: '#prevBtn',
		api: true
	});
	scroolable.getItems().each(function(){
		var thisimg = jQuery(this).children(0);
		thisimg.click(function(){});
	});
}
function setFavApart(aid, cname){
	if(aid == ''){
		jQuery.cookie(cname, '', { path: '/', expires: 60 });
	}
	var coocievalues_txt = jQuery.cookie(cname);
	var set_get = 0;
	if((coocievalues_txt == null) || (coocievalues_txt == '')){
		coocievalues = new Array(aid);
		set_get = 1;
	}else{
		coocievalues = coocievalues_txt.split(',');
		var found = 0;
		for(i in coocievalues){
			if(coocievalues[i] == aid)
				found = i;
		}
		set_get = 0;
		if(!found){
			coocievalues[coocievalues.length] = aid;
			set_get = 1;
		}else{
			var coocievalues_tmp = new Array();
			for(i in coocievalues){
				if(i == found)
					continue;
				coocievalues_tmp[coocievalues_tmp.length] = coocievalues[i];
			}
			coocievalues = coocievalues_tmp;
			coocievalues_tmp = new Array();
		}
	}
	jQuery.cookie(cname, coocievalues.toString(), { path: '/', expires: 60 });
	return set_get;
}
function getShortlistet(target_counter){
	var conterholder = target_counter.find('b');
	var preloader = target_counter.find('img');
	var contclass = 'sl-cont';
	preloader.css({display:'block'});
	jQuery.get('/actions.php', {exec:'get_shortlisted',lang:site_lang}, function(data){
		jQuery('#'+ contclass).remove();
		data = jQuery(data).attr('id',contclass).fadeTo(1,0.01, function(){
			var datalen = data.find('ul').find('li').length-1;
			if(datalen>0){
				jQuery('#pane').append(data);
				data.css({left:'5000px'});
				conterholder.text(datalen);
			}else{
				conterholder.text(0);
			}
		});
		preloader.css({display:'none'});
	});
}
function show_apartment_comments(caller){
	var aid = caller.attr('title');
	var caller_position = caller.position();
	jQuery.get('/actions.php',{exec:'apartment_ratings',apartment_id:aid,lang:site_lang}, function(data){
		data = jQuery(data).click(function(e){
			e.stopPropagation();
		}).fadeTo(1, 0.01, function(){
			jQuery('#pane').append(data);
			var called_width = data.outerWidth(true)/2;
			data.css({top:(caller_position.top+33)+'px',left:(caller_position.left-called_width)+'px'}).fadeTo(500, 1);
		});
	});
}

function show_apartment_comments_details(caller){
	var aid = caller.attr('title');
	var caller_position = caller.position();
	jQuery.get('/actions.php',{exec:'apartment_ratings',apartment_id:aid,lang:site_lang}, function(data){
		data = jQuery(data).click(function(e){
			e.stopPropagation();
		}).fadeTo(1, 0.01, function(){
			jQuery('#pane').append(data);
			var called_width = data.outerWidth(true)/2;
			data.css({top:(caller_position.top+307)+'px',left:(caller_position.left-called_width+280)+'px'}).fadeTo(500, 1);
		});
	});
}

/*filter*/
function priceSlider(target, min_, max_, tomin, tomax){
	if(typeof(tomin) == 'undefined')
		tomin = min_;
	if(typeof(tomax) == 'undefined')
		tomax = max_;
	jQuery(function() {
		var t = jQuery('#'+target);
		var contanier = t.parent();
		var amount= new Array();
		amount[0] = contanier.find('.amount');
		amount[1] = contanier.find('.amount2');
		var rangefield = contanier.find('.rangefield');
		t.slider({
			range: true,
			min: min_,
			max: max_,
			values: [tomin, tomax],
			slide: function(event, ui) {
				amount[0].val(ui.values[0]);
				amount[1].val(ui.values[1]);
				rangefield.val(ui.values[0] +','+ui.values[1]);
				jQuery(amount[0]).css({'left': jQuery(jQuery('#'+target).find('a').get(0)).position().left + 'px', 'position':'absolute'});
				jQuery(amount[1]).css({'left': jQuery(jQuery('#'+target).find('a').get(1)).position().left + 'px', 'position':'absolute'});
			},
			stop:function(){
				calcFilteredApartments();
			}
		}).bind('reset', function(e){
			var ms = jQuery(this);
			ms.slider('option','values',[ms.slider('option','min'),ms.slider('option','max')]);
			ms.slider('disable');
			ms.slider('enable');
			rangefield.attr('value','');
			calcFilteredApartments();
		});
		slobj[slobj.length] = t;
		amount[0].val(t.slider("values", 0));
		amount[1].val(t.slider("values", 1));
		if((tomin != min_) || (tomax != max_)){
			rangefield.val(tomin +','+tomax);
			calcFilteredApartments();
		}
	});
}
function setSelValues(holder){
	var holder = jQuery(holder);
	var list = '';
	var checkboxes = holder.find('input[type="checkbox"]').each(function(){
		var el = jQuery(this);
		if(el.attr('checked') == true){
			if(list != '')
				list += ',';
			list += el.attr('name');
		}
	});
	holder.find('input[type="hidden"]').attr('value',list);
	calcFilteredApartments();
}

function calcApartmentypeRange(array, selected){
	var searchfor = selected.split(',');
	for(i in array){
		var isin = false;
		for(ii in searchfor){
			if(array[i].apartment_typerange == searchfor[ii]){
				isin = true;break;
			}
		}
		if(!isin)
			array[i] = {};
	}
	return array;
}

function computeLiving_priceRanges(array, selected, rname){
	var searchfor = selected.split(',');
	var min = searchfor[0];
	var max = searchfor[1];
	for(i in array){
		eval('var val1 = array[i].'+rname);
		if((val1>=min) && (val1<=max))
			continue;
		array[i] = {};
	}
	return array;
}

function computeAmenities(array, selected, rname){
	var searchfor = selected.split(',');
	for(i in array){
		eval('var val1 = array[i].'+rname);
		if(typeof(val1) == 'undefined'){
			array[i] = {};
			continue;
		}
		val1 = val1.split(',');
		isin0 = 100;
		for(ii in searchfor){
			var sf = searchfor[ii];
			isin1 = false;
			for(iii in val1){
				var ceck = val1[iii];
				if(ceck == sf){
					isin1 = true;break;
				}
			}
			if(isin0 == 100){
				isin0 = isin1;
			}else{
				isin0 = isin0&isin1;
				/*case 2*/
//				isin0 = isin0|isin1;
			}
		}
		if(isin0)
			continue;
		array[i] = {};
	}
	return array;
}

function calcFilteredApartments(){
	var holders = jQuery('.filternarrowholder');
	var localcopy = jQuery.extend([], aparmentsfilterarray);
	holders.each(function(e){
		var n1 = this.name;
		var val1 = this.value;
		if(val1 != ''){
			switch (n1) {
				case 'apartment_typerange':
					localcopy = calcApartmentypeRange(localcopy, val1);
				break;
				case 'livingspacerange':
				case 'pricerange':
					localcopy = computeLiving_priceRanges(localcopy, val1, n1);
				break;
				case 'amenitiesrange':
					localcopy = computeAmenities(localcopy, val1, n1);
				break;
			}
		}
	});
	var counter = 0;
	for(i in localcopy){
		if(typeof(localcopy[i].c) == 'undefined')
			continue;
		counter++;
	}
	jQuery('.filteresult u').text(counter);
}
function dofilter(){
	var ru = '';
	for (i in zarzavati4ence){
		var elname = zarzavati4ence[i].replace(/[\s\S]*?__/ig, '');
		if(zarzavati4ence[i] == elname){
			ru += '/'+elname;
		}else{
			var tmp_eltxt = 'input[name="'+elname+'"]';
			var val = jQuery(tmp_eltxt).attr('value');
			if(val != ''){
				var u2 = zarzavati4ence[i].replace('__'+elname, val);
				ru += '/'+u2;
			}else{
				if(elname == 'apartment_typerange')
					ru += '/1';
			}
		}
	}
	window.location = ru;
}
function resetFilterValues(){
	jQuery('.filternarrowholder').attr('value','');
	jQuery('.advanced_search').find('input[type="checkbox"]').attr('checked',false);
	jQuery('#slider-range,#slider-range2').each(function(){
		jQuery(this).trigger('reset');
	});
}
/*end filter*/
function sendContactMail(obj,ans){
	obj = jQuery(obj).attr('disabled',true);
	ans = jQuery(ans);
	//find root element
	var els = obj.find('input,textarea');
	if(els.length==0){
		els = obj.parent().find('input,textarea');
		if(els.length==0){
			els = obj.parent().parent().find('input,textarea');
			if(els.length==0)
				return;
		}
	}
	els.css({background:"#FCFCFC"});
	var req = {};
	els.each(function(){
		req[this.name] = this.value;
	});
	jQuery.post('/contacts.php',req,function(d){
		var rint = parseInt(d);
		if(isNaN(rint)){
			jQuery(d).css({background:"#F4EBEB"});
			obj.attr('disabled',false);
		}else{
			obj.slideToggle(300,function(){
				jQuery(ans.get(rint)).slideToggle(300,function(){
					var this_ = jQuery(this);
					this_.fadeTo(30000,0.01,function(){jQuery(ans.get(rint)).slideToggle(600);}).children().fadeTo(30000,0.01);
				});
			});
		}
	});
}
function setChatImg(){
	if(jQuery('.chat a img').innerHeight()>0){
		if(jQuery('.chat a img').innerHeight()>10){
			jQuery('.chat a img').attr('src','/images/operator.gif');
			setTimeout(function(){
				 jQuery('.chat a img').css({'visibility':'visible'});
				 jQuery('.chat .txt').css({'visibility':'visible'});
			}, 5000);
		}else
			jQuery('.chat a img').attr('src','/images/operator_small.gif');
	}else{
		setTimeout(function(){
			setChatImg();
		}, 10);
	}
}
