/*
 * Klasa dla wyszukajki
 */
function Finder() {
	
	this._finder			= $('#finder');
	this._layer				= $('#finderExt');
	this._show				= $('#btn-advanced');
	this._back				= $('#finderExt .finderExt-right');
	this._ov				= $('#finderExt .finderExt-left .fel-ov');
	this._map				= $('.srwx');
	
	var self				= this;
	
	/* pobiera dane do autocomplitera */
	this.getAutocompleteData = function() {
		/*
		 * Tutaj rpc zamiast tej tablicy poniżej
		 */
		 
		data = rpcService.getCitiesList();
		/*
		[
			{
				value		: "1",
				label		: "Augustów",
				desc		: "Miasto cudów i nudów"
			},
    		{
    			value		: "2",
    			label		: "Katowice",
    			desc		: "Miasto Wągla i kominów"
    		},
    		{
    			value		: "20",
    			label		: "Karkonosze",
    			desc		: "Góry na południu polski"
    		},
    		{
    			value		: "3",
    			label		: "Kraków",
    			desc		: "Miasto smoka i boroka"
    		},
    		{
    			value		: "4",
    			label		: "Kielce",
    			desc		: "Miasto scyzoryka i rolnika"
    		}
    	];*/
		
		return data;
	};
	
	/* warstwa podstawowego wyszukiwania */
	this.baseLayer = function() {
		
		$( "#input-city" ).autocomplete({
			minLength: 2,
			autoFocus: false,
			source: '/search/cities/',//self.getAutocompleteData(),
			focus: function( event, ui ) {
				$( "#input-city" ).val( ui.item.label );
				return false;
			},
			select: function( event, ui ) {
				$( "#input-city" ).val( ui.item.label );
				$( "#input-city-id" ).val( ui.item.value );
				
				return false;
			}
		})
		.data( "autocomplete" )._renderItem = function( ul, item ) {
			return $( "<li></li>" )
				.data( "item.autocomplete", item )
				.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
				.appendTo( ul );
		};
		
		$('#select-object').live('focus', function(e){
			e.preventDefault();
			$('#object-layer').show();
		});
		
		$('#clear-objects').live('click', function(e){
			e.stopPropagation();
			$('#object-layer ul li').find('input[type="checkbox"]').removeAttr('checked');
		}).live('mouseover mouseout', function(e){
			if ( e.type == "mouseover" ) {
				$(this).css({color:'#c5f7ff'});
			} else {
				$(this).css({color:'#fff'});
			}
		});
		
		$('#add-objects').live('click', function(){
			
			new_label		= '';
			o_types = new Array();
			$('#object-layer ul li').find('input[type="checkbox"]').each(function(){
				if($(this).is(':checked')) {
					if(new_label != '') {
						
						new_label	+= ', ' + $(this).next().text();
					}
					else {
						new_label	= $(this).next().text();
					}
					
					o_types.push($(this).attr('dat'));
				}
			});
			
			if(new_label != '')
				$('#select-object').val(new_label);
			else
				$('#select-object').val('- Wszystkie -');
			
			$('#object-layer').hide();
		}).live('mouseover mouseout', function(e){
			if ( e.type == "mouseover" ) {
				$(this).css({color:'#b8ff91'});
			} else {
				$(this).css({color:'#fff'});
			}
		});
		
		$('#object-layer ul li').find('input[type="checkbox"]').live('click',function(e){
			e.stopPropagation();
			group  = $(this).attr('class').split(' ');
			
			if($(this).parent().is('.group0')) {
				if($(this).is(':checked')) {
					$('.'+group[0]).each(function(){
						$(this).attr('checked', 'checked');
					});
				}
				else {
					$('.'+group[0]).each(function(){
						$(this).removeAttr('checked');
					});
				}
			}
			else {
				if(!$(this).is(':checked')) {
					$('.'+group[0]).each(function(){
						if($(this).parent().is('.group0')) {
							$(this).removeAttr('checked');
						}
					});
				}
			}
		});
		
		$('.objl-list').live('click', function(e){
			e.stopPropagation();
		});
		$('body, html').live('click', function(){
			$('#object-layer').hide();
		});
	};
	
	/* warstwa zaawansowanego wyszukiwania */
	this.advdLayer = function() {
		this._ov.fadeOut();
		
		this._show.live('click', function(){
			
			if($(this).attr('show') == 'true') {
				self._layer.stop().animate({width:'0px'}, 200);
				self._ov.fadeOut(50);
				self._map.stop().animate({width:'678px'}, 200);
				$('.findonmap-left-ov').fadeIn(500);
				$(this).text('Wyszukiwanie zaawansowane').attr('show', 'false');
			}
			else {
				self._layer.stop().animate({width:'361px'}, 200);
				self._ov.fadeIn(500);
				self._map.find('.findonmap-left').stop().animate({width:'10px'}, 200);
				self._map.stop().animate({width:'327px'}, 200);
				$('.findonmap-left-ov').fadeOut(50);
				
				$(this).text('Wyszukiwanie podstawowe').attr('show', 'true');
			}
		});
		
		this._back.live('click', function(e){
			e.stopPropagation();
			self._layer.stop().animate({width:'0px'}, 200);
			self._ov.fadeOut(50);
			self._map.stop().animate({width:'678px'}, 200);
			$('.findonmap-left-ov').fadeIn(500);
			$(self._show).text('Wyszukiwanie zaawansowane').attr('show', 'false');
		});
		
		/* Suwak */
		$( "#slider-range" ).slider({
			range	: true,
			min		: 0,
			max		: 450,
			values	: [ 0, 450 ],
			slide: function( event, ui ) {
				$( "#amount_min" ).val(ui.values[ 0 ]);
				$( "#amount_max" ).val(ui.values[ 1 ]);
			}
		});
		
		/* Zdarzenia dla przycisku (Usuń warunek) */
		$('#reset_amount').live('mouseover mouseout', function(e){
			if ( e.type == "mouseover" ) {
				$( "#amount_min, #amount_max").css({color:'#ff2200'});
			} else {
				$( "#amount_min, #amount_max").css({color:'#444'});
			}
		});
		
		$('#reset_amount').live('click', function(){
			$("#amount_min, #amount_max").val('');
		});
		
	};    			
};

/* Klasa Oceny */
function UiRatings( params ) {
	if(!params) params		= {};
    
    this._style 			= params['normal'] ? params['normal'] : 'normal';
    this._selector			= params['selector'] ? params['selector'] : '.apimar-ratings';
    this._layerOne			= params['layerOne'] ? params['layerOne'] : '.layer-one';
    this._layerTwo			= params['layerTwo'] ? params['layerTwo'] : '.layer-two';
    
    this.setPosition = function() {
    	$(this._selector).attr('class', function(e,f){
    		test 			= new Array();
    		test			= f.split(' ');
    		if(test.length > 1) {
    			$.each(test, function(r,m){
        			tops	= m.split('-');
        			if(tops[0] === 'mtop') {
        				$('.'+this).attr('style', 'margin-top:'+tops[1]+'px');
        			}
        		});
    		}
    	});
    };
    
    this.setRating	= function(value, selector) {
    	position	= 61 - (parseInt(value) * 12);
    	$(selector).find(this._layerTwo).css({backgroundPosition: -position +'px 0px'});
    };
    
    this.init	= function() {
    	$(this._selector).find(this._layerTwo).each(function(){
    		cls			= $(this).attr('class').split(' ');
        	parts		= cls[1].split('-');
        	value		= parts[1];
        	
        	position	= 61 - (parseInt(value) * 12);
        	
        	$(this).css({backgroundPosition: -position +'px 0px'});
    	});    	
    };
    
    this.setPosition();
    this.init();
};

/* Klasa dla filtruj obiekty */
function ObjectFilter() {
	
	/* Suwak filtru ceny */
	$( "#slider-price" ).slider({
		range	: true,
		min		: 0,
		max		: 450,
		values	: [ 0, 450 ],
		slide: function( event, ui ) {
			$( "#amount_min" ).val(ui.values[ 0 ]);
			$( "#amount_max" ).val(ui.values[ 1 ]);
		}
	});
	
	/* Suwak filtru standardu */
	$( "#slider-standard" ).slider({
		range	: true,
		min		: 0,
		max		: 5,
		values	: [ 0, 5 ],
		slide: function( event, ui ) {
			ocena.setRating(ui.values[0], '#low-rating');
			ocena.setRating(ui.values[1], '#high-rating');
		}
	});
	
};

function objectDetails() {
	//$('.room-standard').attr('show', 'false');
	$('.show-more').live('click', function(){
		
		getId	= $(this).parents('ul').attr('id').split('-');
		
		$('ul.more').slideUp(200);
		$('#more-'+getId[1]).slideDown(400);
		
		/*getId	= $(this).parents('ul').attr('id').split('-');
		if($('.room-standard').attr('show') == 'true') {
			$('ul.more').hide();
			$('#more-'+getId[1]).show();
		}
		else{
			$('#more-'+getId[1]).slideDown(400);
			$('.room-standard').attr('show', 'true');
		}*/
	});
	$('.close-more').live('click', function(){
		$('.more').slideUp(200);
		//$('.room-standard').attr('show', 'false');
	});
};

$(document).ready(function(){
	
	/* zdarzenia na polach formularza */
	formEvents	= new eform();
	
	$('#goup, .goup').live('click', function(){
    	$('html, body').animate({scrollTop:0},200);
    });
	
    /* fancybox na zdjęcia */
	$("a.grouped_elements").fancybox({
    	'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	false,
		'titlePosition'	: 	'inside'
    });
	
	/* Finder */
	szukajka	= new Finder();
	szukajka.baseLayer();
	szukajka.advdLayer();
    
	/*filtr obiektów */
	filtrobj	= new ObjectFilter();
	/* gwiazdki */
	ocena		= new UiRatings();
	
	/* obiekt, szczegóły */
	objectDetails();
	
});
