// **************************************************************
// @Name: JavaScript Metka:)
// @Author: Tomasz Łabacki
// @Email: tomasz@labacki.com
// @WWW: http://labacki.com
// @Date: 15 January 2010
// @License: Gnu General Public License (GPL) Version 3
// @Require: jQuery 1.3 or above
// **************************************************************

$(document).ready(function(){
    //////////////////////////////////////////////
    //              Configuration               //
    //////////////////////////////////////////////
    var metka_height="130";                             // height of metka in px
    var metka_on_width="500";                           // width of active ("ON") metka's element
    var metka_off_width="77";                           // width of inactive ("OFF") metka's element
    var metka_on_bg="/gfx/metka_on.png";                // background of active element
    var metka_off_bg="/gfx/metka_off.png";              // background of inactive element
    var metka_off_hover_bg="/gfx/metka_off_hover.png";  // background of inactive element on mouseover
    var position_x="right";                             // position of metka on screen: left or right
    var position_y="60%";                               // position from top in % or px'es
    var rollover_speed=250;                             // speed of action of hiding, in ms
    var rollon_speed=350;                               // speed of action of showing, in ms
    var metka_link="/register_form/";                                  // if not-blank, then after click of active
                                                          //   element user will be redirected to this
                                                          //   location; else metka will silmply rollover;
                                                          //   example: metka_link="http://labacki.com"


    //////////////////////////////////////////////
    //                 Engine                   //
    //////////////////////////////////////////////
    // Creating metka DOM instances
    var metka_on=jQuery("<div />");
    var metka_off=jQuery("<div />");
    var metka_off_hover=jQuery("<img />");

    // Setting attributes of metka's DOM instances
    $(metka_on).attr("id", "metka_on");
    $(metka_off).attr("id", "metka_off");
    $(metka_off_hover).attr({"src":metka_off_hover_bg,"alt":"","height":metka_height,"width":metka_off_width});

    // Inserting metka's DOM instances into DOM
    $(metka_on).appendTo(document.body)
    $(metka_off).appendTo(document.body)
    $(metka_off_hover).appendTo($("#metka_off"))


    // Fixed for IE6
    var position="fixed";
    jQuery.each(jQuery.browser, function(i, val) {
        if(i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") position="absolute"
    });

    // Setting css of metka's DOM instances
    $("#metka_on, #metka_off, #metka_off_hover").css({"position":position,"top":position_y,"cursor":"pointer"});
    $("#metka_on, #metka_off, #metka_off_hover").css(position_x,0);
    $("#metka_on").css({"width":"0","height":metka_height+"px","background":"url("+metka_on_bg+") no-repeat"});
    $("#metka_off").css({"width":metka_off_width+"px","height":metka_height+"px","background":"url("+metka_off_bg+") no-repeat"});
    $("#metka_off img").hide();

    // User events
    var clicked=false;
    $("#metka_off").mouseover(function(){$(this).find("img").show();})
    $("#metka_off").mouseout(function(){if(!clicked) $(this).find("img").hide();})

    $("div#metka_off").click(function(){
        clicked=true;
        $(this).animate({width: 0}, rollover_speed, function(){
            $("div#metka_on").animate({width: metka_on_width}, rollon_speed);
            $(this).find("img").hide();
            clicked=false;
        });
    });

    $("div#metka_on").click(function(){
        if(metka_link!="") document.location=metka_link;
        else $(this).animate({width: 0}, rollover_speed, function(){$("div#metka_off").animate({width: metka_off_width}, rollon_speed);});
    });
	
    $("div#metka_on").mouseout(function(){
        $(this).animate({width: 0},rollover_speed, function(){
            $("div#metka_off").animate({width: metka_off_width});
        })
    });	
});