﻿//variables
var map = null;

var revoIcon = new GIcon();
revoIcon.image = loc.MapIcon;
revoIcon.iconSize = new GSize(27,34);
revoIcon.shadow = "/content/images/frontend/newtabs/shadow.png";
revoIcon.shadowSize = new GSize(35,42);
revoIcon.iconAnchor = new GPoint(8,33);
revoIcon.transparent = loc.MapIcon.split(".")[0] + "_t.png";
revoIcon.infoWindowAnchor = new GPoint(5,3);
//revoIcon.imageMap = [];
var markerOptions = { icon:revoIcon };

var ewindowStyle = new EStyle("", new GSize(184,101), "mapinfo", new GPoint(-85,0));
var ewindow = null;

var current = 0;

$().ready(function(){
    load();
    bindForward();
    bindBack();
    $("#picnav_self").bind("click", goCycle);
    
    $("#galleryscroller img").click(function(){
        var rank = parseInt(/[0-9]+/.exec(this.id));
        $("#mainphoto").attr("src", photoRootUrl + photos[rank].Path);
        $("#pictitle").html(photos[rank].Caption != null ? photos[rank].Caption : "");
        
        if(photos[rank].Caption == null || $.trim(photos[rank].Caption) == "")
            $("#pictitle").hide();
        else
            $("#pictitle").show();
        
        $("#img_"+current).attr("class", "");
        current = rank;
        $("#img_"+current).attr("class", "selected");
        scrollToCurrent();
    });
    
    $("#bad").click(function(){
        $("#cicon").attr("class","ciconr");
        $("#commenttype").val("Kötü");
    });
    
    $("#good").click(function(){
        $("#cicon").attr("class","cicon");
        $("#commenttype").val("İyi");
    });
    
    $("#addComment").bind("click", addComment);
    $("#addToFavourites").bind("click", addToFavourites);
    
    $("a.suggest,a.addtofavourites").mouseover(function(){
        var obj = $(this);
        obj.attr("class", obj.attr("class") + "-h");
    });
    
    $("a.suggest,a.addtofavourites").mouseout(function(){
        var obj = $(this);        
        obj.attr("class", obj.attr("class").split("-")[0]);
    });
    
    $("#suggest").click(function(){
        tb_show(null,'#TB_inline?height=436&width=361&inlineId=popupsuggest',false);  
    });
    
    $("#dosuggest").bind("click", doSuggest);
});


//load google map
function load() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.removeMapType(G_HYBRID_MAP);
    var mapControl = new GMapTypeControl();
    var zoomControl = new GLargeMapControl();
    map.setCenter(new GLatLng(loc.Lat,loc.Lng), 12);
    map.addControl(mapControl);
    map.addControl(zoomControl);    
    
    ewindow = new EWindow(map, ewindowStyle);
    map.addOverlay(ewindow);
    
    //register events
    //dragend event
    GEvent.addListener(map, "dragend", function(){
        getLocations([categoryid], null, 10, null);
    });
    
    GEvent.addListener(map, "dblclick", function(){
        getLocations([categoryid], null, 10, null);
    });
    
    GEvent.addListener(map, "zoomend", function(){
        getLocations([categoryid], null, 10, null);
    });
    
    getLocations([categoryid],null,10, loc.ID);
    
  }
}

//on document unload
$(document).unload(function(){
     GUnload();
})


var goForward = function()
{
    var scroller = $("#galleryscroller");
    var left = parseInt(/[\-0-9]+/.exec(scroller.css("left")));       
    if(left > (-1)*(scrollerSize-3*81)) 
    {
        $("#forward").unbind("click", goForward);
        $("#picnav_forward").unbind("click", goForward);
        left-=81;
        scroller.animate({left:left},{duration: 300, easing: "easeInOutQuad", complete:bindForward});
        populateMainPhoto(1);
    }
    else if(current < photos.length - 1)
    {
        populateMainPhoto(1);
    }
}

var goBack = function()
{
    var scroller = $("#galleryscroller");
    var left = parseInt(/[\-0-9]+/.exec(scroller.css("left")));
    if(left < 0)
    {
        $("#back").unbind("click", goBack);
        $("#picnav_back").unbind("click", goBack);
        left+=81;
        scroller.animate({left:left},{duration: 300, easing: "easeInOutQuad", complete:bindBack});
        populateMainPhoto(-1);
    }
    else if(current > 0)
    {
        populateMainPhoto(-1);
    }
}

var goCycle = function()
{
    var scroller = $("#galleryscroller");
    var left = parseInt(/[\-0-9]+/.exec(scroller.css("left")));       
    if(left > (-1)*(scrollerSize-3*81)) 
    {
        $("#forward").unbind("click", goForward);
        $("#picnav_forward").unbind("click", goForward);
        left-=81;
        scroller.animate({left:left},{duration: 300, easing: "easeInOutQuad", complete:bindForward});
        populateMainPhoto(1);
    }
    else if(current < photos.length - 1)
    {
        scroller.animate({left:left},{duration: 300, easing: "easeInOutQuad", complete:bindForward});
        populateMainPhoto(1);
    }
    else
    {
        $("#forward").bind("click", goForward);
        $("#picnav_forward").bind("click", goForward);
        left=0;
        scroller.animate({left:left},{duration: 300, easing: "easeInOutQuad", complete:bindForward});
        populateMainPhoto(1);
    }
}

var scrollToCurrent = function()
{
    
}

var bindForward = function()
{
    $("#forward").bind("click", goForward);
    $("#picnav_forward").bind("click", goForward);    
}

var bindBack = function()
{
    $("#back").bind("click", goBack);
    $("#picnav_back").bind("click", goBack);
}

var populateMainPhoto = function(direction)
{
    $("#img_"+current).attr("class", "");
    current+=direction;
    current = current == photos.length ? 0 : current;
    current = current < 0 ? photos.length -1 : current;
    $("#img_"+current).attr("class", "selected");
    var caption = photos[current].Caption != null ? photos[current].Caption : "";
    $("#mainphoto").attr("src", photoRootUrl + photos[current].Path).attr("alt",caption).attr("title",caption);
    $("#pictitle").html(caption);
    if(caption == null || $.trim(caption) == "")
        $("#pictitle").hide();
    else
        $("#pictitle").show();
}

var addComment = function()
{
    $("#addComment").unbind("click", addComment);
    $("#commentformerror").removeClass("formerror").addClass("forminfo").html("Lütfen bekleyiniz. Yorumunuz kaydediliyor.");
    
    $.post("/mekan/addcomment.aspx", {'location.id':$("#location_id").val(),'comment.description':$("#comment_description").val(),'commenttype':$("#commenttype").val()}, function(data){
        
        $("#commentformerror").removeClass().html("");
        
        if(data == "formerror")
            $("#commentformerror").removeClass("forminfo").addClass("formerror").html("Lütfen açıklamanızı giriniz.");
            
        if(data == "notallowed")
        {
            showPopup('Yorum yazmak için <a href="/uyelik/giris/" class="white">giriş yapın</a> ya da <a href="/uyelik/kayit/" class="white">kayıt olun</a>.', "DEVAM", function(){
                window.location = "/uyelik/giris/";
            });
            $("#comment_description").val("");
        }
        
        if(data == "ok")
        {
            showPopup('Yorumunuz moderasyona gönderilmiştir.<br/>Onaylanıp onaylanmadığı size e-posta ile bildirilecektir.', "KAPAT", closePopup);
            $("#comment_description").val("");
        }
        
        $("#addComment").bind("click", addComment);
            
    });
}

var addToFavourites = function()
{
    $("#addToFavourites").unbind("click", addToFavourites);
    $.post("/mekan/addtofavourites.aspx", {'location.id':$("#location_id").val()}, function(data){
               
        if(data == "notallowed")
        {
            showPopup('Mekanı favorilerinize eklemek için <a href="/uyelik/giris/" class="white">giriş yapın</a> ya da <a href="/uyelik/kayit/" class="white">kayıt olun</a>.', "DEVAM", function(){
                window.location = "/uyelik/giris/";
            });
            $("#addToFavourites").bind("click", addToFavourites);
        }
        
        if(data == "alreadyadded")
        {
            showPopup('Mekan favorileriniz arasında bulunmaktadır.', "KAPAT", closePopup);
        }
        
        if(data == "ok")
        {
            showPopup('Mekan favorilerinize eklenmiştir.', "KAPAT", closePopup);
            $("#addToFavourites").remove();
        }            
    });
}

//suggest action

var doSuggest = function()
{
    $("#dosuggest").unbind("click",doSuggest);
    
    $("#e_suggestname").html("");
    $("#e_suggestemail").html("");
    $("#e_to").html("");
    
    $.post("/mekan/suggest.aspx",
        {
            "locationID":$("#location_id").val(),
            "suggestname":$("#suggestname").val(),
            "suggestemail":$("#suggestemail").val(),
            "to":$("#to").val(),
            "suggestnote":$("#suggestnote").val()
        },
        function(data)
        {
            data = eval(data);
            
            if(!data.valid)
            {
                $("#e_suggestname").html(data.e_suggestname);
                $("#e_suggestemail").html(data.e_suggestemail);
                $("#e_to").html(data.e_to);
            }
            else
            {
                tb_remove();
                setTimeout('showPopup("Mekan öneriniz arkadaşınıza iletilmiştir.<br/>Teşekkür ederiz.", "KAPAT", closePopup)',1000);                
            }
            
            $("#dosuggest").bind("click",doSuggest);
        },
        "json"
    )
}