var googleAnalytics = function() {
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-26276877-1']);
    _gaq.push(['_trackPageview']);

    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
};


var getParameterByName = function(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if(results == null) {
      return "";
    } else {
      return decodeURIComponent(results[1].replace(/\+/g, " "));
    }
};

var showChangeLocation = function() {
    if ($("#changeLocationForm").is(":hidden")) {
        $("#changeLocationForm").slideDown();
        $("#showChangeLocation").html("Fechar");
    } else {
        $("#changeLocationForm").slideUp();
        $("#showChangeLocation").html("Mudar");
    }
};

var loadSearch = function() {
	search.setQueryField($("#q"));
	search.setFiltersElement($("#filters"));
	search.setResultElement($("#result"));
    search.queryStringManager();
};

var updateLocationLabel = function() {
    if($.cookie("cs")) {
        $("#selectedCityState").html($.cookie("cs"));
    } else {
        $("#selectedCityState").html("Todo o Brasil");
    }
    $("#cityState").val($.cookie("cs"));
};

var updateCategoryLabel = function(categoryId) {
    $.cookie("ct", categoryId);
    $(".category").removeClass("selected");
    if(categoryId) {
        $("#"+categoryId).addClass("selected");
    } else {
        $(".category:first").addClass("selected");
    }
	
};

$("#searchForm").submit(function() {
    $.cookie("ct", null);
    updateCategoryLabel();
    search.doSearch();
    return false;
});

$("#changeLocationForm").submit(function() {
    $.cookie("cs", $("#cityState").val());
    updateLocationLabel();
    showChangeLocation();
    search.doSearch();
    return false;
});

$("#showChangeLocation").click(function() {
    showChangeLocation();
});

$(".category").click(function() {
    updateCategoryLabel($(this).attr("id"));
    search.doSearch();
});

googleAnalytics();

$(document).ready(function(){
	loadSearch();
    updateLocationLabel();
});

