﻿/*!
* slideViewerPro 1.0
* Examples and documentation at: 
* http://www.gcmingati.net/wordpress/wp-content/lab/jquery/svwt/
* 2009 Gian Carlo Mingati
* Version: 1.0.2 (22-MAY-2009)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
* Requires:
* jQuery v1.3.2 or later
* Option:
* jQuery Timers plugin | plugins.jquery.com/project/timers (for autoslide mode)
* 
*/
jQuery.extend(jQuery.easing, // from the jquery.easing plugin
{
easeInOutExpo: function(x, t, b, c, d) {
    if (t == 0) return b;
    if (t == d) return b + c;
    if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
    return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;
}
});

jQuery(function() {
    jQuery("div.svwp").prepend("<img src='../../images/icons/ajax-loader.gif' class='ldrgif' alt='loading...'/ >"); //change with YOUR loader image path   
});
var j = 0;
jQuery.fn.slideViewerPro = function(settings) {
    settings = jQuery.extend({
        galBorderWidth: 1,
        thumbsTopMargin: 5,
        thumbsRightMargin: 5,
        thumbsBorderWidth: 1,
        buttonsWidth: 11,
        galBorderColor: "#fff",
        thumbsBorderColor: "#d8d8d8",
        thumbsActiveBorderColor: "#6a9243",
        buttonsTextColor: "#ff0000",
        thumbsBorderOpacity: 1.0, // could be 0, 0.1 up to 1.0
        thumbsActiveBorderOpacity: 1.0, // could be 0, 0.1 up to 1.0
        easeTime: 750,
        asTimer: 4000,
        thumbs: 4,
        thumbsPercentReduction: 22,
        thumbsVis: true,
        easeFunc: "easeInOutExpo",
        leftButtonInner: "<img src='../../images/icons/icon_arrow_back.png' />", //could be an image "<img src='../../images/icons/arrow_black_left.png' />" or an escaped char as "&larr";
        rightButtonInner: "<img src='../../images/icons/icon_arrow_forward.png' />", //could be an image or an escaped char as "&rarr";
        autoslide: false,
        typo: true,
        shuffle: false
    }, settings);
    return this.each(function() {
        function shuffle(a) {
            var i = a.size();
            while (--i) {
                var j = Math.floor(Math.random() * (i));
                var tmp = a.slice(i, i + 1);
                a.slice(j, j + 1).insertAfter(tmp);
            }
        }
        var container = jQuery(this);
        (!settings.shuffle) ? null : shuffle(container.find("li"));
        container.find("img.ldrgif").remove();
        container.removeClass("svwp").addClass("slideViewer");
        container.attr("id", "svwp" + j);
        var pictWidth = container.find("img").attr("width");
        var pictHeight = container.find("img").attr("height");
        var pictEls = container.find("li").size();
        (pictEls >= settings.thumbs) ? null : settings.thumbs = pictEls;
        var slideViewerWidth = pictWidth * pictEls;
        var thumbsWidth = Math.round(pictWidth * settings.thumbsPercentReduction / 100);
        var thumbsHeight = Math.round(pictHeight * settings.thumbsPercentReduction / 100);
        var pos = 0;
        var r_enabled = true;
        var l_enabled = true;
        container.find("ul").css("width", slideViewerWidth)
    .wrap(jQuery("<div style='width:" + pictWidth + "px; height: " + pictHeight + 40 + "px; overflow: hidden; position: relative; top: 0; left: 0'>"));
        container.css("width", pictWidth);
        container.css("height", pictHeight + 30);
        container.each(function(i) {
            if (settings.typo) {
                jQuery(this).find("img").each(function(z) {
                jQuery(this).after("<span class='typo'>" + jQuery(this).attr("alt") + "<span class=\"maginfy\" title=\"F&ouml;rstora\"><\/span><span class=\"copytext\">" + jQuery(this).attr("copyright") + "</span><\/span>");
                });
            }
            jQuery(this).after("<div class='thumbSlider' id='thumbSlider" + j + "'><ul><\/ul><\/div>");
            jQuery(this).next().after("<a href='#' class='left' id='left" + j + "'><span>" + settings.leftButtonInner + "</span><\/a><a href='#' class='right' id='right" + j + "'><span>" + settings.rightButtonInner + "<\/span><\/a>");

            jQuery(this).find("li").each(function(n) {
                jQuery("div#thumbSlider" + j + " ul").append("<li><a title='" + jQuery(this).find("img").attr("alt") + "' href='#'><img width='" + thumbsWidth + "' height='" + thumbsHeight + "' src='" + jQuery(this).find("img").attr("src") + "' /><p class='tmbrdr'>&nbsp;<\/p><\/a><\/li>");
            });

            jQuery("div#thumbSlider" + j + " a").each(function(z) {
                jQuery(this).bind("click", function() {
                    jQuery(this).find("p.tmbrdr").css({ borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity });
                    jQuery(this).parent().parent().find("p.tmbrdr").not(jQuery(this).find("p.tmbrdr")).css({ borderColor: settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity });
                    var cnt = -(pictWidth * z);
                    container.find("ul").animate({ left: cnt }, settings.easeTime, settings.easeFunc);
                    return false;
                });
            });
            // shortcuts to +/- buttons
            var jQuerybtl = jQuery("a#left" + j);
            var jQuerybtr = jQuery("a#right" + j);

            // right/left 			
            jQuerybtr.bind("click", function() {
                if (r_enabled) (pictEls - pos > settings.thumbs * 2 || pictEls % settings.thumbs == 0) ? pos += settings.thumbs : pos += pictEls % settings.thumbs;
                r_enabled = false;
                jQuery(this).prev().prev().find("ul:not(:animated)").animate({ left: -(thumbsWidth + settings.thumbsRightMargin) * pos }, 500, settings.easeFunc, function() { authorityMixing(); });
                return false;
            });
            jQuerybtl.bind("click", function() {
                if (l_enabled) (pictEls - pos > settings.thumbs || pictEls % settings.thumbs == 0) ? pos -= settings.thumbs : pos -= pictEls % settings.thumbs;
                l_enabled = false;
                jQuery(this).prev().find("ul:not(:animated)").animate({ left: -(thumbsWidth + settings.thumbsRightMargin) * pos }, 500, settings.easeFunc, function() { authorityMixing(); });
                return false;
            });

            function authorityMixing() {
                //right btt
                (pos == pictEls - settings.thumbs) ? jQuerybtr.addClass("r_dis") : jQuerybtr.removeClass("r_dis");
                (pos == pictEls - settings.thumbs) ? r_enabled = false : r_enabled = true;
                //left btt
                (pos == 0) ? jQuerybtl.addClass("l_dis") : jQuerybtl.removeClass("l_dis");
                (pos == 0) ? l_enabled = false : l_enabled = true;
            }

            //CSS	defs @ runtime
            var tBorder = settings.thumbsBorderWidth;
            var contBorder = settings.galBorderWidth

            var pHeight;

            jQuery(".slideViewer a img").css({ border: "0" });
            jQuery("div#svwp" + j + " span.typo").css({ position: "absolute", margin: pictHeight + 10 + "px 0 0 " + (-pictWidth) + "px" });
            jQuery("div#svwp" + j + " span.typo").css({ width: pictWidth + "px" });
            jQuery("div#svwp" + j).css({ border: settings.galBorderWidth + "px solid " + settings.galBorderColor });

            jQuery("div#thumbSlider" + j).css({ position: "relative", left: contBorder, top: settings.thumbsTopMargin + "px", width: settings.thumbs * thumbsWidth + ((settings.thumbsRightMargin * settings.thumbs) - settings.thumbsRightMargin), height: thumbsHeight, textAlign: "center", overflow: "hidden", margin: "0 auto" });
            jQuery("div#thumbSlider" + j + " ul").css({ width: (thumbsWidth * pictEls) + settings.thumbsRightMargin * pictEls, position: "relative", left: "0", top: "0" });
            jQuery("div#thumbSlider" + j + " ul li").css({ marginRight: settings.thumbsRightMargin });

            jQuery("div#thumbSlider" + j).find("p.tmbrdr").css({ width: (thumbsWidth - tBorder * 2) + "px", height: (thumbsHeight - tBorder * 2) + "px", top: -(thumbsHeight) + "px", border: settings.thumbsBorderWidth + "px solid " + settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity });
            jQuery("div#thumbSlider" + j + " a:first p.tmbrdr").css({ borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity });

            var rbttLeftMargin = (pictWidth / 2) + (jQuery("div#thumbSlider" + j).width() / 2) + settings.thumbsRightMargin + contBorder;
            var lbttLeftMargin = (pictWidth / 2) - (jQuery("div#thumbSlider" + j).width() / 2) - (settings.buttonsWidth + settings.thumbsRightMargin) + contBorder;
            var innerImgH = jQuery("a#right" + j + " span img").attr("height");

            jQuery("a#left" + j).css({ display: "block", textAlign: "center", width: settings.buttonsWidth + "px", height: thumbsHeight + "px", margin: -(thumbsHeight - settings.thumbsTopMargin) + "px 0 0 " + lbttLeftMargin + "px", textDecoration: "none", lineHeight: thumbsHeight + "px", color: settings.buttonsTextColor });
            jQuery("a#right" + j).css({ display: "block", textAlign: "center", width: settings.buttonsWidth + "px", height: thumbsHeight + "px", margin: -(thumbsHeight) + "px 0 0 " + rbttLeftMargin + "px", textDecoration: "none", lineHeight: thumbsHeight + "px", color: settings.buttonsTextColor });
            jQuery("a#left" + j + " span img").css({ margin: Math.round((thumbsHeight / 2) - (innerImgH / 2)) + "px 0 0 0" });
            jQuery("a#right" + j + " span img").css({ margin: Math.round((thumbsHeight / 2) - (innerImgH / 2)) + "px 0 0 0" });

            authorityMixing();

            if (settings.autoslide) {
                var i = 1;
                jQuery("div#thumbSlider" + j).everyTime(settings.asTimer, "asld", function() {
                    jQuery(this).find("a").eq(i).trigger("click");
                    if (i == 0) {
                        pos = 0;
                        l_enabled = false;
                        jQuery("div#thumbSlider" + j).find("ul:not(:animated)").animate({ left: -(thumbsWidth + settings.thumbsRightMargin) * pos }, 500, settings.easeFunc, function() { authorityMixing(); });
                    }
                    else l_enabled = true;

                    (i % settings.thumbs == 0) ? jQuery(this).next().next().trigger("click") : null;
                    (i < pictEls - 1) ? i++ : i = 0;
                });

                //stops autoslidemode	
                jQuery("a#right" + j).bind("mouseup", function() {
                    jQuery(this).prev().prev().stopTime("asld");
                });
                jQuery("a#left" + j).bind("mouseup", function() {
                    jQuery(this).prev().stopTime("asld");
                });
                jQuery("div#thumbSlider" + j + " a").bind("mouseup", function() {
                    jQuery(this).parent().parent().parent().stopTime("asld");
                });
            }
            var uiDisplay = (settings.thumbsVis) ? "block" : "none";
            jQuery("div#thumbSlider" + j + ", a#left" + j + ", a#right" + j).wrapAll("<div style='width:" + pictWidth + "px; display: " + uiDisplay + "' id='ui" + j + "'><\/div>");
            jQuery("div#svwp" + j + ", div#ui" + j).wrapAll("<div style='width:" + pictWidth + "px'><\/div>");
        });
        (jQuery("div#thumbSlider" + j).width() + (settings.buttonsWidth * 2) >= pictWidth) ? alert("ALERT: THE THUMBNAILS SLIDER IS TOO WIDE! \nthumbsPercentReduction and/or buttonsWidth needs to be scaled down!") : null;
        j++;
    });
};
/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */
(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'../../images/misc/lightbox-ico-loading.gif',imageBtnPrev:'../../images/misc/lightbox-btn-prev.gif',imageBtnNext:'../../images/misc/lightbox-btn-next.gif',imageBtnClose:'../../images/misc/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Bild',txtOf:'av',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;}
function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));}}
while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href')){settings.activeImage++;}
_set_image_to_view();}
function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div></div></div>');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});}
function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}
var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}}
$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();}
if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}}
function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}}
if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}}
_enable_keyboard_navigation();}
function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});}
function _disable_keyboard_navigation(){$(document).unbind();}
function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();}
if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}}
if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}}
function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];}
if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}}
function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});}
function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};function ___getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);
/*
* Autocomplete - jQuery plugin 1.0.2
*
* Copyright (c) 2007 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, J�rn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
*   http://www.opensource.org/licenses/mit-license.php
*   http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id: jquery.autocomplete.js 5747 2008-06-25 18:30:55Z joern.zaefferer $
*
*/

; (function($) {

    $.fn.extend({
        autocomplete: function(urlOrData, options) {
            var isUrl = typeof urlOrData == "string";
            options = $.extend({}, $.Autocompleter.defaults, {
                url: isUrl ? urlOrData : null,
                data: isUrl ? null : urlOrData,
                delay: isUrl ? $.Autocompleter.defaults.delay : 10,
                max: options && !options.scroll ? 10 : 150
            }, options);

            // if highlight is set to false, replace it with a do-nothing function
            options.highlight = options.highlight || function(value) { return value; };

            // if the formatMatch option is not specified, then use formatItem for backwards compatibility
            options.formatMatch = options.formatMatch || options.formatItem;

            return this.each(function() {
                new $.Autocompleter(this, options);
            });
        },
        result: function(handler) {
            return this.bind("result", handler);
        },
        search: function(handler) {
            return this.trigger("search", [handler]);
        },
        flushCache: function() {
            return this.trigger("flushCache");
        },
        setOptions: function(options) {
            return this.trigger("setOptions", [options]);
        },
        unautocomplete: function() {
            return this.trigger("unautocomplete");
        }
    });

    $.Autocompleter = function(input, options) {

        var KEY = {
            UP: 38,
            DOWN: 40,
            DEL: 46,
            TAB: 9,
            RETURN: 13,
            ESC: 27,
            COMMA: 188,
            PAGEUP: 33,
            PAGEDOWN: 34,
            BACKSPACE: 8
        };

        // Create $ object for input element
        var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);

        var timeout;
        var previousValue = "";
        var cache = $.Autocompleter.Cache(options);
        var hasFocus = 0;
        var lastKeyPressCode;
        var config = {
            mouseDownOnSelect: false
        };
        var select = $.Autocompleter.Select(options, input, selectCurrent, config);

        var blockSubmit;

        // prevent form submit in opera when selecting with return key
        $.browser.opera && $(input.form).bind("submit.autocomplete", function() {
            if (blockSubmit) {
                blockSubmit = false;
                return false;
            }
        });

        // only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
        $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
            // track last key pressed
            lastKeyPressCode = event.keyCode;
            switch (event.keyCode) {

                case KEY.UP:
                    event.preventDefault();
                    if (select.visible()) {
                        select.prev();
                    } else {
                        onChange(0, true);
                    }
                    break;

                case KEY.DOWN:
                    event.preventDefault();
                    if (select.visible()) {
                        select.next();
                    } else {
                        onChange(0, true);
                    }
                    break;

                case KEY.PAGEUP:
                    event.preventDefault();
                    if (select.visible()) {
                        select.pageUp();
                    } else {
                        onChange(0, true);
                    }
                    break;

                case KEY.PAGEDOWN:
                    event.preventDefault();
                    if (select.visible()) {
                        select.pageDown();
                    } else {
                        onChange(0, true);
                    }
                    break;

                // matches also semicolon 
                case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
                case KEY.TAB:
                case KEY.RETURN:
                    if (selectCurrent()) {
                        // stop default to prevent a form submit, Opera needs special handling
                        event.preventDefault();
                        blockSubmit = true;
                        return false;
                    }
                    break;

                case KEY.ESC:
                    select.hide();
                    break;

                default:
                    clearTimeout(timeout);
                    timeout = setTimeout(onChange, options.delay);
                    break;
            }
        }).focus(function() {
            // track whether the field has focus, we shouldn't process any
            // results if the field no longer has focus
            hasFocus++;
        }).blur(function() {
            hasFocus = 0;
            if (!config.mouseDownOnSelect) {
                hideResults();
            }
        }).click(function() {
            // show select when clicking in a focused field
            if (hasFocus++ > 1 && !select.visible()) {
                onChange(0, true);
            }
        }).bind("search", function() {
            // TODO why not just specifying both arguments?
            var fn = (arguments.length > 1) ? arguments[1] : null;
            function findValueCallback(q, data) {
                var result;
                if (data && data.length) {
                    for (var i = 0; i < data.length; i++) {
                        if (data[i].result.toLowerCase() == q.toLowerCase()) {
                            result = data[i];
                            break;
                        }
                    }
                }
                if (typeof fn == "function") fn(result);
                else $input.trigger("result", result && [result.data, result.value]);
            }
            $.each(trimWords($input.val()), function(i, value) {
                request(value, findValueCallback, findValueCallback);
            });
        }).bind("flushCache", function() {
            cache.flush();
        }).bind("setOptions", function() {
            $.extend(options, arguments[1]);
            // if we've updated the data, repopulate
            if ("data" in arguments[1])
                cache.populate();
        }).bind("unautocomplete", function() {
            select.unbind();
            $input.unbind();
            $(input.form).unbind(".autocomplete");
        });


        function selectCurrent() {
            var selected = select.selected();
            if (!selected)
                return false;

            var v = selected.result;
            previousValue = v;

            if (options.multiple) {
                var words = trimWords($input.val());
                if (words.length > 1) {
                    v = words.slice(0, words.length - 1).join(options.multipleSeparator) + options.multipleSeparator + v;
                }
                v += options.multipleSeparator;
            }

            $input.val(v);
            hideResultsNow();
            $input.trigger("result", [selected.data, selected.value]);
            return true;
        }

        function onChange(crap, skipPrevCheck) {
            if (lastKeyPressCode == KEY.DEL) {
                select.hide();
                return;
            }

            var currentValue = $input.val();

            if (!skipPrevCheck && currentValue == previousValue)
                return;

            previousValue = currentValue;

            currentValue = lastWord(currentValue);
            if (currentValue.length >= options.minChars) {
                $input.addClass(options.loadingClass);
                if (!options.matchCase)
                    currentValue = currentValue.toLowerCase();
                request(currentValue, receiveData, hideResultsNow);
            } else {
                stopLoading();
                select.hide();
            }
        };

        function trimWords(value) {
            if (!value) {
                return [""];
            }
            var words = value.split(options.multipleSeparator);
            var result = [];
            $.each(words, function(i, value) {
                if ($.trim(value))
                    result[i] = $.trim(value);
            });
            return result;
        }

        function lastWord(value) {
            if (!options.multiple)
                return value;
            var words = trimWords(value);
            return words[words.length - 1];
        }

        // fills in the input box w/the first match (assumed to be the best match)
        // q: the term entered
        // sValue: the first matching result
        function autoFill(q, sValue) {
            // autofill in the complete box w/the first match as long as the user hasn't entered in more data
            // if the last user key pressed was backspace, don't autofill
            if (options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE) {
                // fill in the value (keep the case the user has typed)
                $input.val($input.val() + sValue.substring(lastWord(previousValue).length));
                // select the portion of the value not typed by the user (so the next character will erase)
                $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length);
            }
        };

        function hideResults() {
            clearTimeout(timeout);
            timeout = setTimeout(hideResultsNow, 200);
        };

        function hideResultsNow() {
            var wasVisible = select.visible();
            select.hide();
            clearTimeout(timeout);
            stopLoading();
            if (options.mustMatch) {
                // call search and run callback
                $input.search(
				function(result) {
				    // if no value found, clear the input box
				    if (!result) {
				        if (options.multiple) {
				            var words = trimWords($input.val()).slice(0, -1);
				            $input.val(words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : ""));
				        }
				        else
				            $input.val("");
				    }
				}
			);
            }
            if (wasVisible)
            // position cursor at end of input field
                $.Autocompleter.Selection(input, input.value.length, input.value.length);
        };

        function receiveData(q, data) {
            if (data && data.length && hasFocus) {
                stopLoading();
                select.display(data, q);
                autoFill(q, data[0].value);
                select.show();
            } else {
                hideResultsNow();
            }
        };

        function request(term, success, failure) {
            if (!options.matchCase)
                term = term.toLowerCase();
            var data = cache.load(term);
            // recieve the cached data
            if (data && data.length) {
                success(term, data);
                // if an AJAX url has been supplied, try loading the data now
            } else if ((typeof options.url == "string") && (options.url.length > 0)) {

                var extraParams = {
                    timestamp: +new Date()
                };
                $.each(options.extraParams, function(key, param) {
                    extraParams[key] = typeof param == "function" ? param() : param;
                });

                $.ajax({
                    // try to leverage ajaxQueue plugin to abort previous requests
                    mode: "abort",
                    // limit abortion to this input
                    port: "autocomplete" + input.name,
                    dataType: options.dataType,
                    url: options.url,
                    data: $.extend({
                        q: lastWord(term),
                        limit: options.max
                    }, extraParams),
                    success: function(data) {
                        var parsed = options.parse && options.parse(data) || parse(data);
                        cache.add(term, parsed);
                        success(term, parsed);
                    }
                });
            } else {
                // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
                select.emptyList();
                failure(term);
            }
        };

        function parse(data) {
            var parsed = [];
            var rows = data.split("\n");
            for (var i = 0; i < rows.length; i++) {
                var row = $.trim(rows[i]);
                if (row) {
                    row = row.split("|");
                    parsed[parsed.length] = {
                        data: row,
                        value: row[0],
                        result: options.formatResult && options.formatResult(row, row[0]) || row[0]
                    };
                }
            }
            return parsed;
        };

        function stopLoading() {
            $input.removeClass(options.loadingClass);
        };

    };

    $.Autocompleter.defaults = {
        inputClass: "ac_input",
        resultsClass: "ac_results",
        loadingClass: "ac_loading",
        minChars: 1,
        delay: 400,
        matchCase: false,
        matchSubset: true,
        matchContains: false,
        cacheLength: 10,
        max: 100,
        mustMatch: false,
        extraParams: {},
        selectFirst: true,
        formatItem: function(row) { return row[0]; },
        formatMatch: null,
        autoFill: false,
        width: 0,
        multiple: false,
        multipleSeparator: ", ",
        highlight: function(value, term) {
            return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
        },
        scroll: true,
        scrollHeight: 180
    };

    $.Autocompleter.Cache = function(options) {

        var data = {};
        var length = 0;

        function matchSubset(s, sub) {
            if (!options.matchCase)
                s = s.toLowerCase();
            var i = s.indexOf(sub);
            if (i == -1) return false;
            return i == 0 || options.matchContains;
        };

        function add(q, value) {
            if (length > options.cacheLength) {
                flush();
            }
            if (!data[q]) {
                length++;
            }
            data[q] = value;
        }

        function populate() {
            if (!options.data) return false;
            // track the matches
            var stMatchSets = {},
			nullData = 0;

            // no url was specified, we need to adjust the cache length to make sure it fits the local data store
            if (!options.url) options.cacheLength = 1;

            // track all options for minChars = 0
            stMatchSets[""] = [];

            // loop through the array and create a lookup structure
            for (var i = 0, ol = options.data.length; i < ol; i++) {
                var rawValue = options.data[i];
                // if rawValue is a string, make an array otherwise just reference the array
                rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;

                var value = options.formatMatch(rawValue, i + 1, options.data.length);
                if (value === false)
                    continue;

                var firstChar = value.charAt(0).toLowerCase();
                // if no lookup array for this character exists, look it up now
                if (!stMatchSets[firstChar])
                    stMatchSets[firstChar] = [];

                // if the match is a string
                var row = {
                    value: value,
                    data: rawValue,
                    result: options.formatResult && options.formatResult(rawValue) || value
                };

                // push the current match into the set list
                stMatchSets[firstChar].push(row);

                // keep track of minChars zero items
                if (nullData++ < options.max) {
                    stMatchSets[""].push(row);
                }
            };

            // add the data items to the cache
            $.each(stMatchSets, function(i, value) {
                // increase the cache size
                options.cacheLength++;
                // add to the cache
                add(i, value);
            });
        }

        // populate any existing data
        setTimeout(populate, 25);

        function flush() {
            data = {};
            length = 0;
        }

        return {
            flush: flush,
            add: add,
            populate: populate,
            load: function(q) {
                if (!options.cacheLength || !length)
                    return null;
                /* 
                * if dealing w/local data and matchContains than we must make sure
                * to loop through all the data collections looking for matches
                */
                if (!options.url && options.matchContains) {
                    // track all matches
                    var csub = [];
                    // loop through all the data grids for matches
                    for (var k in data) {
                        // don't search through the stMatchSets[""] (minChars: 0) cache
                        // this prevents duplicates
                        if (k.length > 0) {
                            var c = data[k];
                            $.each(c, function(i, x) {
                                // if we've got a match, add it to the array
                                if (matchSubset(x.value, q)) {
                                    csub.push(x);
                                }
                            });
                        }
                    }
                    return csub;
                } else
                // if the exact item exists, use it
                    if (data[q]) {
                    return data[q];
                } else
                    if (options.matchSubset) {
                    for (var i = q.length - 1; i >= options.minChars; i--) {
                        var c = data[q.substr(0, i)];
                        if (c) {
                            var csub = [];
                            $.each(c, function(i, x) {
                                if (matchSubset(x.value, q)) {
                                    csub[csub.length] = x;
                                }
                            });
                            return csub;
                        }
                    }
                }
                return null;
            }
        };
    };

    $.Autocompleter.Select = function(options, input, select, config) {
        var CLASSES = {
            ACTIVE: "ac_over"
        };

        var listItems,
		active = -1,
		data,
		term = "",
		needsInit = true,
		element,
		list;

        // Create results
        function init() {
            if (!needsInit)
                return;
            element = $("<div/>")
		.hide()
		.addClass(options.resultsClass)
		.css("position", "absolute")
		.appendTo(document.body);

            list = $("<ul/>").appendTo(element).mouseover(function(event) {
                if (target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
                    active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
                    $(target(event)).addClass(CLASSES.ACTIVE);
                }
            }).click(function(event) {
                $(target(event)).addClass(CLASSES.ACTIVE);
                select();
                // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
                input.focus();
                return false;
            }).mousedown(function() {
                config.mouseDownOnSelect = true;
            }).mouseup(function() {
                config.mouseDownOnSelect = false;
            });

            if (options.width > 0)
                element.css("width", options.width);

            needsInit = false;
        }

        function target(event) {
            var element = event.target;
            while (element && element.tagName != "LI")
                element = element.parentNode;
            // more fun with IE, sometimes event.target is empty, just ignore it then
            if (!element)
                return [];
            return element;
        }

        function moveSelect(step) {
            listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
            movePosition(step);
            var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
            if (options.scroll) {
                var offset = 0;
                listItems.slice(0, active).each(function() {
                    offset += this.offsetHeight;
                });
                if ((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
                    list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
                } else if (offset < list.scrollTop()) {
                    list.scrollTop(offset);
                }
            }
        };

        function movePosition(step) {
            active += step;
            if (active < 0) {
                active = listItems.size() - 1;
            } else if (active >= listItems.size()) {
                active = 0;
            }
        }

        function limitNumberOfItems(available) {
            return options.max && options.max < available
			? options.max
			: available;
        }

        function fillList() {
            list.empty();
            var max = limitNumberOfItems(data.length);
            for (var i = 0; i < max; i++) {
                if (!data[i])
                    continue;
                var formatted = options.formatItem(data[i].data, i + 1, max, data[i].value, term);
                if (formatted === false)
                    continue;
                var li = $("<li/>").html(options.highlight(formatted, term)).addClass(i % 2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
                $.data(li, "ac_data", data[i]);
            }
            listItems = list.find("li");
            if (options.selectFirst) {
                listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
                active = 0;
            }
            // apply bgiframe if available
            if ($.fn.bgiframe)
                list.bgiframe();
        }

        return {
            display: function(d, q) {
                init();
                data = d;
                term = q;
                fillList();
            },
            next: function() {
                moveSelect(1);
            },
            prev: function() {
                moveSelect(-1);
            },
            pageUp: function() {
                if (active != 0 && active - 8 < 0) {
                    moveSelect(-active);
                } else {
                    moveSelect(-8);
                }
            },
            pageDown: function() {
                if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
                    moveSelect(listItems.size() - 1 - active);
                } else {
                    moveSelect(8);
                }
            },
            hide: function() {
                element && element.hide();
                listItems && listItems.removeClass(CLASSES.ACTIVE);
                active = -1;
            },
            visible: function() {
                return element && element.is(":visible");
            },
            current: function() {
                return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
            },
            show: function() {
                var offset = $(input).offset();
                element.css({
                    width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
                    top: offset.top + input.offsetHeight,
                    left: offset.left
                }).show();
                if (options.scroll) {
                    list.scrollTop(0);
                    list.css({
                        maxHeight: options.scrollHeight,
                        overflow: 'auto'
                    });

                    if ($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
                        var listHeight = 0;
                        listItems.each(function() {
                            listHeight += this.offsetHeight;
                        });
                        var scrollbarsVisible = listHeight > options.scrollHeight;
                        list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight);
                        if (!scrollbarsVisible) {
                            // IE doesn't recalculate width when scrollbar disappears
                            listItems.width(list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")));
                        }
                    }

                }
            },
            selected: function() {
                var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
                return selected && selected.length && $.data(selected[0], "ac_data");
            },
            emptyList: function() {
                list && list.empty();
            },
            unbind: function() {
                element && element.remove();
            }
        };
    };

    $.Autocompleter.Selection = function(field, start, end) {
        if (field.createTextRange) {
            var selRange = field.createTextRange();
            selRange.collapse(true);
            selRange.moveStart("character", start);
            selRange.moveEnd("character", end);
            selRange.select();
        } else if (field.setSelectionRange) {
            field.setSelectionRange(start, end);
        } else {
            if (field.selectionStart) {
                field.selectionStart = start;
                field.selectionEnd = end;
            }
        }
        field.focus();
    };

})(jQuery);
var sIFR = new function() { var O = this; var E = { ACTIVE: "sIFR-active", REPLACED: "sIFR-replaced", IGNORE: "sIFR-ignore", ALTERNATE: "sIFR-alternate", CLASS: "sIFR-class", LAYOUT: "sIFR-layout", FLASH: "sIFR-flash", FIX_FOCUS: "sIFR-fixfocus", DUMMY: "sIFR-dummy" }; E.IGNORE_CLASSES = [E.REPLACED, E.IGNORE, E.ALTERNATE]; this.MIN_FONT_SIZE = 6; this.MAX_FONT_SIZE = 126; this.FLASH_PADDING_BOTTOM = 5; this.VERSION = "436"; this.isActive = false; this.isEnabled = true; this.fixHover = true; this.autoInitialize = true; this.setPrefetchCookie = true; this.cookiePath = "/"; this.domains = []; this.forceWidth = true; this.fitExactly = false; this.forceTextTransform = true; this.useDomLoaded = true; this.useStyleCheck = false; this.hasFlashClassSet = false; this.repaintOnResize = true; this.replacements = []; var L = 0; var R = false; function Y() { } function D(c) { function d(e) { return e.toLocaleUpperCase() } this.normalize = function(e) { return e.replace(/\n|\r|\xA0/g, D.SINGLE_WHITESPACE).replace(/\s+/g, D.SINGLE_WHITESPACE) }; this.textTransform = function(e, f) { switch (e) { case "uppercase": return f.toLocaleUpperCase(); case "lowercase": return f.toLocaleLowerCase(); case "capitalize": return f.replace(/^\w|\s\w/g, d) } return f }; this.toHexString = function(e) { if (e.charAt(0) != "#" || e.length != 4 && e.length != 7) { return e } e = e.substring(1); return "0x" + (e.length == 3 ? e.replace(/(.)(.)(.)/, "$1$1$2$2$3$3") : e) }; this.toJson = function(g, f) { var e = ""; switch (typeof (g)) { case "string": e = '"' + f(g) + '"'; break; case "number": case "boolean": e = g.toString(); break; case "object": e = []; for (var h in g) { if (g[h] == Object.prototype[h]) { continue } e.push('"' + h + '":' + this.toJson(g[h])) } e = "{" + e.join(",") + "}"; break } return e }; this.convertCssArg = function(e) { if (!e) { return {} } if (typeof (e) == "object") { if (e.constructor == Array) { e = e.join("") } else { return e } } var l = {}; var m = e.split("}"); for (var h = 0; h < m.length; h++) { var k = m[h].match(/([^\s{]+)\s*\{(.+)\s*;?\s*/); if (!k || k.length != 3) { continue } if (!l[k[1]]) { l[k[1]] = {} } var g = k[2].split(";"); for (var f = 0; f < g.length; f++) { var n = g[f].match(/\s*([^:\s]+)\s*\:\s*([^;]+)/); if (!n || n.length != 3) { continue } l[k[1]][n[1]] = n[2].replace(/\s+$/, "") } } return l }; this.extractFromCss = function(g, f, i, e) { var h = null; if (g && g[f] && g[f][i]) { h = g[f][i]; if (e) { delete g[f][i] } } return h }; this.cssToString = function(f) { var g = []; for (var e in f) { var j = f[e]; if (j == Object.prototype[e]) { continue } g.push(e, "{"); for (var i in j) { if (j[i] == Object.prototype[i]) { continue } var h = j[i]; if (D.UNIT_REMOVAL_PROPERTIES[i]) { h = parseInt(h, 10) } g.push(i, ":", h, ";") } g.push("}") } return g.join("") }; this.escape = function(e) { return escape(e).replace(/\+/g, "%2B") }; this.encodeVars = function(e) { return e.join("&").replace(/%/g, "%25") }; this.copyProperties = function(g, f) { for (var e in g) { if (f[e] === undefined) { f[e] = g[e] } } return f }; this.domain = function() { var f = ""; try { f = document.domain } catch (g) { } return f }; this.domainMatches = function(h, g) { if (g == "*" || g == h) { return true } var f = g.lastIndexOf("*"); if (f > -1) { g = g.substr(f + 1); var e = h.lastIndexOf(g); if (e > -1 && (e + g.length) == h.length) { return true } } return false }; this.uriEncode = function(e) { return encodeURI(decodeURIComponent(e)) }; this.delay = function(f, h, g) { var e = Array.prototype.slice.call(arguments, 3); setTimeout(function() { h.apply(g, e) }, f) } } D.UNIT_REMOVAL_PROPERTIES = { leading: true, "margin-left": true, "margin-right": true, "text-indent": true }; D.SINGLE_WHITESPACE = " "; function U(e) { var d = this; function c(g, j, h) { var k = d.getStyleAsInt(g, j, e.ua.ie); if (k == 0) { k = g[h]; for (var f = 3; f < arguments.length; f++) { k -= d.getStyleAsInt(g, arguments[f], true) } } return k } this.getBody = function() { return document.getElementsByTagName("body")[0] || null }; this.querySelectorAll = function(f) { return window.parseSelector(f) }; this.addClass = function(f, g) { if (g) { g.className = ((g.className || "") == "" ? "" : g.className + " ") + f } }; this.removeClass = function(f, g) { if (g) { g.className = g.className.replace(new RegExp("(^|\\s)" + f + "(\\s|$)"), "").replace(/^\s+|(\s)\s+/g, "$1") } }; this.hasClass = function(f, g) { return new RegExp("(^|\\s)" + f + "(\\s|$)").test(g.className) }; this.hasOneOfClassses = function(h, g) { for (var f = 0; f < h.length; f++) { if (this.hasClass(h[f], g)) { return true } } return false }; this.ancestorHasClass = function(g, f) { g = g.parentNode; while (g && g.nodeType == 1) { if (this.hasClass(f, g)) { return true } g = g.parentNode } return false }; this.create = function(f, g) { var h = document.createElementNS ? document.createElementNS(U.XHTML_NS, f) : document.createElement(f); if (g) { h.className = g } return h }; this.getComputedStyle = function(h, i) { var f; if (document.defaultView && document.defaultView.getComputedStyle) { var g = document.defaultView.getComputedStyle(h, null); f = g ? g[i] : null } else { if (h.currentStyle) { f = h.currentStyle[i] } } return f || "" }; this.getStyleAsInt = function(g, i, f) { var h = this.getComputedStyle(g, i); if (f && !/px$/.test(h)) { return 0 } return parseInt(h) || 0 }; this.getWidthFromStyle = function(f) { return c(f, "width", "offsetWidth", "paddingRight", "paddingLeft", "borderRightWidth", "borderLeftWidth") }; this.getHeightFromStyle = function(f) { return c(f, "height", "offsetHeight", "paddingTop", "paddingBottom", "borderTopWidth", "borderBottomWidth") }; this.getDimensions = function(j) { var h = j.offsetWidth; var f = j.offsetHeight; if (h == 0 || f == 0) { for (var g = 0; g < j.childNodes.length; g++) { var k = j.childNodes[g]; if (k.nodeType != 1) { continue } h = Math.max(h, k.offsetWidth); f = Math.max(f, k.offsetHeight) } } return { width: h, height: f} }; this.getViewport = function() { return { width: window.innerWidth || document.documentElement.clientWidth || this.getBody().clientWidth, height: window.innerHeight || document.documentElement.clientHeight || this.getBody().clientHeight} }; this.blurElement = function(g) { try { g.blur(); return } catch (h) { } var f = this.create("input"); f.style.width = "0px"; f.style.height = "0px"; g.parentNode.appendChild(f); f.focus(); f.blur(); f.parentNode.removeChild(f) } } U.XHTML_NS = "http://www.w3.org/1999/xhtml"; function H(r) { var g = navigator.userAgent.toLowerCase(); var q = (navigator.product || "").toLowerCase(); var h = navigator.platform.toLowerCase(); this.parseVersion = H.parseVersion; this.macintosh = /^mac/.test(h); this.windows = /^win/.test(h); this.linux = /^linux/.test(h); this.quicktime = false; this.opera = /opera/.test(g); this.konqueror = /konqueror/.test(g); this.ie = false/*@cc_on || true@*/; this.ieSupported = this.ie && !/ppc|smartphone|iemobile|msie\s5\.5/.test(g)/*@cc_on && @_jscript_version >= 5.5@*/; this.ieWin = this.ie && this.windows/*@cc_on && @_jscript_version >= 5.1@*/; this.windows = this.windows && (!this.ie || this.ieWin); this.ieMac = this.ie && this.macintosh/*@cc_on && @_jscript_version < 5.1@*/; this.macintosh = this.macintosh && (!this.ie || this.ieMac); this.safari = /safari/.test(g); this.webkit = !this.konqueror && /applewebkit/.test(g); this.khtml = this.webkit || this.konqueror; this.gecko = !this.khtml && q == "gecko"; this.ieVersion = this.ie && /.*msie\s(\d\.\d)/.exec(g) ? this.parseVersion(RegExp.$1) : "0"; this.operaVersion = this.opera && /.*opera(\s|\/)(\d+\.\d+)/.exec(g) ? this.parseVersion(RegExp.$2) : "0"; this.webkitVersion = this.webkit && /.*applewebkit\/(\d+).*/.exec(g) ? this.parseVersion(RegExp.$1) : "0"; this.geckoVersion = this.gecko && /.*rv:\s*([^\)]+)\)\s+gecko/.exec(g) ? this.parseVersion(RegExp.$1) : "0"; this.konquerorVersion = this.konqueror && /.*konqueror\/([\d\.]+).*/.exec(g) ? this.parseVersion(RegExp.$1) : "0"; this.flashVersion = 0; if (this.ieWin) { var l; var o = false; try { l = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7") } catch (m) { try { l = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); this.flashVersion = this.parseVersion("6"); l.AllowScriptAccess = "always" } catch (m) { o = this.flashVersion == this.parseVersion("6") } if (!o) { try { l = new ActiveXObject("ShockwaveFlash.ShockwaveFlash") } catch (m) { } } } if (!o && l) { this.flashVersion = this.parseVersion((l.GetVariable("$version") || "").replace(/^\D+(\d+)\D+(\d+)\D+(\d+).*/g, "$1.$2.$3")) } } else { if (navigator.plugins && navigator.plugins["Shockwave Flash"]) { var n = navigator.plugins["Shockwave Flash"].description.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); var p = n.replace(/^\D*(\d+\.\d+).*$/, "$1"); if (/r/.test(n)) { p += n.replace(/^.*r(\d*).*$/, ".$1") } else { if (/d/.test(n)) { p += ".0" } } this.flashVersion = this.parseVersion(p); var j = false; for (var k = 0, c = this.flashVersion >= H.MIN_FLASH_VERSION; c && k < navigator.mimeTypes.length; k++) { var f = navigator.mimeTypes[k]; if (f.type != "application/x-shockwave-flash") { continue } if (f.enabledPlugin) { j = true; if (f.enabledPlugin.description.toLowerCase().indexOf("quicktime") > -1) { c = false; this.quicktime = true } } } if (this.quicktime || !j) { this.flashVersion = this.parseVersion("0") } } } this.flash = this.flashVersion >= H.MIN_FLASH_VERSION; this.transparencySupport = this.macintosh || this.windows || this.linux && (this.flashVersion >= this.parseVersion("10") && (this.gecko && this.geckoVersion >= this.parseVersion("1.9") || this.opera)); this.computedStyleSupport = this.ie || !!document.defaultView.getComputedStyle; this.fixFocus = this.gecko && this.windows; this.nativeDomLoaded = this.gecko || this.webkit && this.webkitVersion >= this.parseVersion("525") || this.konqueror && this.konquerorMajor > this.parseVersion("03") || this.opera; this.mustCheckStyle = this.khtml || this.opera; this.forcePageLoad = this.webkit && this.webkitVersion < this.parseVersion("523"); this.properDocument = typeof (document.location) == "object"; this.supported = this.flash && this.properDocument && (!this.ie || this.ieSupported) && this.computedStyleSupport && (!this.opera || this.operaVersion >= this.parseVersion("9.61")) && (!this.webkit || this.webkitVersion >= this.parseVersion("412")) && (!this.gecko || this.geckoVersion >= this.parseVersion("1.8.0.12")) && (!this.konqueror) } H.parseVersion = function(c) { return c.replace(/(^|\D)(\d+)(?=\D|$)/g, function(f, e, g) { f = e; for (var d = 4 - g.length; d >= 0; d--) { f += "0" } return f + g }) }; H.MIN_FLASH_VERSION = H.parseVersion("8"); function F(c) { this.fix = c.ua.ieWin && window.location.hash != ""; var d; this.cache = function() { d = document.title }; function e() { document.title = d } this.restore = function() { if (this.fix) { setTimeout(e, 0) } } } function S(l) { var e = null; function c() { try { if (l.ua.ie || document.readyState != "loaded" && document.readyState != "complete") { document.documentElement.doScroll("left") } } catch (n) { return setTimeout(c, 10) } i() } function i() { if (l.useStyleCheck) { h() } else { if (!l.ua.mustCheckStyle) { d(null, true) } } } function h() { e = l.dom.create("div", E.DUMMY); l.dom.getBody().appendChild(e); m() } function m() { if (l.dom.getComputedStyle(e, "marginLeft") == "42px") { g() } else { setTimeout(m, 10) } } function g() { if (e && e.parentNode) { e.parentNode.removeChild(e) } e = null; d(null, true) } function d(n, o) { l.initialize(o); if (n && n.type == "load") { if (document.removeEventListener) { document.removeEventListener("DOMContentLoaded", d, false) } if (window.removeEventListener) { window.removeEventListener("load", d, false) } } } function j() { l.prepareClearReferences(); if (document.readyState == "interactive") { document.attachEvent("onstop", f); setTimeout(function() { document.detachEvent("onstop", f) }, 0) } } function f() { document.detachEvent("onstop", f); k() } function k() { l.clearReferences() } this.attach = function() { if (window.addEventListener) { window.addEventListener("load", d, false) } else { window.attachEvent("onload", d) } if (!l.useDomLoaded || l.ua.forcePageLoad || l.ua.ie && window.top != window) { return } if (l.ua.nativeDomLoaded) { document.addEventListener("DOMContentLoaded", i, false) } else { if (l.ua.ie || l.ua.khtml) { c() } } }; this.attachUnload = function() { if (!l.ua.ie) { return } window.attachEvent("onbeforeunload", j); window.attachEvent("onunload", k) } } var Q = "sifrFetch"; function N(c) { var e = false; this.fetchMovies = function(f) { if (c.setPrefetchCookie && new RegExp(";?" + Q + "=true;?").test(document.cookie)) { return } try { e = true; d(f) } catch (g) { } if (c.setPrefetchCookie) { document.cookie = Q + "=true;path=" + c.cookiePath } }; this.clear = function() { if (!e) { return } try { var f = document.getElementsByTagName("script"); for (var g = f.length - 1; g >= 0; g--) { var h = f[g]; if (h.type == "sifr/prefetch") { h.parentNode.removeChild(h) } } } catch (j) { } }; function d(f) { for (var g = 0; g < f.length; g++) { document.write('<script defer type="sifr/prefetch" src="' + f[g].src + '"><\/script>') } } } function b(e) { var g = e.ua.ie; var f = g && e.ua.flashVersion < e.ua.parseVersion("9.0.115"); var d = {}; var c = {}; this.fixFlash = f; this.register = function(h) { if (!g) { return } var i = h.getAttribute("id"); this.cleanup(i, false); c[i] = h; delete d[i]; if (f) { window[i] = h } }; this.reset = function() { if (!g) { return false } for (var j = 0; j < e.replacements.length; j++) { var h = e.replacements[j]; var k = c[h.id]; if (!d[h.id] && (!k.parentNode || k.parentNode.nodeType == 11)) { h.resetMovie(); d[h.id] = true } } return true }; this.cleanup = function(l, h) { var i = c[l]; if (!i) { return } for (var k in i) { if (typeof (i[k]) == "function") { i[k] = null } } c[l] = null; if (f) { window[l] = null } if (i.parentNode) { if (h && i.parentNode.nodeType == 1) { var j = document.createElement("div"); j.style.width = i.offsetWidth + "px"; j.style.height = i.offsetHeight + "px"; i.parentNode.replaceChild(j, i) } else { i.parentNode.removeChild(i) } } }; this.prepareClearReferences = function() { if (!f) { return } __flash_unloadHandler = function() { }; __flash_savedUnloadHandler = function() { } }; this.clearReferences = function() { if (f) { var j = document.getElementsByTagName("object"); for (var h = j.length - 1; h >= 0; h--) { c[j[h].getAttribute("id")] = j[h] } } for (var k in c) { if (Object.prototype[k] != c[k]) { this.cleanup(k, true) } } } } function K(d, g, f, c, e) { this.sIFR = d; this.id = g; this.vars = f; this.movie = null; this.__forceWidth = c; this.__events = e; this.__resizing = 0 } K.prototype = { getFlashElement: function() { return document.getElementById(this.id) }, getAlternate: function() { return document.getElementById(this.id + "_alternate") }, getAncestor: function() { var c = this.getFlashElement().parentNode; return !this.sIFR.dom.hasClass(E.FIX_FOCUS, c) ? c : c.parentNode }, available: function() { var c = this.getFlashElement(); return c && c.parentNode }, call: function(c) { var d = this.getFlashElement(); if (!d[c]) { return false } return Function.prototype.apply.call(d[c], d, Array.prototype.slice.call(arguments, 1)) }, attempt: function() { if (!this.available()) { return false } try { this.call.apply(this, arguments) } catch (c) { if (this.sIFR.debug) { throw c } return false } return true }, updateVars: function(c, e) { for (var d = 0; d < this.vars.length; d++) { if (this.vars[d].split("=")[0] == c) { this.vars[d] = c + "=" + e; break } } var f = this.sIFR.util.encodeVars(this.vars); this.movie.injectVars(this.getFlashElement(), f); this.movie.injectVars(this.movie.html, f) }, storeSize: function(c, d) { this.movie.setSize(c, d); this.updateVars(c, d) }, fireEvent: function(c) { if (this.available() && this.__events[c]) { this.sIFR.util.delay(0, this.__events[c], this, this) } }, resizeFlashElement: function(c, d, e) { if (!this.available()) { return } this.__resizing++; var f = this.getFlashElement(); f.setAttribute("height", c); this.getAncestor().style.minHeight = ""; this.updateVars("renderheight", c); this.storeSize("height", c); if (d !== null) { f.setAttribute("width", d); this.movie.setSize("width", d) } if (this.__events.onReplacement) { this.sIFR.util.delay(0, this.__events.onReplacement, this, this); delete this.__events.onReplacement } if (e) { this.sIFR.util.delay(0, function() { this.attempt("scaleMovie"); this.__resizing-- }, this) } else { this.__resizing-- } }, blurFlashElement: function() { if (this.available()) { this.sIFR.dom.blurElement(this.getFlashElement()) } }, resetMovie: function() { this.sIFR.util.delay(0, this.movie.reset, this.movie, this.getFlashElement(), this.getAlternate()) }, resizeAfterScale: function() { if (this.available() && this.__resizing == 0) { this.sIFR.util.delay(0, this.resize, this) } }, resize: function() { if (!this.available()) { return } this.__resizing++; var g = this.getFlashElement(); var f = g.offsetWidth; if (f == 0) { return } var e = g.getAttribute("width"); var l = g.getAttribute("height"); var m = this.getAncestor(); var o = this.sIFR.dom.getHeightFromStyle(m); g.style.width = "1px"; g.style.height = "1px"; m.style.minHeight = o + "px"; var c = this.getAlternate().childNodes; var n = []; for (var k = 0; k < c.length; k++) { var h = c[k].cloneNode(true); n.push(h); m.appendChild(h) } var d = this.sIFR.dom.getWidthFromStyle(m); for (var k = 0; k < n.length; k++) { m.removeChild(n[k]) } g.style.width = g.style.height = m.style.minHeight = ""; g.setAttribute("width", this.__forceWidth ? d : e); g.setAttribute("height", l); if (sIFR.ua.ie) { g.style.display = "none"; var j = g.offsetHeight; g.style.display = "" } if (d != f) { if (this.__forceWidth) { this.storeSize("width", d) } this.attempt("resize", d) } this.__resizing-- }, replaceText: function(g, j) { var d = this.sIFR.util.escape(g); if (!this.attempt("replaceText", d)) { return false } this.updateVars("content", d); var f = this.getAlternate(); if (j) { while (f.firstChild) { f.removeChild(f.firstChild) } for (var c = 0; c < j.length; c++) { f.appendChild(j[c]) } } else { try { f.innerHTML = g } catch (h) { } } return true }, changeCSS: function(c) { c = this.sIFR.util.escape(this.sIFR.util.cssToString(this.sIFR.util.convertCssArg(c))); this.updateVars("css", c); return this.attempt("changeCSS", c) }, remove: function() { if (this.movie && this.available()) { this.movie.remove(this.getFlashElement(), this.id) } } }; var X = new function() { this.create = function(p, n, j, i, f, e, g, o, l, h, m) { var k = p.ua.ie ? d : c; return new k(p, n, j, i, f, e, g, o, ["flashvars", l, "wmode", h, "bgcolor", m, "allowScriptAccess", "always", "quality", "best"]) }; function c(s, q, l, h, f, e, g, r, n) { var m = s.dom.create("object", E.FLASH); var p = ["type", "application/x-shockwave-flash", "id", f, "name", f, "data", e, "width", g, "height", r]; for (var o = 0; o < p.length; o += 2) { m.setAttribute(p[o], p[o + 1]) } var j = m; if (h) { j = W.create("div", E.FIX_FOCUS); j.appendChild(m) } for (var o = 0; o < n.length; o += 2) { if (n[o] == "name") { continue } var k = W.create("param"); k.setAttribute("name", n[o]); k.setAttribute("value", n[o + 1]); m.appendChild(k) } l.style.minHeight = r + "px"; while (l.firstChild) { l.removeChild(l.firstChild) } l.appendChild(j); this.html = j.cloneNode(true) } c.prototype = { reset: function(e, f) { e.parentNode.replaceChild(this.html.cloneNode(true), e) }, remove: function(e, f) { e.parentNode.removeChild(e) }, setSize: function(e, f) { this.html.setAttribute(e, f) }, injectVars: function(e, g) { var h = e.getElementsByTagName("param"); for (var f = 0; f < h.length; f++) { if (h[f].getAttribute("name") == "flashvars") { h[f].setAttribute("value", g); break } } } }; function d(p, n, j, h, f, e, g, o, k) { this.dom = p.dom; this.broken = n; this.html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="' + f + '" width="' + g + '" height="' + o + '" class="' + E.FLASH + '"><param name="movie" value="' + e + '"></param></object>'; var m = ""; for (var l = 0; l < k.length; l += 2) { m += '<param name="' + k[l] + '" value="' + k[l + 1] + '"></param>' } this.html = this.html.replace(/(<\/object>)/, m + "$1"); j.style.minHeight = o + "px"; j.innerHTML = this.html; this.broken.register(j.firstChild) } d.prototype = { reset: function(f, g) { g = g.cloneNode(true); var e = f.parentNode; e.innerHTML = this.html; this.broken.register(e.firstChild); e.appendChild(g) }, remove: function(e, f) { this.broken.cleanup(f) }, setSize: function(e, f) { this.html = this.html.replace(e == "height" ? /(height)="\d+"/ : /(width)="\d+"/, '$1="' + f + '"') }, injectVars: function(e, f) { if (e != this.html) { return } this.html = this.html.replace(/(flashvars(=|\"\svalue=)\")[^\"]+/, "$1" + f) } } }; this.errors = new Y(O); var A = this.util = new D(O); var W = this.dom = new U(O); var T = this.ua = new H(O); var G = { fragmentIdentifier: new F(O), pageLoad: new S(O), prefetch: new N(O), brokenFlashIE: new b(O) }; this.__resetBrokenMovies = G.brokenFlashIE.reset; var J = { kwargs: [], replaceAll: function(d) { for (var c = 0; c < this.kwargs.length; c++) { O.replace(this.kwargs[c]) } if (!d) { this.kwargs = [] } } }; this.activate = function() { if (!T.supported || !this.isEnabled || this.isActive || !C() || a()) { return } G.prefetch.fetchMovies(arguments); this.isActive = true; this.setFlashClass(); G.fragmentIdentifier.cache(); G.pageLoad.attachUnload(); if (!this.autoInitialize) { return } G.pageLoad.attach() }; this.setFlashClass = function() { if (this.hasFlashClassSet) { return } W.addClass(E.ACTIVE, W.getBody() || document.documentElement); this.hasFlashClassSet = true }; this.removeFlashClass = function() { if (!this.hasFlashClassSet) { return } W.removeClass(E.ACTIVE, W.getBody()); W.removeClass(E.ACTIVE, document.documentElement); this.hasFlashClassSet = false }; this.initialize = function(c) { if (!this.isActive || !this.isEnabled) { return } if (R) { if (!c) { J.replaceAll(false) } return } R = true; J.replaceAll(c); if (O.repaintOnResize) { if (window.addEventListener) { window.addEventListener("resize", Z, false) } else { window.attachEvent("onresize", Z) } } G.prefetch.clear() }; this.replace = function(x, u) { if (!T.supported) { return } if (u) { x = A.copyProperties(x, u) } if (!R) { return J.kwargs.push(x) } if (this.onReplacementStart) { this.onReplacementStart(x) } var AM = x.elements || W.querySelectorAll(x.selector); if (AM.length == 0) { return } var w = M(x.src); var AR = A.convertCssArg(x.css); var v = B(x.filters); var AN = x.forceSingleLine === true; var AS = x.preventWrap === true && !AN; var q = AN || (x.fitExactly == null ? this.fitExactly : x.fitExactly) === true; var AD = q || (x.forceWidth == null ? this.forceWidth : x.forceWidth) === true; var s = x.ratios || []; var AE = x.pixelFont === true; var r = parseInt(x.tuneHeight) || 0; var z = !!x.onRelease || !!x.onRollOver || !!x.onRollOut; if (q) { A.extractFromCss(AR, ".sIFR-root", "text-align", true) } var t = A.extractFromCss(AR, ".sIFR-root", "font-size", true) || "0"; var e = A.extractFromCss(AR, ".sIFR-root", "background-color", true) || "#FFFFFF"; var o = A.extractFromCss(AR, ".sIFR-root", "kerning", true) || ""; var AW = A.extractFromCss(AR, ".sIFR-root", "opacity", true) || "100"; var k = A.extractFromCss(AR, ".sIFR-root", "cursor", true) || "default"; var AP = parseInt(A.extractFromCss(AR, ".sIFR-root", "leading")) || 0; var AJ = x.gridFitType || (A.extractFromCss(AR, ".sIFR-root", "text-align") == "right") ? "subpixel" : "pixel"; var h = this.forceTextTransform === false ? "none" : A.extractFromCss(AR, ".sIFR-root", "text-transform", true) || "none"; t = /^\d+(px)?$/.test(t) ? parseInt(t) : 0; AW = parseFloat(AW) < 1 ? 100 * parseFloat(AW) : AW; var AC = x.modifyCss ? "" : A.cssToString(AR); var AG = x.wmode || ""; if (!AG) { if (x.transparent) { AG = "transparent" } else { if (x.opaque) { AG = "opaque" } } } if (AG == "transparent") { if (!T.transparencySupport) { AG = "opaque" } else { e = "transparent" } } else { if (e == "transparent") { e = "#FFFFFF" } } for (var AV = 0; AV < AM.length; AV++) { var AF = AM[AV]; if (W.hasOneOfClassses(E.IGNORE_CLASSES, AF) || W.ancestorHasClass(AF, E.ALTERNATE)) { continue } var AO = W.getDimensions(AF); var f = AO.height; var c = AO.width; var AA = W.getComputedStyle(AF, "display"); if (!f || !c || !AA || AA == "none") { continue } c = W.getWidthFromStyle(AF); var n, AH; if (!t) { var AL = I(AF); n = Math.min(this.MAX_FONT_SIZE, Math.max(this.MIN_FONT_SIZE, AL.fontSize)); if (AE) { n = Math.max(8, 8 * Math.round(n / 8)) } AH = AL.lines } else { n = t; AH = 1 } var d = W.create("span", E.ALTERNATE); var AX = AF.cloneNode(true); AF.parentNode.appendChild(AX); for (var AU = 0, AT = AX.childNodes.length; AU < AT; AU++) { var m = AX.childNodes[AU]; if (!/^(style|script)$/i.test(m.nodeName)) { d.appendChild(m.cloneNode(true)) } } if (x.modifyContent) { x.modifyContent(AX, x.selector) } if (x.modifyCss) { AC = x.modifyCss(AR, AX, x.selector) } var p = P(AX, h, x.uriEncode); AX.parentNode.removeChild(AX); if (x.modifyContentString) { p.text = x.modifyContentString(p.text, x.selector) } if (p.text == "") { continue } var AK = Math.round(AH * V(n, s) * n) + this.FLASH_PADDING_BOTTOM + r; if (AH > 1 && AP) { AK += Math.round((AH - 1) * AP) } var AB = AD ? c : "100%"; var AI = "sIFR_replacement_" + L++; var AQ = ["id=" + AI, "content=" + A.escape(p.text), "width=" + c, "renderheight=" + AK, "link=" + A.escape(p.primaryLink.href || ""), "target=" + A.escape(p.primaryLink.target || ""), "size=" + n, "css=" + A.escape(AC), "cursor=" + k, "tunewidth=" + (x.tuneWidth || 0), "tuneheight=" + r, "offsetleft=" + (x.offsetLeft || ""), "offsettop=" + (x.offsetTop || ""), "fitexactly=" + q, "preventwrap=" + AS, "forcesingleline=" + AN, "antialiastype=" + (x.antiAliasType || ""), "thickness=" + (x.thickness || ""), "sharpness=" + (x.sharpness || ""), "kerning=" + o, "gridfittype=" + AJ, "flashfilters=" + v, "opacity=" + AW, "blendmode=" + (x.blendMode || ""), "selectable=" + (x.selectable == null || AG != "" && !sIFR.ua.macintosh && sIFR.ua.gecko && sIFR.ua.geckoVersion >= sIFR.ua.parseVersion("1.9") ? "true" : x.selectable === true), "fixhover=" + (this.fixHover === true), "events=" + z, "delayrun=" + G.brokenFlashIE.fixFlash, "version=" + this.VERSION]; var y = A.encodeVars(AQ); var g = new K(O, AI, AQ, AD, { onReplacement: x.onReplacement, onRollOver: x.onRollOver, onRollOut: x.onRollOut, onRelease: x.onRelease }); g.movie = X.create(sIFR, G.brokenFlashIE, AF, T.fixFocus && x.fixFocus, AI, w, AB, AK, y, AG, e); this.replacements.push(g); this.replacements[AI] = g; if (x.selector) { if (!this.replacements[x.selector]) { this.replacements[x.selector] = [g] } else { this.replacements[x.selector].push(g) } } d.setAttribute("id", AI + "_alternate"); AF.appendChild(d); W.addClass(E.REPLACED, AF) } G.fragmentIdentifier.restore() }; this.getReplacementByFlashElement = function(d) { for (var c = 0; c < O.replacements.length; c++) { if (O.replacements[c].id == d.getAttribute("id")) { return O.replacements[c] } } }; this.redraw = function() { for (var c = 0; c < O.replacements.length; c++) { O.replacements[c].resetMovie() } }; this.prepareClearReferences = function() { G.brokenFlashIE.prepareClearReferences() }; this.clearReferences = function() { G.brokenFlashIE.clearReferences(); G = null; J = null; delete O.replacements }; function C() { if (O.domains.length == 0) { return true } var d = A.domain(); for (var c = 0; c < O.domains.length; c++) { if (A.domainMatches(d, O.domains[c])) { return true } } return false } function a() { if (document.location.protocol == "file:") { if (O.debug) { O.errors.fire("isFile") } return true } return false } function M(c) { if (T.ie && c.charAt(0) == "/") { c = window.location.toString().replace(/([^:]+)(:\/?\/?)([^\/]+).*/, "$1$2$3") + c } return c } function V(d, e) { for (var c = 0; c < e.length; c += 2) { if (d <= e[c]) { return e[c + 1] } } return e[e.length - 1] || 1 } function B(g) { var e = []; for (var d in g) { if (g[d] == Object.prototype[d]) { continue } var c = g[d]; d = [d.replace(/filter/i, "") + "Filter"]; for (var f in c) { if (c[f] == Object.prototype[f]) { continue } d.push(f + ":" + A.escape(A.toJson(c[f], A.toHexString))) } e.push(d.join(",")) } return A.escape(e.join(";")) } function Z(d) { var e = Z.viewport; var c = W.getViewport(); if (e && c.width == e.width && c.height == e.height) { return } Z.viewport = c; if (O.replacements.length == 0) { return } if (Z.timer) { clearTimeout(Z.timer) } Z.timer = setTimeout(function() { delete Z.timer; for (var f = 0; f < O.replacements.length; f++) { O.replacements[f].resize() } }, 200) } function I(f) { var g = W.getComputedStyle(f, "fontSize"); var d = g.indexOf("px") == -1; var e = f.innerHTML; if (d) { f.innerHTML = "X" } f.style.paddingTop = f.style.paddingBottom = f.style.borderTopWidth = f.style.borderBottomWidth = "0px"; f.style.lineHeight = "2em"; f.style.display = "block"; g = d ? f.offsetHeight / 2 : parseInt(g, 10); if (d) { f.innerHTML = e } var c = Math.round(f.offsetHeight / (2 * g)); f.style.paddingTop = f.style.paddingBottom = f.style.borderTopWidth = f.style.borderBottomWidth = f.style.lineHeight = f.style.display = ""; if (isNaN(c) || !isFinite(c) || c == 0) { c = 1 } return { fontSize: g, lines: c} } function P(c, g, s) { s = s || A.uriEncode; var q = [], m = []; var k = null; var e = c.childNodes; var o = false, p = false; var j = 0; while (j < e.length) { var f = e[j]; if (f.nodeType == 3) { var t = A.textTransform(g, A.normalize(f.nodeValue)).replace(/</g, "&lt;"); if (o && p) { t = t.replace(/^\s+/, "") } m.push(t); o = /\s$/.test(t); p = false } if (f.nodeType == 1 && !/^(style|script)$/i.test(f.nodeName)) { var h = []; var r = f.nodeName.toLowerCase(); var n = f.className || ""; if (/\s+/.test(n)) { if (n.indexOf(E.CLASS) > -1) { n = n.match("(\\s|^)" + E.CLASS + "-([^\\s$]*)(\\s|$)")[2] } else { n = n.match(/^([^\s]+)/)[1] } } if (n != "") { h.push('class="' + n + '"') } if (r == "a") { var d = s(f.getAttribute("href") || ""); var l = f.getAttribute("target") || ""; h.push('href="' + d + '"', 'target="' + l + '"'); if (!k) { k = { href: d, target: l} } } m.push("<" + r + (h.length > 0 ? " " : "") + h.join(" ") + ">"); p = true; if (f.hasChildNodes()) { q.push(j); j = 0; e = f.childNodes; continue } else { if (!/^(br|img)$/i.test(f.nodeName)) { m.push("</", f.nodeName.toLowerCase(), ">") } } } if (q.length > 0 && !f.nextSibling) { do { j = q.pop(); e = f.parentNode.parentNode.childNodes; f = e[j]; if (f) { m.push("</", f.nodeName.toLowerCase(), ">") } } while (j == e.length - 1 && q.length > 0) } j++ } return { text: m.join("").replace(/^\s+|\s+$|\s*(<br>)\s*/g, "$1"), primaryLink: k || {}} } };
var parseSelector = (function() { var B = /\s*,\s*/; var A = /\s*([\s>+~(),]|^|$)\s*/g; var L = /([\s>+~,]|[^(]\+|^)([#.:@])/g; var F = /(^|\))[^\s>+~]/g; var M = /(\)|^)/; var K = /[\s#.:>+~()@]|[^\s#.:>+~()@]+/g; function H(R, P) { P = P || document.documentElement; var S = R.split(B), X = []; for (var U = 0; U < S.length; U++) { var N = [P], W = G(S[U]); for (var T = 0; T < W.length; ) { var Q = W[T++], O = W[T++], V = ""; if (W[T] == "(") { while (W[T++] != ")" && T < W.length) { V += W[T] } V = V.slice(0, -1) } N = I(N, Q, O, V) } X = X.concat(N) } return X } function G(N) { var O = N.replace(A, "$1").replace(L, "$1*$2").replace(F, D); return O.match(K) || [] } function D(N) { return N.replace(M, "$1 ") } function I(N, P, Q, O) { return (H.selectors[P]) ? H.selectors[P](N, Q, O) : [] } var E = { toArray: function(O) { var N = []; for (var P = 0; P < O.length; P++) { N.push(O[P]) } return N } }; var C = { isTag: function(O, N) { return (N == "*") || (N.toLowerCase() == O.nodeName.toLowerCase()) }, previousSiblingElement: function(N) { do { N = N.previousSibling } while (N && N.nodeType != 1); return N }, nextSiblingElement: function(N) { do { N = N.nextSibling } while (N && N.nodeType != 1); return N }, hasClass: function(N, O) { return (O.className || "").match("(^|\\s)" + N + "(\\s|$)") }, getByTag: function(N, O) { return O.getElementsByTagName(N) } }; var J = { "#": function(N, P) { for (var O = 0; O < N.length; O++) { if (N[O].getAttribute("id") == P) { return [N[O]] } } return [] }, " ": function(O, Q) { var N = []; for (var P = 0; P < O.length; P++) { N = N.concat(E.toArray(C.getByTag(Q, O[P]))) } return N }, ">": function(O, R) { var N = []; for (var Q = 0, S; Q < O.length; Q++) { S = O[Q]; for (var P = 0, T; P < S.childNodes.length; P++) { T = S.childNodes[P]; if (T.nodeType == 1 && C.isTag(T, R)) { N.push(T) } } } return N }, ".": function(O, Q) { var N = []; for (var P = 0, R; P < O.length; P++) { R = O[P]; if (C.hasClass([Q], R)) { N.push(R) } } return N }, ":": function(N, P, O) { return (H.pseudoClasses[P]) ? H.pseudoClasses[P](N, O) : [] } }; H.selectors = J; H.pseudoClasses = {}; H.util = E; H.dom = C; return H })();

(function(F, C) { var D = function(H) { var G, I = []; for (G in H) { if (/string|number/.test(typeof H[G]) && H[G] !== "") { I.push(G + '="' + H[G] + '"') } } return I[A]("") }, E = function(I) { var G, K, J = [], H; if (typeof I == "object") { for (G in I) { if (typeof I[G] == "object") { H = []; for (K in I[G]) { H.push([K, "=", encodeURIComponent(I[G][K])][A]("")) } I[G] = H[A]("&amp;") } if (I[G]) { J.push(['<param name="', G, '" value="', I[G], '" />'][A]("")) } } I = J[A]("") } return I }, B = false, A = "join"; F[C] = (function() { try { var G = "0,0,0", H = navigator.plugins["Shockwave Flash"] || ActiveXObject; G = H.description || (function() { try { return (new H("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version") } catch (J) { } } ()) } catch (I) { } G = G.match(/^[A-Za-z\s]*?(\d+)[\.|,](\d+)(?:\s+[d|r]|,)(\d+)/); return { available: G[1] > 0, activeX: H && !H.name, version: { major: G[1] * 1, minor: G[2] * 1, release: G[3] * 1 }, hasVersion: function(K) { var N = this.version, L = "major", M = "minor", J = "release"; K = (/string|number/.test(typeof K)) ? K.toString().split(".") : K || [0, 0, 0]; K = [K[L] || K[0] || N[L], K[M] || K[1] || N[M], K[J] || K[2] || N[J]]; return (K[0] < N[L]) || (K[0] == N[L] && K[1] < N[M]) || (K[0] == N[L] && K[1] == N[M] && K[2] <= N[J]) }, expressInstall: "expressInstall.swf", create: function(J) { if (!F[C].available || B || !typeof J == "object" || !J.swf) { return false } if (J.hasVersion && !F[C].hasVersion(J.hasVersion)) { J = { swf: J.expressInstall || F[C].expressInstall, attrs: { id: J.id || "SWFObjectExprInst", name: J.name, height: Math.max(J.height || 137), width: Math.max(J.width || 214) }, params: { flashvars: { MMredirectURL: location.href, MMplayerType: (F[C].activeX) ? "ActiveX" : "PlugIn", MMdoctitle: document.title.slice(0, 47) + " - Flash Player Installation"}} }; B = true } else { J = F.extend(true, { attrs: { id: J.id, name: J.name, height: J.height || 180, width: J.width || 320 }, params: { wmode: J.wmode || "opaque", flashvars: J.flashvars} }, J) } if (F[C].activeX) { J.attrs.classid = J.attrs.classid || "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"; J.params.movie = J.params.movie || J.swf } else { J.attrs.type = J.attrs.classid || "application/x-shockwave-flash"; J.attrs.data = J.attrs.data || J.swf } return ["<object ", D(J.attrs), ">", E(J.params), "</object>"][A]("") } } } ()); F.fn[C] = function(G) { if (typeof G == "object") { this.each(function() { var I = document.createElement(C); var H = F[C].create(G); if (H) { I.innerHTML = H; if (I.childNodes[0]) { this.appendChild(I.childNodes[0]) } } }) } else { if (typeof G == "function") { this.find("object").andSelf().filter("object").each(function() { var I = this, H = "jsInteractionTimeoutMs"; I[H] = I[H] || 0; if (I[H] < 660) { if (I.clientWidth || I.clientHeight) { G.call(this) } else { setTimeout(function() { F(I)[C](G) }, I[H] + 66) } } }) } } return this } } (jQuery, "flash"));


/* parseQuery2 */
jQuery.parseQuery = function(qs, options) {
    var q = (typeof qs === 'string' ? qs : window.location.search), o = { 'f': function(v) { return unescape(v).replace(/\+/g, ' '); } }, options = (typeof qs === 'object' && typeof options === 'undefined') ? qs : options, o = jQuery.extend({}, o, options), params = {};
    jQuery.each(q.match(/^\??(.*)$/)[1].split('&'), function(i, p) {
        p = p.split('=');
        p[1] = o.f(p[1]);
        params[p[0]] = params[p[0]] ? ((params[p[0]] instanceof Array) ? (params[p[0]].push(p[1]), params[p[0]]) : [params[p[0]], p[1]]) : p[1];
    });
    return params;
}

/* URLEncode */
$.extend({ URLEncode: function(c) {
    var o = ''; var x = 0; c = c.toString(); var r = /(^[a-zA-Z0-9_.]*)/;
    while (x < c.length) {
        var m = r.exec(c.substr(x));
        if (m != null && m.length > 1 && m[1] != '') {
            o += m[1]; x += m[1].length;
        } else {
            if (c[x] == ' ') o += '+'; else {
                var d = c.charCodeAt(x); var h = d.toString(16);
                o += '%' + (h.length < 2 ? '0' : '') + h.toUpperCase();
            } x++;
        } 
    } return o;
},
    URLDecode: function(s) {
        var o = s; var binVal, t; var r = /(%[^%]{2})/;
        while ((m = r.exec(o)) != null && m.length > 1 && m[1] != '') {
            b = parseInt(m[1].substr(1), 16);
            t = String.fromCharCode(b); o = o.replace(m[1], t);
        } return o;
    }
});

/* simplemodal-1.3 */
; (function($) { var ie6 = $.browser.msie && parseInt($.browser.version) == 6 && typeof window['XMLHttpRequest'] != "object", ieQuirks = null, w = []; $.modal = function(data, options) { return $.modal.impl.init(data, options); }; $.modal.close = function() { $.modal.impl.close(); }; $.fn.modal = function(options) { return $.modal.impl.init(this, options); }; $.modal.defaults = { appendTo: 'body', focus: true, opacity: 50, overlayId: 'simplemodal-overlay', overlayCss: {}, containerId: 'simplemodal-container', containerCss: {}, dataId: 'simplemodal-data', dataCss: {}, minHeight: 200, minWidth: 300, maxHeight: null, maxWidth: null, autoResize: false, zIndex: 1000, close: true, closeHTML: '<a class="modalCloseImg" title="Close"></a>', closeClass: 'simplemodal-close', escClose: true, overlayClose: false, position: null, persist: false, onOpen: null, onShow: null, onClose: null }; $.modal.impl = { opts: null, dialog: {}, init: function(data, options) { if (this.dialog.data) { return false; } ieQuirks = $.browser.msie && !$.boxModel; this.opts = $.extend({}, $.modal.defaults, options); this.zIndex = this.opts.zIndex; this.occb = false; if (typeof data == 'object') { data = data instanceof jQuery ? data : $(data); if (data.parent().parent().size() > 0) { this.dialog.parentNode = data.parent(); if (!this.opts.persist) { this.dialog.orig = data.clone(true); } } } else if (typeof data == 'string' || typeof data == 'number') { data = $('<div/>').html(data); } else { alert('SimpleModal Error: Unsupported data type: ' + typeof data); return false; } this.create(data); data = null; this.open(); if ($.isFunction(this.opts.onShow)) { this.opts.onShow.apply(this, [this.dialog]); } return this; }, create: function(data) { w = this.getDimensions(); if (ie6) { this.dialog.iframe = $('<iframe src="javascript:false;"/>').css($.extend(this.opts.iframeCss, { display: 'none', opacity: 0, position: 'fixed', height: w[0], width: w[1], zIndex: this.opts.zIndex, top: 0, left: 0 })).appendTo(this.opts.appendTo); } this.dialog.overlay = $('<div/>').attr('id', this.opts.overlayId).addClass('simplemodal-overlay').css($.extend(this.opts.overlayCss, { display: 'none', opacity: this.opts.opacity / 100, height: w[0], width: w[1], position: 'fixed', left: 0, top: 0, zIndex: this.opts.zIndex + 1 })).appendTo(this.opts.appendTo); this.dialog.container = $('<div/>').attr('id', this.opts.containerId).addClass('simplemodal-container').css($.extend(this.opts.containerCss, { display: 'none', position: 'fixed', zIndex: this.opts.zIndex + 2 })).append(this.opts.close && this.opts.closeHTML ? $(this.opts.closeHTML).addClass(this.opts.closeClass) : '').appendTo(this.opts.appendTo); this.dialog.wrap = $('<div/>').attr('tabIndex', -1).addClass('simplemodal-wrap').css({ height: '100%', outline: 0, width: '100%' }).appendTo(this.dialog.container); this.dialog.data = data.attr('id', data.attr('id') || this.opts.dataId).addClass('simplemodal-data').css($.extend(this.opts.dataCss, { display: 'none' })); data = null; this.setContainerDimensions(); this.dialog.data.appendTo(this.dialog.wrap); if (ie6 || ieQuirks) { this.fixIE(); } }, bindEvents: function() { var self = this; $('.' + self.opts.closeClass).bind('click.simplemodal', function(e) { e.preventDefault(); self.close(); }); if (self.opts.close && self.opts.overlayClose) { self.dialog.overlay.bind('click.simplemodal', function(e) { e.preventDefault(); self.close(); }); } $(document).bind('keydown.simplemodal', function(e) { if (self.opts.focus && e.keyCode == 9) { self.watchTab(e); } else if ((self.opts.close && self.opts.escClose) && e.keyCode == 27) { e.preventDefault(); self.close(); } }); $(window).bind('resize.simplemodal', function() { w = self.getDimensions(); self.opts.autoResize ? self.setContainerDimensions() : self.setPosition(); if (ie6 || ieQuirks) { self.fixIE(); } else { self.dialog.iframe && self.dialog.iframe.css({ height: w[0], width: w[1] }); self.dialog.overlay.css({ height: w[0], width: w[1] }); } }); }, unbindEvents: function() { $('.' + this.opts.closeClass).unbind('click.simplemodal'); $(document).unbind('keydown.simplemodal'); $(window).unbind('resize.simplemodal'); this.dialog.overlay.unbind('click.simplemodal'); }, fixIE: function() { var p = this.opts.position; $.each([this.dialog.iframe || null, this.dialog.overlay, this.dialog.container], function(i, el) { if (el) { var bch = 'document.body.clientHeight', bcw = 'document.body.clientWidth', bsh = 'document.body.scrollHeight', bsl = 'document.body.scrollLeft', bst = 'document.body.scrollTop', bsw = 'document.body.scrollWidth', ch = 'document.documentElement.clientHeight', cw = 'document.documentElement.clientWidth', sl = 'document.documentElement.scrollLeft', st = 'document.documentElement.scrollTop', s = el[0].style; s.position = 'absolute'; if (i < 2) { s.removeExpression('height'); s.removeExpression('width'); s.setExpression('height', '' + bsh + ' > ' + bch + ' ? ' + bsh + ' : ' + bch + ' + "px"'); s.setExpression('width', '' + bsw + ' > ' + bcw + ' ? ' + bsw + ' : ' + bcw + ' + "px"'); } else { var te, le; if (p && p.constructor == Array) { var top = p[0] ? typeof p[0] == 'number' ? p[0].toString() : p[0].replace(/px/, '') : el.css('top').replace(/px/, ''); te = top.indexOf('%') == -1 ? top + ' + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"' : parseInt(top.replace(/%/, '')) + ' * ((' + ch + ' || ' + bch + ') / 100) + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"'; if (p[1]) { var left = typeof p[1] == 'number' ? p[1].toString() : p[1].replace(/px/, ''); le = left.indexOf('%') == -1 ? left + ' + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"' : parseInt(left.replace(/%/, '')) + ' * ((' + cw + ' || ' + bcw + ') / 100) + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"'; } } else { te = '(' + ch + ' || ' + bch + ') / 2 - (this.offsetHeight / 2) + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"'; le = '(' + cw + ' || ' + bcw + ') / 2 - (this.offsetWidth / 2) + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"'; } s.removeExpression('top'); s.removeExpression('left'); s.setExpression('top', te); s.setExpression('left', le); } } }); }, focus: function(pos) { var self = this, p = pos || 'first'; var input = $(':input:enabled:visible:' + p, self.dialog.wrap); input.length > 0 ? input.focus() : self.dialog.wrap.focus(); }, getDimensions: function() { var el = $(window); var h = $.browser.opera && $.browser.version > '9.5' && $.fn.jquery <= '1.2.6' ? document.documentElement['clientHeight'] : $.browser.opera && $.browser.version < '9.5' && $.fn.jquery > '1.2.6' ? window.innerHeight : el.height(); return [h, el.width()]; }, getVal: function(v) { return v == 'auto' ? 0 : parseInt(v.replace(/px/, '')); }, setContainerDimensions: function() { var ch = this.getVal(this.dialog.container.css('height')), cw = this.dialog.container.width(), dh = this.dialog.data.height(), dw = this.dialog.data.width(); var mh = this.opts.maxHeight && this.opts.maxHeight < w[0] ? this.opts.maxHeight : w[0], mw = this.opts.maxWidth && this.opts.maxWidth < w[1] ? this.opts.maxWidth : w[1]; if (!ch) { if (!dh) { ch = this.opts.minHeight; } else { if (dh > mh) { ch = mh; } else if (dh < this.opts.minHeight) { ch = this.opts.minHeight; } else { ch = dh; } } } else { ch = ch > mh ? mh : ch; } if (!cw) { if (!dw) { cw = this.opts.minWidth; } else { if (dw > mw) { cw = mw; } else if (dw < this.opts.minWidth) { cw = this.opts.minWidth; } else { cw = dw; } } } else { cw = cw > mw ? mw : cw; } this.dialog.container.css({ height: ch, width: cw }); if (dh > ch || dw > cw) { this.dialog.wrap.css({ overflow: 'auto' }); } this.setPosition(); }, setPosition: function() { var top, left, hc = (w[0] / 2) - ((this.dialog.container.height() || this.dialog.data.height()) / 2), vc = (w[1] / 2) - ((this.dialog.container.width() || this.dialog.data.width()) / 2); if (this.opts.position && this.opts.position.constructor == Array) { top = this.opts.position[0] || hc; left = this.opts.position[1] || vc; } else { top = hc; left = vc; } this.dialog.container.css({ left: left, top: top }); }, watchTab: function(e) { var self = this; if ($(e.target).parents('.simplemodal-container').length > 0) { self.inputs = $(':input:enabled:visible:first, :input:enabled:visible:last', self.dialog.data); if (!e.shiftKey && e.target == self.inputs[self.inputs.length - 1] || e.shiftKey && e.target == self.inputs[0] || self.inputs.length == 0) { e.preventDefault(); var pos = e.shiftKey ? 'last' : 'first'; setTimeout(function() { self.focus(pos); }, 10); } } else { e.preventDefault(); setTimeout(function() { self.focus(); }, 10); } }, open: function() { this.dialog.iframe && this.dialog.iframe.show(); if ($.isFunction(this.opts.onOpen)) { this.opts.onOpen.apply(this, [this.dialog]); } else { this.dialog.overlay.show(); this.dialog.container.show(); this.dialog.data.show(); } this.focus(); this.bindEvents(); }, close: function() { if (!this.dialog.data) { return false; } this.unbindEvents(); if ($.isFunction(this.opts.onClose) && !this.occb) { this.occb = true; this.opts.onClose.apply(this, [this.dialog]); } else { if (this.dialog.parentNode) { if (this.opts.persist) { this.dialog.data.hide().appendTo(this.dialog.parentNode); } else { this.dialog.data.hide().remove(); this.dialog.orig.appendTo(this.dialog.parentNode); } } else { this.dialog.data.hide().remove(); } this.dialog.container.hide().remove(); this.dialog.overlay.hide().remove(); this.dialog.iframe && this.dialog.iframe.hide().remove(); this.dialog = {}; } } }; })(jQuery);

/* jQuery.url */
jQuery.url = function() { var segments = {}; var parsed = {}; var options = { url: window.location, strictMode: false, key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], q: { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/} }; var parseUri = function() { str = decodeURI(options.url); var m = options.parser[options.strictMode ? "strict" : "loose"].exec(str); var uri = {}; var i = 14; while (i--) { uri[options.key[i]] = m[i] || "" } uri[options.q.name] = {}; uri[options.key[12]].replace(options.q.parser, function($0, $1, $2) { if ($1) { uri[options.q.name][$1] = $2 } }); return uri }; var key = function(key) { if (!parsed.length) { setUp() } if (key == "base") { if (parsed.port !== null && parsed.port !== "") { return parsed.protocol + "://" + parsed.host + ":" + parsed.port + "/" } else { return parsed.protocol + "://" + parsed.host + "/" } } return (parsed[key] === "") ? null : parsed[key] }; var param = function(item) { if (!parsed.length) { setUp() } return (parsed.queryKey[item] === null) ? null : parsed.queryKey[item] }; var setUp = function() { parsed = parseUri(); getSegments() }; var getSegments = function() { var p = parsed.path; segments = []; segments = parsed.path.length == 1 ? {} : (p.charAt(p.length - 1) == "/" ? p.substring(1, p.length - 1) : path = p.substring(1)).split("/") }; return { setMode: function(mode) { strictMode = mode == "strict" ? true : false; return this }, setUrl: function(newUri) { options.url = newUri === undefined ? window.location : newUri; setUp(); return this }, segment: function(pos) { if (!parsed.length) { setUp() } if (pos === undefined) { return segments.length } return (segments[pos] === "" || segments[pos] === undefined) ? null : segments[pos] }, attr: key, param: param} } ();

/*nyroModal - jQuery Plugin $version: 1.6.2 */
jQuery(function($){var userAgent=navigator.userAgent.toLowerCase();var browserVersion=(userAgent.match(/.+(?:rv|webkit|khtml|opera|msie)[\/: ]([\d.]+)/)||[0,'0'])[1];var isIE6=(/msie/.test(userAgent)&&!/opera/.test(userAgent)&&parseInt(browserVersion)<7&&(!window.XMLHttpRequest||typeof(XMLHttpRequest)==='function'));var body=$('body');var currentSettings;var callingSettings;var shouldResize=false;var gallery={};var fixFF=false;var contentElt;var contentEltLast;var modal={started:false,ready:false,dataReady:false,anim:false,animContent:false,loadingShown:false,transition:false,resizing:false,closing:false,error:false,blocker:null,blockerVars:null,full:null,bg:null,loading:null,tmp:null,content:null,wrapper:null,contentWrapper:null,scripts:new Array(),scriptsShown:new Array()};var resized={width:false,height:false,windowResizing:false};var initSettingsSize={width:null,height:null,windowResizing:true};var windowResizeTimeout;$.fn.nyroModal=function(settings){if(!this)return false;return this.each(function(){var me=$(this);if(this.nodeName.toLowerCase()=='form'){me.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){if(e.isDefaultPrevented())return false;if(me.data('nyroModalprocessing'))return true;if(this.enctype=='multipart/form-data'){processModal($.extend(settings,{from:this}));return true}e.preventDefault();processModal($.extend(settings,{from:this}));return false})}else{me.unbind('click.nyroModal').bind('click.nyroModal',function(e){if(e.isDefaultPrevented())return false;e.preventDefault();processModal($.extend(settings,{from:this}));return false})}})};$.fn.nyroModalManual=function(settings){if(!this.length)processModal(settings);return this.each(function(){processModal($.extend(settings,{from:this}))})};$.nyroModalManual=function(settings){processModal(settings)};$.nyroModalSettings=function(settings,deep1,deep2){setCurrentSettings(settings,deep1,deep2);if(!deep1&&modal.started){if(modal.bg&&settings.bgColor)currentSettings.updateBgColor(modal,currentSettings,function(){});if(modal.contentWrapper&&settings.title)setTitle();if(!modal.error&&(settings.windowResizing||(!modal.resizing&&(('width'in settings&&settings.width==currentSettings.width)||('height'in settings&&settings.height==currentSettings.height))))){modal.resizing=true;if(modal.contentWrapper)calculateSize(true);if(modal.contentWrapper&&modal.contentWrapper.is(':visible')&&!modal.animContent){if(fixFF)modal.content.css({position:''});currentSettings.resize(modal,currentSettings,function(){currentSettings.windowResizing=false;modal.resizing=false;if(fixFF)modal.content.css({position:'fixed'});if($.isFunction(currentSettings.endResize))currentSettings.endResize(modal,currentSettings)})}}}};$.nyroModalRemove=function(){removeModal()};$.nyroModalNext=function(){var link=getGalleryLink(1);if(link)return link.nyroModalManual(getCurrentSettingsNew());return false};$.nyroModalPrev=function(){var link=getGalleryLink(-1);if(link)return link.nyroModalManual(getCurrentSettingsNew());return false};$.fn.nyroModal.settings={debug:false,blocker:false,windowResize:true,modal:false,type:'',forceType:null,from:'',hash:'',processHandler:null,selIndicator:'nyroModalSel',formIndicator:'nyroModal',content:null,bgColor:'#000000',ajax:{},swf:{wmode:'transparent'},width:null,height:null,minWidth:400,minHeight:300,resizable:true,autoSizable:true,padding:25,regexImg:'[^\.]\.(jpg|jpeg|png|tiff|gif|bmp)\s*$',addImageDivTitle:false,defaultImgAlt:'Image',setWidthImgTitle:true,ltr:true,gallery:null,galleryLinks:'<a href="#" class="nyroModalPrev">Prev</a><a href="#"  class="nyroModalNext">Next</a>',galleryCounts:galleryCounts,galleryLoop:false,zIndexStart:1000,cssOpt:{bg:{position:'absolute',overflow:'hidden',top:0,left:0,height:'100%',width:'100%'},wrapper:{position:'absolute',top:'50%',left:'50%'},wrapper2:{},content:{},loading:{position:'absolute',top:'50%',left:'50%',marginTop:'-50px',marginLeft:'-50px'}},wrap:{div:'<div class="wrapper"></div>',ajax:'<div class="wrapper"></div>',form:'<div class="wrapper"></div>',formData:'<div class="wrapper"></div>',image:'<div class="wrapperImg"></div>',swf:'<div class="wrapperSwf"></div>',iframe:'<div class="wrapperIframe"></div>',iframeForm:'<div class="wrapperIframe"></div>',manual:'<div class="wrapper"></div>'},closeButton:'<a href="#" class="nyroModalClose" id="closeBut" title="close">Close</a>',title:null,titleFromIframe:true,openSelector:'.nyroModal',closeSelector:'.nyroModalClose',contentLoading:'<a href="#" class="nyroModalClose">Cancel</a>',errorClass:'error',contentError:'The requested content cannot be loaded.<br />Please try again later.<br /><a href="#" class="nyroModalClose">Close</a>',handleError:null,showBackground:showBackground,hideBackground:hideBackground,endFillContent:null,showContent:showContent,endShowContent:null,beforeHideContent:null,hideContent:hideContent,showTransition:showTransition,hideTransition:hideTransition,showLoading:showLoading,hideLoading:hideLoading,resize:resize,endResize:null,updateBgColor:updateBgColor,endRemove:null};function processModal(settings){if(modal.loadingShown||modal.transition||modal.anim)return;debug('processModal');modal.started=true;callingSettings=$.extend(true,settings);setDefaultCurrentSettings(settings);if(!modal.full)modal.blockerVars=modal.blocker=null;modal.error=false;modal.closing=false;modal.dataReady=false;modal.scripts=new Array();modal.scriptsShown=new Array();currentSettings.type=fileType();if(currentSettings.forceType){if(!currentSettings.content)currentSettings.from=true;currentSettings.type=currentSettings.forceType;currentSettings.forceType=null}if($.isFunction(currentSettings.processHandler))currentSettings.processHandler(currentSettings);var from=currentSettings.from;var url=currentSettings.url;initSettingsSize.width=currentSettings.width;initSettingsSize.height=currentSettings.height;if(currentSettings.type=='swf'){setCurrentSettings({overflow:'visible'},'cssOpt','content');currentSettings.content='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+currentSettings.width+'" height="'+currentSettings.height+'"><param name="movie" value="'+url+'"></param>';var tmp='';$.each(currentSettings.swf,function(name,val){currentSettings.content+='<param name="'+name+'" value="'+val+'"></param>';tmp+=' '+name+'="'+val+'"'});currentSettings.content+='<embed src="'+url+'" type="application/x-shockwave-flash" width="'+currentSettings.width+'" height="'+currentSettings.height+'"'+tmp+'></embed></object>'}if(from){var jFrom=$(from).blur();if(currentSettings.type=='form'){var data=$(from).serializeArray();data.push({name:currentSettings.formIndicator,value:1});if(currentSettings.selector)data.push({name:currentSettings.selIndicator,value:currentSettings.selector.substring(1)});showModal();$.ajax($.extend({},currentSettings.ajax,{url:url,data:data,type:jFrom.attr('method')?jFrom.attr('method'):'get',success:ajaxLoaded,error:loadingError}));debug('Form Ajax Load: '+jFrom.attr('action'))}else if(currentSettings.type=='formData'){initModal();jFrom.attr('target','nyroModalIframe');jFrom.attr('action',url);jFrom.prepend('<input type="hidden" name="'+currentSettings.formIndicator+'" value="1" />');if(currentSettings.selector)jFrom.prepend('<input type="hidden" name="'+currentSettings.selIndicator+'" value="'+currentSettings.selector.substring(1)+'" />');modal.tmp.html('<iframe frameborder="0" hspace="0" name="nyroModalIframe" src="javascript:\'\';"></iframe>');$('iframe',modal.tmp).css({width:currentSettings.width,height:currentSettings.height}).error(loadingError).load(formDataLoaded);debug('Form Data Load: '+jFrom.attr('action'));showModal();showContentOrLoading()}else if(currentSettings.type=='image'){debug('Image Load: '+url);var title=jFrom.attr('title')||currentSettings.defaultImgAlt;initModal();modal.tmp.html('<img id="nyroModalImg" />').find('img').attr('alt',title);modal.tmp.css({lineHeight:0});$('img',modal.tmp).error(loadingError).load(function(){debug('Image Loaded: '+this.src);$(this).unbind('load');var w=modal.tmp.width();var h=modal.tmp.height();modal.tmp.css({lineHeight:''});resized.width=w;resized.height=h;setCurrentSettings({width:w,height:h,imgWidth:w,imgHeight:h});initSettingsSize.width=w;initSettingsSize.height=h;setCurrentSettings({overflow:'visible'},'cssOpt','content');modal.dataReady=true;if(modal.loadingShown||modal.transition)showContentOrLoading()}).attr('src',url);showModal()}else if(currentSettings.type=='iframeForm'){initModal();modal.tmp.html('<iframe frameborder="0" hspace="0" src="javascript:\'\';" name="nyroModalIframe" id="nyroModalIframe"></iframe>');debug('Iframe Form Load: '+url);$('iframe',modal.tmp).eq(0).css({width:'100%',height:$.support.boxModel?'99%':'100%'}).load(iframeLoaded);modal.dataReady=true;showModal()}else if(currentSettings.type=='iframe'){initModal();modal.tmp.html('<iframe frameborder="0" hspace="0" src="javascript:\'\';" name="nyroModalIframe" id="nyroModalIframe"></iframe>');debug('Iframe Load: '+url);$('iframe',modal.tmp).eq(0).css({width:'100%',height:$.support.boxModel?'99%':'100%'}).load(iframeLoaded);modal.dataReady=true;showModal()}else if(currentSettings.type){debug('Content: '+currentSettings.type);initModal();modal.tmp.html(currentSettings.content);var w=modal.tmp.width();var h=modal.tmp.height();var div=$(currentSettings.type);if(div.length){setCurrentSettings({type:'div'});w=div.width();h=div.height();if(contentElt)contentEltLast=contentElt;contentElt=div;modal.tmp.append(div.contents())}initSettingsSize.width=w;initSettingsSize.height=h;setCurrentSettings({width:w,height:h});if(modal.tmp.html())modal.dataReady=true;else loadingError();if(!modal.ready)showModal();else endHideContent()}else{debug('Ajax Load: '+url);setCurrentSettings({type:'ajax'});var data=currentSettings.ajax.data||{};if(currentSettings.selector){if(typeof data=="string"){data+='&'+currentSettings.selIndicator+'='+currentSettings.selector.substring(1)}else{data[currentSettings.selIndicator]=currentSettings.selector.substring(1)}}showModal();$.ajax($.extend(true,currentSettings.ajax,{url:url,success:ajaxLoaded,error:loadingError,data:data}))}}else if(currentSettings.content){debug('Content: '+currentSettings.type);setCurrentSettings({type:'manual'});initModal();modal.tmp.html($('<div/>').html(currentSettings.content).contents());if(modal.tmp.html())modal.dataReady=true;else loadingError();showModal()}else{}}function setDefaultCurrentSettings(settings){debug('setDefaultCurrentSettings');currentSettings=$.extend(true,{},$.fn.nyroModal.settings,settings);setMargin()}function setCurrentSettings(settings,deep1,deep2){if(modal.started){if(deep1&&deep2){$.extend(true,currentSettings[deep1][deep2],settings)}else if(deep1){$.extend(true,currentSettings[deep1],settings)}else{if(modal.animContent){if('width'in settings){if(!modal.resizing){settings.setWidth=settings.width;shouldResize=true}delete settings['width']}if('height'in settings){if(!modal.resizing){settings.setHeight=settings.height;shouldResize=true}delete settings['height']}}$.extend(true,currentSettings,settings)}}else{if(deep1&&deep2){$.extend(true,$.fn.nyroModal.settings[deep1][deep2],settings)}else if(deep1){$.extend(true,$.fn.nyroModal.settings[deep1],settings)}else{$.extend(true,$.fn.nyroModal.settings,settings)}}}function setMarginScroll(){if(isIE6&&!modal.blocker){if(document.documentElement){currentSettings.marginScrollLeft=document.documentElement.scrollLeft;currentSettings.marginScrollTop=document.documentElement.scrollTop}else{currentSettings.marginScrollLeft=document.body.scrollLeft;currentSettings.marginScrollTop=document.body.scrollTop}}else{currentSettings.marginScrollLeft=0;currentSettings.marginScrollTop=0}}function setMargin(){setMarginScroll();currentSettings.marginLeft=-(currentSettings.width+currentSettings.borderW)/2;currentSettings.marginTop=-(currentSettings.height+currentSettings.borderH)/2;if(!modal.blocker){currentSettings.marginLeft+=currentSettings.marginScrollLeft;currentSettings.marginTop+=currentSettings.marginScrollTop}}function setMarginLoading(){setMarginScroll();var outer=getOuter(modal.loading);currentSettings.marginTopLoading=-(modal.loading.height()+outer.h.border+outer.h.padding)/2;currentSettings.marginLeftLoading=-(modal.loading.width()+outer.w.border+outer.w.padding)/2;if(!modal.blocker){currentSettings.marginLeftLoading+=currentSettings.marginScrollLeft;currentSettings.marginTopLoading+=currentSettings.marginScrollTop}}function setTitle(){var title=$('h3#nyroModalTitle',modal.contentWrapper);if(title.length)title.text(currentSettings.title);else modal.contentWrapper.prepend('<h3 id="nyroModalTitle">'+currentSettings.title+'</h3>')}function initModal(){debug('initModal');if(!modal.full){if(currentSettings.debug)setCurrentSettings({color:'white'},'cssOpt','bg');var full={zIndex:currentSettings.zIndexStart,position:'fixed',top:0,left:0,width:'100%',height:'100%'};var contain=body;var iframeHideIE='';if(currentSettings.blocker){modal.blocker=contain=$(currentSettings.blocker);var pos=modal.blocker.offset();var w=modal.blocker.outerWidth();var h=modal.blocker.outerHeight();if(isIE6){setCurrentSettings({height:'100%',width:'100%',top:0,left:0},'cssOpt','bg')}modal.blockerVars={top:pos.top,left:pos.left,width:w,height:h};var plusTop=(/msie/.test(userAgent)?0:getCurCSS(body.get(0),'borderTopWidth'));var plusLeft=(/msie/.test(userAgent)?0:getCurCSS(body.get(0),'borderLeftWidth'));full={position:'absolute',top:pos.top+plusTop,left:pos.left+plusLeft,width:w,height:h}}else if(isIE6){body.css({marginLeft:0,marginRight:0});var w=body.width();var h=$(window).height()+'px';if($(window).height()>=body.outerHeight()){h=body.outerHeight()+'px'}else w+=20;w+='px';body.css({width:w,height:h,position:'static',overflow:'hidden'});$('html').css({overflow:'hidden'});setCurrentSettings({cssOpt:{bg:{position:'absolute',zIndex:currentSettings.zIndexStart+1,height:'110%',width:'110%',top:currentSettings.marginScrollTop+'px',left:currentSettings.marginScrollLeft+'px'},wrapper:{zIndex:currentSettings.zIndexStart+2},loading:{zIndex:currentSettings.zIndexStart+3}}});iframeHideIE=$('<iframe id="nyroModalIframeHideIe" src="javascript:\'\';"></iframe>').css($.extend({},currentSettings.cssOpt.bg,{opacity:0,zIndex:50,border:'none'}))}contain.append($('<div id="nyroModalFull"><div id="nyroModalBg"></div><div id="nyroModalWrapper"><div id="nyroModalContent"></div></div><div id="nyrModalTmp"></div><div id="nyroModalLoading"></div></div>').hide());modal.full=$('#nyroModalFull').css(full).show();modal.bg=$('#nyroModalBg').css($.extend({backgroundColor:currentSettings.bgColor},currentSettings.cssOpt.bg)).before(iframeHideIE);modal.bg.bind('click.nyroModal',clickBg);modal.loading=$('#nyroModalLoading').css(currentSettings.cssOpt.loading).hide();modal.contentWrapper=$('#nyroModalWrapper').css(currentSettings.cssOpt.wrapper).hide();modal.content=$('#nyroModalContent');modal.tmp=$('#nyrModalTmp').hide();if($.isFunction($.fn.mousewheel)){modal.content.mousewheel(function(e,d){var elt=modal.content.get(0);if((d>0&&elt.scrollTop==0)||(d<0&&elt.scrollHeight-elt.scrollTop==elt.clientHeight)){e.preventDefault();e.stopPropagation()}})}$(document).bind('keydown.nyroModal',keyHandler);modal.content.css({width:'auto',height:'auto'});modal.contentWrapper.css({width:'auto',height:'auto'});if(!currentSettings.blocker&&currentSettings.windowResize){$(window).bind('resize.nyroModal',function(){window.clearTimeout(windowResizeTimeout);windowResizeTimeout=window.setTimeout(windowResizeHandler,200)})}}}function windowResizeHandler(){$.nyroModalSettings(initSettingsSize)}function showModal(){debug('showModal');if(!modal.ready){initModal();modal.anim=true;currentSettings.showBackground(modal,currentSettings,endBackground)}else{modal.anim=true;modal.transition=true;currentSettings.showTransition(modal,currentSettings,function(){endHideContent();modal.anim=false;showContentOrLoading()})}}function clickBg(e){if(!currentSettings.modal)removeModal()}function keyHandler(e){if(e.keyCode==27){if(!currentSettings.modal)removeModal()}else if(currentSettings.gallery&&modal.ready&&modal.dataReady&&!modal.anim&&!modal.transition){if(e.keyCode==39||e.keyCode==40){e.preventDefault();$.nyroModalNext();return false}else if(e.keyCode==37||e.keyCode==38){e.preventDefault();$.nyroModalPrev();return false}}}function fileType(){var from=currentSettings.from;var url;if(from&&from.nodeName){var jFrom=$(from);url=jFrom.attr(from.nodeName.toLowerCase()=='form'?'action':'href');if(!url)url=location.href.substring(window.location.host.length+7);currentSettings.url=url;if(jFrom.attr('rev')=='modal')currentSettings.modal=true;currentSettings.title=jFrom.attr('title');if(from&&from.rel&&from.rel.toLowerCase()!='nofollow'){var indexSpace=from.rel.indexOf(' ');currentSettings.gallery=indexSpace>0?from.rel.substr(0,indexSpace):from.rel}var imgType=imageType(url,from);if(imgType)return imgType;if(isSwf(url))return'swf';var iframe=false;if(from.target&&from.target.toLowerCase()=='_blank'||(from.hostname&&from.hostname.replace(/:\d*$/,'')!=window.location.hostname.replace(/:\d*$/,''))){iframe=true}if(from.nodeName.toLowerCase()=='form'){if(iframe)return'iframeForm';setCurrentSettings(extractUrlSel(url));if(jFrom.attr('enctype')=='multipart/form-data')return'formData';return'form'}if(iframe)return'iframe'}else{url=currentSettings.url;if(!currentSettings.content)currentSettings.from=true;if(!url)return null;if(isSwf(url))return'swf';var reg1=new RegExp("^http://|https://","g");if(url.match(reg1))return'iframe'}var imgType=imageType(url,from);if(imgType)return imgType;var tmp=extractUrlSel(url);setCurrentSettings(tmp);if(!tmp.url)return tmp.selector}function imageType(url,from){var image=new RegExp(currentSettings.regexImg,'i');if(image.test(url)){return'image'}}function isSwf(url){var swf=new RegExp('[^\.]\.(swf)\s*$','i');return swf.test(url)}function extractUrlSel(url){var ret={url:null,selector:null};if(url){var hash=getHash(url);var hashLoc=getHash(window.location.href);var curLoc=window.location.href.substring(0,window.location.href.length-hashLoc.length);var req=url.substring(0,url.length-hash.length);if(req==curLoc||req==$('base').attr('href')){ret.selector=hash}else{ret.url=req;ret.selector=hash}}return ret}function loadingError(){debug('loadingError');modal.error=true;if(!modal.ready)return;if($.isFunction(currentSettings.handleError))currentSettings.handleError(modal,currentSettings);modal.loading.addClass(currentSettings.errorClass).html(currentSettings.contentError);$(currentSettings.closeSelector,modal.loading).unbind('click.nyroModal').bind('click.nyroModal',removeModal);setMarginLoading();modal.loading.css({marginTop:currentSettings.marginTopLoading+'px',marginLeft:currentSettings.marginLeftLoading+'px'})}function fillContent(){debug('fillContent');if(!modal.tmp.html())return;modal.content.html(modal.tmp.contents());modal.tmp.empty();wrapContent();if(currentSettings.type=='iframeForm'){$(currentSettings.from).attr('target','nyroModalIframe').data('nyroModalprocessing',1).submit().attr('target','_blank').removeData('nyroModalprocessing')}if(!currentSettings.modal)modal.wrapper.prepend(currentSettings.closeButton);if($.isFunction(currentSettings.endFillContent))currentSettings.endFillContent(modal,currentSettings);modal.content.append(modal.scripts);$(currentSettings.closeSelector,modal.contentWrapper).unbind('click.nyroModal').bind('click.nyroModal',removeModal);$(currentSettings.openSelector,modal.contentWrapper).nyroModal(getCurrentSettingsNew())}function getCurrentSettingsNew(){return callingSettings;var currentSettingsNew=$.extend(true,{},currentSettings);if(resized.width)currentSettingsNew.width=null;else currentSettingsNew.width=initSettingsSize.width;if(resized.height)currentSettingsNew.height=null;else currentSettingsNew.height=initSettingsSize.height;currentSettingsNew.cssOpt.content.overflow='auto';return currentSettingsNew}function wrapContent(){debug('wrapContent');var wrap=$(currentSettings.wrap[currentSettings.type]);modal.content.append(wrap.children().remove());modal.contentWrapper.wrapInner(wrap);if(currentSettings.gallery){modal.content.append(currentSettings.galleryLinks);gallery.links=$('[rel="'+currentSettings.gallery+'"], [rel^="'+currentSettings.gallery+' "]');gallery.index=gallery.links.index(currentSettings.from);if(currentSettings.galleryCounts&&$.isFunction(currentSettings.galleryCounts))currentSettings.galleryCounts(gallery.index+1,gallery.links.length,modal,currentSettings);var currentSettingsNew=getCurrentSettingsNew();var linkPrev=getGalleryLink(-1);if(linkPrev){var prev=$('.nyroModalPrev',modal.contentWrapper).attr('href',linkPrev.attr('href')).click(function(e){e.preventDefault();$.nyroModalPrev();return false});if(isIE6&&currentSettings.type=='swf'){prev.before($('<iframe id="nyroModalIframeHideIeGalleryPrev" src="javascript:\'\';"></iframe>').css({position:prev.css('position'),top:prev.css('top'),left:prev.css('left'),width:prev.width(),height:prev.height(),opacity:0,border:'none'}))}}else{$('.nyroModalPrev',modal.contentWrapper).remove()}var linkNext=getGalleryLink(1);if(linkNext){var next=$('.nyroModalNext',modal.contentWrapper).attr('href',linkNext.attr('href')).click(function(e){e.preventDefault();$.nyroModalNext();return false});if(isIE6&&currentSettings.type=='swf'){next.before($('<iframe id="nyroModalIframeHideIeGalleryNext" src="javascript:\'\';"></iframe>').css($.extend({},{position:next.css('position'),top:next.css('top'),left:next.css('left'),width:next.width(),height:next.height(),opacity:0,border:'none'})))}}else{$('.nyroModalNext',modal.contentWrapper).remove()}}calculateSize()}function getGalleryLink(dir){if(currentSettings.gallery){if(!currentSettings.ltr)dir*=-1;var index=gallery.index+dir;if(index>=0&&index<gallery.links.length)return gallery.links.eq(index);else if(currentSettings.galleryLoop){if(index<0)return gallery.links.eq(gallery.links.length-1);else return gallery.links.eq(0)}}return false}function calculateSize(resizing){debug('calculateSize');modal.wrapper=modal.contentWrapper.children('div:first');resized.width=false;resized.height=false;if(false&&!currentSettings.windowResizing){initSettingsSize.width=currentSettings.width;initSettingsSize.height=currentSettings.height}if(currentSettings.autoSizable&&(!currentSettings.width||!currentSettings.height)){modal.contentWrapper.css({opacity:0,width:'auto',height:'auto'}).show();var tmp={width:'auto',height:'auto'};if(currentSettings.width){tmp.width=currentSettings.width}else if(currentSettings.type=='iframe'){tmp.width=currentSettings.minWidth}if(currentSettings.height){tmp.height=currentSettings.height}else if(currentSettings.type=='iframe'){tmp.height=currentSettings.minHeight}modal.content.css(tmp);if(!currentSettings.width){currentSettings.width=modal.content.outerWidth(true);resized.width=true}if(!currentSettings.height){currentSettings.height=modal.content.outerHeight(true);resized.height=true}modal.contentWrapper.css({opacity:1});if(!resizing)modal.contentWrapper.hide()}if(currentSettings.type!='image'&&currentSettings.type!='swf'){currentSettings.width=Math.max(currentSettings.width,currentSettings.minWidth);currentSettings.height=Math.max(currentSettings.height,currentSettings.minHeight)}var outerWrapper=getOuter(modal.contentWrapper);var outerWrapper2=getOuter(modal.wrapper);var outerContent=getOuter(modal.content);var tmp={content:{width:currentSettings.width,height:currentSettings.height},wrapper2:{width:currentSettings.width+outerContent.w.total,height:currentSettings.height+outerContent.h.total},wrapper:{width:currentSettings.width+outerContent.w.total+outerWrapper2.w.total,height:currentSettings.height+outerContent.h.total+outerWrapper2.h.total}};if(currentSettings.resizable){var maxHeight=modal.blockerVars?modal.blockerVars.height:$(window).height()-outerWrapper.h.border-(tmp.wrapper.height-currentSettings.height);var maxWidth=modal.blockerVars?modal.blockerVars.width:$(window).width()-outerWrapper.w.border-(tmp.wrapper.width-currentSettings.width);maxHeight-=currentSettings.padding*2;maxWidth-=currentSettings.padding*2;if(tmp.content.height>maxHeight||tmp.content.width>maxWidth){if(currentSettings.type=='image'||currentSettings.type=='swf'){var useW=currentSettings.imgWidth?currentSettings.imgWidth:currentSettings.width;var useH=currentSettings.imgHeight?currentSettings.imgHeight:currentSettings.height;var diffW=tmp.content.width-useW;var diffH=tmp.content.height-useH;if(diffH<0)diffH=0;if(diffW<0)diffW=0;var calcH=maxHeight-diffH;var calcW=maxWidth-diffW;var ratio=Math.min(calcH/useH,calcW/useW);calcW=Math.floor(useW*ratio);calcH=Math.floor(useH*ratio);tmp.content.height=calcH+diffH;tmp.content.width=calcW+diffW}else{tmp.content.height=Math.min(tmp.content.height,maxHeight);tmp.content.width=Math.min(tmp.content.width,maxWidth)}tmp.wrapper2={width:tmp.content.width+outerContent.w.total,height:tmp.content.height+outerContent.h.total};tmp.wrapper={width:tmp.content.width+outerContent.w.total+outerWrapper2.w.total,height:tmp.content.height+outerContent.h.total+outerWrapper2.h.total}}}if(currentSettings.type=='swf'){$('object, embed',modal.content).attr('width',tmp.content.width).attr('height',tmp.content.height)}else if(currentSettings.type=='image'){$('img',modal.content).css({width:tmp.content.width,height:tmp.content.height})}modal.content.css($.extend({},tmp.content,currentSettings.cssOpt.content));modal.wrapper.css($.extend({},tmp.wrapper2,currentSettings.cssOpt.wrapper2));if(!resizing)modal.contentWrapper.css($.extend({},tmp.wrapper,currentSettings.cssOpt.wrapper));if(currentSettings.type=='image'&&currentSettings.addImageDivTitle){$('img',modal.content).removeAttr('alt');var divTitle=$('div',modal.content);if(currentSettings.title!=currentSettings.defaultImgAlt&&currentSettings.title){if(divTitle.length==0){divTitle=$('<div>'+currentSettings.title+'</div>');modal.content.append(divTitle)}if(currentSettings.setWidthImgTitle){var outerDivTitle=getOuter(divTitle);divTitle.css({width:(tmp.content.width+outerContent.w.padding-outerDivTitle.w.total)+'px'})}}else if(divTitle.length=0){divTitle.remove()}}if(currentSettings.title)setTitle();tmp.wrapper.borderW=outerWrapper.w.border;tmp.wrapper.borderH=outerWrapper.h.border;setCurrentSettings(tmp.wrapper);setMargin()}function removeModal(e){debug('removeModal');if(e)e.preventDefault();if(modal.full&&modal.ready){$(document).unbind('keydown.nyroModal');if(!currentSettings.blocker)$(window).unbind('resize.nyroModal');modal.ready=false;modal.anim=true;modal.closing=true;if(modal.loadingShown||modal.transition){currentSettings.hideLoading(modal,currentSettings,function(){modal.loading.hide();modal.loadingShown=false;modal.transition=false;currentSettings.hideBackground(modal,currentSettings,endRemove)})}else{if(fixFF)modal.content.css({position:''});modal.wrapper.css({overflow:'hidden'});modal.content.css({overflow:'hidden'});$('iframe',modal.content).hide();if($.isFunction(currentSettings.beforeHideContent)){currentSettings.beforeHideContent(modal,currentSettings,function(){currentSettings.hideContent(modal,currentSettings,function(){endHideContent();currentSettings.hideBackground(modal,currentSettings,endRemove)})})}else{currentSettings.hideContent(modal,currentSettings,function(){endHideContent();currentSettings.hideBackground(modal,currentSettings,endRemove)})}}}if(e)return false}function showContentOrLoading(){debug('showContentOrLoading');if(modal.ready&&!modal.anim){if(modal.dataReady){if(modal.tmp.html()){modal.anim=true;if(modal.transition){fillContent();modal.animContent=true;currentSettings.hideTransition(modal,currentSettings,function(){modal.loading.hide();modal.transition=false;modal.loadingShown=false;endShowContent()})}else{currentSettings.hideLoading(modal,currentSettings,function(){modal.loading.hide();modal.loadingShown=false;fillContent();setMarginLoading();setMargin();modal.animContent=true;currentSettings.showContent(modal,currentSettings,endShowContent)})}}}else if(!modal.loadingShown&&!modal.transition){modal.anim=true;modal.loadingShown=true;if(modal.error)loadingError();else modal.loading.html(currentSettings.contentLoading);$(currentSettings.closeSelector,modal.loading).unbind('click.nyroModal').bind('click.nyroModal',removeModal);setMarginLoading();currentSettings.showLoading(modal,currentSettings,function(){modal.anim=false;showContentOrLoading()})}}}function ajaxLoaded(data){debug('AjaxLoaded: '+this.url);if(currentSettings.selector){var tmp={};var i=0;data=data.replace(/\r\n/gi,'nyroModalLN').replace(/<script(.|\s)*?\/script>/gi,function(x){tmp[i]=x;return'<pre style="display: none" class=nyroModalScript rel="'+(i++)+'"></pre>'});data=$('<div>'+data+'</div>').find(currentSettings.selector).html().replace(/<pre style="display: none;?" class="?nyroModalScript"? rel="(.?)"><\/pre>/gi,function(x,y,z){return tmp[y]}).replace(/nyroModalLN/gi,"\r\n")}modal.tmp.html(filterScripts(data));if(modal.tmp.html()){modal.dataReady=true;showContentOrLoading()}else loadingError()}function formDataLoaded(){debug('formDataLoaded');var jFrom=$(currentSettings.from);jFrom.attr('action',jFrom.attr('action')+currentSettings.selector);jFrom.attr('target','');$('input[name='+currentSettings.formIndicator+']',currentSettings.from).remove();var iframe=modal.tmp.children('iframe');var iframeContent=iframe.unbind('load').contents().find(currentSettings.selector||'body').not('script[src]');iframe.attr('src','about:blank');modal.tmp.html(iframeContent.html());if(modal.tmp.html()){modal.dataReady=true;showContentOrLoading()}else loadingError()}function iframeLoaded(){if((window.location.hostname&&currentSettings.url.indexOf(window.location.hostname)>-1)||currentSettings.url.indexOf('http://')){var iframe=$('iframe',modal.full).contents();var tmp={};if(currentSettings.titleFromIframe){tmp.title=iframe.find('title').text();if(!tmp.title){try{tmp.title=iframe.find('title').html()}catch(err){}}}var body=iframe.find('body');if(!currentSettings.height&&body.height())tmp.height=body.height();if(!currentSettings.width&&body.width())tmp.width=body.width();$.extend(initSettingsSize,tmp);$.nyroModalSettings(tmp)}}function galleryCounts(nb,total,elts,settings){if(total>1)settings.title+=(settings.title?' - ':'')+nb+'/'+total}function endHideContent(){debug('endHideContent');modal.anim=false;if(contentEltLast){contentEltLast.append(modal.content.contents());contentEltLast=null}else if(contentElt){contentElt.append(modal.content.contents());contentElt=null}modal.content.empty();gallery={};modal.contentWrapper.hide().children().remove().empty().attr('style','').hide();if(modal.closing||modal.transition)modal.contentWrapper.hide();modal.contentWrapper.css(currentSettings.cssOpt.wrapper).append(modal.content);showContentOrLoading()}function endRemove(){debug('endRemove');$(document).unbind('keydown',keyHandler);modal.anim=false;modal.full.remove();modal.full=null;if(isIE6){body.css({height:'',width:'',position:'',overflow:'',marginLeft:'',marginRight:''});$('html').css({overflow:''})}if($.isFunction(currentSettings.endRemove))currentSettings.endRemove(modal,currentSettings)}function endBackground(){debug('endBackground');modal.ready=true;modal.anim=false;showContentOrLoading()}function endShowContent(){debug('endShowContent');modal.anim=false;modal.animContent=false;modal.contentWrapper.css({opacity:''});fixFF=/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)&&parseFloat(browserVersion)<1.9&&currentSettings.type!='image';if(fixFF)modal.content.css({position:'fixed'});modal.content.append(modal.scriptsShown);if(currentSettings.type=='iframe')modal.content.find('iframe').attr('src',currentSettings.url);if($.isFunction(currentSettings.endShowContent))currentSettings.endShowContent(modal,currentSettings);if(shouldResize){shouldResize=false;$.nyroModalSettings({width:currentSettings.setWidth,height:currentSettings.setHeight});delete currentSettings['setWidth'];delete currentSettings['setHeight']}if(resized.width)setCurrentSettings({width:null});if(resized.height)setCurrentSettings({height:null})}function getHash(url){if(typeof url=='string'){var hashPos=url.indexOf('#');if(hashPos>-1)return url.substring(hashPos)}return''}function filterScripts(data){if(typeof data=='string')data=data.replace(/<\/?(html|head|body)([^>]*)>/gi,'');var tmp=new Array();$.each($.clean({0:data},this.ownerDocument),function(){if($.nodeName(this,"script")){if(!this.src||$(this).attr('rel')=='forceLoad'){if($(this).attr('rev')=='shown')modal.scriptsShown.push(this);else modal.scripts.push(this)}}else tmp.push(this)});return tmp}function getOuter(elm){elm=elm.get(0);var ret={h:{margin:getCurCSS(elm,'marginTop')+getCurCSS(elm,'marginBottom'),border:getCurCSS(elm,'borderTopWidth')+getCurCSS(elm,'borderBottomWidth'),padding:getCurCSS(elm,'paddingTop')+getCurCSS(elm,'paddingBottom')},w:{margin:getCurCSS(elm,'marginLeft')+getCurCSS(elm,'marginRight'),border:getCurCSS(elm,'borderLeftWidth')+getCurCSS(elm,'borderRightWidth'),padding:getCurCSS(elm,'paddingLeft')+getCurCSS(elm,'paddingRight')}};ret.h.outer=ret.h.margin+ret.h.border;ret.w.outer=ret.w.margin+ret.w.border;ret.h.inner=ret.h.padding+ret.h.border;ret.w.inner=ret.w.padding+ret.w.border;ret.h.total=ret.h.outer+ret.h.padding;ret.w.total=ret.w.outer+ret.w.padding;return ret}function getCurCSS(elm,name){var ret=parseInt($.curCSS(elm,name,true));if(isNaN(ret))ret=0;return ret}function debug(msg){if($.fn.nyroModal.settings.debug||currentSettings&&currentSettings.debug)nyroModalDebug(msg,modal,currentSettings||{})}function showBackground(elts,settings,callback){elts.bg.css({opacity:0}).fadeTo(500,0.75,callback)}function hideBackground(elts,settings,callback){elts.bg.fadeOut(300,callback)}function showLoading(elts,settings,callback){elts.loading.css({marginTop:settings.marginTopLoading+'px',marginLeft:settings.marginLeftLoading+'px',opacity:0}).show().animate({opacity:1},{complete:callback,duration:400})}function hideLoading(elts,settings,callback){callback()}function showContent(elts,settings,callback){elts.loading.css({marginTop:settings.marginTopLoading+'px',marginLeft:settings.marginLeftLoading+'px'}).show().animate({width:settings.width+'px',height:settings.height+'px',marginTop:settings.marginTop+'px',marginLeft:settings.marginLeft+'px'},{duration:350,complete:function(){elts.contentWrapper.css({width:settings.width+'px',height:settings.height+'px',marginTop:settings.marginTop+'px',marginLeft:settings.marginLeft+'px'}).show();elts.loading.fadeOut(200,callback)}})}function hideContent(elts,settings,callback){elts.contentWrapper.animate({height:'50px',width:'50px',marginTop:(-(25+settings.borderH)/2+settings.marginScrollTop)+'px',marginLeft:(-(25+settings.borderW)/2+settings.marginScrollLeft)+'px'},{duration:350,complete:function(){elts.contentWrapper.hide();callback()}})}function showTransition(elts,settings,callback){elts.loading.css({marginTop:elts.contentWrapper.css('marginTop'),marginLeft:elts.contentWrapper.css('marginLeft'),height:elts.contentWrapper.css('height'),width:elts.contentWrapper.css('width'),opacity:0}).show().fadeTo(400,1,function(){elts.contentWrapper.hide();callback()})}function hideTransition(elts,settings,callback){elts.contentWrapper.hide().css({width:settings.width+'px',height:settings.height+'px',marginLeft:settings.marginLeft+'px',marginTop:settings.marginTop+'px',opacity:1});elts.loading.animate({width:settings.width+'px',height:settings.height+'px',marginLeft:settings.marginLeft+'px',marginTop:settings.marginTop+'px'},{complete:function(){elts.contentWrapper.show();elts.loading.fadeOut(400,function(){elts.loading.hide();callback()})},duration:350})}function resize(elts,settings,callback){elts.contentWrapper.animate({width:settings.width+'px',height:settings.height+'px',marginLeft:settings.marginLeft+'px',marginTop:settings.marginTop+'px'},{complete:callback,duration:400})}function updateBgColor(elts,settings,callback){if(!$.fx.step.backgroundColor){elts.bg.css({backgroundColor:settings.bgColor});callback()}else elts.bg.animate({backgroundColor:settings.bgColor},{complete:callback,duration:400})}$($.fn.nyroModal.settings.openSelector).nyroModal()});var tmpDebug='';function nyroModalDebug(msg,elts,settings){if(elts.full&&elts.bg){elts.bg.prepend(msg+'<br />'+tmpDebug);tmpDebug=''}else tmpDebug+=msg+'<br />'}
$(document).ready(function () {
    //    $(".PrettyMenu .AspNet-Menu-Horizontal ul.AspNet-Menu ul li").mouseover(function() {
    //        $(this).addClass("ListHover");
    //    });
    //    $(".PrettyMenu .AspNet-Menu-Horizontal ul.AspNet-Menu ul li").mouseout(function() {
    //        $(this).removeClass("ListHover");
    //    });


    $('a.toogleSearch').click(function () {
        $('#advancedFilter').is(':visible') ? $(this).text('Visa avancerad sökning') : $(this).text('Göm avancerad sökning');
        $('#advancedFilter').slideToggle(200);
        resetFilter();
    });

    $('table.toggleTable tr.itemRow td').click(function (e) {
        e.preventDefault();
        $parent = $(this).parent();
        $parent.toggleClass('is-active');
        $id = $parent.attr('id');

        $contentcontainer = $parent.next('tr.toggle').find('td').find('div');
        if ($contentcontainer.html() == '') {
            $contentcontainer.html(strLoadIcon);
            $contentcontainer.load('/aktiviteter/SingleItem.aspx?id=' + $id);
        }
        $contentcontainer.slideToggle(200);
        return false;
    });

    $('.articleBodyText a').each(function () {
        if ($(this).hasClass('external'))
            $(this).attr('target', '_blank');
        else
            $(this).attr('target', '_top');
    });

    $('.stripeMe tr:even').addClass('alt');

    $('.stripeMe tr').mouseover(function () {
        $(this).addClass("over");
    });

    $('.stripeMe tr').mouseout(function () {
        $(this).removeClass("over");
    });

    //$(".tabs").tabs();

    $("span.mainGroupHeading").click(function () {
        $('.mainCatList li span').each(function () {
            $(this).removeClass('is-parent');
        });
        $(this).addClass('is-parent');
        if ($(this).next("ul").is(':visible')) {
            $(this).next("ul").hide(200);
        }
        else {
            $("ul.subCatList").hide(200);
            $(this).next("ul").show(200);
        }
        $(breadcrumbs).html($(this).html());
    });

    $("span.subGroupHeading").mouseover(function () {
        $(this).addClass("hoverItem");
    });

    $("span.subGroupHeading").mouseout(function () {
        $(this).removeClass("hoverItem");
    });

    $("span#addThisLink").click(function (e) {
        var tPosX = e.pageX;
        var tPosY = e.pageY - $("#addThis").height() - 50;
        if (tPosX < 0) tPosX = 10;
        if (tPosY < 0) tPosY = 10;
        $("#addThis").css({ 'left': tPosX, 'top': tPosY, 'display': 'block' });
        $("#addThis").draggable({ handle: 'div.handle' });
    });

    $('a.bannerlink').click(function () {
        var bannerId = $(this).attr('id');
        var pageUrl = jQuery.url.attr("path");
        var segment = jQuery.url.segment(0) == null ? 0 : jQuery.url.segment(0);
        var cmsNodeId = isNaN(segment) ? 0 : segment;
        var dataString = 'bannerId=' + bannerId + '&cmsNodeId=' + cmsNodeId + '&pageUrl=' + pageUrl;
        $.ajax({
            type: "POST",
            url: "/services/AddBannerClick.aspx",
            data: dataString,
            success: function () {

            }
        });
    });

    $(".AspNet-Login-FailurePanel:eq(0)").dialog({
        bgiframe: true,
        height: 140,
        modal: true
    });

    $("#passworddialog").dialog({
        bgiframe: true,
        height: 140,
        modal: true
    });

    $('a.nyroModal').nyroModal();

    $('#quizbutton').click(function () {
        var name = $("#txtName").val();
        var email = $("#txtEmail").val();
        var streetaddress = $("#txtStreetAddress").val();
        var zip = $("#txtZipCode").val();
        var city = $("#txtCity").val();
        var answer = $("#txtAnswer").val();
        var dataString = "name=" + name + "&email=" + email + "&streetaddress=" + streetaddress + "&zip=" + zip + "&city=" + city + "&answer=" + answer;
        $.ajax({
            type: "POST",
            url: "/services/ReciveQuiz.aspx",
            data: dataString,
            success: function () {
                $('#quizbox').html("<span class=\"thankyou\">Tack för din medverkan. Vi kommer att lotta ut vinnare inom kort.</span>");
            }
        });

    });

    $(".expandList dt").css("cursor", "pointer");

    $(".expandList dt").click(function () {
        $(this).toggleClass("Open");
        $(this).next("dd").toggleClass("Open");

        //        $(this).toggleClass("Open");
        //        $(this).next("dd").toggleClass("Open");

        //        $(this).unbind("click");
        //        $(this).click(function() {
        //            $(this).toggleClass("Open");
        //            $(this).next("dd").toggleClass("Open");
        //        });
    });

    $("#tipAgain").click(function () {
        $('#tipFriendForm').show();
        $('#tipFriendConfirm').hide();
        $("#txtFriendName").val("");
        $("#txtFriendEmail").val("");
        $("#validEmail2").css({ "display": "none" });
    });

    $("#txtYourEmail").keyup(function () {
        $('#alertYourEmail').css({ "display": "none" });
        var email = $("#txtYourEmail").val();
        if (email != 0) {
            if (isValidEmailAddress(email)) {
                $("#validEmail1").css({ "background-image": "url('/images/icons/validYes1.png')", "display": "block" });
            } else {
                $("#validEmail1").css({ "background-image": "url('/images/icons/validNo1.png')", "display": "block" });
            }
        } else {
            $("#validEmail1").css({ "background-image": "none", "display": "none" });
            $('#alertYourEmail').css({ "display": "none" });

        }
    });

    $("#txtFriendEmail").keyup(function () {
        $('#alertFriendEmail').css({ "display": "none" });
        var email = $("#txtFriendEmail").val();
        if (email != 0) {
            if (isValidEmailAddress(email)) {
                $("#validEmail2").css({ "background-image": "url('/images/icons/validYes1.png')", "display": "block" });
            } else {
                $("#validEmail2").css({ "background-image": "url('/images/icons/validNo1.png')", "display": "block" });
            }
        } else {
            $("#validEmail2").css({ "background-image": "none", "display": "none" });
            $('#alertFriendEmail').css({ "display": "none" });
        }
    });

    $("#txtYourName").keyup(function () {
        $('#alertYourname').css({ "display": "none" });
    });

    $("#txtFriendName").keyup(function () {
        $('#alertFriendName').css({ "display": "none" });
    });

    $('a.forumalbumimage').lightBox();

})

var strWrapper = "<div><div class=\"handle\"><div class=\"colorboxHeading\">Bokmärke</div><div class=\"closeLayer\" onclick=\"removeLayer('editFavourits')\"></div></div>";
strWrapper += "<div id=\"innerDiv\" class=\"innerDiv\">";
var strEndWrapper = "</div></div>"
var strLoadIcon = "<p class=\"loading\"><img src=\"/images/icons/ajax-loader.gif\" width=\"16\" height=\"16\" /></p>";
var strLoader = strWrapper + strLoadIcon + strEndWrapper;

$.fn.clearForm = function() {
    return this.each(function() {
        var type = this.type, tag = this.tagName.toLowerCase();
        if (tag == 'form')
            return $(':input', this).clearForm();
        if (type == 'text' || type == 'password' || tag == 'textarea')
            this.value = '';
        else if (type == 'checkbox' || type == 'radio') {
            this.checked = false;
        }
        else if (tag == 'select')
            this.selectedIndex = 0;
    });
};

function addToMyPage(itemId, caller, serviceType, myFavTitle) {
    createDiv('editFavourits');
    $("#editFavourits").html(strLoader);
    $("#editFavourits").load("/services/MyFavService.aspx?serviceType=" + serviceType + "&ItemId=" + itemId + "&myFavTitle=" + $.URLEncode(myFavTitle));
    var tPosX = $(caller).position().left - 90;
    var tPosY = $(caller).position().top - $("#editFavourits").height() - 10;
    if (tPosX < 0) tPosX = 10;
    if (tPosY < 0) tPosY = 10;
    $("#editFavourits").css({ 'left': tPosX, 'top': tPosY, 'display': 'block' });
    $("#editFavourits").draggable({ handle: 'div.handle' });
}

function addToCalendar(itemId, caller) {
    createDiv('editFavourits');
    $("#editFavourits").html(strLoader);
    $("#editFavourits").load("/services/MyFavService.aspx?serviceType=9&itemId=" + itemId);
    var tPosX = $(caller).position().left;
    var tPosY = $(caller).position().top - $("#addToFavourits").height() - 10;
    if (tPosX < 0) tPosX = 10;
    if (tPosY < 0) tPosY = 10;
    $("#editFavourits").css({ 'left': tPosX, 'top': tPosY, 'display': 'block' });
    $("#editFavourits").draggable({ handle: 'div.handle' });
}

function addCalendarClick() {
    var itemId = $("#itemId").val();
    var comment = $("#myComment").val();
    //var sortorder = $("#txtSortOrder").val();
    var sortorder = 1;
    var dataString = "serviceType=10&itemId=" + itemId + "&Comment=" + comment + "&sortorder=" + sortorder;
    $.ajax({
        type: "POST",
        url: "/services/MyFavService.aspx",
        data: dataString,
        success: function() {
            showMessage(4);
        }
    });
}

function updateItem(itemId, caller) {
    createDiv('editFavourits');
    $("#editFavourits").html(strLoader);
    $("#editFavourits").load("/services/MyFavService.aspx?serviceType=4&itemId=" + itemId);
    var tPosX = $(caller).position().left;
    var tPosY = $(caller).position().top - $("#addToFavourits").height() - 20;
    if (tPosX < 0) tPosX = 10;
    if (tPosY < 0) tPosY = 10;
    $("#editFavourits").css({ 'left': tPosX, 'top': tPosY, 'display': 'block' });
    $("#editFavourits").draggable({ handle: 'div.handle' });
}

function createDiv(id) {
    removeLayer(id);
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id', id);
    document.body.appendChild(newdiv);
}

function removeLayer(id) {
    var d = document.getElementById(id);
    if (d) {
        document.body.removeChild(d);
    }
}

function hideAddThis() {
    $('#addThis').hide();
}


function closeAddThis(obj) {
    $(obj).parent().parent().css({ 'display': 'none' }); ;
}

function updateClick() {
    var itemId = $("#itemId").val();
    var comment = $("#myComment").val();
    var sortorder = $("#txtSortOrder").val();
    var dataString = "serviceType=2&itemId=" + itemId + "&Comment=" + comment + "&sortorder=" + sortorder;
    $.ajax({
        type: "POST",
        url: "/services/MyFavService.aspx",
        data: dataString,
        success: function() {
            showMessage(1);
            repost();

        }
    });
}

function addPlantClick() {
    var itemId = $("#itemId").val();
    var itemTypeId = $("#itemTypeId").val();
    var comment = $("#myComment").val();
    //var sortorder = $("#txtSortOrder").val();
    var sortorder = 1;
    var itemTitle = $("#itemTitle").val();
    var dataString = "serviceType=6&itemId=" + itemId + "&itemTypeId=" + itemTypeId + "&Comment=" + comment + "&sortorder=" + sortorder + "&myFavTitle=" + itemTitle;
    $.ajax({
        type: "POST",
        url: "/services/MyFavService.aspx",
        data: dataString,
        success: function() {
            showMessage(3);
        }
    });
}

function addPageClick() {
    var itemId = $("#itemId").val();
    var itemTypeId = $("#itemTypeId").val();
    var comment = $("#myComment").val();
    //var sortorder = $("#txtSortOrder").val();
    var sortorder = 1;
    var itemTitle = $("#itemTitle").val();
    var dataString = "serviceType=8&itemId=" + itemId + "&itemTypeId=" + itemTypeId + "&Comment=" + comment + "&sortorder=" + sortorder + "&myFavTitle=" + itemTitle;
    $.ajax({
        type: "POST",
        url: "/services/MyFavService.aspx",
        data: dataString,
        success: function() {
            showMessage(3);
        }
    });
}

function addLinkClick() {
    var itemId = $("#itemId").val();
    var itemTypeId = $("#itemTypeId").val();
    var comment = $("#myComment").val();
    //var sortorder = $("#txtSortOrder").val();
    var sortorder = 1;
    var itemTitle = $("#itemTitle").val();
    var dataString = "serviceType=12&itemId=" + itemId + "&itemTypeId=" + itemTypeId + "&Comment=" + comment + "&sortorder=" + sortorder + "&myFavTitle=" + itemTitle;
    $.ajax({
        type: "POST",
        url: "/services/MyFavService.aspx",
        data: dataString,
        success: function() {
            showMessage(5);
        }
    });
}

function deleteClick(itemId, caller) {
    if (confirm('Vill du verkligen ta bort denna?')) {
        var dataString = "serviceType=3&itemId=" + itemId;
        $.ajax({
            type: "POST",
            url: "/services/MyFavService.aspx",
            data: dataString,
            success: function() {
                showMessage(2);
                repost();
            }
        });
    }
}

function showMessage(val) {
    var strMess = "";
    switch (val) {
        case 1: strMess = "Denna är uppdaterad!"
            break;
        case 2: strMess = "Denna är borttagen!"
            break;
        case 3: strMess = "Denna är tillagd till dina sidor!"
            break;
        case 4: strMess = "Denna aktivitet är illagd till dina sidor!"
            break;
        case 5: strMess = "Denna länk är tillagd till dina sidor!"
            break;
        case 6: strMess = "Din kommentar är tilllagd!"
            break;
        default: strMess = "Ok!";
    }

    $('#innerDiv').html(strMess);

}

function getGoogleMap(id) {
    var mapWin = window.open("/templates/GoogleMaps.aspx?id=" + id, mapWin, "width=725,height=750,scrollbars=1,resizable=1");
}

function printThisPage(url) {
    var mapWin = window.open(url, mapWin, "");
}

function showGuide(num) {
    $('#basicModalContent').modal();
    $('#basicModalContent').load("/Min-sida/Guide.aspx?id=" + num);
}

var sep = ' <img src="/images/icons/sep.png" /> ';

function getLinkContent(id, obj) {
    var name = $(obj).html();
    var oParent = $(obj).parent().parent().parent().find('span');
    $('ul.subCatList li span.is-me').each(function() {
        $(this).removeClass('is-me');
    });
    $(obj).addClass('is-me');
    $(breadcrumbs).html('<a href="/lankar">' + oParent.html() +'</a>' + sep + name);
    $("#linkContent").html(strLoadIcon);
    $("#linkContent").load("/lankar/linkContent.aspx?id=" + id);
}

function replay(itemId, messageId, caller) {
    createDiv('commentBox');
    $("#commentBox").html(strLoader);
    $("#commentBox").load("/services/Comment.aspx?itemId=" + itemId + "&messageId=" + messageId + "&serviceType=3");
    var tPosX = $(caller).position().left;
    var tPosY = $(caller).position().top - $("#commentBox").height() - 20;
    if (tPosX < 0) tPosX = 10;
    if (tPosY < 0) tPosY = 10;
    $("#commentBox").css({ 'left': tPosX, 'top': tPosY, 'display': 'block' });
    $("#commentBox").draggable({ handle: 'div.handle' });
}

function commentThis(itemId, caller) {
    createDiv('commentBox');
    $("#commentBox").html(strLoader);
    $("#commentBox").load("/services/Comment.aspx?itemId=" + itemId + "&serviceType=0");
    var tPosX = $(caller).position().left;
    var tPosY = $(caller).position().top - $("#commentBox").height() - 20;
    if (tPosX < 0) tPosX = 10;
    if (tPosY < 0) tPosY = 10;
    $("#commentBox").css({ 'left': tPosX, 'top': tPosY, 'display': 'block' });
    $("#commentBox").draggable({ handle: 'div.handle' });
}

function saveComment(itemId) {
    var title = $("#txtHeading").val();
    var comment = $("#txtContent").val();
    var dataString = "serviceType=1&itemId=" + itemId + "&title=" + title + "&comment=" + comment;
    $.ajax({
        type: "POST",
        url: "/services/Comment.aspx",
        data: dataString,
        success: function() {
            showMessage(6);
        }
    });
}

function ReplayComment(itemId, messageId) {
    var title = $("#txtHeading").val();
    var comment = $("#txtContent").val();
    var dataString = "serviceType=4&itemId=" + itemId + "&messageId=" + messageId + "&title=" + title + "&comment=" + comment;
    $.ajax({
        type: "POST",
        url: "/services/Comment.aspx",
        data: dataString,
        success: function() {
            showMessage(6);
        }
    });
}

function reportComment(itemId, messageId) {
    alert(itemId + " - " + messageId);
}

function printPage(itemType, id) {
    var url="";
    switch (itemType) {
        case "plant": url = "/Vaxtdatabas/Print.aspx?id=" + id;
            break;
        case "page": url = "/Templates/Print.aspx?id=" + id;
            break;
        case "event": url = "/aktiviteter/Print.aspx?id=" + id;
            break;
        case "startpage": url = "/Templates/PrintStartPage.aspx";
            break;
        default: url = "";
    }
    if (url != "") {
        window.open(url, "printwindow", "width=1000, height=500,status=1,scrollbars=1,resizable=1");
    }
}

function popAgreeText() {
    window.open('/kontakt/terms.aspx', 'termswindow', 'width=550,height=600,location=1,status=1,scrollbars=1');
}

function validateAgree() {
    alert("validateAgree");
    if ($('#chkAgree').checked()) {
        return true;
    }
    else {
        $('#validateagree').show();
        return false;
    }
}


function recoverUsernameClick() {
    $("#recoverUsername").html("<img src=\"/images/icons/ajaxLoader.gif\" />");
    $("#recoverUsername").load("/services/RecoverUserName.aspx");
}

function recoverEmailClick() {
    var email = $("#txtRecoverEmal").val();
    $("#recoverUsername").html("<img src=\"/images/icons/ajaxLoader.gif\" />");
    $("#recoverUsername").load("/services/RecoverUserName.aspx?email=" + email);
}

function preloadImg(image) {
    var img = new Image();
    img.src = image;
}

preloadImg('/images/icons/ajaxLoader.gif');
preloadImg('/images/icons/prev.gif');
preloadImg('/images/icons/next.gif');


/****************************************************
Author: Brian J Clifton
Url: http://www.advanced-web-metrics.com/scripts
This script is free to use as long as this info is left in
     
Combined script for tracking external links, file downloads and mailto links
     
All scripts presented have been tested and validated by the author and are believed to be correct
as of the date of publication or posting. The Google Analytics software on which they depend is 
subject to change, however; and therefore no warranty is expressed or implied that they will
work as described in the future. Always check the most current Google Analytics documentation.

Thanks to Nick Mikailovski (Google) for intitial discussions & Holger Tempel from webalytics.de
for pointing out the original flaw of doing this in IE.

****************************************************/
// Only links written to the page (already in the DOM) will be tagged
// This version is for ga.js (last updated Jan 15th 2009)


function addLinkerEvents() {
    var as = document.getElementsByTagName("a");
    var extTrack = ["advanced-web-metrics.com", "brianjclifton.com", "kampyle.com"];
    // List of local sites that should not be treated as an outbound link. Include at least your own domain here

    var extDoc = [".doc", ".xls", ".exe", ".zip", ".pdf", ".js"];
    //List of file extensions on your site. Add/edit as you require

    /*If you edit no further below this line, Top Content will report as follows:
    /ext/url-of-external-site
    /downloads/filename
    /mailto/email-address-clicked
    */

    for (var i = 0; i < as.length; i++) {
        var flag = 0;
        var tmp = as[i].getAttribute("onclick");

        // IE6-IE7 fix (null values error) with thanks to Julien Bissonnette for this
        if (tmp != null) {
            tmp = String(tmp);
            if (tmp.indexOf('urchinTracker') > -1 || tmp.indexOf('_trackPageview') > -1) continue;
        }

        // Tracking outbound links off site - not the GATC
        for (var j = 0; j < extTrack.length; j++) {
            if (as[i].href.indexOf(extTrack[j]) == -1 && as[i].href.indexOf('google-analytics.com') == -1) {
                flag++;
            }
        }

        if (flag == extTrack.length && as[i].href.indexOf("mailto:") == -1) {
            as[i].onclick = function() { var splitResult = this.href.split("//"); pageTracker._trackPageview('/ext/' + splitResult[1]) + ";" + ((tmp != null) ? tmp + ";" : ""); };
            //alert(as[i] +"  ext/" +splitResult[1])
        }

        // Tracking electronic documents - doc, xls, pdf, exe, zip
        for (var j = 0; j < extDoc.length; j++) {
            if (as[i].href.indexOf(extTrack[0]) != -1 && as[i].href.indexOf(extDoc[j]) != -1) {
                as[i].onclick = function() {
                    var splitResult = this.href.split(extTrack[0]); pageTracker._trackPageview('/downloads' + splitResult[1]) + ";"
+ ((tmp != null) ? tmp + ";" : "");
                }
                //alert(as[i] +"  downloads" +splitResult[1])
                break;
            }
        }


        // added to track mailto links 23-Oct-2007
        // updated 31-Oct-2008 to remove break command - thanks to Victor Geerdink for spotting this
        if (as[i].href.indexOf("mailto:") != -1) {
            as[i].onclick = function() { var splitResult = this.href.split(":"); pageTracker._trackPageview('/mailto/' + splitResult[1]) + ";" + ((tmp != null) ? tmp + ";" : ""); }
            //alert(as[i] +"  mailto/" +splitResult[1])
        }
    }
}

function tellFriendClick() {
    $('#alertYourEmail').css({ "display": "none" });
    $('#alertFriendEmail').css({ "display": "none" });
    $('#alertYourname').css({ "display": "none" });
    $('#alertFriendName').css({ "display": "none" });
    var fromName = $("#txtYourName").val();
    var fromEmail = $("#txtYourEmail").val();
    var toName = $("#txtFriendName").val();
    var toEmail = $("#txtFriendEmail").val();
    if (isValidEmailAddress(fromEmail) && isValidEmailAddress(toEmail) && $.trim(fromName) != "" && $.trim(toName) != "") {
        var dataString = "txtYourName=" + $.trim(fromName) + "&txtYourEmail=" + $.trim(fromEmail) + "&txtFriendName=" + $.trim(toName) + "&txtFriendEmail=" + $.trim(toEmail);
        $.ajax({
            type: "POST",
            url: "/services/TellAFriendService.aspx",
            data: dataString,
            success: function () {
                $('#tipFriendForm').hide();
                $('#tipFriendConfirm').show();
            }
        });
    }
    else {
        if (!isValidEmailAddress(fromEmail)) $('#alertYourEmail').css({ "display": "block" });
        if (!isValidEmailAddress(toEmail)) $('#alertFriendEmail').css({ "display": "block" });
        if ($.trim(fromName) == "") $('#alertYourname').css({ "display": "block" });
        if ($.trim(toName) == "") $('#alertFriendName').css({ "display": "block" });
    }
}

function isValidEmailAddress(emailAddress) {  
    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);  
 } 



var handsofsean = {
    src: '/flash/sifr/handsofsean.swf'
    , ratios: [8, 1.98, 12, 1.94, 17, 1.88, 21, 1.86, 22, 1.84, 26, 1.85, 27, 1.83, 32, 1.84, 44, 1.82, 46, 1.81, 50, 1.82, 68, 1.81, 69, 1.8, 70, 1.81, 72, 1.8, 73, 1.81, 74, 1.8, 75, 1.81, 79, 1.8, 80, 1.81, 1.8]
};


// sIFR.useStyleCheck = true;
sIFR.preserveSingleWhitespace = true;
sIFR.fixWrap = true;
sIFR.forceClear = true;
sIFR.fitExactly = true;
// Next, activate sIFR:
sIFR.activate(handsofsean);

sIFR.replace(handsofsean, {
    selector: '.overlay430x85 h1',
    css: '.sIFR-root { color: #ffffff; }',
    wmode: 'transparent'
});

sIFR.replace(handsofsean, {
    selector: '.overlay590x85 h1',
    css: '.sIFR-root { color: #ffffff; }',
    wmode: 'transparent'
});


sIFR.replace(handsofsean, {
    selector: '.overlay430x85White h1',
    css: '.sIFR-root { color: #212121; }',
    wmode: 'transparent'
});

sIFR.replace(handsofsean, {
    selector: '.overlay590x85White h1',
    css: '.sIFR-root { color: #212121; }',
    wmode: 'transparent'
});

sIFR.replace(handsofsean, {
    selector: '.overlay430x85Trans h1',
    css: '.sIFR-root { color: #ffffff; }',
    wmode: 'transparent'
});

sIFR.replace(handsofsean, {
    selector: 'h1',
    css: '.sIFR-root { background-color: #FFFFFF; color: #599515; letter-spacing:1; font-size: 20px; margin-top: -6px; }',
    wmode: 'transparent',
    tuneHeight: '-6'
});






 



