westdc-zf1/htdocs/static/js/administry.js

189 lines
6.0 KiB
JavaScript

/*---------------------------------------------------------------------
Template Name: Administry
Version: 1.0
Release Date: July 12, 2010
File: administry.js
Updated: 2010-07-12
Copyright (c) 2010 Zoran Juric - http://themeforest.net/user/zoranjuric
-----------------------------------------------------------------------
WARNING! DO NOT EDIT THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
---------------------------------------------------------------------*/
// Preload images
imageObj = new Image();
imgs = ["img/toggle.gif", "img/nyro/ajaxLoader.gif", "img/nyro/prev.gif", "img/nyro/next.gif"];
for (i = 0; i <= imgs.length; i++) imageObj.src = imgs[i];
// Administry object setup
if (!Administry) var Administry = {}
// scrollToTop() - scroll window to the top
Administry.scrollToTop = function (e) {
$(e).hide().removeAttr("href");
if ($(window).scrollTop() != "0") {
$(e).fadeIn("slow")
}
var scrollDiv = $(e);
$(window).scroll(function () {
if ($(window).scrollTop() == "0") {
$(scrollDiv).fadeOut("slow")
} else {
$(scrollDiv).fadeIn("slow")
}
});
$(e).click(function () {
$("html, body").animate({
scrollTop: 0
}, "slow")
})
}
// setup() - Administry init and setup
Administry.setup = function () {
// Open an external link in a new window
$('a[href^="http://"]').filter(function () {
return this.hostname && this.hostname !== location.hostname;
}).attr('target', '_blank');
// build animated dropdown navigation
$('#menu ul').supersubs({
minWidth: 12, // minimum width of sub-menus in em units
maxWidth: 27, // maximum width of sub-menus in em units
extraWidth: 1 // extra width can ensure lines don't sometimes turn over
// due to slight rounding differences and font-family
}).superfish();
// build an animated footer
$('#animated').each(function () {
$(this).hover(function () {
$(this).stop().animate({
opacity: 0.9
}, 400);
}, function () {
$(this).stop().animate({
opacity: 0.0
}, 200);
});
});
// scroll to top on request
if ($("a#totop").length) Administry.scrollToTop("a#totop");
// setup content boxes
if ($(".content-box").length) {
$(".content-box header").css({
"cursor": "s-resize"
});
// Give the header in content-box a different cursor
$(".content-box header").click(
function () {
$(this).parent().find('section').toggle(); // Toggle the content
$(this).parent().toggleClass("content-box-closed"); // Toggle the class "content-box-closed" on the content
});
}
// setup nyro popup window
$.nyroModalSettings({
debug: false,
processHandler: function(settings) {
var url = settings.url;
if (url && url.indexOf('http://www.youtube.com/watch?v=') == 0) {
$.nyroModalSettings({
type: 'swf',
height: 355,
width: 425,
url: url.replace(new RegExp("watch\\?v=", "i"), 'v/')
});
}
},
endShowContent: function(elts, settings) {
$('.resizeLink', elts.contentWrapper).click(function(e) {
e.preventDefault();
$.nyroModalSettings({
width: Math.random()*1000,
height: Math.random()*1000
});
return false;
});
$('.bgLink', elts.contentWrapper).click(function(e) {
e.preventDefault();
$.nyroModalSettings({
bgColor: '#'+parseInt(255*Math.random()).toString(16)+parseInt(255*Math.random()).toString(16)+parseInt(255*Math.random()).toString(16)
});
return false;
});
}
});
// custom tooltips to replace the default browser tooltips for <a title=""> <div title=""> and <span title="">
$("a[title], div[title], span[title]").tipTip();
}
// progress() - animate a progress bar "el" to the value "val"
Administry.progress = function (el, val, max) {
var duration = 400;
var span = $(el).find("span");
var b = $(el).find("b");
var w = Math.round((val / max) * 100);
$(b).fadeOut('fast');
$(span).animate({
width: w + '%'
}, duration, function () {
$(el).attr("value", val);
$(b).text(w + '%').fadeIn('fast');
});
}
// videoSupport() - <video> tag support for older browsers through flash player embedding
Administry.videoSupport = function (wrapper, videoURL, width, height) {
var v = document.createElement("video"); // Are we dealing with a browser that supports <video> tag?
if (!v.play) { // If no, use Flash.
var vobj = $('#' + wrapper).find('video');
var poster = $(vobj).attr("poster");
var params = {
allowfullscreen: "true",
allowscriptaccess: "always"
};
var flashvars = {
file: videoURL,
image: poster
};
swfobject.embedSWF("player.swf", wrapper, width, height, "9.0.0", "expressInstall.swf", flashvars, params);
}
}
// expandableRows() - expandable table rows
Administry.expandableRows = function () {
var titles_total = $('td.title').length;
if (titles_total) { /* setting z-index for IE7 */
$('td.title').each(function (i, e) {
$(e).children('div').css('z-index', String(titles_total - i));
});
$('td.title').find('a').click(function () {
// hide previously opened containers
$('.opened').hide();
// remove highlighted class from rows
$('td.highlighted').removeClass('highlighted');
// locate the row we clicked onto
var tr = $(this).parents("tr");
var div = $(this).parent().find('.listingDetails');
if (!$(div).hasClass('opened')) {
$(div).addClass('opened').width($(tr).width() - 2).show();
$(tr).find('td').addClass('highlighted');
} else {
$(div).removeClass('opened');
$(tr).find('td').removeClass('highlighted');
}
return false;
});
}
}