/// <reference path="C:\TFS\Libraries\jQuery\1.4.1\jquery-1.4.1.js"/>

// Browser specific layout functions 
jQuery.fn.layOut = function() {

	if (browser.safari) { 
	    jQuery('input[type=file]').css({ backgroundColor: "transparent", border: "none"}); 
	};
		
    if (browser.winIE) {
        //jQuery('input:checkbox, input:radio, input:hidden').css({ border: "none", background: "none" });
        jQuery('#container.wide .right-pane:first').insertBefore("#container.wide .content-pane");
    }
}

jQuery.fn.fontSize = function() {
    // Set events
    jQuery.each(['txt-size-01', 'txt-size-02', 'txt-size-03'], function(i, v) {
        jQuery("." + v).click(function(event) {
            event.preventDefault();
            jQuery("body").removeClass();
            jQuery.cookie("fontSize", v, { path: '/', expires: -1 });
            if (v != 'txt-size-01') {
                jQuery("body").addClass(v);
            }
            return false;
        });
    });
    // Read cookie
    var val = jQuery.cookie("fontSize");
    if (val && (val != '') && (val != 'txt-size-01')) {
        jQuery("body").addClass(val);
    }
}


// Toggle input value
jQuery.fn.toggleVal = function() {
    return this.focus(function() {
        if (this.value == this.defaultValue) {
            this.value = "";
        }
    }).blur(function() {
        if (!this.value.length) {
            this.value = this.defaultValue;
        }
    });
};

// Toggle div sequence
jQuery.fn.toggleSeq = function(id, class1, class2) {
    jQuery('#' + id + ' li a:first').addClass(class2);
    jQuery('#' + id + ' li div:first').show();
    jQuery('#' + id + ' li a').click(function() {
        var checkElement = jQuery(this).next();
        if (checkElement.is('div.drempel')) {
            if (!checkElement.is(':visible')) {
                jQuery('#' + id + ' li a').removeClass(class2);
                jQuery(this).addClass(class2);
                jQuery('#' + id + ' div.drempel:visible').animate({ height: 'toggle' }, { queue: true, duration: 600 }); //, opacity: 'toggle' breaks cleartype IE7	
                checkElement.animate({ height: 'toggle' }, { queue: true, duration: 600 }); //, opacity: 'toggle' breaks cleartype IE7
            }
            return false;
        }
    });
};

// Toggle div
jQuery.fn.toggleDiv = function(text1, text2, class1, class2) {
    return this.toggle(function() {
        var el = jQuery('#' + this.href.split('#')[1]);
        jQuery(this).text(text2);
        jQuery(this).removeClass(class1);
        jQuery(this).addClass(class2);
        el.animate({ height: 'toggle' }, { queue: false, duration: 600 }); //, opacity: 'toggle' breaks cleartype IE7
    }, function() {
        var el = jQuery('#' + this.href.split('#')[1]);
        jQuery(this).text(text1);
        jQuery(this).removeClass(class2);
        jQuery(this).addClass(class1);
        el.animate({ height: 'toggle' }, { queue: false, duration: 400 }); //, opacity: 'toggle' breaks cleartype IE7
    });
};

// Tooltips
jQuery.fn.tooltip = function () {
xOffset = -20;
yOffset = 0;
jQuery("a.tooltip, span.insight-none").hover(function (e) {
    if (jQuery(this).is('.insight, .tooltip')) {
      	this.t = this.title;
      	this.title = "";
      	jQuery("body").append("<p id='tooltip'>" + this.t + "</p>");
      	jQuery("#tooltip")
	.css("top", (e.pageY - xOffset) + "px")
	.css("left", (e.pageX + yOffset) + "px")
	.fadeIn("fast");
    }
},
function () {
if (jQuery(this).is('.insight, .tooltip')) {
	this.title = this.t;
	jQuery("#tooltip").remove();
}
});
jQuery("a.tooltip, span.insight").mousemove(function (e) {
    jQuery("#tooltip")
	.css("top", (e.pageY - xOffset) + "px")
	.css("left", (e.pageX + yOffset) + "px");
});
};

// Tooltips
  // tooltip werkend maar niet op elementen waar alleen .tooltip op zit.
/*
jQuery.fn.tooltip = function() {
    xOffset = -20;
    yOffset = 0;
    jQuery("a.tooltip, span.insight-none").hover(function(e) {
        if (jQuery(this).hasClass('insight')) {
            this.t = this.title;
            this.title = "";
            jQuery("body").append("<p id='tooltip'>" + this.t + "</p>");
            jQuery("#tooltip")
			.css("top", (e.pageY - xOffset) + "px")
			.css("left", (e.pageX + yOffset) + "px")
			.fadeIn("fast");
        }
    },
	function() {
        if (jQuery(this).hasClass('insight')) {
            this.title = this.t;
            jQuery("#tooltip").remove();
        }
	});
    jQuery("a.tooltip, span.insight").mousemove(function(e) {
        jQuery("#tooltip")
			.css("top", (e.pageY - xOffset) + "px")
			.css("left", (e.pageX + yOffset) + "px");
    });
};
*/

//werkende tooltip || <a> de class tooltip meegeven en klaar is kees
/*
$.fn.tooltip = function () {
	xOffset = -20;
	yOffset = 0;
		$("a.tooltip").hover(function (e) {
			this.t = this.title;
			this.title = "";
			$("body").append("<p id='tooltip'>" + this.t + "</p>");
			$("#tooltip")
			.css("top", (e.pageY - xOffset) + "px")
			.css("left", (e.pageX + yOffset) + "px")
			.fadeIn("fast");
		},
		function () {
			this.title = this.t;
			$("#tooltip").remove();
		});
		$("a.tooltip").mousemove(function (e) {
			$("#tooltip")
			.css("top", (e.pageY - xOffset) + "px")
			.css("left", (e.pageX + yOffset) + "px");
		});
	};

});
*/
/**********************************************************************
/**********************************************************************
/ EXTERNAL.JS
/**********************************************************************
/**********************************************************************/

//open external links in new window
jQuery.fn.externalLinks = function() {
    var localDomain = (location.href.split('/')[2]);
    var base = jQuery('base');
    if (base.length > 0) {
        localDomain = base[0].href.replace('http://', '').split('/')[0];
    }	
    var localExtensionsInNewWindow = Array('doc', 'xls', 'pdf');
    var list = document.getElementsByTagName('A');
    for (var i = 0; i < list.length; i++) {
        var aEl = list[i];
        // Bij links naar PDF wordt wel eens #page=X gebruikt onderstaande split fixed dit.
        var aElHref = aEl.href.split("#", 1)[0];
        // check for extensions
        var extension = (aElHref.substring(aElHref.length - 4, aElHref.length)).toLowerCase();
        var foundExtension = false;
        for (var j = 0; j < localExtensionsInNewWindow.length; j++) {
            if (extension == '.' + localExtensionsInNewWindow[j]) {
                foundExtension = true;
                break;
            }
        };

        // open in new window if conditions are right
        if ((aElHref.split('/')[2] != localDomain && aElHref.indexOf('mailto:') == -1 && aElHref.indexOf('javascript:') == -1) || foundExtension || $(aEl).attr('rel') == 'external') {
            $(aEl).addClass('external'); //.attr('title', 'external link'); (Issue FB-1917)
            aEl.onclick = function() {
                window.open(this.href);
                return false;
            }
        }
    }
};

/**********************************************************************
/**********************************************************************
/ TABLES.JS
/**********************************************************************
/**********************************************************************/

function addEvent(elm, evType, fn, useCapture)
// cross-browser event handling for IE5+, NS6+ and Mozilla 
// By Scott Andrew 
{
    if (elm.addEventListener) {
        elm.addEventListener(evType, fn, useCapture);
        return true;
    } else if (elm.attachEvent) {
        var r = elm.attachEvent('on' + evType, fn);
        return r;
    } else {
        elm['on' + evType] = fn;
    }
}

// climb up the tree to the supplied tag.
function ascendDOM(e, target) {
    while (e.nodeName.toLowerCase() != target &&
      e.nodeName.toLowerCase() != 'html')
        e = e.parentNode;

    return (e.nodeName.toLowerCase() == 'html') ? null : e;
}

// turn on highlighting
function hi_cell(e) {
    var el;
    if (window.event && window.event.srcElement)
        el = window.event.srcElement;
    if (e && e.target)
        el = e.target;
    if (!el) return;

    el = ascendDOM(el, 'td');
    if (el == null) return;


    var parent_row = ascendDOM(el, 'tr');
    if (parent_row == null) return;

    var parent_table = ascendDOM(parent_row, 'table');
    if (parent_table == null) return;

    // row styling
    parent_row.className += ' hi';

}

// turn on highlighting definitive on click
function hi_cell_def(e) {
    var el;
    if (window.event && window.event.srcElement)
        el = window.event.srcElement;
    if (e && e.target)
        el = e.target;
    if (!el) return;

    el = ascendDOM(el, 'td');
    if (el == null) return;

    var parent_row = ascendDOM(el, 'tr');
    if (parent_row == null) return;

    var parent_table = ascendDOM(parent_row, 'table');
    if (parent_table == null) return;

    // row styling
    // check for hi_def: if not set hi_def class else remove hi_def class
    var occur = parent_row.className.indexOf('hi_def');
    //alert(occur);
    if (occur > -1) {
        parent_row.className = parent_row.className.replace(/\b ?hi_def\b/, '');
    } else {
        parent_row.className += ' hi_def';
    }

}

// turn off highlighting
function lo_cell(e) {
    var el;
    if (window.event && window.event.srcElement)
        el = window.event.srcElement;
    if (e && e.target)
        el = e.target;
    if (!el) return;

    el = ascendDOM(el, 'td');
    if (el == null) return;

    var parent_row = ascendDOM(el, 'tr');
    if (el == null) return;

    var parent_table = ascendDOM(parent_row, 'table');
    if (el == null) return;

    // row de-styling
    parent_row.className = parent_row.className.replace(/\b ?hi\b/, '');
}


function addListeners() {
    if (!document.getElementsByTagName) return;
    var all_cells = document.getElementsByTagName('td');
    for (var i = 0; i < all_cells.length; i++) {
        addEvent(all_cells[i], 'mouseover', hi_cell, false);
        addEvent(all_cells[i], 'mouseout', lo_cell, false);
        addEvent(all_cells[i], 'click', hi_cell_def, false);
    }
}


/**********************************************************************
/**********************************************************************
/ MYREPORT.JS
/**********************************************************************
/**********************************************************************/

function fnMy_CheckboxSelected() {
    var oneOrMoreChecked = false;
    var checkBoxTable = document.getElementById('checkboxTable');

    var inputs = checkBoxTable.getElementsByTagName('input');
    for (var i = 0; i < inputs.length; i++) {
        if (inputs.item(i).checked) {
            oneOrMoreChecked = true;
        }
    }
    
    if (!oneOrMoreChecked) { 
        alert('Selecteer een of meer artikel(en) voor download.') 
    };
    return oneOrMoreChecked;
}
 
/**********************************************************************
/ Jargon
/**********************************************************************/

function fnSwitchJargon() {
    jQuery('span.insight, span.insight-none').toggleClass('insight').toggleClass('insight-none')
}

/**********************************************************************
/ Send to friend
/**********************************************************************/

function fnOpenSendToFriend(strUrl) {
    var strPopinUrl = jQuery('base')[0].href + 'ContentControls/Forms/SendToFriend.aspx?strUrl=' + escape(strUrl)
    pageTracker._trackPageview('CT send to friend');
    return Aspacts.Idios3.I_CAP.Scripting.InlineWin.OpenPopinUrlStyle(strPopinUrl, 475, 350, true, 'sendafriend-')
}

/**********************************************************************
/ Video Plugin
/**********************************************************************/

function fnOpenVideo(strVideoUrl, strTitle) {
    var strPopinUrl = jQuery('base')[0].href + 'ContentPlugin/Video/Video.aspx?strVideoUrl=' + encodeURI(strVideoUrl) + '&strTitle=' + encodeURI(strTitle)
    return Aspacts.Idios3.I_CAP.Scripting.InlineWin.OpenPopinUrlStyle(strPopinUrl, 535, 380, true, 'sendafriend-')
}

/**********************************************************************
/ FacetSelector rewriting
/**********************************************************************/

function fnRewriteFacetSelector() {
    jQuery('ul.facet-list-rewrite > li').each(function (index, elem) {
        var jqElem = jQuery(elem);
        var jqAElem = jQuery(jqElem).find("a:first");
        var jqCbx = jQuery('<input type="checkbox" class="checkbox" id="cbx' + jqAElem[0].id + '" value="" />');
        var jqLabel = jQuery('<label for="cbx' + jqAElem[0].id + '" class="' + jqAElem.attr('class') + '" />');
        jqElem.prepend(jqCbx);        

        if (jqElem.hasClass('empty')) {
            jqCbx.attr('disabled', 'disabled');
            jQuery(jqElem).find("a:first, input:first").bind('click',
                function () {
                    return false;
                });
        } else {
            var boolRemoveAction = jqElem.hasClass('selected');
            if (boolRemoveAction) {
                jqCbx.attr('checked', 'checked');
            }
            jQuery(jqElem).find("a:first, input:first").bind('click',
                { url: jqAElem.attr('href'), title: jqAElem.attr('title'), registerHit: !boolRemoveAction, fvId: jqAElem[0].id.replace(/[^0-9]/gi, '') },
                function (e) {
                    pageTracker._trackPageview('CT facet ' + e.data.title);
                    if (e.data.registerHit) {                        
                        fnRegister(e.data.fvId);
                    }
                    window.location.href = e.data.url;
                    return false;
                });
        }

        jqAElem.wrapInner(jqLabel);        
    });
}

/**********************************************************************
/ STARTUP CODE
/**********************************************************************/

jQuery(function () {

    // Noscript and drempelvrij 
    jQuery('.drempel').css({ 'display': 'none' });
    jQuery('.noscript').css({ 'display': 'block !important' });
    jQuery('.hideNoJScript').removeClass('hideNoJScript');

    // Suckerfish
    jQuery("ul.nav li").hover(
        function () { $(this).addClass("active"); },
        function () { $(this).removeClass("active"); }
    );

    jQuery("ul.submenu li").hover(
        function () { $(this).addClass("active"); },
        function () { $(this).removeClass("active"); }
    );

    //FacetMenu
    fnRewriteFacetSelector();

    //Mak enable TrackPageview on e a-tags with trackLink 
    jQuery('a.trackLink').click(function () {
        pageTracker._trackPageview('CT ' + jQuery(this).attr('title'));
    });

    jQuery('a.trackLinkContext').click(function () {
        pageTracker._trackPageview('CT contextblok');
    });

    jQuery('a.trackLinkExternContext').click(function () {
        pageTracker._trackPageview('CT externe context');
    });

    jQuery('a.trackLinkTagCloud').click(function () {
        pageTracker._trackPageview('CT tagcloud');
    });

    /* PageTools
    Hide container on load 
    Indien iemand geen js heeft aanstaan wordt hele blok getoond.
    anders wordt alleen gedeelte getoond wat kan open- en dichtklappen 
    jQuery("#page-container-wide").hide();
    */

    //Switch the "Open" and "Close" state per click
    if (jQuery("div#page-container").length) {
        jQuery("a#open-options").toggle(
			function () { jQuery(this).addClass("otherarrow"); },
			function () { jQuery(this).removeClass("otherarrow"); }
		);
        jQuery("a#open-options").click(function () {
            jQuery("#page-container").slideToggle();
            return false;
        });
    }
    else {
        jQuery("#page-container-wide").hide();
        jQuery("a#open-options-wide").toggle(
			function () { jQuery(this).addClass("otherarrow-wide"); },
			function () { jQuery(this).removeClass("otherarrow-wide"); }
		);
        jQuery("a#open-options-wide").click(function () {
            jQuery("#page-container-wide").slideToggle();
            return false;
        });
    }

    // Table events
    addListeners();

    // Activate layout miniplugins
    jQuery('html').externalLinks();
    jQuery('html').layOut();
    jQuery('html').fontSize();
    jQuery('html').tooltip();
    jQuery('html').pngFix();
    jQuery('.togval').toggleVal();

    $('a.opmerking').click(
        function () { $('#mylist').slideToggle('slow'); }
    );

    $('a.close-list').click(
        function () {
            $('#mylist').slideToggle('slow');
            return false;
        }
    );

    //create corners
    $('.corners').corner("round 5px");

    // Unobtrusive Print Link
    jQuery("a.unobtrusive-print-link").click(function () {
        window.print();
        return false;
    });

    $('.slider').each(function () {
        var jqThis = $(this);
        jqThis.mobilyslider({
            content: '.sliderContent',
            children: 'div',
            transition: 'horizontal',
            animationSpeed: 500,
            autoplay: false,
            autoplaySpeed: 3000,
            pauseOnHover: false,
            bullets: false,
            arrows: true,
            arrowsHide: false,
            prev: 'prev',
            next: 'next',
            animationStart: function () { },
            animationComplete: function () { }
        });
        var strClassName = jqThis.attr('name');
        jqThis.parents('.article-editor').addClass(strClassName);
    });

});

/**********************************************************************
/ FBPLUGINS CODE
use http://closure-compiler.appspot.com/home to compile/compact the debug fbplugins file
/***************************************************/

var Browser=function(){this.uA=navigator.userAgent.toLowerCase();this.aN=navigator.appName.toLowerCase();this.iE=this.aN.indexOf("microsoft")!=-1?1:0;this.mac=this.uA.indexOf("mac")!=-1?1:0;this.win=this.uA.indexOf("windows")!=-1?1:0;this.safari=this.uA.indexOf("webkit")!=-1?1:0;this.opera=this.uA.indexOf("opera")!=-1?1:0;this.operaMini=this.uA.indexOf("mini")!=-1?1:0;this.winMozilla=(this.mozilla=this.aN.indexOf("netscape")!=-1&&!this.safari?1:0)&&this.win?1:0;this.winIE6Down=(this.winIE=this.iE&&
this.win&&!this.opera?1:0)&&/msie|MSIE 6/.test(navigator.userAgent)==1?1:0;this.macIE=this.iE&&this.mac?1:0},browser=new Browser;
jQuery.cookie=function(d,b,e){if(typeof b!="undefined"){e=e||{};if(b===null){b="";e.expires=-1}var a="";if(e.expires&&(typeof e.expires=="number"||e.expires.toUTCString)){if(typeof e.expires=="number"){a=new Date;a.setTime(a.getTime()+e.expires*24*60*60*1E3)}else a=e.expires;a="; expires="+a.toUTCString()}var c=e.path?"; path="+e.path:"",f=e.domain?"; domain="+e.domain:"";e=e.secure?"; secure":"";document.cookie=[d,"=",encodeURIComponent(b),a,c,f,e].join("")}else{b=null;if(document.cookie&&document.cookie!=
""){e=document.cookie.split(";");for(a=0;a<e.length;a++){c=jQuery.trim(e[a]);if(c.substring(0,d.length+1)==d+"="){b=decodeURIComponent(c.substring(d.length+1));break}}}return b}};
(function(d){function b(l){l=parseInt(l).toString(16);return l.length<2?"0"+l:l}function e(l){for(;l;){var i=d.css(l,"backgroundColor");if(i&&i!="transparent"&&i!="rgba(0, 0, 0, 0)"){if(i.indexOf("rgb")>=0){l=i.match(/\d+/g);return"#"+b(l[0])+b(l[1])+b(l[2])}return i}l=l.parentNode}return"#ffffff"}function a(l,i,g){switch(l){case "round":return Math.round(g*(1-Math.cos(Math.asin(i/g))));case "cool":return Math.round(g*(1+Math.cos(Math.asin(i/g))));case "sharp":return Math.round(g*(1-Math.cos(Math.acos(i/
g))));case "bite":return Math.round(g*Math.cos(Math.asin((g-i-1)/g)));case "slide":return Math.round(g*Math.atan2(i,g/i));case "jut":return Math.round(g*Math.atan2(g,g-i-1));case "curl":return Math.round(g*Math.atan(i));case "tear":return Math.round(g*Math.cos(i));case "wicked":return Math.round(g*Math.tan(i));case "long":return Math.round(g*Math.sqrt(i));case "sculpt":return Math.round(g*Math.log(g-i-1,g));case "dogfold":case "dog":return i&1?i+1:g;case "dog2":return i&2?i+1:g;case "dog3":return i&
3?i+1:g;case "fray":return i%2*g;case "notch":return g;case "bevelfold":case "bevel":return i+1}}var c=document.createElement("div").style,f=c.MozBorderRadius!==undefined,h=c.WebkitBorderRadius!==undefined,n=c.borderRadius!==undefined||c.BorderRadius!==undefined;c=document.documentMode||0;var u=d.browser.msie&&(d.browser.version<8&&!c||c<8),m=d.browser.msie&&function(){var l=document.createElement("div");try{l.style.setExpression("width","0+0");l.style.removeExpression("width")}catch(i){return false}return true}();
d.fn.corner=function(l){if(this.length==0){if(!d.isReady&&this.selector){var i=this.selector,g=this.context;d(function(){d(i,g).corner(l)})}return this}return this.each(function(){var o=d(this),j=[o.attr(d.fn.corner.defaults.metaAttr)||"",l||""].join(" ").toLowerCase(),x=/keep/.test(j),q=(j.match(/cc:(#[0-9a-f]+)/)||[])[1],r=(j.match(/sc:(#[0-9a-f]+)/)||[])[1],p=parseInt((j.match(/(\d+)px/)||[])[1])||10,z=(j.match(/round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog/)||
["round"])[0],B=/dogfold|bevelfold/.test(j),A={T:0,B:1};j={TL:/top|tl|left/.test(j),TR:/top|tr|right/.test(j),BL:/bottom|bl|left/.test(j),BR:/bottom|br|right/.test(j)};if(!j.TL&&!j.TR&&!j.BL&&!j.BR)j={TL:1,TR:1,BL:1,BR:1};if(d.fn.corner.defaults.useNative&&z=="round"&&(n||f||h)&&!q&&!r){if(j.TL)o.css(n?"border-top-left-radius":f?"-moz-border-radius-topleft":"-webkit-border-top-left-radius",p+"px");if(j.TR)o.css(n?"border-top-right-radius":f?"-moz-border-radius-topright":"-webkit-border-top-right-radius",
p+"px");if(j.BL)o.css(n?"border-bottom-left-radius":f?"-moz-border-radius-bottomleft":"-webkit-border-bottom-left-radius",p+"px");if(j.BR)o.css(n?"border-bottom-right-radius":f?"-moz-border-radius-bottomright":"-webkit-border-bottom-right-radius",p+"px")}else{o=document.createElement("div");d(o).css({overflow:"hidden",height:"1px",minHeight:"1px",fontSize:"1px",backgroundColor:r||"transparent",borderStyle:"solid"});r={T:parseInt(d.css(this,"paddingTop"))||0,R:parseInt(d.css(this,"paddingRight"))||
0,B:parseInt(d.css(this,"paddingBottom"))||0,L:parseInt(d.css(this,"paddingLeft"))||0};if(typeof this.style.zoom!=undefined)this.style.zoom=1;if(!x)this.style.border="none";o.style.borderColor=q||e(this.parentNode);x=d(this).outerHeight();for(var w in A)if((q=A[w])&&(j.BL||j.BR)||!q&&(j.TL||j.TR)){o.style.borderStyle="none "+(j[w+"R"]?"solid":"none")+" none "+(j[w+"L"]?"solid":"none");var t=document.createElement("div");d(t).addClass("jquery-corner");var k=t.style;q?this.appendChild(t):this.insertBefore(t,
this.firstChild);if(q&&x!="auto"){if(d.css(this,"position")=="static")this.style.position="relative";k.position="absolute";k.bottom=k.left=k.padding=k.margin="0";if(m)k.setExpression("width","this.parentNode.offsetWidth");else k.width="100%"}else if(!q&&d.browser.msie){if(d.css(this,"position")=="static")this.style.position="relative";k.position="absolute";k.top=k.left=k.right=k.padding=k.margin="0";if(m){var s=(parseInt(d.css(this,"borderLeftWidth"))||0)+(parseInt(d.css(this,"borderRightWidth"))||
0);k.setExpression("width","this.parentNode.offsetWidth - "+s+'+ "px"')}else k.width="100%"}else{k.position="relative";k.margin=!q?"-"+r.T+"px -"+r.R+"px "+(r.T-p)+"px -"+r.L+"px":r.B-p+"px -"+r.R+"px -"+r.B+"px -"+r.L+"px"}for(k=0;k<p;k++){s=Math.max(0,a(z,k,p));var y=o.cloneNode(false);y.style.borderWidth="0 "+(j[w+"R"]?s:0)+"px 0 "+(j[w+"L"]?s:0)+"px";q?t.appendChild(y):t.insertBefore(y,t.firstChild)}if(B&&d.support.boxModel)if(!(q&&u))for(var v in j)if(j[v])if(!(q&&(v=="TL"||v=="TR")))if(!(!q&&
(v=="BL"||v=="BR"))){k={position:"absolute",border:"none",margin:0,padding:0,overflow:"hidden",backgroundColor:o.style.borderColor};s=d("<div/>").css(k).css({width:p+"px",height:"1px"});switch(v){case "TL":s.css({bottom:0,left:0});break;case "TR":s.css({bottom:0,right:0});break;case "BL":s.css({top:0,left:0});break;case "BR":s.css({top:0,right:0})}t.appendChild(s[0]);k=d("<div/>").css(k).css({top:0,bottom:0,width:"1px",height:p+"px"});switch(v){case "TL":k.css({left:p});break;case "TR":k.css({right:p});
break;case "BL":k.css({left:p});break;case "BR":k.css({right:p})}t.appendChild(k[0])}}}})};d.fn.uncorner=function(){if(n||f||h)this.css(n?"border-radius":f?"-moz-border-radius":"-webkit-border-radius",0);d("div.jquery-corner",this).remove();return this};d.fn.corner.defaults={useNative:true,metaAttr:"data-corner"}})(jQuery);
(function(d){var b=1;d.fn.dropShadow=function(e){var a=d.extend({left:4,top:4,blur:2,opacity:0.5,color:"black",swap:false},e),c=d([]);this.not(".dropShadow").each(function(){var f=d(this),h=[],n=a.blur<=0?0:a.blur,u=n==0?a.opacity:a.opacity/(n*8),m=a.swap?b:b+1,l=a.swap?b+1:b,i;i=this.id?this.id+"_dropShadow":"ds"+(1+Math.floor(9999*Math.random()));d.data(this,"shadowId",i);d.data(this,"shadowOptions",e);f.attr("shadowId",i).css("zIndex",m);f.css("position")!="absolute"&&f.css({position:"relative",
zoom:1});bgColor=f.css("backgroundColor");h[0]=bgColor=="transparent"||f.css("backgroundImage")=="none"||this.nodeName=="SELECT"||this.nodeName=="INPUT"||this.nodeName=="TEXTAREA"?d("<div></div>").css("background",a.color):f.clone().removeAttr("id").removeAttr("name").removeAttr("shadowId").css("color",a.color);h[0].addClass("dropShadow").css({height:f.outerHeight(),left:n,opacity:u,position:"absolute",top:n,width:f.outerWidth(),zIndex:l});u=8*n+1;for(m=1;m<u;m++)h[m]=h[0].clone();m=1;for(var g=n;g>
0;){h[m].css({left:g*2,top:0});h[m+1].css({left:g*4,top:g*2});h[m+2].css({left:g*2,top:g*4});h[m+3].css({left:0,top:g*2});h[m+4].css({left:g*3,top:g});h[m+5].css({left:g*3,top:g*3});h[m+6].css({left:g,top:g*3});h[m+7].css({left:g,top:g});m+=8;g--}var o=d("<div></div>").attr("id",i).addClass("dropShadow").css({left:f.position().left+a.left-n,marginTop:f.css("marginTop"),marginRight:f.css("marginRight"),marginBottom:f.css("marginBottom"),marginLeft:f.css("marginLeft"),position:"absolute",top:f.position().top+
a.top-n,zIndex:l});for(m=0;m<u;m++)o.append(h[m]);f.after(o);c=c.add(o);d(window).resize(function(){try{o.css({left:f.position().left+a.left-n,top:f.position().top+a.top-n})}catch(j){}});b+=2});return this.pushStack(c)};d.fn.redrawShadow=function(){this.removeShadow();return this.each(function(){var e=d.data(this,"shadowOptions");d(this).dropShadow(e)})};d.fn.removeShadow=function(){return this.each(function(){var e=d(this).shadowId();d("div#"+e).remove()})};d.fn.shadowId=function(){return d.data(this[0],
"shadowId")};d(function(){var e="<style type='text/css' media='print'>";e+=".dropShadow{visibility:hidden;}</style>";d("head").append(e)})})(jQuery);
(function(){jQuery.fn.pngFix=function(d){d=jQuery.extend({blankgif:"/Images/Frontend/blank.gif"},d);var b=navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 5.5")!=-1,e=navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 6.0")!=-1;if(jQuery.browser.msie&&(b||e)){jQuery(this).find("img[src$=.png]").each(function(){jQuery(this).attr("width",jQuery(this).width());jQuery(this).attr("height",
jQuery(this).height());var a="",c="",f=jQuery(this).attr("id")?'id="'+jQuery(this).attr("id")+'" ':"",h=jQuery(this).attr("class")?'class="'+jQuery(this).attr("class")+'" ':"",n=jQuery(this).attr("title")?'title="'+jQuery(this).attr("title")+'" ':"",u=jQuery(this).attr("alt")?'alt="'+jQuery(this).attr("alt")+'" ':"",m=jQuery(this).attr("align")?"float:"+jQuery(this).attr("align")+";":"",l=jQuery(this).parent().attr("href")?"cursor:hand;":"";if(this.style.border){a+="border:"+this.style.border+";";
this.style.border=""}if(this.style.padding){a+="padding:"+this.style.padding+";";this.style.padding=""}if(this.style.margin){a+="margin:"+this.style.margin+";";this.style.margin=""}var i=this.style.cssText;c+="<span "+f+h+n+u;c+='style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+m+l;c+="width:"+jQuery(this).width()+"px;height:"+jQuery(this).height()+"px;";c+="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+jQuery(this).attr("src")+"', sizingMethod='scale');";
c+=i+'"></span>';if(a!="")c='<span style="position:relative;display:inline-block;'+a+l+"width:"+jQuery(this).width()+"px;height:"+jQuery(this).height()+'px;">'+c+"</span>";jQuery(this).hide();jQuery(this).after(c)});jQuery(this).find("*").each(function(){var a=jQuery(this).css("background-image");if(a.indexOf(".png")!=-1){a=a.split('url("')[1].split('")')[0];jQuery(this).css("background-image","none");jQuery(this).get(0).runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+
a+"',sizingMethod='scale')"}});jQuery(this).find("input[src$=.png]").each(function(){var a=jQuery(this).attr("src");jQuery(this).get(0).runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a+"', sizingMethod='scale');";jQuery(this).attr("src",d.blankgif)})}return jQuery}})(jQuery);
function OpenLoadingFacetBase(d){var b=document;if(window.frameElement)if(window.frameElement.refWindow)b=window.frameElement.refWindow.windowSystem.refBlockLayerElement.ownerDocument;d||(d="Een moment geduld");var e=[],a=b.createElement("div");a.className="loading";var c=b.createElement("img");c.src="/images/backend/loading.gif";c.alt="Loading";c.className="loading";a.appendChild(c);c=b.createElement("p");c.appendChild(b.createTextNode(d));a.appendChild(c);e.push(a);var f;if(window.frameElement)if(window.frameElement.refWindow){f=
window.frameElement.refWindow.windowSystem.OpenLoadingWindow(e,"aPopin",480,210);window.frameElement.refWindow.LoadingWin=f}f||(f=Aspacts.Idios3.I_CAP.Scripting.InlineWin.System.OpenLoadingWindow(e,"aPopin",480,210));f.refElement2.style.position="relative"}
(function(d){d.anythingSlider=function(b,e){var a=this;a.$el=d(b);a.el=b;a.currentPage=1;a.timer=null;a.playing=false;a.$el.data("AnythingSlider",a);a.init=function(){a.options=d.extend({},d.anythingSlider.defaults,e);a.$wrapper=a.$el.find("> div").css("overflow","hidden");a.$slider=a.$wrapper.find("> ul");a.$items=a.$slider.find("> li");a.$single=a.$items.filter(":first");a.singleWidth=a.$single.outerWidth();a.pages=a.$items.length;if(a.pages===1)a.options.autoPlay=false;a.buildNavigation();var c=
a.$items.filter(":last").clone().addClass("cloned");c.attr("id")!=""?a.$items.filter(":first").before(c.attr("id",c.attr("id")+"-cloned")):a.$items.filter(":first").before(c);c=a.$items.filter(":first").clone().addClass("cloned");c.attr("id")!=""?a.$items.filter(":last").after(c.attr("id",c.attr("id")+"-cloned")):a.$items.filter(":last").after(c);a.$items=a.$slider.find("> li");a.pages>1&&a.buildNextBackButtons();if(a.options.autoPlay){a.playing=!a.options.startStopped;a.buildAutoPlay()}a.options.pauseOnHover&&
a.$el.hover(function(){a.clearTimer()},function(){a.startStop(a.playing)});if(a.options.hashTags==true&&!a.gotoHash()||a.options.hashTags==false)a.setCurrentPage(1)};a.gotoPage=function(c,f){if(f!==true)f=false;f||a.startStop(false);if(typeof c=="undefined"||c==null){c=1;a.setCurrentPage(1)}if(c>a.pages+1)c=a.pages;if(c<0)c=1;var h=a.singleWidth*(c<a.currentPage?-1:1)*Math.abs(a.currentPage-c);a.$wrapper.filter(":not(:animated)").animate({scrollLeft:"+="+h},a.options.animationTime,a.options.easing,
function(){if(c==0){a.$wrapper.scrollLeft(a.singleWidth*a.pages);c=a.pages}else if(c>a.pages){a.$wrapper.scrollLeft(a.singleWidth);c=1}a.setCurrentPage(c)})};a.setCurrentPage=function(c,f){if(a.options.buildNavigation){a.$nav.find(".cur").removeClass("cur");d(a.$navLinks[c-1]).addClass("cur")}f!==false&&a.$wrapper.scrollLeft(a.singleWidth*c);a.currentPage=c};a.goForward=function(c){if(c!==true)c=false;a.gotoPage(a.currentPage+1,c)};a.goBack=function(){a.gotoPage(a.currentPage-1)};a.gotoHash=function(){if(/^#?panel-\d+$/.test(window.location.hash)){var c=
parseInt(window.location.hash.substr(7));if(a.$items.filter(":eq("+c+")").length!=0){a.setCurrentPage(c);return true}}return false};a.buildNavigation=function(){a.$nav=d("<div class='thumbNav'><ul/></div>").prependTo(a.$el);if(a.options.buildNavigation&&a.pages>1){a.$items.each(function(c){var f=c+1;c=d("<a href='#'></a>");typeof a.options.navigationFormatter=="function"?c.html(a.options.navigationFormatter(f,d(this))):c.text(f);c.click(function(h){a.gotoPage(f);a.options.hashTags&&a.setHash("panel-"+
f);h.preventDefault()});d("ul",a.$nav).append(c);c.wrap("<li />")});a.$navLinks=a.$nav.find("li > a")}};a.buildNextBackButtons=function(){var c=d('<li class="arrow forward"><a href="#">'+a.options.forwardText+"</a></li>"),f=d('<li class="arrow back"><a href="#">'+a.options.backText+"</a></li>");f.click(function(h){a.goBack();h.preventDefault()});c.click(function(h){a.goForward();h.preventDefault()});d("ul",a.$nav).prepend(f).append(c)};a.buildAutoPlay=function(){a.$startStop=d("<a href='#' class='start-stop'></a>").html(a.playing?
a.options.stopText:a.options.startText);a.$el.prepend(a.$startStop);a.$startStop.click(function(c){a.startStop(!a.playing);c.preventDefault()});a.startStop(a.playing)};a.startStop=function(c){if(c!==true)c=false;a.playing=c;if(a.options.autoPlay)a.$startStop.toggleClass("playing",c).html(c?a.options.stopText:a.options.startText);if(c){a.clearTimer();a.timer=window.setInterval(function(){a.goForward(true)},a.options.delay)}else a.clearTimer()};a.clearTimer=function(){a.timer&&window.clearInterval(a.timer)};
a.setHash=function(c){if(typeof window.location.hash!=="undefined"){if(window.location.hash!==c)window.location.hash=c}else if(location.hash!==c)location.hash=c;return c};a.init()};d.anythingSlider.defaults={easing:"swing",autoPlay:true,startStopped:false,delay:3E3,animationTime:600,hashTags:true,buildNavigation:true,pauseOnHover:true,startText:"Start",stopText:"Stop",navigationFormatter:null,forwardText:"&gt;",backText:"&lt;"};d.fn.anythingSlider=function(b){if(typeof b=="object")return this.each(function(){new d.anythingSlider(this,
b);b.hashTags=false});else if(typeof b=="number")return this.each(function(){var e=d(this).data("AnythingSlider");e&&e.gotoPage(b)})}})(jQuery);
jQuery.extend(jQuery.easing,{easeInQuad:function(d,b,e,a,c){return a*(b/=c)*b+e},easeOutQuad:function(d,b,e,a,c){return-a*(b/=c)*(b-2)+e},easeInOutQuad:function(d,b,e,a,c){if((b/=c/2)<1)return a/2*b*b+e;return-a/2*(--b*(b-2)-1)+e},easeInCubic:function(d,b,e,a,c){return a*(b/=c)*b*b+e},easeOutCubic:function(d,b,e,a,c){return a*((b=b/c-1)*b*b+1)+e},easeInOutCubic:function(d,b,e,a,c){if((b/=c/2)<1)return a/2*b*b*b+e;return a/2*((b-=2)*b*b+2)+e},easeInQuart:function(d,b,e,a,c){return a*(b/=c)*b*b*b+e},
easeOutQuart:function(d,b,e,a,c){return-a*((b=b/c-1)*b*b*b-1)+e},easeInOutQuart:function(d,b,e,a,c){if((b/=c/2)<1)return a/2*b*b*b*b+e;return-a/2*((b-=2)*b*b*b-2)+e},easeInQuint:function(d,b,e,a,c){return a*(b/=c)*b*b*b*b+e},easeOutQuint:function(d,b,e,a,c){return a*((b=b/c-1)*b*b*b*b+1)+e},easeInOutQuint:function(d,b,e,a,c){if((b/=c/2)<1)return a/2*b*b*b*b*b+e;return a/2*((b-=2)*b*b*b*b+2)+e},easeInSine:function(d,b,e,a,c){return-a*Math.cos(b/c*(Math.PI/2))+a+e},easeOutSine:function(d,b,e,a,c){return a*
Math.sin(b/c*(Math.PI/2))+e},easeInOutSine:function(d,b,e,a,c){return-a/2*(Math.cos(Math.PI*b/c)-1)+e},easeInExpo:function(d,b,e,a,c){return b==0?e:a*Math.pow(2,10*(b/c-1))+e},easeOutExpo:function(d,b,e,a,c){return b==c?e+a:a*(-Math.pow(2,-10*b/c)+1)+e},easeInOutExpo:function(d,b,e,a,c){if(b==0)return e;if(b==c)return e+a;if((b/=c/2)<1)return a/2*Math.pow(2,10*(b-1))+e;return a/2*(-Math.pow(2,-10*--b)+2)+e},easeInCirc:function(d,b,e,a,c){return-a*(Math.sqrt(1-(b/=c)*b)-1)+e},easeOutCirc:function(d,
b,e,a,c){return a*Math.sqrt(1-(b=b/c-1)*b)+e},easeInOutCirc:function(d,b,e,a,c){if((b/=c/2)<1)return-a/2*(Math.sqrt(1-b*b)-1)+e;return a/2*(Math.sqrt(1-(b-=2)*b)+1)+e},easeInElastic:function(d,b,e,a,c){d=1.70158;var f=0,h=a;if(b==0)return e;if((b/=c)==1)return e+a;f||(f=c*0.3);if(h<Math.abs(a)){h=a;d=f/4}else d=f/(2*Math.PI)*Math.asin(a/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*c-d)*2*Math.PI/f))+e},easeOutElastic:function(d,b,e,a,c){d=1.70158;var f=0,h=a;if(b==0)return e;if((b/=c)==1)return e+
a;f||(f=c*0.3);if(h<Math.abs(a)){h=a;d=f/4}else d=f/(2*Math.PI)*Math.asin(a/h);return h*Math.pow(2,-10*b)*Math.sin((b*c-d)*2*Math.PI/f)+a+e},easeInOutElastic:function(d,b,e,a,c){d=1.70158;var f=0,h=a;if(b==0)return e;if((b/=c/2)==2)return e+a;f||(f=c*0.3*1.5);if(h<Math.abs(a)){h=a;d=f/4}else d=f/(2*Math.PI)*Math.asin(a/h);if(b<1)return-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*c-d)*2*Math.PI/f)+e;return h*Math.pow(2,-10*(b-=1))*Math.sin((b*c-d)*2*Math.PI/f)*0.5+a+e},easeInBack:function(d,b,e,a,c,f){if(f==
undefined)f=1.70158;return a*(b/=c)*b*((f+1)*b-f)+e},easeOutBack:function(d,b,e,a,c,f){if(f==undefined)f=1.70158;return a*((b=b/c-1)*b*((f+1)*b+f)+1)+e},easeInOutBack:function(d,b,e,a,c,f){if(f==undefined)f=1.70158;if((b/=c/2)<1)return a/2*b*b*(((f*=1.525)+1)*b-f)+e;return a/2*((b-=2)*b*(((f*=1.525)+1)*b+f)+2)+e},easeInBounce:function(d,b,e,a,c){return a-jQuery.easing.easeOutBounce(d,c-b,0,a,c)+e},easeOutBounce:function(d,b,e,a,c){return(b/=c)<1/2.75?a*7.5625*b*b+e:b<2/2.75?a*(7.5625*(b-=1.5/2.75)*
b + 0.75) + e : b < 2.5 / 2.75 ? a * (7.5625 * (b -= 2.25 / 2.75) * b + 0.9375) + e : a * (7.5625 * (b -= 2.625 / 2.75) * b + 0.984375) + e
}, easeInOutBounce: function (d, b, e, a, c) { if (b < c / 2) return jQuery.easing.easeInBounce(d, b * 2, 0, a, c) * 0.5 + e; return jQuery.easing.easeOutBounce(d, b * 2 - c, 0, a, c) * 0.5 + a * 0.5 + e } 
});

/* ==========================================================
* MobilySlider
* date: 20.1.2010
* author: Marcin Dziewulski
* last update: 02.02.2011
* web: http://www.mobily.pl or http://playground.mobily.pl
* email: hello@mobily.pl
* Free to use under the MIT license.
* ========================================================== */
(function ($) { $.fn.mobilyslider = function (options) { var defaults = { content: ".sliderContent", children: "div", transition: "horizontal", animationSpeed: 300, autoplay: false, autoplaySpeed: 3000, pauseOnHover: false, bullets: true, arrows: true, arrowsHide: true, prev: "prev", next: "next", animationStart: function () { }, animationComplete: function () { } }; var sets = $.extend({}, defaults, options); return this.each(function () { var $t = $(this), item = $t.children(sets.content).children(sets.children), l = item.length - 1, w = item.width(), h = item.height(), step = 0, play, bullets, arrows, z, active, bullet; var slider = { init: function () { slider.data(); if (sets.bullets) { slider.bullets.create() } if (sets.arrows) { slider.arrows.create() } if (sets.autoplay) { slider.autoplay() } slider.triggers() }, data: function () { item.each(function (i) { $(this).css("z-index", -(i - l)) }); if (sets.transition == "fade") { item.hide().eq(0).show() } }, zindex: { prev: function () { step == l ? item.eq(0).css("z-index", l + 3) : item.css("z-index", l + 1); item.eq(step).css("z-index", l + 4).next(item).css("z-index", l + 2) }, next: function () { item.css("z-index", l + 1).eq(step).css("z-index", l + 3).prev(item).css("z-index", l + 2) }, bullets: function () { item.css("z-index", l + 1).eq(active).css("z-index", l + 2); item.eq(step).css("z-index", l + 3) }, trigger: function () { if (z == 1) { slider.zindex.next() } else { if (z == -1) { slider.zindex.prev() } else { if (z == 0) { slider.zindex.bullets() } } } } }, slide: { left: function (sign) { sets.animationStart.call(this); item.eq(step).animate({ left: sign + "=" + w }, sets.animationSpeed, function () { slider.zindex.trigger() }).animate({ left: 0 }, sets.animationSpeed + 200, function () { sets.animationComplete.call(this) }) }, top: function (sign) { sets.animationStart.call(this); item.eq(step).animate({ top: sign + "=" + h }, sets.animationSpeed, function () { slider.zindex.trigger() }).animate({ top: 0 }, sets.animationSpeed + 200, function () { sets.animationComplete.call(this) }) }, fade: function () { sets.animationStart.call(this); item.fadeOut(sets.animationSpeed).eq(step).fadeIn(sets.animationSpeed, function () { sets.animationComplete.call(this) }) } }, animation: { previous: function () { step == 0 ? step = l : step--; z = -1; switch (sets.transition) { case "horizontal": slider.slide.left("-"); break; case "vertical": slider.slide.top("+"); break; case "fade": slider.slide.fade(); break } }, next: function () { step == l ? step = 0 : step++; z = 1; switch (sets.transition) { case "horizontal": slider.slide.left("+"); break; case "vertical": slider.slide.top("-"); break; case "fade": slider.slide.fade(); break } } }, autoplay: function () { play = setInterval(function () { slider.animation.next(); if (sets.bullets) { setTimeout(function () { slider.bullets.update() }, sets.animationSpeed + 300) } }, sets.autoplaySpeed) }, pause: function () { clearInterval(play) }, bullets: { create: function () { $t.append($("<div />").addClass("sliderBullets")); bullets = $t.find(".sliderBullets"); for (i = 0; i <= l; i++) { bullets.append($("<a />").attr({ href: "#", rel: i }).text(i)) } }, trigger: function () { bullet = bullets.find("a"); bullet.eq(0).addClass("active"); bullet.click(function () { var b = $(this), rel = b.attr("rel"); active = bullet.filter(".active").attr("rel"); step = rel; sign = rel > active ? "+" : "-"; z = 0; if (!b.hasClass("active")) { switch (sets.transition) { case "horizontal": slider.slide.left(sign); break; case "vertical": slider.slide.top(sign); break; case "fade": slider.slide.fade(); break } } bullet.removeClass("active"); b.addClass("active"); return false }) }, update: function () { bullet.removeClass("active").eq(step).addClass("active") } }, arrows: { create: function () { $t.append($("<div />").addClass("sliderArrows")); arrows = $t.find(".sliderArrows"); arrows.append($("<a />").attr("href", "#").addClass(sets.prev).text("Previous")); arrows.append($("<a />").attr("href", "#").addClass(sets.next).text("Next")) }, trigger: function () { arrows.find("." + sets.prev).click(function () { slider.animation.previous(); if (sets.bullets) { slider.bullets.update() } return false }); arrows.find("." + sets.next).click(function () { slider.animation.next(); if (sets.bullets) { slider.bullets.update() } return false }); if (sets.arrowsHide) { arrows.hide(); $t.hover(function () { arrows.show() }, function () { arrows.hide() }) } } }, triggers: function () { if (sets.arrows) { slider.arrows.trigger() } if (sets.bullets) { slider.bullets.trigger() } if (sets.pauseOnHover) { $t.hover(function () { slider.pause() }, function () { slider.autoplay() }) } } }; slider.init() }) } } (jQuery));
/*
VERSION: Drop Shadow jQuery Plugin 1.6 12-13-2007
REQUIRES: jquery.js and jquery.dimensions.js
SYNTAX: $(selector).dropShadow(options); // Creates new drop shadows
$(selector).redrawShadow(); // Redraws shadows on elements
$(selector).removeShadow(); // Removes shadows from elements
$(selector).shadowId(); // Returns an existing shadow's ID
OPTIONS:
left : integer (default = 4)
top : integer (default = 4)
blur : integer (default = 1)
opacity : decimal (default = 0.5)
color : string (default = "black")
swap : boolean (default = false)
*/
(function ($) {
var dropShadowZindex = 1; //z-index counter
$.fn.dropShadow = function (options) {
// Default options
var opt = $.extend({
left: 4,
top: 4,
blur: 2,
opacity: .5,
color: "black",
swap: false
}, options);
var jShadows = $([]); //empty jQuery collection
// Loop through original elements
this.not(".dropShadow").each(function () {
var jthis = $(this);
var shadows = [];
var blur = (opt.blur <= 0) ? 0 : opt.blur;
var opacity = (blur == 0) ? opt.opacity : opt.opacity / (blur * 8);
var zOriginal = (opt.swap) ? dropShadowZindex : dropShadowZindex + 1;
var zShadow = (opt.swap) ? dropShadowZindex + 1 : dropShadowZindex;
// Create ID for shadow
var shadowId;
if (this.id) {
shadowId = this.id + "_dropShadow";
}
else {
shadowId = "ds" + (1 + Math.floor(9999 * Math.random()));
}
// Modify original element
$.data(this, "shadowId", shadowId); //store id in expando
$.data(this, "shadowOptions", options); //store options in expando
jthis
.attr("shadowId", shadowId)
.css("zIndex", zOriginal);
if (jthis.css("position") != "absolute") {
jthis.css({
position: "relative",
zoom: 1 //for IE layout
});
}
// Create first shadow layer
bgColor = jthis.css("backgroundColor");
//if (bgColor == "rgba(0, 0, 0, 0)") bgColor = "transparent"; //Safari
// if (bgColor != "transparent" || jthis.css("backgroundImage") != "none"
// || this.nodeName == "SELECT"
// || this.nodeName == "INPUT"
// || this.nodeName == "TEXTAREA") {
// shadows[0] = $("<div></div>")
// .css("background", opt.color);
// }
if (bgColor == "transparent" || jthis.css("backgroundImage") == "none"
|| this.nodeName == "SELECT"
|| this.nodeName == "INPUT"
|| this.nodeName == "TEXTAREA") {
shadows[0] = $("<div></div>")
.css("background", opt.color);
}
else {
shadows[0] = jthis
.clone()
.removeAttr("id")
.removeAttr("name")
.removeAttr("shadowId")
.css("color", opt.color);
}
shadows[0]
.addClass("dropShadow")
.css({
height: jthis.outerHeight(),
left: blur,
opacity: opacity,
position: "absolute",
top: blur,
width: jthis.outerWidth(),
zIndex: zShadow
});
// Create other shadow layers
var layers = (8 * blur) + 1;
for (i = 1; i < layers; i++) {
shadows[i] = shadows[0].clone();
}
// Position layers
var i = 1;
var j = blur;
while (j > 0) {
shadows[i].css({ left: j * 2, top: 0 }); //top
shadows[i + 1].css({ left: j * 4, top: j * 2 }); //right
shadows[i + 2].css({ left: j * 2, top: j * 4 }); //bottom
shadows[i + 3].css({ left: 0, top: j * 2 }); //left
shadows[i + 4].css({ left: j * 3, top: j }); //top-right
shadows[i + 5].css({ left: j * 3, top: j * 3 }); //bottom-right
shadows[i + 6].css({ left: j, top: j * 3 }); //bottom-left
shadows[i + 7].css({ left: j, top: j }); //top-left
i += 8;
j--;
}
// Create container
var divShadow = $("<div></div>")
.attr("id", shadowId)
.addClass("dropShadow")
.css({
left: jthis.position().left + opt.left - blur,
marginTop: jthis.css("marginTop"),
marginRight: jthis.css("marginRight"),
marginBottom: jthis.css("marginBottom"),
marginLeft: jthis.css("marginLeft"),
position: "absolute",
top: jthis.position().top + opt.top - blur,
zIndex: zShadow
});
// Add layers to container
for (i = 0; i < layers; i++) {
divShadow.append(shadows[i]);
}
// Add container to DOM
jthis.after(divShadow);
// Add shadow to return set
jShadows = jShadows.add(divShadow);
// Re-align shadow on window resize
$(window).resize(function () {
try {
divShadow.css({
left: jthis.position().left + opt.left - blur,
top: jthis.position().top + opt.top - blur
});
}
catch (e) { }
});
// Increment z-index counter
dropShadowZindex += 2;
}); //end each
return this.pushStack(jShadows);
};
$.fn.redrawShadow = function () {
// Remove existing shadows
this.removeShadow();
// Draw new shadows
return this.each(function () {
var shadowOptions = $.data(this, "shadowOptions");
$(this).dropShadow(shadowOptions);
});
};
$.fn.removeShadow = function () {
return this.each(function () {
var shadowId = $(this).shadowId();
$("div#" + shadowId).remove();
});
};
$.fn.shadowId = function () {
return $.data(this[0], "shadowId");
};
$(function () {
// Suppress printing of shadows
var noPrint = "<style type='text/css' media='print'>";
noPrint += ".dropShadow{visibility:hidden;}</style>";
$("head").append(noPrint);
});
})(jQuery); 
