$(document).ready(function() {
    $('select.filterable').live('change', function() {
        var currentSerialize = $('form#search_form').serialize();
        
        var currentCity = $('select[name=search_city]').val();
        var currentType = $('select[name=search_type]').val();
        var currentInvestment = $('select[name=search_investment]').val();
        var currentRooms = $('select[name=search_rooms]').val();
        var currentFloor = $('select[name=search_floor]').val();
        
        
        //update type
        $.getJSON('search/ajax.php?get=types', currentSerialize, function(data) {
            $('form#search_form *').removeAttr('disabled');
            
            $('select[name=search_type]').html('<option value="-10">Dowolny</option>');

            $.each(data, function(i, item) {
                $('select[name=search_type]').append('<option value="'+item.name_clean+'">'+item.name_client+'</option>');
            });
            
            $('select[name=search_type]').val(currentType);
        });
        
        //update investments
        $.getJSON('search/ajax.php?get=investment', currentSerialize, function(data) {
            $('form#search_form *').removeAttr('disabled');
            
            $('select[name=search_investment]').html('<option value="-10">Dowolna</option>');
            
            $.each(data, function(i, item) {
                if(item.slug == currentInvestment)
                    if(item.slug == 'maciejkowe_wzgorze')
                        $('select[name=search_investment]').append('<option value="'+item.slug+'" selected="selected">Maciejkowe Wzgórze (Szczecin)</option>');
                    else
                        $('select[name=search_investment]').append('<option value="'+item.slug+'" selected="selected">'+item.nazwa+'</option>');
                else
                    if(item.slug == 'maciejkowe_wzgorze')
                        $('select[name=search_investment]').append('<option value="'+item.slug+'">Maciejkowe Wzgórze (Szczecin)</option>');
                    else
                        $('select[name=search_investment]').append('<option value="'+item.slug+'">'+item.nazwa+'</option>');
            });
        });
    
        //update cities
        $.getJSON('search/ajax.php?get=cities', currentSerialize, function(data) {
            $('form#search_form *').removeAttr('disabled');
            
            $('select[name=search_city]').html('<option value="-10">Dowolne</option>');
            
            $.each(data, function(i, item) {
                $('select[name=search_city]').append('<option value="'+item.id+'">'+item.name+'</option>');
            });
        
            $('select[name=search_city]').val(currentCity);
        });
        
        //update rooms
        $.getJSON('search/ajax.php?get=rooms', currentSerialize, function(data) {
            $('form#search_form *').removeAttr('disabled');
            $('select[name=search_rooms]').html('<option value="-10">Dowolna</option>');

            $.each(data, function(i, item) {
                if(item.rooms != 0)
                    $('select[name=search_rooms]').append('<option value="'+item.rooms+'">'+item.rooms+'</option>');
            });
            
            $('select[name=search_rooms]').val(currentRooms);
        });
        
        //update floor
        $.getJSON('search/ajax.php?get=floor', currentSerialize, function(data) {
            $('form#search_form *').removeAttr('disabled');
            $('select[name=search_floor]').html('<option value="-10">Dowolne</option>');

            $.each(data, function(i, item) {
                if(item.rooms != 0)
                    $('select[name=search_floor]').append('<option value="'+item.floor+'">'+item.floor+'</option>');
            });
            
            $('select[name=search_floor]').val(currentFloor);
        });
    });
    
    $('select[name=search_type]').live('change', function() {
        var val = $(this).val();
        if(val == 'garaz' || val == 'komorka_lokatorska') {
            $('select[name=search_floor]').val('-10').attr('selected', true);
            $('select[name=search_rooms]').val('-10').attr('selected', true);
            $('label[for=search_rooms]').fadeOut();
            $('select[name=search_rooms]').fadeOut();
            $('label[for=search_floor]').fadeOut();
            $('select[name=search_floor]').fadeOut();
        }
        else {
            $('label[for=search_rooms]').fadeIn();
            $('label[for=search_floor]').fadeIn();
            $('select[name=search_rooms]').fadeIn();
            $('select[name=search_floor]').fadeIn();
        }
    });
    
    $('form#search_form').live("submit", function() {
        $('div#errors > ul').hide();
        $('div#errors > ul').html('');
        
       var current;
		$("table tr:not(.title)").live("mouseover", function() {
		    if (this !== current) {
		        $(current).find('td').css('background','#447715');
		         $(this).find('td').css('background','#74a941');
		        current = this;
		    }
		});
		
		
        var errors = 0;
        
        //price validation
        if($('input[name=search_price_from]').val() != '' && $('input[name=search_price_to]').val() != '')
            if(parseFloat($('input[name=search_price_from]').val()) >= parseFloat($('input[name=search_price_to]').val())) {
                $('div#errors > ul').append('<li>Cena minimalna nie może być wyższa od maksymalnej.</li>');
                errors++;
            }
        
        //measurement validation
        if($('input[name=search_measurement_from]').val() != '' && $('input[name=search_measurement_to]').val() != '')
            if(parseFloat($('input[name=search_measurement_from]').val()) >= parseFloat($('input[name=search_measurement_to]').val())) {
                $('div#errors > ul').append('<li>Metraż minimalny nie może być wyższy od maksymalnego.</li>');
                errors++;
            }
        
        if(errors > 0) {
            $('div#errors > ul').fadeIn();
            return false;
        }
        $.fancybox.showActivity();
        
        $.ajax({
			type		: "POST",
			cache	: false,
			url		: "search/index.php?action=results",
			data		: $(this).serializeArray(),
			success: function(data) {
				$.fancybox(data);
			}
		});
	
		return false;
        
    });
    $('.ask').live("click", function() {
     	var urlData = this;
     	$.fancybox.showActivity();
     	
     	 $.ajax({
			type		: "POST",
			cache	: false,
			url		: $(urlData).attr('href'),
			data		: $(urlData).serializeArray(),
			success: function(data) {
				$.fancybox(data);
			}
		});
	
		return false;
     });
	 
	 $('.get_back').live("click", function() {
     	var urlData = this;
     	$.fancybox.showActivity();
     	
     	 $.ajax({
			type		: "POST",
			cache	: false,
			url		: $(urlData).attr('href'),
			success: function(data) {
				$.fancybox(data);
			}
		});
	
		return false;
     });
     
     $('form#contact_form').live("submit", function() {
        $('div#errors-contact > ul').hide();
        $('div#errors-contact > ul').html('');
        //alert ('test');
        var errors = 0;
        
            if(($('input#contact_name').val() == '' || $('input#contact_name').val() == $('input#contact_name').attr('title'))) {
                $('div#errors-contact > ul').append('<li>Podaj swoje imię i nazwisko.</li>');
                errors++;
            }
            
            if(!valid_email($('input#contact_email').val().replace($('input#contact_email').attr('title'), '')) || ($('input#contact_name').val() == '')) {
                $('div#errors-contact > ul').append('<li>Wypełnij poprawnie pole e-mail. Przyładowy prawidłowy adres e-mail: imie@domena.pl.</li>');
                errors++;
            }
            
            if(($('textarea#contact_content').val() == '' || $('textarea#contact_content').val() == $('textarea#contact_content').attr('title'))) {
                $('div#errors-contact > ul').append('<li>Podaj treść wiadomości.</li>');
                errors++;
            }
        
        if(errors > 0) {
            $('div#errors-contact > ul').fadeIn();
            return false;
        }
        $.fancybox.showActivity();
        $.ajax({
			type		: "POST",
			cache	: false,
			url		: "search/index.php?action=contact&investment="+$('input[name=investment]').val(),
			data		: $(this).serializeArray(),
			success: function(data) {
				 //$.fancybox(data);
				 $('form#contact_form').hide();
				 $('div#errors-contact > ul').html('');
				 $('div#errors-contact > ul').append('<li>Wiadomość została wysłana.</li>');
                 $('div#errors-contact > ul').fadeIn();
                 $('div#go_back').fadeIn();
			}
		});
	
		return false;
    });
    function valid_email(email) {
        var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
        return email.match(re) 
    }
  
});
