function escapeQuotes(str){
	str = str.replace(/'/ig, "\\'");
	str = str.replace(/\n/ig, "\\n");
	return str;
}
function tryToSendmail(o, oo, a){
	var j_b = jQuery(oo);
	j_b.attr('disabled',true);
	var j_root = jQuery(o);
	var request = {};
	j_root.find('input,textarea').each(function(){
		var e = jQuery(this);
		e.css({background:'#F4F4F4'});
		var name = e.attr('name');
		var value = e.attr('value');
		if(value == '')
			eval('request.'+name+"='';");
		else
			eval('request.'+name+"='"+escapeQuotes(value)+"';");
		
	});
	jQuery.post('/contacts.php', request, function(data){
		if((data == '0') || (data == '1')){
			jQuery('.'+a[data]).slideDown(500);
			j_root.slideUp(500, function(){jQuery(this).remove();});
		}else{
			jQuery(data).css({background:'#FFEFEF'});
		}
		j_b.attr('disabled',false);
	});
}

function initHoverTopmenu(target, req, params){
	var t_holder = jQuery('div.'+target);
	var t_pos = jQuery('li.'+target);
	var t_n = target+'-t';
	var t_pos_p = t_pos.position();
	t_pos_p.left += (t_pos.outerHeight(true)/2);
	var t_pos_h = (t_pos.outerHeight(true)/2);
	var holder_dim_clean = t_holder.outerWidth(true);
	var holder_dim_w = holder_dim_clean/2;
	t_pos_p.top = t_pos_p.top+31;
	t_pos_p.left = (t_pos_p.left-holder_dim_w);
	var s_box = jQuery('div.'+target);
	var ul_box = jQuery('div.'+target+' ul');
	s_box.fadeOut(1, function(){
		t_pos.mouseenter(function(){
			if(typeof(req) == 'undefined'){
				t_holder.find('span b').css({left:(holder_dim_w-35)+'px'});
				s_box.css({top:t_pos_p.top,left:t_pos_p.left}).fadeIn('fast');
			}else{
				if(typeof(params) == 'undefined')
					params = {};
				t_pos.attr('class', t_n);
				jQuery.get(req, params, function(data){
					ul_box.html(data);
					t_pos.attr('class', target);
					t_holder.find('span b').css({left:(holder_dim_w-35)+'px'});
					if(data != ''){
						s_box.css({top:t_pos_p.top,left:t_pos_p.left}).fadeIn('fast');
					}
				});
			}
		}).mouseleave(function(){
			s_box.fadeOut('fast');
		});
	});
}

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;
}
/*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]);
				var aepos = jQuery(event.currentTarget.activeElement).position();
				var k = 0;
				if(ui.value != ui.values[0])
					k = 1;
				jQuery(amount[k]).css({'left': aepos.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 'livingrange':
				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 dos(o, surva4ko){
	jQuery('[name="city"]').css({background:'white'});
	if(jQuery('[name="destination_id"]').attr('value') == 0){
		jQuery('[name="city"]').css({background:'#FFCFCF'});
		return;
	}
	var r = new Array();
	var stops = false;
	if(typeof(surva4ko) != 'undefined')
		var zumbar_lumbar_tmp = jQuery.extend([], surva4ko);
	else
		var zumbar_lumbar_tmp = jQuery.extend([], zumblumb);
	var e = {};
	for(i in zumbar_lumbar_tmp){
		var str1 = zumbar_lumbar_tmp[i];
		var splited = str1.split('-');
		for(ii in splited){
			if(stops)
				break;
			var s = splited[ii];
			var s2 = s.replace(/__/i, '');
			if(s2 != s){
				var val = '';
				o.find('[name="'+s2+'"]').each(function(){
					e = jQuery(this);
					val = e.attr('value').replace(/[\/]+/ig, '-');
					e.css({background:'white'});
					str1 = str1.replace(s,val);
				});
				if(val == ''){
					stops = true;
					break;
				}
			}
		}
		zumbar_lumbar_tmp[i] = str1;
	}
	if(!stops){
		//do search
		zumbar_lumbar_tmp = '/'+ zumbar_lumbar_tmp.join('/');
		window.location = zumbar_lumbar_tmp;
		return;
	}
	e.css({background:'#FFCFCF'});
}
function re_setcid(from, to){
	var val = from.attr('value');
	to.attr('value',val);
}
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];
}
function viewCustomerRating(e,aid,lang,id){
	var fadeSpeed = 400;
	var calel = jQuery(e.target);
	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(){
			calel.trigger('click');
//			textContainer.fadeTo(fadeSpeed, 0.01, function(){jQuery(this).remove();});
		});
		jQuery(id).after(textContainer);
		textContainer.fadeTo(fadeSpeed, 1.0);
	});
}
function doQuickReservation(holder){
	var button_ = holder.find('button').attr('disabled',true);
	var urlargs = {};
	holder.find('input,select,textarea').each(function(){
		if((this.name == 'city_id') && ((this.value == '0') || (this.value == ''))){
			alert('missing city id!');
			return false;
		}
		urlargs[this.name] = this.value;
	});
	jQuery.get('/do_phone_request.php', urlargs, function(sendmail_result){
		if(sendmail_result == 1){
			//send ok
			jQuery('#qr-send-r .ok').fadeTo(1, 0.01, function(){jQuery(this).css({display:'block'}).fadeTo(500,1);});
			button_.attr('disabled',false);
			holder.slideUp(500);
		}else if(sendmail_result == 0){
			//send failed
			jQuery('#qr-send-r .nok').fadeTo(1, 0.01, function(){jQuery(this).css({display:'block'}).fadeTo(500,1);});
			button_.attr('disabled',false);
			holder.slideUp(500);
		}else{
			//error in fields
			eval(sendmail_result);
			button_.attr('disabled',false);
		}
	})
}
function getPosforGMAP(el){
	var r = new String;
	if(el.parent().get(0).tagName.toLowerCase() == 'li')
		el = el.parent();
	else
		el = el.parent().parent();
	return {top:el.position().top,left:el.position().left};
}
