DEBUG = false;


$(document).ready(function() {

    $('a#register[rel*=facebox]').live("click",
    function() {

        var thislocale = location.pathname.split('/')[1];
        $.get("/" + thislocale + "/users/currentuser/newpopup",
        function(data) {
            d(data);
            $.facebox(data);
        });
    });
    //end add click
    /* profile update */

    $('a#editprofile[rel*=facebox]').live("click",
    function() {

        var thislocale = location.pathname.split('/')[1];
        $.get("/" + thislocale + "/users/currentuser/editpopup",
        function(data) {
            d(data);
            $.facebox(data);
        });
    });
    //end add click
    /**/
    $('a#login[rel*=facebox]').live("click",
    function() {
        var thislocale = location.pathname.split('/')[1];

        $.get('/' + thislocale + '/user_sessions/new/newpopup',
        function(data) {
            d(data);
            $.facebox(data);
			//ajaxify_login();
        });
	
    });
    //end add click

    $('span#editsavedsearch').live("click",
    function() {
        var thislocale = location.pathname.split('/')[1];
        var address = '/' + thislocale + '/users/currentuser/savesearch?savedsearch%5Bid%5D=' + encodeURIComponent($(this).attr("aria-search-id"));

        $.get(address,
        function(data) {
            d(data);
            $.facebox(data);

        });
        return false;
    });
    //end add click


    $('a#savesearch').live("click",
    function() {
        var thislocale = location.pathname.split('/')[1];
        var address = $(this).attr('href');

        $.get(address,
        function(data) {
            d(data);
            $.facebox(data);

        });
        return false;
    });
    //end add click

   

    $('form#register.jform').live("submit",
    function() {
        var thislocale = location.pathname.split('/')[1];
        frmcontents = $(this).serialize();
        $('#dialog-loading').toggle();
        $('#dialog-form').toggle();
        d("register...");
        $.post("/" + thislocale + "/users", frmcontents,
        function(data) {
          $.facebox(data);
        });
        return false;
    });



    /* update profile */
    
      $('form#updateprofile.jform').live("submit", function(){
            var thislocale = location.pathname.split('/')[1];
            frmcontents = $(this).serialize();
            url = $(this).attr("action");

            $('#dialog-loading').toggle();
            $('#dialog-form').toggle();
            d("update ...");
            
             $.post(url, frmcontents,
              function(data) {
                $.facebox(data);
              });
            
            return false;
      });
    
    /**/
    $('form#savedocument.jform').live("submit",
    function() {
        var thislocale = location.pathname.split('/')[1];
        frmcontents = $(this).serialize();
        url = $(this).attr('action')
        $('#dialog-loading').toggle();
        $('#dialog-form').toggle();
        d("register...");
        $.post(url, frmcontents,
        function(data) {
            handle_savedocument_response(data);
        },
        "json");
        return false;
    });

    /** save search   **/
    $('form#savesearch.jform').live("submit",
    function() {
        var thislocale = location.pathname.split('/')[1];
        frmcontents = $(this).serialize();
        url = $(this).attr('action')
        $('#dialog-loading').toggle();
        $('#dialog-form').toggle();
        d("saving search...");
        $.post(url, frmcontents,
        function(data) {
            handle_savesearch_response(data);
        },
        "json");
        return false;
    });


    $('span#addfavorite').live("click",
    function() {
        var thislocale = location.pathname.split('/')[1];
        var url = '/' + thislocale + '/users/currentuser/savedocument?text=' + encodeURIComponent($(this).attr("aria-document-id"));
        $.get(url,
        function(data) {

            $.facebox(data);
        });
    });
    //end add click

    // add css class to current menu
    currentpage();
    $("#breadcrumb .popup").live("click",
    function() {
        address = $(this).attr('href');
        newWin = window.open(address, '', 'width=600,height=350,scrollbars=yes,resizable=yes,status=no,toolbar=no,location=no,menubar=no');

        newWin.focus();
        return false;

    });

    $(".gallery .popup, #page_images .popup").live("click",
    function() {
        address = $(this).attr('href');
        newWin = window.open(address, '', 'width=950,height=650,scrollbars=yes,resizable=yes,status=no,toolbar=no,location=no,menubar=no');

        newWin.focus();
        return false;

    });


    $(".infocontainer .popup").live("click",
    function() {
        address = $(this).attr('href');
        newWin = window.open(address, '', 'width=400,height=300,scrollbars=yes,resizable=yes,status=no,toolbar=no,location=no,menubar=no');

        newWin.focus();
        return false;

    });

    $("a.new_window").live("click",
    function() {
        address = $(this).attr('href');
        newWin = window.open(address, '', 'width=750,height=550,scrollbars=yes,resizable=yes,status=no,toolbar=no,location=no,menubar=no');
        newWin.focus();
        return false;
    });

    $("a.new_window").live("click",
    function() {
        address = $(this).attr("target", '_blank');
    });

});

$(document).bind('reveal.facebox', function() { 
	ajaxify_login()
	});


function ajaxify_login(){
$('form.jformlogin').submit(
   function() {
       var thislocale = location.pathname.split('/')[1];

       frmcontents = $(this).serialize();
       $.post("/" + thislocale + "/user_sessions", frmcontents,
       function(data) {
           handleresponse(data);
       },
       "json");
       return false;
   });
}

// end ready
function handleresponse(data) {
    if (data.rstatus == "ok") {
        closefb();
        reload_page()
    } else {
        message = $("form.jform p#msg");
        message.html(data.errors[0][1]);
        message.show();
    }
}

function handle_savesearch_response(data) {
   
    d("saved search")
    if (data.rstatus == "ok") {

        // display search saved
        $('#dialog-loading').hide();
	reload_page()
        // display search saved
        $("#dialog-palette p#message").html(I18n.translate('favorites.your_search_has_been_saved'));
        $("#dialog-palette").show();

    } else {

        // display error msg
        $("form.jform p#msg").toggle();

    }
}

function handle_savedocument_response(data) {
    if (data.rstatus == "ok") {

         $('#dialog-loading').hide();

          // display search saved
	  reload_page()
          $("#dialog-palette p#message").html(I18n.translate('favorites.your_text_has_been_saved'));
          $("#dialog-palette").show();
        } else {

        // display error msg
        }
}


function updatestatus() {
    var thislocale = location.pathname.split('/')[1];

    $.get("/" + thislocale + "/users/currentuser/status",
    function(data) {
        $("#user_controls").html(data);

    });
    // end ajax
}


function currentpage() {
    var thisurl = location.pathname;
    var htmlfile = thisurl.split('/').pop();

    if (thisurl) {
        if (htmlfile.indexOf('_') != -1) {
            parentpage = htmlfile.split('_')[0] + ".html";
            $('#top_level_menu a[href$="' + parentpage + '"]').parent().addClass('here');
            $('#breadcrumb a[href$="' + htmlfile + '"]').parent().addClass('here');

        } else {
            $('#top_level_menu a[href$="' + thisurl + '"]').parent().addClass('here');
        }
    }
}


function closefb() {
    $(document).trigger('close.facebox');
}

function changelocale(locale) {

    thisurl = location.href;
    if (locale == "en")
    {
        newurl = thisurl.replace('/lo/', '/en/')
    }
    else
    {
        newurl = thisurl.replace('/en/', '/lo/')
    }
    d(newurl);
    window.location.href = newurl
}

function reload_page() {
  
    window.location.reload()}


//****************************************************//
// debug function
//****************************************************//
function d(m) {
    if (DEBUG) {
        console.info(m);
    }
}
