//general variables


//image preloader
jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}

$.preloadImages("/content/images/frontend/nav_anasayfa_h.png",
                "/content/images/frontend/nav_hakkinda_h.png",
                "/content/images/frontend/nav_favorimekanlar_h.png",
                "/content/images/frontend/nav_yardim_h.png",
                "/content/images/frontend/logo_lassa_h.gif",
                "/content/images/frontend/logo_impetus_h.gif",
                "/content/images/frontend/pic_nav_prev_h.gif",
                "/content/images/frontend/pic_nav_next_h.gif",
                "/content/images/frontend/slide_prev_h.gif",
                "/content/images/frontend/slide_next_h.gif",
                "/content/images/frontend/button/anasayfa_h.png",
                "/content/images/frontend/button/devam_h.png",
                "/content/images/frontend/button/girisyap_h.png",
                "/content/images/frontend/button/gonder_h.png",
                "/content/images/frontend/button/kaydet_h.png",
                "/content/images/frontend/button/mekanekle_h.png",
                "/content/images/frontend/button/yukle_h.png",
                "/content/images/frontend/box_icon_r.png",
                "/content/images/frontend/button_favourite_h.gif",
                "/content/images/frontend/button_suggest_h.gif",
                "/content/images/frontend/infowindow.png",
                "/content/images/frontend/map_overlay_min.png",
                "/content/images/frontend/popup.png",
                "/content/images/frontend/popup_suggest.png",
                "/content/images/frontend/tab2_off.gif",
                "/content/images/frontend/tooltip_back.png",
                "/content/images/frontend/tooltip_left.png",
                "/content/images/frontend/tooltip_right.png",
                "/content/images/frontend/loading.png",
                "/content/images/frontend/nicejforms/default/radio2.png",
                "/content/images/frontend/nicejforms/default/checkbox2.png");

//on dom ready
$().ready(function(){
    //button mouseover mouseout
    $("input.submit").mouseover(function(){
        var obj = $(this);
        obj.attr("class", "submit " + obj.attr("class").split(" ")[1] + "-h");
    });

    $("input.submit").mouseout(function(){
        var obj = $(this);        
        obj.attr("class", "submit " + obj.attr("class").split(" ")[1].split("-")[0]);
    });
    
    //general mouseover mouseout
    $(".mover").mouseover(function(){
        var obj = $(this);        
        obj.attr("class", obj.attr("class").split(" ")[0] + "-h" + " mover");
    });

    $(".mover").mouseout(function(){
        var obj = $(this);        
        obj.attr("class", obj.attr("class").split(" ")[0].split("-")[0] + " mover");
    });
    
    $("#skey").focus(function(){        
        var obj = $(this);
        if(obj.val() == "Arama")
            obj.val("");
    });
    
    $(".header a.off").mouseover(function(){
        $(this).removeClass("off").addClass("hover");
    }).mouseout(function(){
        $(this).removeClass("hover").addClass("off");
    });
});

//ajax calls
function getLocations(categoryIDs,keyWord,limit,focus)
{
    var bounds = map.getBounds();
    $.get("/harita/lokasyonlar.aspx",
        {
            southWestLat:bounds.getSouthWest().lat(), 
            southWestLng:bounds.getSouthWest().lng(), 
            northEastLat:bounds.getNorthEast().lat(),
            northEastLng:bounds.getNorthEast().lng(),
            categoryIDs:categoryIDs,
            keyWord:keyWord,
            limit:limit
        },
        function(data){
            map.clearOverlays();         
            data = eval(data);
            $(data).each(function(){                
                revoIcon.image = this.MapIcon;
                revoIcon.transparent = this.MapIcon.split(".")[0] + "_t.png";
                var marker = new GMarker(new GLatLng(this.Lat,this.Lng), markerOptions);
                var info = this.Info;
                GEvent.addListener(marker, 'click', function(){
                    try { ewindow.hide(); }catch(e){}
                    map.addOverlay(ewindow);
                    ewindow.openOnMarker(this, info);
                    ewindow.show();
                    map.panTo(marker.getLatLng());
                  });
                map.addOverlay(marker);
                
                if(this.ID == focus)
                {                    
                    try { ewindow.hide(); }catch(e){}    
                    map.addOverlay(ewindow);                
                    ewindow.openOnMarker(marker, info);
                    ewindow.show();                    
                    map.panTo(marker.getLatLng());
                }
            });
        }
    );
}

//helpers
//query json array
function getObject(array, key, value)
{
    var obj = null;
    $(array).each(function(){
        if(this[key] == value)
        {
            obj = this;
            return;
        }
    });
    
    return obj;
}


//ie array indexof
if (!Array.prototype.indexOf)  
{  
 Array.prototype.indexOf = function(elt /*, from*/)  
 {  
   var len = this.length;  
 
   var from = Number(arguments[1]) || 0;  
   from = (from < 0)  
        ? Math.ceil(from)  
        : Math.floor(from);  
   if (from < 0)  
     from += len;  
 
   for (; from < len; from++)  
   {  
     if (from in this &&  
         this[from] === elt)  
       return from;  
   }  
   return -1;  
 };  
}

//popup
var showPopup = function(contentTxt, buttonTxt, action){
    var popup = $.create("div").attr("class","popup").appendTo($.create("div",{id:"dialoginfo"}).attr("class","dialog").appendTo("body"));
    if($.browser.msie && $.browser.version < 7)
        popup.pngfix();
    var content = $.create("p").html(contentTxt).appendTo($.create("div").attr("class","c").appendTo(popup));
    var button = $.create("input",{type:"button","class":"button devam"}).appendTo($.create("div",{id:"dialogaction"}).attr("class","a").appendTo(popup));
    
    
    if(typeof(action) != "undefined")
        button.bind("click",action);
    
    tb_show(null,'#TB_inline?height=163&width=340&inlineId=dialoginfo',false);
}  

var closePopup = function(){
    tb_remove();
    $("#dialoginfo").remove();
};


//list sort order
var changeSortOrder = function()
{
    var loc = window.location.toString();
    loc = loc.replace(/((&|\?)?sort=[a-z]+)/,"");
    loc += (/\?/.exec(loc) ? "&" : "?") + "sort="+$("#sort").val();
    window.location = loc;
}

//add to bookmarks
function addToBookmarks(title, url) 
{
    try{
    if (window.external && window.external.AddFavorite)
        window.external.AddFavorite( url, title);
    else if (window.sidebar && window.sidebar.addPanel)
        window.sidebar.addPanel(title, url, "");
    }
    catch(err){
    window.external.AddFavorite( url, title);
    }
}