// $Id: jquery.textsize.js,v 1.1.2.5 2009/10/01 01:41:10 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 element = $(textsizeElement + textsizeElementClass);
      var classes = element.attr('class').split(' ');
      for( var i in classes ){
        if( classes[i].substring(0,8) == 'textsize' ){
          element.removeClass( classes[i] );
          break;
        }
      }
    }
    function tsIncrease(){
      TSremoveBC();
      $("#textsize_current").empty();
      $("#textsize_current").append((textsizeNormalDisplay + textsizeIncrementDisplay) + '%');
      $(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal + textsizeIncrement));
      $(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal + textsizeIncrement) + "%");
      $.cookie('textsize', textsizeIncrease(textsizeNormalDisplay, textsizeIncrementDisplay), { expires: 52, path: '/'});
      return false;
    }
    function tsDecrease(){
      TSremoveBC();
      $("#textsize_current").empty();
      $("#textsize_current").append((textsizeNormalDisplay - textsizeIncrementDisplay) + '%');
      $(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal - textsizeIncrement));
      $(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal - textsizeIncrement) + "%");
      $.cookie('textsize', textsizeDecrease(textsizeNormalDisplay, textsizeIncrementDisplay), { expires: 52, path: '/'});
      return false;
    }
    function tsNormal(){
      TSremoveBC();
      $("#textsize_current").empty();
      $("#textsize_current").append(textsizeNormalDisplay + '%');
      $(textsizeElement + textsizeElementClass).addClass('textsize-' + textsizeNormal);
      $(textsizeElement + textsizeElementClass).css("font-size", textsizeNormal + "%");
      $.cookie('textsize', textsizeNormal, { expires: 52, path: '/'});
      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: 52, path: '/'});
      $(textsizeElement + textsizeElementClass).addClass("textsize-" + ts_val);
      $("#textsize_current").empty();
      $("#textsize_current").append(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: 52, path: '/'});
          $("#textsize_current").empty();
          $("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
          $(textsizeElement + textsizeElementClass).addClass('textsize-' + $.cookie("textsize"));
          $(textsizeElement + textsizeElementClass).css("font-size", $.cookie("textsize") + "%");
          return false;
        }
        else {
          tsIncrease()
        }
      }
    );
    $("a.ts_increase_fix[href=#]").click(
      function (){
        if ($.cookie("textsize")) {
          TSremoveBC();
          $.cookie('textsize', (textsizeNormal + textsizeIncrement), { expires: 52, path: '/'});
          $("#textsize_current").empty();
          $("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
          $(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal + textsizeIncrement));
          $(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal + textsizeIncrement) + "%");
          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: 52, path: '/'});
          $("#textsize_current").empty();
          $("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
          $(textsizeElement + textsizeElementClass).addClass('textsize-' + $.cookie("textsize"));
          $(textsizeElement + textsizeElementClass).css("font-size", $.cookie("textsize") + "%");
          return false;
        }
        else {
          tsDecrease()
        }
      }
    );
    $("a.ts_decrease_fix[href=#]").click(
      function (){
        if ($.cookie("textsize")) {
          TSremoveBC();
          $.cookie('textsize', (textsizeNormal - textsizeIncrement), { expires: 52, path: '/'});
          $("#textsize_current").empty();
          $("#textsize_current").append( textsizeDisplayCalc($.cookie("textsize")) + '%');
          $(textsizeElement + textsizeElementClass).addClass('textsize-' + (textsizeNormal - textsizeIncrement));
          $(textsizeElement + textsizeElementClass).css("font-size", (textsizeNormal - textsizeIncrement) + "%");
          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();
    $(".rollover").hover(
      function(){
        if($(this).attr("src").indexOf("_hover") == -1) {
          var newSrc = $(this).attr("src").replace(".gif","_hover.gif#hover");
          $(this).attr("src",newSrc);
        }
      },
      function(){
        if($(this).attr("src").indexOf("_hover.gif#hover") != -1) {
          var oldSrc = $(this).attr("src").replace("_hover.gif#hover",".gif");
          $(this).attr("src",oldSrc);
        }
      }
    );
  });
}
