﻿jQuery.extend({
  loader: {
    load: {},
    ajax: {},
    add: function(type, name, fn) {
      if (type == 'load') {
        this.load[name] = fn;
      } else {
        this.ajax[name] = fn;
      }
    },
    execute: function(type) {
      var chain;
      if (type == 'load') { chain = this.load; }
      else { chain = this.ajax; }
      for (var fn in chain) { chain[fn](); }
    },
    onLoad: function() { this.execute('load'); },
    onRefresh: function() {
      var hidden = $("<div/>");
      var url = new String(window.location);
      if (url.indexOf('?') > 0) {
        url = url + "&r=" + Math.floor(Math.random() * 65535) + " [ajaxrefresh='true']";
      } else {
        url = url + "?r=" + Math.floor(Math.random() * 65535) + " [ajaxrefresh='true']";
      }

      hidden.load(url,
        function() {
          hidden.children().each(
                function() { var block = $(this); var id = block.attr('id'); $('#' + id).html(block.html()); }
                );
          $.loader.execute('ajax');
        });
    }
  },
  ajaxPostAndUpdate: function(url, payload, callback) {
    if (callback == null) callback = function() { $.loader.onRefresh(); $("#ajaxloading").hide(); }
    $.post(url, payload, callback);
    $("#ajaxloading").show();
    $.autoHideLoadingImage();
  }
});

jQuery.fn.extend({

  expander: function(target) {
    var expandfunc = function() {
      var elem = $("." + target);
      if (jQuery(elem).is(':hidden')) {
        elem.fadeIn();
        var contractSrc = $(this).children("img").attr("contract");
        if (contractSrc == null || contractSrc == "") contractSrc = "/images/chrome/control_Contract.png";
        $(this).children(":first-child").attr("src", contractSrc);
        $(this).children(":first-child").attr("title", "Collapse this section");
        $(this).children(":first-child").attr("alt", "Collapse");
      }
      else {
        elem.fadeOut();
        var expandSrc = $(this).children("img").attr("expand");
        if (expandSrc == null || expandSrc == "") expandSrc = "/images/chrome/control_Expand.png";
        $(this).children(":first-child").attr("src", expandSrc);
        $(this).children(":first-child").attr("title", "Expand this section");
        $(this).children(":first-child").attr("alt", "Expand");
      }
      return false;
    };
    return this.each(function() {
      if (!$(this).click(expandfunc)) $(this).click(expandfunc);
    });
  },

  helpTip: function(text) {
    return this.each(function() {
      var id = $(this).attr('id');
      var topOffset = -20;
      var leftOffset = parseInt($(this).css("width"));
      if (jQuery.browser.msie && ($.browser.version == "7.0")) {
        topOffset -= 140;
        leftOffset -= 333;
      }
      var tipdiv = $("<div class='helppopup' id='" + id + "Tip' style='display:none; margin-top:" + topOffset + "px; margin-left:" + leftOffset + "px;'><p>" + text + "</p></div>");
      $(this).parent().parent().append(tipdiv);
      $(this).focus(function() { $("#" + id + "Tip").css("top", (parseInt($(this).offset().top) + parseInt("22")) + "px").css("left", (parseInt($(this).offset().left) + parseInt("13")) + "px").fadeIn(250); });
      $(this).blur(function() {
        $("#" + id + "Tip").fadeOut(250);
        var formFields = $("form").find('select,button,input,textarea');
      });
    });
  }
});
function closeHelpTipById(id) {
  $("#" + id + "Tip").fadeOut(250);
  var inputId = id.replace("Tip", "");
  $("#" + inputId).unbind("focus");
  $("#" + inputId).unbind("blur");
  $("#" + inputId)[0].focus();
}
function closeHelpTip(el) {
  var id = $(el).parent().parent().attr('id');
  closeHelpTipById(id);
}

function getFormattedDate(str) {
    if (str == null) return "Never";
    var date = new Date(parseInt(str.replace(/\//g, "").replace(/Date\(/g, "").replace(/\)/g, "")));
    return date.toString("dd/MM/yyyy");
}

function getPageHeight()
{
    var yScroll;
    var windowHeight;
    
    if (window.innerHeight && window.scrollMaxY) {
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
        yScroll = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
        yScroll = document.body.offsetHeight;
    }
    
    if (self.innerHeight) { // all except Explorer
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowHeight = document.body.clientHeight;
    }

    // for small pages with total height less then height of the viewport
    if (yScroll < windowHeight)
    {
        pageHeight = windowHeight;
    } 
    else 
    {
        pageHeight = yScroll;
    }

    return pageHeight;
}

var beneficiaryCount = 0;

$.addBeneficiary = function(id) {
  if (beneficiaryCount >= 3) {
    alert('You can have a maximum of 3 beneficiaries');
    return;
  }
  
  if (id == "") return;

  if ($(".beneficiaryselection :input[value='" + id + "']").length > 0) {
    alert('You already have that beneficiary added');
    return;
  }

  var title = $("#fb_input").val();

  if (id == "" || title == "") return;

  var section = $(".beneficiaryselection:eq(" + beneficiaryCount + ")");
  var box = $("<div class='beneficiaryBox'/>");
  box.text(title);

  section.children(":input").val(id);
  section.children("a.minus").before(box);
  section.show();

  $("#fb_input").val('');
  $("#fb_hidden").val('');
  $("#fb_input").focus();

  beneficiaryCount++;
  if (beneficiaryCount == 3) {
    $("#enterbeneficiary").hide();
  }
}

var RemoveBeneficiary = function(link) {
  if (beneficiaryCount == 0) return;

  var section = $(link).parent();
  var index = $(".beneficiaryselection").index(section);

  if (index < 2) {
    CopyBeneficiaryInfoDown(index);
  }

  section = $(".beneficiaryselection:eq(" + (beneficiaryCount - 1) + ")");

  section.children(":input").val('');
  section.children(".beneficiaryBox").remove();
  section.hide();

  beneficiaryCount--;

  if (beneficiaryCount < 3) {
    $("#enterbeneficiary").show();
  }
}

var CopyBeneficiaryInfoDown = function(index)
{   
  var upper = $(".beneficiaryselection:eq(" + (index+1) + ")");
  var lower = $(".beneficiaryselection:eq(" + index + ")");
  
  lower.children(":input").val(upper.children(":input").val());
  lower.children(".beneficiaryBox").text(upper.children(".beneficiaryBox").text());

  if ((index + 1) < 2) {
      CopyBeneficiaryInfoDown(index + 1);
  }
}

var ApproveUpdate = function(button) {
  var id = $(button).parent().parent().attr("id");
  var section = $(button).parent().parent();

  $(button).remove();

  $.ajaxPostAndUpdate(
  '/admin/ApproveUpdate', { id: id },
  SubmitApprovalCallback(section)
  );
}

var SubmitAnswer = function(button) {
    var textarea = $(button).parent().find("textarea");
    var data = textarea.val();
    var id = textarea.attr("id");
    var section = $(button).parent().parent().parent();
    var form = $(button).parent().parent();
    
    $(button).remove();
    $.post($(form).attr('action'), { id: id, answer: data }, SubmitAnswerCallback(section));
}

var SubmitAnswerCallback = function(section) 
{
  section.css("background-color", "#79A531");
  section.fadeOut("500", function() { $(this).hide(); $.loader.onRefresh(); });
  $("#ajaxloading").hide();
}

var SubmitApprovalCallback = function(section) {
  section.css("background-color", "#64b23b");
  section.fadeOut("500", function() { $(this).hide(); $.loader.onRefresh(); });
  $("#ajaxloading").hide();
}

var SubmitQuestion = function() {
  var sxss = false;
  $.ajax({
    type: "POST",
    url: $("#askquestion").attr('action'),
    data: $("#askquestion").serialize(),
    async: false,
    success: function(msg) { sxss = true; }
  });
  if (sxss == true) {
    $("#questionSection").hide(); 
    $("#questionNoticeSection").show();
    $.loader.onRefresh();
  }
  else { $("form#askquestion span.captchafail").show(); }
  $("#ajaxloading").hide();
}

var campaign_count = 0;
var current_campaign = 0;

function CampaignAutoRotate() { CampaignRotate(1); }

function CampaignRotate(increment)
{
  var previous_campaign = current_campaign % campaign_count;
  var next_campaign = (current_campaign + increment) % campaign_count;
  if (next_campaign < 0) next_campaign = campaign_count - 1;
  $("#campaign .item:eq(" + previous_campaign + ")").fadeOut("slow");
  $("#campaign .item:eq(" + next_campaign + ")").fadeIn("slow");
  current_campaign = next_campaign;
}

var ToggleLogin = function() 
{ 
  $("#loginbox").toggle(); 
  $("#loginlink").unbind("click"); 
  $("#loginlink").one("click", function() { ToggleLogin(); return false; }) 
}

var QuickLogon = function()
{
  ToggleLogin();
  $.post('/login', $("#loginform").serialize(), function(data) {   
    $("#login").html("<li class='last'>&nbsp;&nbsp;Logging in..&nbsp;</li>");   
    window.location.reload();      
    });
}

var loginHandler = function() 
{ 
  $("#loginform").submit(function(){ QuickLogon(); return false; });
  $("#loginlink").one("click", function(){ ToggleLogin(); return false;});
}
  
var campaignHandler = function() 
{
  $("#campaign .loading").hide();
  campaign_count = $("#campaign .item").hide().size();
  $("#campaign .item:eq(" + current_campaign + ")").show();
  
  setInterval(CampaignAutoRotate,10000);
  
  $("#nextcampaign").click(function() { CampaignRotate(1); return false; });
  $("#prevcampaign").click(function() { CampaignRotate(-1); return false; });
}

var thickboxHandler = function()
{
  tb_init('a.thickbox, area.thickbox, input.thickbox');
}

var adminupdatesHandler = function() {
  var approvebutton = $(".approvebutton");
  approvebutton.unbind("click");
  approvebutton.click(function() { ApproveUpdate(this); return false; });
}

var questionsHandler = function()
{
  var answerbutton = $(".answerbutton"); 
  var askbutton = $(".askbutton");
  answerbutton.unbind("click");  
  answerbutton.click(function() { SubmitAnswer(this); return false; });
  askbutton.unbind("click"); 
  askbutton.click(function() { SubmitQuestion(); return false; });
}

var reviewsHandler = function() {
  $(".postreviewbutton").click(function() { 
    $.ajaxPostAndUpdate(
      $("#reviewForm").attr('action'),
      $("#reviewForm").serialize(),
      function() { $(".questionbox").hide(); $("#reviewNoticeSection").show(); $.loader.onRefresh(); }
    );
    return false;
  });
  $(".markspam").click(function() {
    var id = $(this).attr('targetid');
    $.post($(this).attr('href'), { id: id });
    var section = $(this).parent().parent().parent().parent().parent();
    section.fadeOut("500", function() { $(section).hide(); });
    return false;
  });
}

// Comments //
var newcommentHandler = function() {
  $("input.savecomment").click(function() {
    var textarea = $(this).closest("form").find("textarea");
    var data = textarea.val();
    textarea.val("");
    var id = textarea.attr("id");
    var histsection = $(this).closest(".update").find("div.expandablehist");
    var section = $(this).closest("form").find("div.expandablenew");
    var sxss = false;
    $.ajax({
      type: "POST",
      url: $(this).closest("form").attr('action') + '?recaptcha_challenge_field=' + $(this).closest("form").find("#recaptcha_challenge_field").val() + '&recaptcha_response_field=' + $(this).closest("form").find("#recaptcha_response_field").val(),
      data: ({ updateid: id, text: data }),
      async: false,
      success: function(msg) { sxss = true; }
    });
    if (sxss == true) {
      section.fadeOut("500", function() { $(this).hide(); $.loader.onRefresh(); });
      histsection.fadeOut("500", function() { $(this).hide(); $.loader.onRefresh(); });
      $(this).closest("form").find("span.captchafail").hide();
      $("#ajaxloading").hide();
    }
    else { $(this).closest("form").find("span.captchafail").show(); $("#ajaxloading").hide(); }
    return false;
  });
}

var removecommentHandler = function() {
  $("input.removecomment").each(function(i) { // Add the event to each delete button
    $(this).unbind("click");
    $(this).click(function() { //alert($(this).attr("id")); return false;
      var commentId = $(this).attr("id");
      var section = $(this).closest("div.expandablehist"); //.parent().parent().parent();
      var url = document.location + '';
      $.ajaxPostAndUpdate(
        $(this).closest("form").attr('action'),
        { id: commentId },
        function() { section.fadeOut("500", function() { $(this).hide(); $.loader.onRefresh(); }); }
      );
      return false;
    });
  });
}

var noticesHandler = function() 
{
  var hidenotices = $("#hideNotices");
  hidenotices.unbind("click"); 
  hidenotices.click(function(){ $("#noticeSection").fadeOut("350", function() { $(this).hide(); }); return false; });
}

var overlayHandler = function() 
{
  $("#showdialog").click(function() { $("#overlay").show(); });
  $("#hidedialog").click(function() { $("#overlay").hide(); });
  $("#overlay").css('height', getPageHeight);
}

var categoriesHandler = function(children) {
  var renumberCategories = function() {
    var count = 1;
    $("select.sublevel").each(function() {
      $(this).attr("name", "category" + count);
      count++;
      if ($(this).closest(".formline").find("select.toplevel").attr("selected") == 0) $(this).find("option:not(:first)").hide();
    });
    $(".catname:not(:first)").each(function() { $(this).children($("sup")).hide(); });
  };
  
  $(".addcategory").click(function() {
    var clone = $("#categories .formline:first").clone(true);
    clone.find("select.toplevel").attr("selected", "0");
    $("#categories").append(clone);
    $("a.plus.addcategory").hide();
    resetAddRemoveLinks();
    renumberCategories();
    return false;
  });
  
  $(".removecategory").click(function() { if ($("#categories .formline").length > 1) { $(this).closest(".formline").remove(); resetAddRemoveLinks(); renumberCategories(); } return false; });
  if ($("#categories .formline").length > 1) $("a.plus.addcategory:first").hide();
  
  $("select.toplevel").change(function() {
    var selectedId = $(this).val();
    var sublevel = $(this).closest(".formline").find("select.sublevel");
    sublevel.children("option").attr("selected", "false");
    sublevel.children("option:first").attr("selected", "true");
    sublevel.show(); 
    resetList(sublevel, selectedId);
    sublevel.closest(".formline").find("#subwarning").show();
    $(this).closest(".formline").find("a.plus.addcategory").hide();
  });
  
  var sublevelOnChange = function() {
    $(this).closest(".formline").find("#subwarning").hide();
    if ($("#categories .formline").length < maxCategories) $(this).closest(".formline").find("a.plus.addcategory").show();
  }
  
  $("select.sublevel").change(sublevelOnChange);
  
  var resetAddRemoveLinks = function() {
    $("a.plus.addcategory").hide();
    if ($("#categories .formline").length < maxCategories) $("a.plus.addcategory:last").show();
    if ($("#categories .formline").length > 1) $(".removecategory:not(:first)").show();
  }
  
  var resetList = function(list, selectedId) {
    $(list).empty();
    $(list).append("<option value='#'>Select a sub-category</option>");
    for (i = 0; i < children.length; i++) {
      if (children[i].parent == selectedId) {
        $(list).append('<option value="' + children[i].id + '" parent="' + children[i].parent + '">' + children[i].name + '</option>');
      }
    }
  }
  
  $("select.toplevel").each(function() {
    var selectedId = $(this).val();
    var sublevel = $(this).parent().parent().children(".subcatwrap").children("select.sublevel");
    resetList(sublevel, selectedId);
  });
  
  $("select.toplevel").each(function() {
    var selectedId = $(this).attr("selected");
    $(this).children("option[value=" + selectedId + "]").attr("selected", "true");
    var sublevel = $(this).parent().parent().children(".subcatwrap").children("select.sublevel");
    var subselectedId = $(sublevel).attr("selected");
    resetList(sublevel, selectedId);
    $(sublevel).children("option[value=" + subselectedId + "]").attr("selected", "true");
  });
  
  resetAddRemoveLinks();
  renumberCategories();
}

var expandHandler = function() {
  $(".msexpand").each(
    function() { $(this).expander($(this).attr('expander')); }
  )
}

var tipsHandler = function() {
    $(":input[helptip]").each(
        function() { $(this).helpTip($(this).attr('helptip')); }
        );
}

var wordLimitHandler = function() {
    $(":input[maxwords]").each(
        function() { $(this).maxlength({'words': true}); });
}

var refreshFromResponse = function(response) {
  $(response).find("[ajaxrefresh='true']").each(
        function() {
          var block = $(this); var id = block.attr('id');
          $('#' + id).html(block.html());
        });
        $.loader.execute('ajax');
}
var _hideLoadingIcon = false;
$(document).ready(function() {
  $.loader.onLoad();
  $("#ajaxloading").ajaxComplete(function(ev, xhr, s) {
    if (_hideLoadingIcon) { $("#ajaxloading").hide(); _hideLoadingIcon = false; }
    if (new String(s.url).substr(0, 4) != "http") _hideLoadingIcon = true;
  });
});

// Auto Tab function - see Organisation/Register-Step3.haml for an example
// Found at: http://www.lousyllama.com/sandbox/jquery-autotab
(function($) {
  $.fn.autotab = function(options) {
    var defaults = {
      format: 'all', 		// text, numeric, alphanumeric, all
      maxlength: 2147483647, // Defaults to maxlength value
      uppercase: false, 	// Converts a string to UPPERCASE
      lowercase: false, 	// Converts a string to lowecase
      nospace: false, 	// Remove spaces in the user input
      target: null, 		// Where to auto tab to
      previous: null			// Backwards auto tab when all data is backspaced
    };
    
    $.extend(defaults, options);

    var check_element = function(name) {
      var val = null;
      var check_id = $('#' + name)[0];
      var check_name = $('input[name=' + name + ']')[0];

      if (check_id != undefined)
        val = $(check_id);
      else if (check_name != undefined)
        val = $(check_name);

      return val;
    };

    var key = function(e) {
      if (!e)
        e = window.event;

      return e.keyCode;
    };

    // Sets targets to element based on the name or ID passed
    if (typeof defaults.target == 'string')
      defaults.target = check_element(defaults.target);

    if (typeof defaults.previous == 'string')
      defaults.previous = check_element(defaults.previous);

    var maxlength = $(this).attr('maxlength');

    // Each text field has a maximum character limit of 2147483647

    // defaults.maxlength has not changed and maxlength was specified
    if (defaults.maxlength == 2147483647 && maxlength != 2147483647)
      defaults.maxlength = maxlength;
    // defaults.maxlength overrides maxlength
    else if (defaults.maxlength > 0)
      $(this).attr('maxlength', defaults.maxlength)
    // defaults.maxlength and maxlength have not been specified
    // A target cannot be used since there is no defined maxlength
    else
      defaults.target = null;

    // IE does not recognize the backspace key
    // with keypress in a blank input box
    if ($.browser.msie) {
      this.keydown(function(e) {
        if (key(e) == 8) {
          var val = this.value;

          if (val.length == 0 && defaults.previous)
            defaults.previous.focus();
        }
      });
    }

    return this.keypress(function(e) {
      if (key(e) == 8) {
        var val = this.value;

        if (val.length == 0 && defaults.previous)
          defaults.previous.focus();
      }
    }).keyup(function(e) {
      var val = this.value;

      switch (defaults.format) {
        case 'text':
          var pattern = new RegExp('[0-9]+', 'g');
          var val = val.replace(pattern, '');
          break;

        case 'alpha':
          var pattern = new RegExp('[^a-zA-Z]+', 'g');
          var val = val.replace(pattern, '');
          break;

        case 'number':
        case 'numeric':
          var pattern = new RegExp('[^0-9]+', 'g');
          var val = val.replace(pattern, '');
          break;

        case 'alphanumeric':
          var pattern = new RegExp('[^0-9a-zA-Z]+', 'g');
          var val = val.replace(pattern, '');
          break;

        case 'all':
        default:
          break;
      }

      if (defaults.nospace) {
        pattern = new RegExp('[ ]+', 'g');
        val = val.replace(pattern, '');
      }

      if (defaults.uppercase)
        val = val.toUpperCase();

      if (defaults.lowercase)
        val = val.toLowerCase();

      this.value = val;

      /**
      * Do not auto tab when the following keys are pressed
      * 8:	Backspace
      * 9:	Tab
      * 16:	Shift
      * 17:	Ctrl
      * 18:	Alt
      * 19:	Pause Break
      * 20:	Caps Lock
      * 27:	Esc
      * 33:	Page Up
      * 34:	Page Down
      * 35:	End
      * 36:	Home
      * 37:	Left Arrow
      * 38:	Up Arrow
      * 39:	Right Arrow
      * 40:	Down Arroww
      * 45:	Insert
      * 46:	Delete
      * 144:	Num Lock
      * 145:	Scroll Lock
      */
      var keys = [8, 9, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 144, 145];
      var string = keys.toString();

      if (string.indexOf(key(e)) == -1 && val.length == defaults.maxlength && defaults.target)
        defaults.target.focus();
    });
  };

})(jQuery);
function rand() { return String(Math.floor(Math.random() * 65535)); }
function LimitText(field, limit) { if (field && field.value.length > limit) { field.value = field.value.substring(0, limit); } }
function isValid(text, regex) { var pattern = new RegExp(regex); return pattern.test(text); }
function isValidEmailAddress(emailAddress) {// Client side regex diff from SystemRegex.Email for some reason that doesn't work properly with jquery
  var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
  return pattern.test(emailAddress);
}

/*DD_roundies, this adds rounded-corner CSS in standard browsers and VML sublayers in IE that accomplish a similar appearance when comparing said browsers.
* URL: http://www.dillerdesign.com/experiment/DD_roundies/
* Licensed under the MIT License: http://dillerdesign.com/experiment/DD_roundies/#license
* Usage:
* DD_roundies.addRule('#doc .container', '10px 5px'); // selector and multiple radii
* DD_roundies.addRule('.box', 5, true); // selector, radius, and optional addition of border-radius code for standard browsers.
* Just want the PNG fixing effect for IE6, and don't want to also use the DD_belatedPNG library?  Don't give any additional arguments after the CSS selector.
* DD_roundies.addRule('.your .example img');*/
eval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p } ('t K={16:\'K\',1L:G,1M:G,1d:G,2f:y(){u(D.2g!=8&&D.1N&&!D.1N[q.16]){q.1L=M;q.1M=M}17 u(D.2g==8){q.1d=M}},2h:D.2i,1O:[],1b:{},2j:y(){u(q.1L||q.1M){D.1N.2L(q.16,\'2M:2N-2O-2P:x\')}u(q.1d){D.2Q(\'<?2R 2S="\'+q.16+\'" 2T="#1P#2k" ?>\')}},2l:y(){t a=D.1k(\'z\');D.2m.1w.1Q(a,D.2m.1w.1w);u(a.12){2n{t b=a.12;b.1x(q.16+\'\\\\:*\',\'{1l:2U(#1P#2k)}\');q.12=b}2o(2p){}}17{q.12=a}},1x:y(a,b,c){u(1R b==\'1S\'||b===2V){b=0}u(b.2W.2q().1y(\'2X\')==-1){b=b.2q().2Y(/[^0-9 ]/g,\'\').1T(\' \')}H(t i=0;i<4;i++){b[i]=(!b[i]&&b[i]!==0)?b[C.1e((i-2),0)]:b[i]}u(q.12){u(q.12.1x){t d=a.1T(\',\');H(t i=0;i<d.1U;i++){q.12.1x(d[i],\'1l:2Z(K.1V.2r(q, [\'+b.1W(\',\')+\']))\')}}17 u(c){t e=b.1W(\'F \')+\'F\';q.12.1z(D.2s(a+\' {Q-1f:\'+e+\'; -30-Q-1f:\'+e+\';}\'));q.12.1z(D.2s(a+\' {-1A-Q-1m-1n-1f:\'+b[0]+\'F \'+b[0]+\'F; -1A-Q-1m-1X-1f:\'+b[1]+\'F \'+b[1]+\'F; -1A-Q-1Y-1X-1f:\'+b[2]+\'F \'+b[2]+\'F; -1A-Q-1Y-1n-1f:\'+b[3]+\'F \'+b[3]+\'F;}\'))}}17 u(q.1d){q.1O.31({\'2t\':a,\'2u\':b})}},2v:y(a){2w(32.33){I\'z.Q\':I\'z.34\':I\'z.1B\':q.1o(a);13;I\'z.2x\':q.1Z(a);13;I\'z.1p\':I\'z.2y\':I\'z.2z\':q.1o(a);13;I\'z.20\':a.18.z.20=(a.z.20==\'S\')?\'S\':\'35\';13;I\'z.21\':q.22(a);13;I\'z.1c\':a.18.z.1c=a.z.1c;13}},1o:y(a){a.14.23=\'\';q.2A(a);q.1Z(a);q.1C(a);q.1D(a);q.24(a);q.2B(a);q.22(a)},22:y(a){u(a.W.21.1y(\'36\')!=-1){t b=a.W.21;b=1g(b.37(b.25(\'=\')+1,b.25(\')\')),10)/2C;H(t v 1h a.x){a.x[v].1i.38=b}}},2A:y(a){u(!a.W){1q}17{t b=a.W}a.14.1p=\'\';a.14.1E=\'\';t c=(b.1p==\'2D\');t d=M;u(b.1E!=\'S\'||a.1F){u(!a.1F){a.J=b.1E;a.J=a.J.39(5,a.J.25(\'")\')-5)}17{a.J=a.26}t e=q;u(!e.1b[a.J]){t f=D.1k(\'3a\');f.1r(\'3b\',y(){q.1s=q.3c;q.1t=q.3d;e.1D(a)});f.3e=e.16+\'3f\';f.14.23=\'1l:S; 1j:27; 1m:-2E; 1n:-2E; Q:S;\';f.26=a.J;f.2F(\'1s\');f.2F(\'1t\');D.2G.1Q(f,D.2G.1w);e.1b[a.J]=f}a.x.Z.1i.26=a.J;d=G}a.x.Z.2H=!d;a.x.Z.1G=\'S\';a.x.1u.2H=!c;a.x.1u.1G=b.1p;a.14.1E=\'S\';a.14.1p=\'2D\'},1Z:y(a){a.x.1H.1G=a.W.2x},1C:y(a){t c=[\'N\',\'19\',\'1a\',\'O\'];a.P={};H(t b=0;b<4;b++){a.P[c[b]]=1g(a.W[\'Q\'+c[b]+\'U\'],10)||0}},1D:y(c){t e=[\'O\',\'N\',\'U\',\'V\'];H(t d=0;d<4;d++){c.E[e[d]]=c[\'3g\'+e[d]]}t f=y(a,b){a.z.1n=(b?0:c.E.O)+\'F\';a.z.1m=(b?0:c.E.N)+\'F\';a.z.1s=c.E.U+\'F\';a.z.1t=c.E.V+\'F\'};H(t v 1h c.x){t g=(v==\'Z\')?1:2;c.x[v].3h=(c.E.U*g)+\', \'+(c.E.V*g);f(c.x[v],M)}f(c.18,G);u(K.1d){c.x.1H.z.28=\'-3i\';u(1R c.P==\'1S\'){q.1C(c)}c.x.1u.z.28=(c.P.N-1)+\'F \'+(c.P.O-1)+\'F\'}},24:y(j){t k=y(a,w,h,r,b,c,d){t e=a?[\'m\',\'1I\',\'l\',\'1J\',\'l\',\'1I\',\'l\',\'1J\',\'l\']:[\'1J\',\'l\',\'1I\',\'l\',\'1J\',\'l\',\'1I\',\'l\',\'m\'];b*=d;c*=d;w*=d;h*=d;t R=r.2I();H(t i=0;i<4;i++){R[i]*=d;R[i]=C.3j(w/2,h/2,R[i])}t f=[e[0]+C.11(0+b)+\',\'+C.11(R[0]+c),e[1]+C.11(R[0]+b)+\',\'+C.11(0+c),e[2]+C.15(w-R[1]+b)+\',\'+C.11(0+c),e[3]+C.15(w+b)+\',\'+C.11(R[1]+c),e[4]+C.15(w+b)+\',\'+C.15(h-R[2]+c),e[5]+C.15(w-R[2]+b)+\',\'+C.15(h+c),e[6]+C.11(R[3]+b)+\',\'+C.15(h+c),e[7]+C.11(0+b)+\',\'+C.15(h-R[3]+c),e[8]+C.11(0+b)+\',\'+C.11(R[0]+c)];u(!a){f.3k()}t g=f.1W(\'\');1q g};u(1R j.P==\'1S\'){q.1C(j)}t l=j.P;t m=j.2J.2I();t n=k(M,j.E.U,j.E.V,m,0,0,2);m[0]-=C.1e(l.O,l.N);m[1]-=C.1e(l.N,l.19);m[2]-=C.1e(l.19,l.1a);m[3]-=C.1e(l.1a,l.O);H(t i=0;i<4;i++){m[i]=C.1e(m[i],0)}t o=k(G,j.E.U-l.O-l.19,j.E.V-l.N-l.1a,m,l.O,l.N,2);t p=k(M,j.E.U-l.O-l.19+1,j.E.V-l.N-l.1a+1,m,l.O,l.N,1);j.x.1u.29=o;j.x.Z.29=p;j.x.1H.29=n+o;q.2K(j)},2B:y(a){t s=a.W;t b=[\'N\',\'O\',\'19\',\'1a\'];H(t i=0;i<4;i++){a.14[\'1B\'+b[i]]=(1g(s[\'1B\'+b[i]],10)||0)+(1g(s[\'Q\'+b[i]+\'U\'],10)||0)+\'F\'}a.14.Q=\'S\'},2K:y(e){t f=K;u(!e.J||!f.1b[e.J]){1q}t g=e.W;t h={\'X\':0,\'Y\':0};t i=y(a,b){t c=M;2w(b){I\'1n\':I\'1m\':h[a]=0;13;I\'3l\':h[a]=0.5;13;I\'1X\':I\'1Y\':h[a]=1;13;1P:u(b.1y(\'%\')!=-1){h[a]=1g(b,10)*0.3m}17{c=G}}t d=(a==\'X\');h[a]=C.15(c?((e.E[d?\'U\':\'V\']-(e.P[d?\'O\':\'N\']+e.P[d?\'19\':\'1a\']))*h[a])-(f.1b[e.J][d?\'1s\':\'1t\']*h[a]):1g(b,10));h[a]+=1};H(t b 1h h){i(b,g[\'2y\'+b])}e.x.Z.1i.1j=(h.X/(e.E.U-e.P.O-e.P.19+1))+\',\'+(h.Y/(e.E.V-e.P.N-e.P.1a+1));t j=g.2z;t c={\'T\':1,\'R\':e.E.U+1,\'B\':e.E.V+1,\'L\':1};t k={\'X\':{\'2a\':\'L\',\'2b\':\'R\',\'d\':\'U\'},\'Y\':{\'2a\':\'T\',\'2b\':\'B\',\'d\':\'V\'}};u(j!=\'2c\'){c={\'T\':(h.Y),\'R\':(h.X+f.1b[e.J].1s),\'B\':(h.Y+f.1b[e.J].1t),\'L\':(h.X)};u(j.1y(\'2c-\')!=-1){t v=j.1T(\'2c-\')[1].3n();c[k[v].2a]=1;c[k[v].2b]=e.E[k[v].d]+1}u(c.B>e.E.V){c.B=e.E.V+1}}e.x.Z.z.3o=\'3p(\'+c.T+\'F \'+c.R+\'F \'+c.B+\'F \'+c.L+\'F)\'},1v:y(a){t b=q;2d(y(){b.1o(a)},1)},2e:y(a){q.1D(a);q.24(a)},1V:y(b){q.z.1l=\'S\';u(!q.W){1q}17{t c=q.W}t d={3q:G,3r:G,3s:G,3t:G,3u:G,3v:G,3w:G};u(d[q.1K]===G){1q}t e=q;t f=K;q.2J=b;q.E={};t g={3x:\'2e\',3y:\'2e\'};u(q.1K==\'A\'){t i={3z:\'1v\',3A:\'1v\',3B:\'1v\',3C:\'1v\'};H(t a 1h i){g[a]=i[a]}}H(t h 1h g){q.1r(\'3D\'+h,y(){f[g[h]](e)})}q.1r(\'3E\',y(){f.2v(e)});t j=y(a){a.z.3F=1;u(a.W.1j==\'3G\'){a.z.1j=\'3H\'}};j(q.3I);j(q);q.18=D.1k(\'3J\');q.18.14.23=\'1l:S; 1j:27; 28:0; 1B:0; Q:0; 3K:S;\';q.18.z.1c=c.1c;q.x={\'1u\':M,\'Z\':M,\'1H\':M};H(t v 1h q.x){q.x[v]=D.1k(f.16+\':3L\');q.x[v].1i=D.1k(f.16+\':3M\');q.x[v].1z(q.x[v].1i);q.x[v].3N=G;q.x[v].z.1j=\'27\';q.x[v].z.1c=c.1c;q.x[v].3O=\'1,1\';q.18.1z(q.x[v])}q.x.Z.1G=\'S\';q.x.Z.1i.3P=\'3Q\';q.3R.1Q(q.18,q);q.1F=G;u(q.1K==\'3S\'){q.1F=M;q.z.3T=\'3U\'}2d(y(){f.1o(e)},1)}};2n{D.3V("3W",G,M)}2o(2p){}K.2f();K.2j();K.2l();u(K.1d&&D.1r&&K.2h){D.1r(\'3X\',y(){u(D.3Y==\'3Z\'){t d=K.1O;t e=d.1U;t f=y(a,b,c){2d(y(){K.1V.2r(a,b)},c*2C)};H(t i=0;i<e;i++){t g=D.2i(d[i].2t);t h=g.1U;H(t r=0;r<h;r++){u(g[r].1K!=\'40\'){f(g[r],d[i].2u,r)}}}}})}', 62, 249, '||||||||||||||||||||||||||this|||var|if|||vml|function|style|||Math|document|dim|px|false|for|case|vmlBg|DD_roundies||true|Top|Left|bW|border||none||Width|Height|currentStyle|||image||floor|styleSheet|break|runtimeStyle|ceil|ns|else|vmlBox|Right|Bottom|imgSize|zIndex|IE8|max|radius|parseInt|in|filler|position|createElement|behavior|top|left|applyVML|backgroundColor|return|attachEvent|width|height|color|pseudoClass|firstChild|addRule|search|appendChild|webkit|padding|vmlStrokeWeight|vmlOffsets|backgroundImage|isImg|fillcolor|stroke|qy|qx|nodeName|IE6|IE7|namespaces|selectorsToProcess|default|insertBefore|typeof|undefined|split|length|roundify|join|right|bottom|vmlStrokeColor|display|filter|vmlOpacity|cssText|vmlPath|lastIndexOf|src|absolute|margin|path|b1|b2|repeat|setTimeout|reposition|IEversion|documentMode|querySelector|querySelectorAll|createVmlNameSpace|VML|createVmlStyleSheet|documentElement|try|catch|err|toString|call|createTextNode|selector|radii|readPropertyChanges|switch|borderColor|backgroundPosition|backgroundRepeat|vmlFill|nixBorder|100|transparent|10000px|removeAttribute|body|filled|slice|DD_radii|clipImage|add|urn|schemas|microsoft|com|writeln|import|namespace|implementation|url|null|constructor|Array|replace|expression|moz|push|event|propertyName|borderWidth|block|lpha|substring|opacity|substr|img|onload|offsetWidth|offsetHeight|className|_sizeFinder|offset|coordsize|1px|min|reverse|center|01|toUpperCase|clip|rect|BODY|TABLE|TR|TD|SELECT|OPTION|TEXTAREA|resize|move|mouseleave|mouseenter|focus|blur|on|onpropertychange|zoom|static|relative|offsetParent|ignore|background|shape|fill|stroked|coordorigin|type|tile|parentNode|IMG|visibility|hidden|execCommand|BackgroundImageCache|onreadystatechange|readyState|complete|INPUT'.split('|'), 0, {}))

function GetArrayFromCommaDelimitedString(txt) {
  var newArray = new Array();
  if (txt != '') {
    var arr = txt.split(',');
    var count = 0;
    for (var i = 0; i < arr.length; i++) {
      if (arr[i] != '') {
        newArray[i] = arr[count];
        count++;
      }
    }
  }
  return newArray;
}

var imgPreviewOverride = '';

function changeToUpdateTab(tabName) {
  $(".updateSectionBlock").hide(); $("#" + tabName + "Section").show(); $("a.updateSection").removeClass("current"); $("a.updateSection[href='" + tabName + "']").addClass("current");
}

function checkForUrlDirectedTab(url) {
  if (url.indexOf('#') > 0) {
    url = url.substring(url.indexOf('#') + 1);
    if (url.length > 7 && url.substring(url.length - 7, url.length) == "Section")
    {
      var tabName = url.substring(0, url.length - 7);
      changeToUpdateTab(tabName);
      var tabSection = $("#" + tabName + "Section");
      $('html,body').animate({ scrollTop: tabSection.offset().top }, 0);
    }
  }
}

function clearEvent() {
  $("#ev_input").attr('disabled', false);
  $("#ev_input").val('');
  $("#ev_input").css('background-color', 'White');
  $("#ev_input").css('color', 'Black');
  $("#eventClear").hide();
  $("#specifiedevent").val('0');
  var dummyEvent = $("<div isopen='true'/>");
  $.selectEvent(dummyEvent);
  return false;
}

$.markEventReadOnly = function() {
  $("#ev_input").attr('disabled', true);
  $("#ev_input").css('background-color', '#eeeeee');
  $("#ev_input").css('color', '#333333');
  $("#eventClear").show();
}

$.selectEvent = function(selectedEvent) {
  $("#eventPreSelectedBeneficiariesSection").hide();
  $(".minus").show();
  $("#addbeneficiary").show();
  $("#enterbeneficiary").show();

  if ($(selectedEvent).attr('isopen') == "False") {
    $("#eventPreSelectedBeneficiariesSection").show();
    $("#enterbeneficiary").hide();
    $("#addbeneficiary").hide();

    section = $(".beneficiaryselection:eq(" + (beneficiaryCount - 1) + ")");

    $(".beneficiaryselection :input").val('');
    $(".beneficiaryselection .beneficiaryBox").remove();
    $(".beneficiaryselection").hide();

    var beneficiaries = $(selectedEvent).attr('benefits').split(";");
    beneficiaryCount = beneficiaries.length;

    for (i = 0; i < beneficiaries.length; i++) {
      if (beneficiaries[i] == "") break;
      var parts = beneficiaries[i].split("|");

      var section = $(".beneficiaryselection:eq(" + i + ")");
      var box = $("<div class='beneficiaryBox'/>");
      box.text(parts[1]);

      section.children(":input").val(parts[0]);
      section.children(".minus").before(box);
      section.show();
    }

    $(".minus").hide();
  }
}

$.addAdditionalImage = function(response) {
  response = response + '';
  var parts = response.split("|");
  if (parts[1].length > 4 && parts[1].substr(0, 4) != 'http') {
    alert('Error uploading image - too large');
    return;
  }

  var clone = $("#additionalImages .uploadedimage:last").clone(true);
  clone.children("img").attr('src', '/images/avatars/anon.gif');
  clone.removeClass('selectedasavatar');
  clone.children("span").html("&nbsp;");
  $("#additionalImages").append(clone);

  var image = $("#additionalImages .uploadedimage:last");

  image.children(":input[name='additionalimages']").val(parts[0]);
  image.children("img").attr('src', parts[1]);
  image.show();

  if ($(".uploadedimage:visible").length == 1) {
    image.children("img").click();
  }
}
// The loading image preload
$(document).ready(function() { $('<img id="loading"/>').attr("src", "/images/fixed/loading.gif").load(function() { $("#ajaxloading").append($(this)); }); });
// $.autoHideLoadingImage() to be used when calling $.post because this only calls its callback method when a successful response is received - so a 500 response will mean the callback is not called - see HomeController.Facebook method for an example
$.autoHideLoadingImage = function() { setTimeout(function() { $("#ajaxloading").hide(); }, 4000); }
$.urlContainsKey = function(key){ var url = window.location + ''; if(url.indexOf(key + '=')>0) return true; else return false; }
$.urlContainsArg = function(arg) { var url = window.location + ''; url = url.toLowerCase(); arg = arg.toString().toLowerCase(); if (url.indexOf('=' + arg) > 0) { return true; } else { return false; } }
$.urlParam = function(name) { var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href); return results[1] || ''; }
$.calculateProgress = function(amount, target) {
  var progress = 0;
  if (target > 0 && amount > 0) {
    if (target > amount) {
      progress = Math.floor((amount * 10) / target);
    }
    else if (target <= amount) progress = 10;
    else if (progress == 10 && target > amount) progress = 9;
    if (progress == 0) progress = 1;
  }
  else if (amount > 0) {
    if (amount < 500) progress = 2;
    else if (amount < 2000) progress = 3;
    else if (amount < 3500) progress = 4;
    else if (amount < 5000) progress = 5;
    else if (amount < 10000) progress = 6;
    else if (amount < 50000) progress = 7;
    else if (amount < 90000) progress = 8;
    else progress = 9;
  }
  return progress;
}
$.positionRecaptcha = function(key) {
  if ($("#" + key).children("#recaptcha_widget_div").length == 0) {
    $(".recaptchaContainer div").remove();
    var html = $("#mastercapthcha #recaptcha_widget_div").html();
    $("#" + key).show().append('<div id="recaptcha_widget_div" class="recaptcha_nothad_incorrect_sol recaptcha_isnot_showing_audio">' + html + '</div>');
    $("#" + key).closest("form").find("textarea").val("");
    $("#" + key + " #recaptcha_table").css({ "float" : "left" });
    Recaptcha.reload();
    setTimeout(function() { $("#" + key + " .recaptcha_input_area input").focus(); }, 900);
    $("#" + key).closest("form").find("#recaptcha_reload_btn").click(function() {
      setTimeout(function() {
        $(".recaptchaContainer div").remove();
        $.positionRecaptcha(key);
        $("#" + key).find(".recaptcha_image_cell img").attr("src", $("#mastercapthcha .recaptcha_image_cell img").attr("src"));
        $(".captchafail").hide();
      }, 900);
    });
  }
}
$.rotateThumbnails = function(currentThumbIndex, direction, numberImages) {
  if (isNaN(numberImages)) return;
  var middleIndex = parseInt(currentThumbIndex); if (direction > 0) { middleIndex = (currentThumbIndex - 1); if (middleIndex < 0) { middleIndex = numberImages - 1; } } else if (direction < 0) { middleIndex = (parseInt(currentThumbIndex) + 1) % numberImages; }
  $("span#currentImageIndex").text(middleIndex+1);
  var leftIndex = middleIndex - 1; if (leftIndex < 0) leftIndex = numberImages - 1; var midLeftIndex = leftIndex - 1; if (midLeftIndex < 0) midLeftIndex = numberImages - 1; var farLeftIndex = midLeftIndex - 1; if (farLeftIndex < 0) farLeftIndex = numberImages - 1; var rightIndex = ((middleIndex + 1) % numberImages); var midRightIndex = ((rightIndex + 1) % numberImages); var farRightIndex = ((midRightIndex + 1) % numberImages);
  if (direction == 0 && $("a#thumb" + middleIndex).attr("pos") != "m") {
    $(".slides a.causepic[pos='m']").animate({ width: "30px" }, { queue: false, duration: 500 }).animate({ height: "36px" }, { queue: false, duration: 500 }).animate({ marginTop: "16px" }, { queue: false, duration: 500 });
    $(".slides a.causepic[pos='m'] img").animate({ width: "30px" }, { queue: false, duration: 500 }).animate({ height: "36px" }, { queue: false, duration: 500 });
  }
  $(".slides a.causepic").attr("on", "n").attr("pos", "");
  if (numberImages > 2) {
    var extrmleftIndex = 0; var extrmrightIndex = 0; if (numberImages > 6) { extrmleftIndex = farLeftIndex; extrmrightIndex = farRightIndex; } else if (numberImages < 5) { extrmleftIndex = midLeftIndex; extrmrightIndex = midRightIndex; } else if (numberImages == 3) { extrmleftIndex = leftIndex; extrmrightIndex = rightIndex; }
    if (direction > 0) { $("a#thumb" + extrmleftIndex).fadeTo("fast", 0.0); }
    else if (direction < 0) { $("a#thumb" + extrmrightIndex).fadeTo("fast", 0.0); }
  }
  var middleIndexMarg = 176; var farLeftIndexMarg = 44; var midLeftIndexMarg = 88; var leftIndexMarg = 132; var rightIndexMarg = 250; var midRightIndexMarg = 294; var farRightIndexMarg = 338;
  if (numberImages == 5 || numberImages == 6) { midLeftIndexMarg = 60; leftIndexMarg = 118; rightIndexMarg = 264; midRightIndexMarg = 322; }
  else if (numberImages == 3 || numberImages == 4) { leftIndexMarg = 80; rightIndexMarg = 300; }
  else if (numberImages == 2) { leftIndex = 0; rightIndex = 1; leftIndexMarg = 100; rightIndexMarg = 252; }
  if (numberImages > 2 || numberImages == 1) {
    $("a#thumb" + middleIndex).attr("on", "y").css({ "display": "block" }).animate({ width: "60px" }, { queue: false, duration: 400 }).animate({ height: "72px" }, { queue: false, duration: 400 }).animate({ left: middleIndexMarg + "px" }, { queue: false, duration: 400 }).animate({ marginTop: "0" }, { queue: false, duration: 400 }).attr("pos", "m");
    $("a#thumb" + middleIndex + " img").animate({ width: "60px" }, { queue: false, duration: 300 }).animate({ height: "72px" }, { queue: false, duration: 300 });
  }
  if (numberImages == 2) {
    $(".slides a.causepic[index!='" + parseInt(currentThumbIndex) + "']").attr("pos", "m");
    $(".slides a.causepic img").css({ "width": "60px", "height": "72px" });
    $(".slides a.causepic").attr("on", "y").css({ "display": "block", "width": "60px", "height": "72px", "margin-top": "0" }); $("a#thumb0").css("margin-left", leftIndexMarg + "px"); $("a#thumb1").css("margin-left", rightIndexMarg + "px");
  }
  else if (numberImages > 2) {
    $("a#thumb" + leftIndex).attr("on", "y").css({ "display": "block" }).animate({ left: leftIndexMarg + "px" }, { queue: false, duration: 300 });
    $("a#thumb" + rightIndex).attr("on", "y").css({ "display": "block" }).animate({ left: rightIndexMarg + "px" }, { queue: false, duration: 300 });
    if (direction > 0) { $("a#thumb" + rightIndex).animate({ width: "30px" }, { queue: false, duration: 500 }).animate({ height: "36px" }, { queue: false, duration: 500 }).animate({ marginTop: "16px" }, { queue: false, duration: 500 }); $("a#thumb" + rightIndex + " img").animate({ width: "30px" }, { queue: false, duration: 500 }).animate({ height: "36px" }, { queue: false, duration: 500 }); }
    else if (direction < 0) { $("a#thumb" + leftIndex).animate({ width: "30px" }, { queue: false, duration: 500 }).animate({ height: "36px" }, { queue: false, duration: 500 }).animate({ marginTop: "16px" }, { queue: false, duration: 500 }); $("a#thumb" + leftIndex + " img").animate({ width: "30px" }, { queue: false, duration: 500 }).animate({ height: "36px" }, { queue: false, duration: 500 }); }
  }
  if (numberImages > 4) {
    $("a#thumb" + midLeftIndex).attr("on", "y").css({ "display": "block" }).animate({ left: midLeftIndexMarg + "px" }, { queue: false, duration: 300 });
    $("a#thumb" + midRightIndex).attr("on", "y").css({ "display": "block" }).animate({ left: midRightIndexMarg + "px" }, { queue: false, duration: 300 });
  }
  if (numberImages > 6) {
    $("a#thumb" + farLeftIndex).attr("on", "y").css({ "display": "block" }).animate({ left: farLeftIndexMarg + "px" }, { queue: false, duration: 300 });
    $("a#thumb" + farRightIndex).attr("on", "y").css({ "display": "block" }).animate({ left: farRightIndexMarg + "px" }, { queue: false, duration: 300 });
  }
  $(".slides a.causepic[on='n']").hide();
  if (numberImages > 2) { $(".slides a.causepic[on='y']").fadeTo("slow", 1.0); }
}
$.setHoverItem = function(hoverelement, summaryelement) {
  $(hoverelement).parent().find(".selecteditem").removeClass("selecteditem");
  $(hoverelement).addClass("selecteditem");
  $(summaryelement).find("#raised").html($(hoverelement).find(".popuptarget").attr("raised"));
  $(summaryelement).find("#name").html($(hoverelement).find("img").attr("title"));
  $(summaryelement).show();
};