// alias to jQuery library, function noConflict release control of the $ variable 
var $j = jQuery.noConflict();

/**************************
    GLOBAL FUNCTIONALITY
**************************/

// global settings
function setupGlobal()
{
    // blur focus then user click on <a> element
    //$j("a").focus(function(){$j(this).blur();});
    // the same for object with id searchBoxBtn
    $j("#searchBoxBtn").focus(function(){$j(this).blur();}); 
}

/**************************
    SEARCH BOX CODE
**************************/

// if set to true search box auto play is run
var g_searchBoxAutoPlayAllowed = true;
// display animated text true/false
var g_serachBoxPlayText = true;
// text wich will be displayed by auto play function
var g_searchBoxDummyText = "type text to search..";
// current end position of text display by auto play function
var g_searchBoxTextPos = 0;
// handle of auto play search box timer
var g_searchBoxTimer = null;

// Auto play serach box function, it task is display dummy text in some time period
function searchBoxAutoPlay()
{
    // if auto play is turn off, function set timer
    // to 16 seconds and return control 
    if(false == g_searchBoxAutoPlayAllowed)
    {
        // chcek status in 16 seconds
        g_searchBoxTimer = setTimeout(searchBoxAutoPlay, 16000);
        return;
    }
    
    // get number of characters in dummy text
    var length = g_searchBoxDummyText.length;
    // move to next character
    g_searchBoxTextPos++;
    // if end of string, clean search box and return to begin 
    if(g_searchBoxTextPos > length)
    {
       $j("#s").val("");
       g_searchBoxTextPos = 0;
    }
    
    // time period between character displaying in miliseconds
    var timeOut = 50;
    // if character is the last character in string,
    // we set next call function in 20 seconds, becouse we want
    // to keep all dummy text on screen longer time
    if(g_searchBoxTextPos == length)
    {
       timeOut = 20000;
    }
    // extract substring from dummy text
    var sub = g_searchBoxDummyText.substr(0, g_searchBoxTextPos);
    // set substring for search box
    $j("#s").val(sub);
    // set next function call in timeOut miliseconds
    g_searchBoxTimer = setTimeout(searchBoxAutoPlay, timeOut);
} // end of function searchBoxAutoPlay

// This function setup search box, and is called only one time when page is loaded
function setupSearchBox()
{
    // set action for focus on searchbox
    $j("#s").focus(
        function(){
            g_searchBoxAutoPlayAllowed = false;
            $j("#s").val("");
            //$j(this).css("color", "#572600");
            clearTimeout(g_searchBoxTimer);
            });
    
    // set action for blur on searchbox
    $j("#s").blur(
        function(){
            //$j(this).val("");
            //$j(this).css("color", "#A0CBED");
            g_searchBoxTextPos = 0;
            clearTimeout(g_searchBoxTimer); 
            g_searchBoxAutoPlayAllowed = true;    
            g_searchBoxTimer = setTimeout(searchBoxAutoPlay, 5000);
    });
            
    // clean searchbox
    $j("#s").val("");
    // set auto playing
    if(g_serachBoxPlayText == true)
    {
        g_searchBoxTimer = setTimeout(searchBoxAutoPlay, 5000); 
    }
} // end of function setupSearchBox


/**************************
   COMMUNITY BUTTONS
**************************/

// function change image source for community buttons then user hover it with mouse
function setupCommunityButtons()
{
    // set hover action for flickr, twitter, facebook and rss button
    $j("#flickrBtn, #twitterBtn, #facebookBtn, #rssBtn, #myspaceBtn").hover(
        function()
        {
            $j(this).css("background-position", "0px -26px");
        },
        function()
        {
            $j(this).css("background-position", "0px 0px"); 
        }
    );    
} // end of function setupCommunityButtons

$j(document).ready(
    function()
    {
        // common.js      
        setupCommunityButtons();            
        setupSearchBox();   
        // this file
    }         
);
