var pageIndex = 1;
var pageSize = 10;
var currentWidth = 0;

// Handles Quick and Advanced Search
$(function() {
        
    $(document).ready(function(){

        // Checks iphone / ipod touch Orientation
        setTimeout(updateLayout, 0);

        // Shows Advanced Search Control
        $("a#showSearch").click(function () {
          if ($("#search_controls").is(":hidden")) {
            $("#search_controls").slideDown("slow");
            $("#quick_search_controls").hide();
            $("#search").hide();
          } else {
            $("#search_controls").hide();
          }
        });
        
        // Shows Quick Search Control
        $("a#showQuickSearch").click(function () {
          if ($("#quick_search_controls").is(":hidden")) {
            $("#quick_search_controls").slideDown("slow");
            $("#search_controls").hide();
            $("#search").hide();
          } else {
            $("#quick_search_controls").hide();
          }
        });

        // Quick Search
        $("a#quickSearchButton").click(function() {
           
           // Hide the search form so we can show results.
           toggleSearchForm();
           
           $("#preloader").show();
           
           var s = new Results();

           s.getQuickResults( $("#QuickSearchControl_txtSearchFor").val(), 
                              pageIndex, 
                              pageSize, 
          function( response ) {
                 $("#ResultsGrid").html(response.result);
                 $("#preloader").hide();
           });
           
           // Show Back Button
           $("#midMenu").show();
            
        });
        
        // Advanced Search
        $("a#searchButton").click(function() {
           
           // Hide the search form so we can show results.
           toggleSearchForm();
           
           $("#preloader").show();
           
           var s = new Results();

           s.getResults( $("#SearchControl_tipocomida").val(), 
                         $("#SearchControl_localizacion").val(), 
                         $("#SearchControl_ambiente").val(), 
                         $("#SearchControl_precio").val(), 
                         $("#SearchControl_txtSearchFor").val(),
                         pageIndex,
                         pageSize, 
           function( response ) {
                $("#ResultsGrid").html(response.result);
                $("#preloader").hide();
           });

           // Show Back Button
           $("#midMenu").show();
            
        });
        
        $("a#toggleSearchForm").click(function() {
            clearResults();
            toggleSearchForm();
            
            // Reset Page Index
            pageIndex = 1;
        });

        $("a#toggleMap").click(function() {
            $("#midMenu").show();
            $("#ResultsGrid").show();
            $("#map").hide();
            $("#mapMenu").hide();
        });

    });
    
    // Search Form toggle
    function toggleSearchForm()
    {
        //$("#search_controls").hide();
        //$("#quick_search_controls").hide();
        $("#searchForm").slideToggle();
        // Hide Back Button
         $("#midMenu").hide();
    }
    
    // Clear Grid
    function clearResults()
    {
        $("#ResultsGrid").html("");
    }
    
    // Updates Orientation
    function updateLayout()
    {
        if (window.innerWidth != currentWidth)
        {
            currentWidth = window.innerWidth;
            $("#width").innerHTML = "[width = " + currentWidth + "px]";

            var orient = currentWidth == 320 ? "profile" : "landscape";
            document.body.setAttribute("orient", orient);
            setTimeout(function()
            {
                window.scrollTo(0, 1);
            }, 100);            
        }
    }

    setInterval(updateLayout, 400);

})

// Load Results from Advanced Search
function loadResults()
{
    
   $("#preloader").show();
   
   var s = new Results();

   s.getResults( $("#SearchControl_tipocomida").val(), 
                 $("#SearchControl_localizacion").val(), 
                 $("#SearchControl_ambiente").val(), 
                 $("#SearchControl_precio").val(), 
                 $("#SearchControl_txtSearchFor").val(),
                 pageIndex += 1,
                 pageSize,
   function( response ) {
        $("#ResultsGrid").html($("#ResultsGrid").html() + response.result);
        $("#preloader").hide();
   });
   
   $("a#loadmore").parent().remove();
 
}

// Load Results from Quick Search
function loadQuickResults()
{
    
   $("#preloader").show();
   
   var s = new Results();

   s.getQuickResults( $("#QuickSearchControl_txtSearchFor").val(),
                 pageIndex += 1,
                 pageSize,
   function( response ) {
    
        //$("a#loadmore")..parent().after( "FOO" );
        $("#ResultsGrid").html($("#ResultsGrid").html() + response.result);
        $("#preloader").hide();
   });
   
   $("a#loadmore").parent().remove();

}

// Google Maps
function showMap(latitude, longitude) {
    $("#midMenu").hide();
    $("#ResultsGrid").hide();
    $("#map").show();
    $("#mapMenu").show();
    
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        var latlong = new GLatLng(latitude, longitude);
        map.setCenter(latlong, 16);
        map.addOverlay(new GMarker(latlong));
        map.setUIToDefault();
    }
}