Files
percona-toolkit/docs/user/source/percona-theme/static/percona.com.js

242 lines
6.7 KiB
JavaScript

window.jQuery(function($) {
function setCookie(c_name, value, expiredays)
{
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";path=/;expires=" + exdate.toUTCString());
}
function getCookie(c_name)
{
if (document.cookie.length > 0)
{
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1)
{
c_start = c_start + c_name.length+1;
c_end = document.cookie.indexOf(";",c_start);
if (c_end == -1)
{
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
NAVI = new Object();
NAVI.CloseTimer = null;
NAVI.Open = function ( menu_tag, dir )
{
NAVI_CancelTimer();
NAVI_Close();
SEARCH_CancelTimer();
SEARCH_Close();
if ('h' == dir)
{
return;
}
var pos = $("#navilink-span-"+menu_tag).offset();
if (dir=='r')
{
$("#navi-dropdown-"+menu_tag).css( { "position": "absolute", "left": (pos.left + ($("#navilink-span-"+menu_tag).width()) + 2 - ($("#navi-dropdown-"+menu_tag).width())) + "px", "top": (pos.top + 32) + "px" } );
}
else
{
$("#navi-dropdown-"+menu_tag).css( { "position": "absolute", "left": (pos.left) + "px", "top": (pos.top + 32) + "px" } );
}
$("#navi-dropdown-"+menu_tag).show();
$("#navilink-span-"+menu_tag).bind('mouseover',NAVI_CancelTimer);
$("#navilink-span-"+menu_tag).bind('mouseout',NAVI_Timer);
$("#navi-dropdown-"+menu_tag).bind('mouseover',NAVI_CancelTimer);
$("#navi-dropdown-"+menu_tag).bind('mouseout',NAVI_Timer);
};
function NAVI_Close()
{
$(".navi-dropdown").hide();
$("#menu div").unbind('mouseover');
$(".dropdown").unbind('mouseover');
$(".dropdown").unbind('mouseout');
$("#search-dropdown").hide();
$("#searchlink-anchor").unbind('mouseover');
$("#searchlink-anchor").unbind('mouseout');
$("#search-dropdown").unbind('mouseover');
$("#search-dropdown").unbind('mouseout');
}
function NAVI_CancelTimer()
{
if (NAVI.CloseTimer!=null)
{
window.clearTimeout(NAVI.CloseTimer);
NAVI.CloseTimer = null;
}
}
function NAVI_Timer()
{
if (NAVI.CloseTimer==null)
{
NAVI.CloseTimer = window.setTimeout(NAVI_Close, 300);
}
}
SUBNAVI = new Object();
SUBNAVI.Open = function ( menu_tag )
{
if ($("#sidesubnavi-" + menu_tag + ':hidden').length)
{
$(".sidesubnavi").hide();
$("#sidesubnavi-"+menu_tag).show();
return false;
} else {
return true;
}
};
SEARCH = new Object();
SEARCH.CloseTimer = null;
SEARCH.Open = function()
{
NAVI_CancelTimer();
NAVI_Close();
SEARCH_CancelTimer();
SEARCH_Close();
var pos = $("#searchlink-anchor").offset();
$("#search-dropdown").css( { "position": "absolute", "left": (pos.left - ($("#search-dropdown").width()) + 40) + "px", "top": (pos.top + 36) + "px" } );
$("#search-dropdown").show();
$("#searchlink-anchor").bind('mouseover',NAVI_CancelTimer);
$("#searchlink-anchor").bind('mouseout',NAVI_Timer);
$("#search-dropdown").bind('mouseover',NAVI_CancelTimer);
$("#search-dropdown").bind('mouseout',NAVI_Timer);
$("#search-input")[0].focus();
};
function SEARCH_Close()
{
$(".navi-dropdown").hide();
$("#menu div").unbind('mouseover');
$(".dropdown").unbind('mouseover');
$(".dropdown").unbind('mouseout');
$("#search-dropdown").hide();
$("#searchlink-anchor").unbind('mouseover');
$("#searchlink-anchor").unbind('mouseout');
$("#search-dropdown").unbind('mouseover');
$("#search-dropdown").unbind('mouseout');
}
function SEARCH_CancelTimer()
{
if (SEARCH.CloseTimer!=null)
{
window.clearTimeout(SEARCH.CloseTimer);
SEARCH.CloseTimer = null;
}
}
function SEARCH_Timer()
{
if (SEARCH.CloseTimer==null)
{
SEARCH.CloseTimer = window.setTimeout(SEARCH_Close, 300);
}
}
menuImg1 = new Image(); menuImg1.src = 'http://s1.percona.com/ui-dropdown-header-l.png';
menuImg2 = new Image(); menuImg2.src = 'http://s2.percona.com/ui-dropdown-header-r.png';
menuImg3 = new Image(); menuImg3.src = 'http://s3.percona.com/ui-dropdown-header-search.png';
menuImg4 = new Image(); menuImg4.src = 'http://s0.percona.com/ui-dropdown-bg.png';
menuImg5 = new Image(); menuImg5.src = 'http://s1.percona.com/ui-dropdown-footer.png';
});
var Percona = {
ssl: false,
host: 'www.percona.com'
};
/**
* @param string selector jQuery selector string
*/
Percona.getRecentServerVersion = function(selector)
{
if ('string' != typeof(selector))
{
alert('Percona.getRecentServerVersion: missed or wrong selector!');
}
/* Localize jQuery variable */
var jQuery;
/******** Load jQuery if not present *********/
if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2')
{
var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute('src', 'http' + (Percona.ssl ? 's' : '') + ':/' + '/ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
script_tag.onload = scriptLoadHandler;
script_tag.onreadystatechange = function () /* Same thing but for IE */
{
if (this.readyState == 'complete' || this.readyState == 'loaded')
{
scriptLoadHandler();
}
};
/* Try to find the head, otherwise default to the documentElement */
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
} else {
/* The jQuery version on the window is the one we want to use */
jQuery = window.jQuery;
main();
}
var scriptLoadHandler_counter = 0;
/******** Called once jQuery has loaded ******/
function scriptLoadHandler()
{
if (++scriptLoadHandler_counter > 1)
{
return;
}
/* Restore $ and window.jQuery to their previous values and store the
new jQuery in our local jQuery variable */
jQuery = window.jQuery.noConflict(true);
/* Call our main function */
main(jQuery);
}
/******** Our main function ********/
function main($)
{
var fillRecentServerVersion = function($)
{
if ($(selector).get(0))
{
$.get('http' + (Percona.ssl ? 's' : '') + ':/' + '/' + Percona.host + '/ajax/server-version/?callback=?', {}, function(json)
{
if ('object' == typeof(json) && 'string' == typeof(json.recentServerVersion))
{
$(selector).text(' ' + json.recentServerVersion);
}
}, 'jsonp');
}
};
$(document).ready(function()
{
fillRecentServerVersion(jQuery);
});
}
};