function initDatepicer(dpin, dpout){
	jQuery(function(){
		if(typeof(dpin) == 'undefined')
			dpin = "#dpin";
		if(typeof(dpout) == 'undefined')
			dpout = "#dpout";
		var dp1 = jQuery(dpin);
		var dp2 = jQuery(dpout);
		var dp_1o = {
			minDate: 0,
			defaultDate: 0,
			dateFormat: 'dd/mm/yy',
			showOn: 'focus',
			duration: 0,
			onClose: function(dateText, inst){
				if(dp1.datepicker('getDate') == undefined)
					return;
				var nd=new Date(dp1.datepicker('getDate'));
				var d = dp1.datepicker('getDate').getDate();
				nd.setDate(d+1);
				dp2.datepicker('setDate',nd);
			}
		};
		var dp_2o = {
			minDate: 0,
			defaultDate: 0,
			dateFormat: 'dd/mm/yy',
			showOn: 'focus',
			duration: 0,
			beforeShow: function(input){
				if(dp1.datepicker('getDate') == undefined)
					return;
				var nd=new Date(dp1.datepicker('getDate'));
				var d = dp1.datepicker('getDate').getDate();
				nd.setDate(d+1);
				dp2.datepicker('setDate',nd);
			},
			onClose: function(dateText, inst){
				if(!(dp1.datepicker('getDate')<dp2.datepicker('getDate'))){
					var nd=new Date(dp2.datepicker('getDate'));
					var d = dp2.datepicker('getDate').getDate();
					nd.setDate(d-1);
					dp1.datepicker('setDate',nd);
				}
			},
			monthNames:((typeof(dpmonts)=='undefined')?false:dpmonts)
		};
		if(typeof(dpmonts)!='undefined'){
			dp_1o['monthNames'] = dpmonts;
			dp_2o['monthNames'] = dpmonts;
		}
		if(typeof(dpdays)!='undefined'){
			dp_1o['dayNamesMin'] = dpdays;
			dp_2o['dayNamesMin'] = dpdays;
		}
		dp1.datepicker(dp_1o);
		dp2.datepicker(dp_2o);
	});
}
function customStopPropagation(event){
	if (event.stopPropagation)//this code is for Mozilla and Opera
		event.stopPropagation();
	else if (window.event)// this code is for IE
		window.event.cancelBubble = true;
}
function togleAppartmentComments(){
	var elal = jQuery('.detarting a');
	jQuery('.ratingcomments').each(function(){
		jQuery(this).fadeTo(1, 0.001, function(){
			jQuery('body').append(this);
			jQuery(this).css({display:'block'});
		});
	});
	if(elal.length>0){
		elal.bind('click',function(e){
			var pos = jQuery(this).offset();
			var el = jQuery('#j'+this.id).css({top:(pos.top+34)+'px',left:(pos.left-210)+'px'});
			if(el.hasClass('shown')){
				el.fadeTo(300, 0.001, function(){
					jQuery(this).removeClass('shown').css({visibility:"hidden"});
				});
			}else{
				el.css({visibility:"visible"});
				el.fadeTo(300, 1, function(){
					jQuery(this).addClass('shown');
				});
			}
		});
	}
}

function getAddgallery(index){
	var galleries = jQuery('.ad-gallery').css({visibility:'hidden'});
	if(galleries.length == 0)
		return;
	var glr = galleries.adGallery({
		loader_image: '/images/ad-gallery/loader.gif',
		width: 556,
		height: 400,
		thumb_opacity: 0.7,
		start_at_index: 0,
		animate_first_image: false,
		animation_speed: 400,
		effect: 'slide-hori',
	ttmp:'tmp'});
	jQuery('.closebut,#a-h2-l img').click(function(e){
		if(jQuery('.ad-gallery').css('visibility') == 'visible')
			jQuery('.ad-gallery').css({visibility:'hidden'});
		else{
			jQuery(jQuery(glr[0].nav[0]).find('a')[e.currentTarget.alt]).trigger('click');
			jQuery('.ad-gallery').css({visibility:'visible'});
		}
	});
}

function getTrustene(holder){
	var mathes = surl.match(/s\:[a-z_]+/g);
	for ( var i in mathes){
		if(parseInt(i) != i)
			continue;
		var word = mathes[i].replace(/s\:/,'');
		var el = holder.find('[name="'+word+'"]');
		if(el.length == 0)
			return;
		var elv = el.attr('value');
		if(elv == '')
			return;
		elv = elv.replace(/\//g,'-');
		surl = surl.replace(mathes[i],elv);
	}
	window.location = surl;
}

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 getPhoneRequest(hide,elements,result_text){
	var hide = jQuery(hide);
	var result_text = jQuery(result_text);
	result_text.css({'display':'block'});
	result_text.slideDown(0).slideUp(0);
	var buttons = hide.find('button');
	var elements = jQuery(elements).css({background:"#fff"});
	elements.attr('disabled',true);
	buttons.attr('disabled',true);
	jQuery(buttons[0]).fadeTo(300,0.00001);
	var send = {};
	elements.each(function(){
		send[this.name] = this.value;
	});
	jQuery.get('/do_book_phone_request.php',send,function(d){
		var isint = parseInt(d);
		if(isNaN(isint)){
			elements.attr('disabled',false);
			buttons.attr('disabled',false);
			jQuery(buttons[0]).fadeTo(300,1);
			eval(d);
		}else{
			jQuery(result_text.get(d)).slideToggle(300);
			hide.slideToggle(300);
			jQuery('#quick_reserv .quick_reserv img.preloader').remove();
		}
	});
}
function drawSVGtext(container,size,path,startat,textstyle){
	var start_at = (typeof(startat) == 'undefined')?0:startat;
	var e1 = jQuery(container);
	var text_ = e1.html().toString();
	e1.html('');
	var paper = Raphael(e1.get(0), size[0],size[1]);
	var pp = paper.path(path).attr('stroke','none');
	var p_totalen = pp.getTotalLength()-start_at;
	var text_len = text_.length;
	var _length = p_totalen/text_len;
	var pos_ = start_at;
	for(i=0;i<text_len;i++){
		var chr = text_.substring(i,i+1);
		var point = pp.getPointAtLength(pos_);
		paper.text(point.x, point.y, chr).attr('fill','#fff').attr('font-size',12).attr('font-weight','bold').rotate(point.alpha+180);
		pos_ = _length*(i+1)+start_at;
	}
}
function viewCustomerRating(e,aid,lang,id){
	var fadeSpeed = 400;
	var calel = jQuery(e);
	var usercomments = jQuery('#usercomennts');
	if(usercomments.attr('id') != undefined){
		usercomments.fadeTo(fadeSpeed, 0.01, function(){
			jQuery(this).remove();
		});
		return false;
	}
	var mousepos = calel.offset();
	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.top+40)+'px',left:(mousepos.left-100)+'px'});
		textContainer.append(data);
		textContainer.fadeTo(0, 0.01);
		textContainer.find('.closewindow').bind('click',{'cl':calel},function(event){
			event.data.cl.trigger('click');
		});
		jQuery(id).after(textContainer);
		textContainer.fadeTo(fadeSpeed, 1.0);
	});
}
function setSmallGallery(list){
	if(list.length==0)
		return;
	list.each(function(k){
		var lis = jQuery(list[k]);
		var cont = lis.find('.imagelist');
		var elements = lis.find('.imagelist u');
		var nav = lis.find('.img-nav u');
		cont.find('.tbimg').bind('click',function(e){
			var _alt = this.alt;
			if(!document.all){
				jQuery('.cont.cent img.bigimg').fadeTo(300,0.001,function(){
					var t = jQuery(this);
					jQuery.get(_alt,{},function(){
						t.attr('src',_alt).fadeTo(300,1);
					});
				});
			}else{
				var t = jQuery('.cont.cent img.bigimg');
				t.attr('src',_alt);
			}
		});
		nav.bind('click',{'nav':nav,'elements':elements,'cont':cont,'position':0},function(c){
			var tel = c.data.elements.length-1;
			var newcount = c.data.position;
			var a = '+=';
			if(this==c.data.nav[1]){
				newcount++;
				var a = '-=';
			}else
				newcount--;
			if(newcount<0){
				return;
			}else if(newcount==0){
				jQuery(c.data.nav[0]).fadeTo(1000,0.001);
			}else{
				jQuery(c.data.nav[0]).fadeTo(1000,1);
				if(newcount>tel)
					return;
				else if(newcount==tel){
					jQuery(c.data.nav[1]).fadeTo(1000,0.001);
				}else{
					jQuery(c.data.nav[1]).fadeTo(1000,1);
				}
			}
			var next_element = jQuery(c.data.elements[newcount]);
			var nw = next_element.outerWidth(true);
			c.data.cont.animate({left:a+nw},300,'swing');
			c.data.position = newcount;
		});
	});
}
function getBigUserComments(aid,p){
	var url_args = {'aid':aid,'l':lang,'p':p,'page':'service','service':'customer-comment'};
	jQuery.get('/index.php',url_args,function(data){
		data = jQuery(data).fadeTo(1,0.001);
		jQuery('#tabed-info .tab-values .copinion').html('').append(data);
		data.fadeTo(1000,1);
	});
}
function listingGallery(){
	jQuery('#entty-listing .entty').each(function(){jQuery(this).find('ul.bottom .buttons u').each(function(index,value){
		jQuery(this).bind('click',{'index':index},function(){
			var el = jQuery(value);
			var el_parent = el.parent();
			if(el.hasClass('selected'))
				return;
			el_parent.find('.selected').removeClass('selected');
			el.addClass('selected');
			jQuery(el_parent.parent().find('.texts .text').css({'display':'none'}).get(index)).css({'display':'block'});
		});
	});});
}

function googleMapAinme(){
	jQuery('#google-m').bind('click',function(){
		var e = jQuery(this);
		var step = 717;
		var a = '+='+step+'px';
		if(e.hasClass('isopened')){
			var a = '-='+step+'px';
			e.removeClass('isopened');
		}else
			e.addClass('isopened');
		jQuery('#gmap-slidable').animate({'left':a});
	});
}

function slider1(ls_){
	jQuery(".data.boundary.ls .boundary-holder div").slider({
		range: true,
		min: ls_[0],
		max: ls_[1],
		create: function(event, ui) {
			var predefined_values = jQuery(".data.boundary.ls input").attr('value').split(',');
			jQuery(".data.boundary.ls .boundary-holder div").slider('values',predefined_values);
			jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle').each(function(k){
				var t_ = jQuery(this);
				t_.after(jQuery('<b class="ui-slider-handle-visible">'+predefined_values[k]+'</b>').css({'left':(k==1)?t_.position().left-5:t_.position().left}));
			});
		},
		slide: function( event, ui ) {
			jQuery(".data.boundary.ls input").attr('value',ui.values[0] + ',' + ui.values[1]);
			jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle-visible').get(0)).html(ui.values[0]).css({'left':jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle').get(0)).css('left')});
			jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle-visible').get(1)).html(ui.values[1]).css({'left':jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle').get(1)).position().left-5});
		},
		stop: function(event, ui) {
			jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle-visible').get(0)).html(ui.values[0]).css({'left':jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle').get(0)).css('left')});
			jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle-visible').get(1)).html(ui.values[1]).css({'left':jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle').get(1)).position().left-5});
			jQuery(".data.boundary.ls input").trigger('click');
		}
	});
}

function slider2(ap_){
	jQuery(".data.boundary.ap .boundary-holder div").slider({
		range: true,
		min: ap_[0],
		max: ap_[1],
		create: function(event, ui) {
			var predefined_values = jQuery(".data.boundary.ap input").attr('value').split(',');
			jQuery(".data.boundary.ap .boundary-holder div").slider('values',predefined_values);
			jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle').each(function(k){
				var t_ = jQuery(this);
				t_.after(jQuery('<b class="ui-slider-handle-visible">'+predefined_values[k]+'</b>').css({'left':(k==1)?t_.position().left-20:t_.position().left}));
			});
		},
		slide: function(event, ui) {
			jQuery(".data.boundary.ap input").attr('value',ui.values[0] + ',' + ui.values[1]);
			jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle-visible').get(0)).html(ui.values[0]).css({'left':jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle').get(0)).css('left')});
			jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle-visible').get(1)).html(ui.values[1]).css({'left':jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle').get(1)).position().left-20});
		},
		stop: function(event, ui) {
			jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle-visible').get(0)).html(ui.values[0]).css({'left':jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle').get(0)).css('left')});
			jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle-visible').get(1)).html(ui.values[1]).css({'left':jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle').get(1)).position().left-20});
			jQuery(".data.boundary.ap input").trigger('click');
		}
	});
}

function calcFilter(){
	var at = jQuery('.data input[name="at"]');
	var am = jQuery('.data input[name="am"]');
	var ls = jQuery('.data input[name="ls"]');
	var ap = jQuery('.data input[name="ap"]');
	jQuery('.data.select input,.data.boundary input').bind('click',function(){
		var at_ = [];
		var am_ = 0;
		at.each(function(){var el = jQuery(this);if(el.attr('checked'))at_.push(el.attr('value'));});
		am.each(function(){var el = jQuery(this);if(el.attr('checked'))am_ = am_|el.attr('value');});
		var calculated = apart2filter.run(apartments2filter,{'in_':at_,'bitwise':am_,'minmax':{'ls':ls.attr('value').split(','),'ap':ap.attr('value').split(',')}});
		jQuery('.top.center-right .info.l2 big b').html(calculated);
	});
}

function submitFilter(){
	jQuery('.top.center-right .submit button').bind('click',function(){
		var regex = /(?:__([\w]+)__)/gi;
		var matched = [];
		var frl_ = new String(frl);
		while((matched = regex.exec(frl)) != null){
			var found = jQuery('.data.select input[name="'+matched[1]+'"],.data.boundary input[name="'+matched[1]+'"]');
			if(found.is('[type="hidden"]')){
				frl_ = frl_.replace(matched[0],found.attr('value'));
			}else if(found.is('[type="checkbox"]')){
				var r2 = 0;
				if(matched[1] == 'am'){
					found.each(function(){
						if(jQuery(this).is(':checked')){r2 = r2|this.value;}
					});
				}else{
					r2 = [];
					found.each(function(){if(jQuery(this).is(':checked')){r2[r2.length]=this.value;}});
					r2 = r2.join(',');
				}
				frl_ = frl_.replace(matched[0],((r2 == '')?0:r2));
			}
		}
		window.location = frl_;
	});
}

function setFilterValues(){
	jQuery('.top.center-right .submit span').bind('click',function(){
		jQuery('.data input[name="at"]:checked,.data input[name="am"]:checked').attr('checked',false);
		jQuery(".data.boundary.ls .boundary-holder div").slider('values',ls_);
		jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle-visible').get(0)).html(ls_[0]).css({'left':'0%'});
		jQuery(jQuery('.data.boundary.ls .boundary-holder .ui-slider-handle-visible').get(1)).html(ls_[1]).css({'left':'92%'});
		jQuery(".data.boundary.ls input").attr('value',ls_[0] + ',' + ls_[1]);
		jQuery(".data.boundary.ap .boundary-holder div").slider('values',ap_);
		jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle-visible').get(0)).html(ap_[0]).css({'left':'0%'});
		jQuery(jQuery('.data.boundary.ap .boundary-holder .ui-slider-handle-visible').get(1)).html(ap_[1]).css({'left':'92%'});
		jQuery(".data.boundary.ap input").attr('value',ap_[0] + ',' + ap_[1]);
		jQuery(".data.boundary.ap input").trigger('click');
	});
}

function setDetailsTabs(){
	jQuery('#tabed-info .tabs li').each(function(index,o){
		jQuery(this).bind('click',{'index':index},function(event){
			var _this = jQuery(this);
			jQuery('#tabed-info .tabs li.selected').removeClass('selected');
			_this.addClass('selected');
			var tab_value = jQuery(jQuery('#tabed-info .tab-values .li').get(event.data.index));
			if(tab_value.hasClass('selected'))
				return;
			if(jQuery('#tabed-info .tab-values .li.selected').length>0){
				jQuery('#tabed-info .tab-values .li.selected').slideUp(300,function(){
					jQuery(this).removeClass('selected').css({'display':'none'});
					tab_value.slideToggle(300).addClass('selected').css({'display':'block'});
				});
			}else{
				tab_value.slideDown(300,function(){jQuery(this).css({'display':'block'});}).addClass('selected');
			}
		});
	});
}
function masxIdea(conf){
	this.getClosest = function(){
		var head_pos = conf.head.position();
		head_pos = [head_pos.top,head_pos.left];
		var closest = [];
		conf.list.each(function(){
			if(this.hasClass('shout')){
				this.css({'z-index':0});
				return;
			}
			var el_pos = this.position();
			el_pos = [el_pos.top,el_pos.left];
			var border = Math.sqrt(
					Math.pow(head_pos[0]-el_pos[0], 2)
					+
					Math.pow(head_pos[1]-el_pos[1],2)
			);
			if(border>conf.border)
				return;
			closest.push(this);
		});
		var r = Math.round(Math.random()*(closest.length-1),0);
		return closest[r];
	};
	this.initOrder = function(){
		var l = conf.list.length;
		for ( var int = 0; int < l; int++) {
			conf.list[int] = jQuery(conf.list[int]);
			var pos = conf.list[int].position();
			conf.list[int].css({'top':pos.top +'px','left':pos.left +'px','z-index':1});
		}
		conf.list.each(function(){
			jQuery(this).css({'position':'absolute'});
		});
	};
	this.redesign = function(){
		conf.container.css({'height':conf.container.innerHeight()+'px'});
		conf.head.find('span').fadeOut(1);
		this.setText();
	};
	
	this.reorder = function(){
		var el = this.getClosest();
		var to = el.position();
		var from = conf.head.position();
		to = [to.top,to.left];
		from = [from.top,from.left];
		conf.head.animate({'top':to[0]+'px','left':to[1]+'px'});
		el.animate({'top':from[0]+'px','left':from[1]+'px'});
		this.setText();
		setTimeout(function(){
			masxs.reorder();
		}, conf.cycle);
	};
	
	this.setText = function(){
		var spans = conf.head.find('span');
		var spansL = spans.length;
		var _span = Math.round(Math.random()*(spansL-1),0);
		spans.fadeOut(200,function(){
			setTimeout(function(){
				jQuery(spans[_span]).fadeIn(200);
			}, 200);
		});
	};
	
	this.init = function(){
		if(conf.list.length>3){
			if(typeof(conf.border)=='undefined')
				conf.border = 235;
			if(typeof(conf.start_after)=='undefined')
				conf.start_after = 5000;
			if(typeof(conf.cycle)=='undefined')
				conf.cycle = 5000;
			this.redesign();
			this.initOrder();
			setTimeout(function(){
				masxs.reorder();
			}, conf.start_after);
		}
		return;
	};
	this.init();
}

function CreateBookmarkLink() {
	title = "Webpage Title"; 
	url = "Webpage URL";
	if(window.sidebar){ // Mozilla Firefox Bookmark
		window.sidebar.addPanel(document.title, window.location.toString(),"");
	}else if(document.all){ // IE Favorite
		window.external.AddFavorite( window.location.toString(), document.title);
	}
}

function showVisitedAparts(cid){
	var cva = jQuery('.cva');
	if(jQuery('.cva').length>0){
		jQuery.get('/index.php',{'page':'service','service':'last_visited_aparts','city_id':cid,'l':lang},function(data){
			data = jQuery(data);
			cva.append(data);
			var prv = data.prev();
			prv.animate({'left':'-800px'},2000,function(){
				prv.remove();
			});
			data.animate({'left':'32px'},2000);
			setTimeout(function(){
				showVisitedAparts(cid);
			},20000);
		});
	}
}
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');
		else
			jQuery('#chat a img').attr('src','/images/operator_small.gif');
	}else{
		setTimeout(function(){
			setChatImg();
		}, 200);
	}
}
