// $Id: jquery.textsize.js,v 1.1.2.8 2009/12/10 22:45:25 christianzwahlen Exp $
if (Drupal.jsEnabled) {
$(document).ready(function(){
$("a.ts_increase_variable").attr({ href: "#" });
$("a.ts_decrease_variable").attr({ href: "#" });
$("a.ts_normal_variable").attr({ href: "#" });
$("a.ts_increase_fix").attr({ href: "#" });
$("a.ts_decrease_fix").attr({ href: "#" });
$("a.ts_normal_fix").attr({ href: "#" });
function textsizeDisplayCalc(ts_v) {
if (textsizeDisplay == 1) {
ts_c = (100 * ts_v / textsizeNormal);
return Math.round(ts_c);
}
else {
return ts_v;
}
}
function textsizeIncrease(ts_a, ts_b) {
if (ts_a == textsizeMaximum) {
return ts_a;
}
else {
return 1*ts_a + 1*textsizeIncrement;
}
}
function textsizeDecrease(ts_a, ts_b) {
if (ts_a == textsizeMinimum) {
return ts_a;
}
else {
return 1*ts_a - 1*textsizeIncrement;
}
}
function TSremoveBC(){
var tsElement = $(textsizeElement + textsizeElementClass);
var tsClasses = tsElement.attr('class').split(' ');
for( var i in tsClasses ){
if( tsClasses[i].substring(0,8) == 'textsize' ){
tsElement.removeClass( tsClasses[i] );
break;
}
}
}
function tsIncrease(){
TSremoveBC();
$("#textsize_current").empty();
$("#textsize_current").append((textsizeNormalDisplay + textsizeIncrementDisplay) + '%');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + (textsizeNormalDisplay + textsizeIncrementDisplay) + '%'});
$(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal + textsizeIncrement));
$(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal + textsizeIncrement) + "%");
$.cookie('textsize', textsizeIncrease(textsizeNormalDisplay, textsizeIncrementDisplay), { expires: textsizeCookieExpires, path: textsizeCookieDomain});
return false;
}
function tsDecrease(){
TSremoveBC();
$("#textsize_current").empty();
$("#textsize_current").append((textsizeNormalDisplay - textsizeIncrementDisplay) + '%');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + (textsizeNormalDisplay - textsizeIncrementDisplay) + '%'});
$(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal - textsizeIncrement));
$(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal - textsizeIncrement) + "%");
$.cookie('textsize', textsizeDecrease(textsizeNormalDisplay, textsizeIncrementDisplay), { expires: textsizeCookieExpires, path: textsizeCookieDomain});
return false;
}
function tsNormal(){
TSremoveBC();
$("#textsize_current").empty();
$("#textsize_current").append(textsizeNormalDisplay + '%');
$("#textsize_current").removeClass('error');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + textsizeNormalDisplay + '%'});
$(textsizeElement + textsizeElementClass).addClass('textsize-' + textsizeNormal);
$(textsizeElement + textsizeElementClass).css("font-size", textsizeNormal + "%");
$.cookie('textsize', textsizeNormal, { expires: textsizeCookieExpires, path: textsizeCookieDomain});
return false;
}
function tsForm() {
var ts_val = $("#edit-textsize-select").val();
var ts_val_d = textsizeDisplayCalc($("#edit-textsize-select").val());
TSremoveBC();
$.cookie('textsize', ts_val, { expires: textsizeCookieExpires, path: textsizeCookieDomain});
$(textsizeElement + textsizeElementClass).addClass("textsize-" + ts_val);
$("#textsize_current").empty();
$("#textsize_current").append(ts_val_d + '%');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + ts_val_d + '%'});
$(textsizeElement + textsizeElementClass).addClass('textsize-' + ts_val);
$(textsizeElement + textsizeElementClass).css("font-size", ts_val + "%");
}
$("a.ts_increase_variable[href=#]").click(
function (){
if ($.cookie("textsize") && $.cookie("textsize") < textsizeMaximum) {
TSremoveBC();
$.cookie('textsize', textsizeIncrease($.cookie("textsize"), textsizeIncrement), { expires: textsizeCookieExpires, path: textsizeCookieDomain});
$("#textsize_current").empty();
$("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + textsizeDisplayCalc($.cookie("textsize")) + '%'});
$("#textsize_current").removeClass('error');
$(textsizeElement + textsizeElementClass).addClass('textsize-' + $.cookie("textsize"));
$(textsizeElement + textsizeElementClass).css("font-size", $.cookie("textsize") + "%");
return false;
}
else if ($.cookie("textsize") && ($.cookie("textsize") == textsizeMaximum) && textsizeReset == 0) {
$("#textsize_current").empty();
$("#textsize_current").append( '' + Drupal.t('Max.') + ' ' + textsizeDisplayCalc(textsizeMaximum) + '%');
$("#textsize_current").addClass('error');
return false;
}
else if ($.cookie("textsize") && ($.cookie("textsize") == textsizeMaximum) && textsizeReset == 1) {
tsNormal()
return false;
}
}
);
$("a.ts_increase_fix[href=#]").click(
function (){
if ($.cookie("textsize") && $.cookie("textsize") < (textsizeNormal + textsizeIncrement)) {
TSremoveBC();
$.cookie('textsize', (textsizeNormal + textsizeIncrement), { expires: textsizeCookieExpires, path: textsizeCookieDomain});
$("#textsize_current").empty();
$("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + textsizeDisplayCalc($.cookie("textsize")) + '%'});
$("#textsize_current").removeClass('error');
$(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal + textsizeIncrement));
$(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal + textsizeIncrement) + "%");
return false;
}
else if ($.cookie("textsize") && $.cookie("textsize") == (textsizeNormal + textsizeIncrement)) {
$("#textsize_current").empty();
$("#textsize_current").append( '' + Drupal.t('Max.') + ' ' + textsizeDisplayCalc((textsizeNormal + textsizeIncrement)) + '%');
$("#textsize_current").addClass('error');
return false;
}
else {
tsIncrease()
}
}
);
$("a.ts_decrease_variable[href=#]").click(
function (){
if ($.cookie("textsize") && $.cookie("textsize") > textsizeMinimum) {
TSremoveBC();
$.cookie('textsize', textsizeDecrease($.cookie("textsize"), textsizeIncrement), { expires: textsizeCookieExpires, path: textsizeCookieDomain});
$("#textsize_current").empty();
$("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + textsizeDisplayCalc($.cookie("textsize")) + '%'});
$("#textsize_current").removeClass('error');
$(textsizeElement + textsizeElementClass).addClass('textsize-' + $.cookie("textsize"));
$(textsizeElement + textsizeElementClass).css("font-size", $.cookie("textsize") + "%");
return false;
}
else if ($.cookie("textsize") && ($.cookie("textsize") == textsizeMinimum) && textsizeReset == 0) {
$("#textsize_current").empty();
$("#textsize_current").append( '' + Drupal.t('Min.') + ' ' + textsizeDisplayCalc(textsizeMinimum) + '%');
$("#textsize_current").addClass('error');
return false;
}
else if ($.cookie("textsize") && ($.cookie("textsize") == textsizeMinimum) && textsizeReset == 1) {
tsNormal()
return false;
}
}
);
$("a.ts_decrease_fix[href=#]").click(
function (){
if ($.cookie("textsize") && $.cookie("textsize") > (textsizeNormal - textsizeIncrement)) {
TSremoveBC();
$.cookie('textsize', (textsizeNormal - textsizeIncrement), { expires: textsizeCookieExpires, path: textsizeCookieDomain});
$("#textsize_current").empty();
$("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
$("#textsize_current").attr({ title: textsizeCurrentText + ": " + textsizeDisplayCalc($.cookie("textsize")) + '%'});
$("#textsize_current").removeClass('error');
$(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal - textsizeIncrement));
$(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal - textsizeIncrement) + "%");
return false;
}
else if ($.cookie("textsize") && $.cookie("textsize") == (textsizeNormal - textsizeIncrement)) {
$("#textsize_current").empty();
$("#textsize_current").append( '' + Drupal.t('Min.') + ' ' + textsizeDisplayCalc((textsizeNormal - textsizeIncrement)) + '%');
$("#textsize_current").addClass('error');
return false;
}
else {
tsDecrease()
}
}
);
$("a.ts_normal_variable[href=#]").click(
function (){
tsNormal();
return false;
}
);
$("a.ts_normal_fix[href=#]").click(
function (){
tsNormal();
return false;
}
);
$("#edit-textsize-select").change(tsForm);
$("#edit-textsize-submit").hide();
$("img.ts_rollover").hover(
function(){
if($(this).attr("src").indexOf("16_hover") == -1) {
var newSrc = $(this).attr("src").replace("16.gif","16_hover.gif#hover");
$(this).attr("src",newSrc);
}
},
function(){
if($(this).attr("src").indexOf("16_hover.gif#hover") != -1) {
var oldSrc = $(this).attr("src").replace("16_hover.gif#hover","16.gif");
$(this).attr("src",oldSrc);
}
else if($(this).attr("src").indexOf("16_focus.gif#focus") != -1) {
var oldSrc = $(this).attr("src").replace("16_focus.gif#focus","16.gif");
$(this).attr("src",oldSrc);
}
}
);
$("a.ts_rollover").focus(
function(){
var tsIMG = $(this).children("img");
if($(tsIMG).attr("src").indexOf("16_hover.gif#hover") != -1) {
var newSrc = $(tsIMG).attr("src").replace("16_hover.gif#hover","16_focus.gif#focus");
$(tsIMG).attr("src",newSrc);
}
}
);
});
}