



/**
 * project: dhl.de
 * type: javascript
 * description: loader for component based javascript (popup)
 * @author: Heimann/Menzel, 2009.07.31
 * @copyright: dhl.de. All rights reserved.
 */

/*
	ColorBox v1.2.6 - a full featured, light-weight, customizable lightbox based on jQuery 1.3
	(c) 2009 Jack Moore : colorpowered.com
*/
(function(w){var t,j,I,B,s,G,a,d,L,f,v,b,C,F,H,o,h,A,i,g,J,K,c,n,z,e,x,k,D,p,r;function u(){z.css({position:"absolute",width:H.width(),height:H.height(),top:H.scrollTop(),left:H.scrollLeft()})}function m(){var M;function N(){F.text(I.slideshowStop).bind("cbox_complete",function(){C=setTimeout(w.fn.colorbox.next,I.slideshowSpeed)}).bind("cbox_load",function(){clearTimeout(C)}).one("click",function(){M();w(this).removeClass("hover")});J.removeClass("cboxSlideshow_off").addClass("cboxSlideshow_on")}M=function(){clearTimeout(C);F.text(I.slideshowStart).unbind("cbox_complete cbox_load").one("click",function(){N();C=setTimeout(w.fn.colorbox.next,I.slideshowSpeed);w(this).removeClass("hover")});J.removeClass("cboxSlideshow_on").addClass("cboxSlideshow_off")};if(I.slideshow&&b.length>1){if(I.slideshowAuto){N()}else{M()}}}function l(){if(w("#cboxInlineTemp").length>0){x.children().insertBefore("#cboxInlineTemp");w("#cboxInlineTemp").remove()}}function E(M){if(M.keyCode==37){M.preventDefault();A.click()}else{if(M.keyCode==39){M.preventDefault();h.click()}}}function y(M,N){N=N=="x"?document.documentElement.clientWidth:document.documentElement.clientHeight;return(typeof M=="string")?(M.match(/%/)?(N/100)*parseInt(M,10):parseInt(M,10)):M}function q(M){return I.photo?true:M.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(.*))?$/i)}w(function(){w.fn.colorbox.init()});w.fn.colorbox=function(N,M){if(this.length){this.each(function(){var O=w(this).data("colorbox")?w.extend({},w(this).data("colorbox"),N):w.extend({},w.fn.colorbox.settings,N);w(this).data("colorbox",O).addClass("cboxelement")})}else{w(this).data("colorbox",w.extend({},w.fn.colorbox.settings,N))}w(this).unbind("click.colorbox").bind("click.colorbox",function(P){j=this;I=w(j).data("colorbox");j.blur();B=M?M:false;var O=I.rel?I.rel:j.rel;if(O&&O!="nofollow"){b=w(".cboxelement").filter(function(){var Q=w(this).data("colorbox").rel?w(this).data("colorbox").rel:this.rel;return(Q==O)});v=b.index(j);if(v<0){b=b.add(j);v=b.length-1}}else{b=w(j);v=0}if(!t){w.event.trigger("cbox_open");o.html(I.close);z.css({opacity:I.opacity}).show();t=true;w.fn.colorbox.position(y(I.initialWidth,"x"),y(I.initialHeight,"y"),0);if(w.browser.msie&&w.browser.version<7){H.bind("resize scroll",u)}}m();w.fn.colorbox.load();if(I.overlayClose===true){z.css({cursor:"pointer"}).click(w.fn.colorbox.close)}P.preventDefault()});if(N&&N.open){w(this).triggerHandler("click.colorbox")}return this};w.fn.colorbox.element=function(){return j};w.fn.colorbox.init=function(){H=w(window);w("body").prepend(z=w('<div id="cboxOverlay" />').hide(),J=w('<div id="colorbox" />'));K=w('<div id="cboxWrapper" />').appendTo(J).append(w("<div/>").append(w('<div id="cboxTopLeft"/>'),k=w('<div id="cboxTopCenter"/>'),w('<div id="cboxTopRight"/>')),D=w('<div id="cboxMiddleLeft" />'),e=w('<div id="cboxContent" />'),p=w('<div id="cboxMiddleRight" />'),w("<div/>").append(w('<div id="cboxBottomLeft"/>'),r=w('<div id="cboxBottomCenter"/>'),w('<div id="cboxBottomRight"/>')));K.find("[id]").css({"float":"left"});e.append(x=w('<div id="cboxLoadedContent" style="width:0; height:0;" />'),c=w('<div id="cboxLoadingOverlay" />'),n=w('<div id="cboxLoadingGraphic" />'),g=w('<div id="cboxTitle" />'),i=w('<div id="cboxCurrent" />'),F=w('<div id="cboxSlideshow" />'),h=w('<div id="cboxNext" />').click(w.fn.colorbox.next),A=w('<div id="cboxPrevious" />').click(w.fn.colorbox.prev),o=w('<div id="cboxClose" />').click(w.fn.colorbox.close));e.children().addClass("hover").mouseover(function(){w(this).addClass("hover")}).mouseout(function(){w(this).removeClass("hover")}).hide();L=k.height()+r.height()+e.outerHeight(true)-e.height();f=D.width()+p.width()+e.outerWidth(true)-e.width();d=x.outerHeight(true);a=x.outerWidth(true);J.css({"padding-bottom":L,"padding-right":f}).hide();w().bind("keydown.cbox_close",function(M){if(M.keyCode==27){M.preventDefault();o.click()}});e.children().removeClass("hover")};w.fn.colorbox.next=function(){v=v<b.length-1?v+1:0;w.fn.colorbox.load()};w.fn.colorbox.prev=function(){v=v>0?v-1:b.length-1;w.fn.colorbox.load()};w.fn.colorbox.position=function(P,O,N,Q){var R=document.documentElement.clientHeight;var T=R/2-O/2;var S=document.documentElement.clientWidth/2-P/2;if(O>R){T-=(O-R)}if(T<0){T=0}if(S<0){S=0}T+=H.scrollTop();S+=H.scrollLeft();P=P-f;O=O-L;K[0].style.width=K[0].style.height="9999px";function U(V){k[0].style.width=r[0].style.width=e[0].style.width=V.style.width;n[0].style.height=c[0].style.height=e[0].style.height=D[0].style.height=p[0].style.height=V.style.height}var M=(J.width()===P&&J.height()===O)?0:N;J.dequeue().animate({height:O,width:P,top:T,left:S},{duration:M,complete:function(){U(this);K[0].style.width=(P+f)+"px";K[0].style.height=(O+L)+"px";if(Q){Q()}if(w.browser.msie&&w.browser.version<7){u()}},step:function(){U(this)}})};w.fn.colorbox.dimensions=function(Q){if(!t){return}H.unbind("resize.cbox_resize");var O=I.transition=="none"?0:I.speed;x.remove();x=w(Q);var M;var W;function U(){if(I.width){M=s}else{M=s&&s<x.width()?s:x.width()}return M}function T(){if(I.height){W=G}else{W=G&&G<x.height()?G:x.height()}return W}x.hide().appendTo("body").attr({id:"cboxLoadedContent"}).css({width:U()}).css({height:T()}).prependTo(e);if(w.browser.msie&&w.browser.version<7){w("select").not(w("#colorbox select")).css({visibility:"hidden"})}if(w("#cboxPhoto").length>0&&I.height){var R=(W-parseInt(w("#cboxPhoto")[0].style.height,10))/2;w("#cboxPhoto").css({marginTop:(R>0?R:0)})}function V(Z){var Y=M+a+f;var aa=W+d+L;w.fn.colorbox.position(Y,aa,Z,function(){if(!t){return}if(w.browser.msie){if(w("#cboxPhoto").length>0){x.fadeIn(100)}J.css("filter","")}e.children().show();w("#cboxIframe").after("<iframe name='iframe_"+new Date().getTime()+"' frameborder=0 src='"+(I.href?I.href:j.href)+"' />").remove();c.hide();n.hide();F.hide();if(b.length>1){i.html(I.current.replace(/\{current\}/,v+1).replace(/\{total\}/,b.length));h.html(I.next);A.html(I.previous);w().unbind("keydown",E).one("keydown",E);if(I.slideshow){F.show()}}else{i.add(h).add(A).hide()}g.html(I.title?I.title:j.title);w.event.trigger("cbox_complete");if(B){B.call(j)}if(I.transition==="fade"){J.fadeTo(O,1,function(){if(w.browser.msie){J.css("filter","")}})}H.bind("resize.cbox_resize",function(){w.fn.colorbox.position(Y,aa,0)})})}if(I.transition=="fade"){J.fadeTo(O,0,function(){V(0)})}else{V(O)}if(I.preloading&&b.length>1){var P=v>0?b[v-1]:b[b.length-1];var S=v<b.length-1?b[v+1]:b[0];var X=w(S).data("colorbox").href?w(S).data("colorbox").href:S.href;var N=w(P).data("colorbox").href?w(P).data("colorbox").href:P.href;if(q(X)){w("<img />").attr("src",X)}if(q(N)){w("<img />").attr("src",N)}}};w.fn.colorbox.load=function(){j=b[v];I=w(j).data("colorbox");w.event.trigger("cbox_load");c.show();n.show();o.show();l();var M=I.height?y(I.height,"y")-d-L:false;var P=I.width?y(I.width,"x")-a-f:false;if(I.maxHeight){G=I.maxHeight?y(I.maxHeight,"y")-d-L:false;M=M&&M<G?M:G}if(I.maxWidth){s=I.maxWidth?y(I.maxWidth,"x")-a-f:false;P=P&&P<s?P:s}G=M;s=P;var N=I.href?I.href:j.href;if(I.inline){w('<div id="cboxInlineTemp" />').hide().insertBefore(w(N)[0]);w.fn.colorbox.dimensions(w(N).wrapAll("<div/>").parent())}else{if(I.iframe){w.fn.colorbox.dimensions(w("<div><div id='cboxIframe' /></div>"))}else{if(q(N)){var O=new Image();O.onload=function(){O.onload=null;if((G||s)&&I.resize){var S=this.width;var Q=this.height;var U=0;var T=this;var R=function(){Q+=Q*U;S+=S*U;T.height=Q;T.width=S};if(s&&S>s){U=(s-S)/S;R()}if(G&&Q>G){U=(G-Q)/Q;R()}}w.fn.colorbox.dimensions(w("<div />").css({width:this.width,height:this.height}).append(w(this).css({width:this.width,height:this.height,display:"block",margin:"auto",border:0}).attr("id","cboxPhoto")));if(b.length>1){w(this).css({cursor:"pointer"}).click(w.fn.colorbox.next)}if(w.browser.msie&&w.browser.version==7){this.style.msInterpolationMode="bicubic"}};O.src=N}else{w("<div />").load(N,function(Q,R){if(R=="success"){w.fn.colorbox.dimensions(w(this))}else{w.fn.colorbox.dimensions(w("<p>Request unsuccessful.</p>"))}})}}}};w.fn.colorbox.close=function(){t=false;clearTimeout(C);H.unbind("resize.cbox_resize");F.unbind("cbox_complete cbox_load click");l();z.css({cursor:"auto"}).fadeOut("fast").unbind("click",w.fn.colorbox.close);w().unbind("keydown",E);if(w.browser.msie&&w.browser.version<7){w("select").css({visibility:"inherit"});H.unbind("resize scroll",u)}e.children().hide();J.stop(true,false).removeClass().fadeOut("fast",function(){j.focus();x.remove();J.css({opacity:1});w.event.trigger("cbox_closed")})};w.fn.colorbox.settings={transition:"elastic",speed:350,width:false,height:false,initialWidth:"400",initialHeight:"400",maxWidth:false,maxHeight:false,resize:true,inline:false,iframe:false,photo:false,href:false,title:false,rel:false,opacity:0.9,preloading:true,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:false,overlayClose:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow"}})(jQuery);
/**
 * Tabs - jQuery plugin for accessible, unobtrusive tabs
 * @requires jQuery v1.1.1
 *
 * http://stilbuero.de/tabs/
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Version: 2.7.4
 */
(function($){$.extend({tabs:{remoteCount:0}});$.fn.tabs=function(initial,settings){if(typeof initial=='object')settings=initial;settings=$.extend({initial:(initial&&typeof initial=='number'&&initial>0)?--initial:0,disabled:null,bookmarkable:$.ajaxHistory?true:false,remote:false,spinner:'Loading&#8230;',hashPrefix:'remote-tab-',fxFade:null,fxSlide:null,fxShow:null,fxHide:null,fxSpeed:'normal',fxShowSpeed:null,fxHideSpeed:null,fxAutoHeight:false,onClick:null,onHide:null,onShow:null,navClass:'tabs-nav',selectedClass:'tabs-selected',disabledClass:'tabs-disabled',containerClass:'tabs-container',hideClass:'tabs-hide',loadingClass:'tabs-loading',tabStruct:'div'},settings||{});$.browser.msie6=$.browser.msie&&($.browser.version&&$.browser.version<7||/MSIE 6.0/.test(navigator.userAgent));function unFocus(){scrollTo(0,0);}return this.each(function(){var container=this;var nav=$('ul.'+settings.navClass,container);nav=nav.size()&&nav||$('>ul:eq(0)',container);var tabs=$('a',nav);if(settings.remote){tabs.each(function(){var id=settings.hashPrefix+(++$.tabs.remoteCount),hash='#'+id,url=this.href;this.href=hash;$('<div id="'+id+'" class="'+settings.containerClass+'"></div>').appendTo(container);$(this).bind('loadRemoteTab',function(e,callback){var $$=$(this).addClass(settings.loadingClass),span=$('span',this)[0],tabTitle=span.innerHTML;if(settings.spinner){span.innerHTML='<em>'+settings.spinner+'</em>';}setTimeout(function(){$(hash).load(url,function(){if(settings.spinner){span.innerHTML=tabTitle;}$$.removeClass(settings.loadingClass);callback&&callback();});},0);});});}var containers=$('div.'+settings.containerClass,container);containers=containers.size()&&containers||$('>'+settings.tabStruct,container);nav.is('.'+settings.navClass)||nav.addClass(settings.navClass);containers.each(function(){var $$=$(this);$$.is('.'+settings.containerClass)||$$.addClass(settings.containerClass);});var hasSelectedClass=$('li',nav).index($('li.'+settings.selectedClass,nav)[0]);if(hasSelectedClass>=0){settings.initial=hasSelectedClass;}if(location.hash){tabs.each(function(i){if(this.hash==location.hash){settings.initial=i;if(($.browser.msie||$.browser.opera)&&!settings.remote){var toShow=$(location.hash);var toShowId=toShow.attr('id');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},500);}unFocus();return false;}});}if($.browser.msie){unFocus();}containers.filter(':eq('+settings.initial+')').show().end().not(':eq('+settings.initial+')').addClass(settings.hideClass);$('li',nav).removeClass(settings.selectedClass).eq(settings.initial).addClass(settings.selectedClass);tabs.eq(settings.initial).trigger('loadRemoteTab').end();if(settings.fxAutoHeight){var _setAutoHeight=function(reset){var heights=$.map(containers.get(),function(el){var h,jq=$(el);if(reset){if($.browser.msie6){el.style.removeExpression('behaviour');el.style.height='';el.minHeight=null;}h=jq.css({'min-height':''}).height();}else{h=jq.height();}return h;}).sort(function(a,b){return b-a;});if($.browser.msie6){containers.each(function(){this.minHeight=heights[0]+'px';this.style.setExpression('behaviour','this.style.height = this.minHeight ? this.minHeight : "1px"');});}else{containers.css({'min-height':heights[0]+'px'});}};_setAutoHeight();var cachedWidth=container.offsetWidth;var cachedHeight=container.offsetHeight;var watchFontSize=$('#tabs-watch-font-size').get(0)||$('<span id="tabs-watch-font-size">M</span>').css({display:'block',position:'absolute',visibility:'hidden'}).appendTo(document.body).get(0);var cachedFontSize=watchFontSize.offsetHeight;setInterval(function(){var currentWidth=container.offsetWidth;var currentHeight=container.offsetHeight;var currentFontSize=watchFontSize.offsetHeight;if(currentHeight>cachedHeight||currentWidth!=cachedWidth||currentFontSize!=cachedFontSize){_setAutoHeight((currentWidth>cachedWidth||currentFontSize<cachedFontSize));cachedWidth=currentWidth;cachedHeight=currentHeight;cachedFontSize=currentFontSize;}},50);}var showAnim={},hideAnim={},showSpeed=settings.fxShowSpeed||settings.fxSpeed,hideSpeed=settings.fxHideSpeed||settings.fxSpeed;if(settings.fxSlide||settings.fxFade){if(settings.fxSlide){showAnim['height']='show';hideAnim['height']='hide';}if(settings.fxFade){showAnim['opacity']='show';hideAnim['opacity']='hide';}}else{if(settings.fxShow){showAnim=settings.fxShow;}else{showAnim['min-width']=0;showSpeed=1;}if(settings.fxHide){hideAnim=settings.fxHide;}else{hideAnim['min-width']=0;hideSpeed=1;}}var onClick=settings.onClick,onHide=settings.onHide,onShow=settings.onShow;tabs.bind('triggerTab',function(){var li=$(this).parents('li:eq(0)');if(container.locked||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)){return false;}var hash=this.hash;if($.browser.msie){$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);location.hash=hash.replace('#','');}}else if($.browser.safari){var tempForm=$('<form action="'+hash+'"><div><input type="submit" value="h" /></div></form>').get(0);tempForm.submit();$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);}}else{if(settings.bookmarkable){location.hash=hash.replace('#','');}else{$(this).trigger('click');}}});tabs.bind('disableTab',function(){var li=$(this).parents('li:eq(0)');if($.browser.safari){li.animate({opacity:0},1,function(){li.css({opacity:''});});}li.addClass(settings.disabledClass);});if(settings.disabled&&settings.disabled.length){for(var i=0,k=settings.disabled.length;i<k;i++){tabs.eq(--settings.disabled[i]).trigger('disableTab').end();}};tabs.bind('enableTab',function(){var li=$(this).parents('li:eq(0)');li.removeClass(settings.disabledClass);if($.browser.safari){li.animate({opacity:1},1,function(){li.css({opacity:''});});}});tabs.bind('click',function(e){var trueClick=e.clientX;var clicked=this,li=$(this).parents('li:eq(0)'),toShow=$(this.hash),toHide=containers.filter(':visible');if(container['locked']||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)||typeof onClick=='function'&&onClick(this,toShow[0],toHide[0])===false){this.blur();return false;}container['locked']=true;if(toShow.size()){if($.browser.msie&&settings.bookmarkable){var toShowId=this.hash.replace('#','');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},0);}var resetCSS={display:'',overflow:'',height:''};if(!$.browser.msie){resetCSS['opacity']='';}function switchTab(){if(settings.bookmarkable&&trueClick){$.ajaxHistory.update(clicked.hash);}toHide.animate(hideAnim,hideSpeed,function(){$(clicked).parents('li:eq(0)').addClass(settings.selectedClass).siblings().removeClass(settings.selectedClass);toHide.addClass(settings.hideClass).css(resetCSS);if(typeof onHide=='function'){onHide(clicked,toShow[0],toHide[0]);}if(!(settings.fxSlide||settings.fxFade||settings.fxShow)){toShow.css('display','block');}toShow.animate(showAnim,showSpeed,function(){toShow.removeClass(settings.hideClass).css(resetCSS);if($.browser.msie){toHide[0].style.filter='';toShow[0].style.filter='';}if(typeof onShow=='function'){onShow(clicked,toShow[0],toHide[0]);}container['locked']=null;});});}if(!settings.remote){switchTab();}else{$(clicked).trigger('loadRemoteTab',[switchTab]);}}else{alert('There is no such container.');}var scrollX=window.pageXOffset||document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft||0;var scrollY=window.pageYOffset||document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop||0;setTimeout(function(){window.scrollTo(scrollX,scrollY);},0);this.blur();return settings.bookmarkable&&!!trueClick;});if(settings.bookmarkable){$.ajaxHistory.initialize(function(){tabs.eq(settings.initial).trigger('click').end();});}});};var tabEvents=['triggerTab','disableTab','enableTab'];for(var i=0;i<tabEvents.length;i++){$.fn[tabEvents[i]]=(function(tabEvent){return function(tab){return this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var a;if(!tab||typeof tab=='number'){a=$('li a',nav).eq((tab&&tab>0&&tab-1||0));}else if(typeof tab=='string'){a=$('li a[@href$="#'+tab+'"]',nav);}a.trigger(tabEvent);});};})(tabEvents[i]);}$.fn.activeTab=function(){var selectedTabs=[];this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var lis=$('li',nav);selectedTabs.push(lis.index(lis.filter('.tabs-selected')[0])+1);});return selectedTabs[0];};})(jQuery);
/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options=$.extend({},options);options.expires=-1;}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires='; expires='+date.toUTCString();}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}return cookieValue;}};
/*
 * jQuery validation plug-in 1.5.5
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2008 JÃ¶rn Zaefferer
 *
 * $Id: jquery.validate.js 6403 2009-06-17 14:27:16Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return;}var validator=$.data(this[0],'validator');if(validator){return validator;}validator=new $.validator(options,this[0]);$.data(this[0],'validator',validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true;});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this;});}this.submit(function(event){if(validator.settings.debug)event.preventDefault();function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm);}validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove();}return false;}return true;}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}return handle();}else{validator.focusInvalid();return false;}});}return validator;},valid:function(){if($(this[0]).is('form')){return this.validate().form();}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this);});return valid;}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value);});return result;},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,'validator').settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages)settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}return data;}});$.extend($.expr[":"],{blank:function(a){return!$.trim(a.value);},filled:function(a){return!!$.trim(a.value);},unchecked:function(a){return!a.checked;}});$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init();};$.validator.format=function(source,params){if(arguments.length==1)return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args);};if(arguments.length>2&&params.constructor!=Array){params=$.makeArray(arguments).slice(1);}if(params.constructor!=Array){params=[params];}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n);});return source;};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide();}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element);}},onclick:function(element){if(element.name in this.submitted)this.element(element);},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass);},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass);}},setDefaults:function(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gÃ¼ltiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0]);}$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox",delegate);if(this.settings.invalidHandler)$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid())$(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid();},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i]);}return this.valid();},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name];}else{this.invalid[element.name]=true;}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers);}this.showErrors();return result;},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors();},resetForm:function(){if($.fn.resetForm)$(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass);},numberOfInvalids:function(){return this.objectLength(this.invalid);},objectLength:function(obj){var count=0;for(var i in obj)count++;return count;},hideErrors:function(){this.addWrapper(this.toHide).hide();},valid:function(){return this.size()==0;},size:function(){return this.errorList.length;},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus();}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name;}).length==1&&lastActive;},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules()))return false;rulesCache[this.name]=true;return true;});},clean:function(selector){return $(selector)[0];},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext);},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.formSubmitted=false;this.currentElements=$([]);},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers);},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element);},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0];}var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue;}dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id
+", check the '"+rule.method+"' method");throw e;}}if(dependencyMismatch)return;if(this.objectLength(rules))this.successList.push(element);return true;},customMetaMessage:function(element,method){if(!$.metadata)return;var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method];},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method]);},findDefined:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined)return arguments[i];}return undefined;},defaultMessage:function(element,method){return this.findDefined(this.customMessage(element.name,method),this.customMetaMessage(element,method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>");},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method);if(typeof message=="function")message=message.call(this,rule.parameters,element);this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function(toToggle){if(this.settings.wrapper)toToggle=toToggle.add(toToggle.parent(this.settings.wrapper));return toToggle;},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message);}if(this.errorList.length){this.toShow=this.toShow.add(this.containers);}if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function(){return this.currentElements.not(this.invalidElements());},invalidElements:function(){return $(this.errorList).map(function(){return this.element;});},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message);}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();}if(!this.labelContainer.append(label).length)this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element);}if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label);}this.toShow=this.toShow.add(label);},errorsFor:function(element){return this.errors().filter("[for='"+this.idOrName(element)+"']");},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},checkable:function(element){return/radio|checkbox/i.test(element.type);},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null;});},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case'select':return $("option:selected",element).length;case'input':if(this.checkable(element))return this.findByName(element.name).filter(':checked').length;}return value.length;},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true;},dependTypes:{"boolean":function(param,element){return param;},"string":function(param,element){return!!$(param,element.form).length;},"function":function(param,element){return param(element);}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch";},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();}else if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className);},classRules:function(element){var rules={};var classes=$(element).attr('class');classes&&$.each(classes.split(' '),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});return rules;},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value;}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}return rules;},metadataRules:function(element){if(!$.metadata)return{};var meta=$.data(element.form,'validator').settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata();},staticRules:function(element){var rules={};var validator=$.data(element.form,'validator');if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}return rules;},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return;}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});$.each(['minlength','maxlength','min','max'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}if(rules.messages){delete rules.messages}return rules;},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}return data;},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message||$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{required:function(value,element,param){if(!this.depend(param,element))return"dependency-mismatch";switch(element.nodeName.toLowerCase()){case'select':var options=$("option:selected",element);return options.length>0&&(element.type=="select-multiple"||($.browser.msie&&!(options[0].attributes['value'].specified)?options[0].text:options[0].value).length>0);case'input':if(this.checkable(element))return this.getLength(value,element)>0;default:return $.trim(value).length>0;}},remote:function(value,element,param){if(this.optional(element))return"dependency-mismatch";var previous=this.previousValue(element);if(!this.settings.messages[element.name])this.settings.messages[element.name]={};this.settings.messages[element.name].remote=typeof previous.message=="function"?previous.message(value):previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors();}else{var errors={};errors[element.name]=previous.message=response||validator.defaultMessage(element,"remote");validator.showErrors(errors);}previous.valid=valid;validator.stopRequest(element,valid);}},param));return"pending";}else if(this.pending[element.name]){return"pending";}return previous.valid;},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param;},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param;},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1]);},min:function(value,element,param){return this.optional(element)||value>=param;},max:function(value,element,param){return this.optional(element)||value<=param;},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1]);},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value));},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);},dateDE:function(value,element){return this.optional(element)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},numberDE:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value);},creditcard:function(value,element){if(this.optional(element))return"dependency-mismatch";if(/[^0-9-]+/.test(value))return false;var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)nDigit-=9;}nCheck+=nDigit;bEven=!bEven;}return(nCheck%10)==0;},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,'|'):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"));},equalTo:function(value,element,param){return value==$(param).val();}}});$.format=$.validator.format;})(jQuery);;(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}return(pendingRequests[port]=ajax.apply(this,arguments));}return ajax.apply(this,arguments);};})(jQuery);;(function($){$.each({focus:'focusin',blur:'focusout'},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie)return false;this.addEventListener(original,$.event.special[fix].handler,true);},teardown:function(){if($.browser.msie)return false;this.removeEventListener(original,$.event.special[fix].handler,true);},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments);}};});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})]);}})})(jQuery);

/* SiteCatalyst code version: H.20.3.
 * Copyright 1997-2009 Omniture, Inc. More info available at
 * http://www.omniture.com
 */
var rel_ver="2.0:H20.3";

// TO BE SET FIRST "REPORSUITE-ID EINTRAGEN!" !!!
var s_account="deutschepostdhlprod2,deutschepostagglobalprod";
var wpmsc=s_gi(s_account);

/************************** CONFIG SECTION **************************/
wpmsc.charSet="UTF-8";
/* Conversion Config */
wpmsc.currencyCode="EUR";
/* Link Tracking Config */
wpmsc.trackDownloadLinks=true;
wpmsc.trackExternalLinks=true;
wpmsc.trackInlineStats=true;
wpmsc.linkDownloadFileTypes="exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx";
wpmsc.linkInternalFilters="javascript:,packstation.de,dhl.de,"+document.domain; // KONFIGURIERBAR?
wpmsc.linkLeaveQueryString=false;
wpmsc.linkTrackVars="prop6";
wpmsc.linkTrackEvents="None";

wpmsc.hier2 = "MAIL|DHL|PAKET";


/* Plugin Config */
wpmsc.usePlugins=true;
wpmsc.isPageView = true; // wird bei flash tracking abgeschaltet

function wpmsc_doPlugins(wpmsc) {

   wpmsc.eVar27 = cm_getFlashVersion(); // set Flash Version.  
   if(!wpmsc.campaign){ //set campaign tracking code
      wpmsc.campaign=wpmsc.getQueryParam('cid');
      wpmsc.campaign=wpmsc.getValOnce(wpmsc.campaign,'wpmsc_campaign',0);
   }
   if(!wpmsc.eVar2){ //set internal campaign tracking code
      wpmsc.eVar2=wpmsc.getQueryParam('did');
      wpmsc.eVar2=wpmsc.getValOnce(wpmsc.eVar2,'wpmsc_eVar2',0);
   }
   	wpmsc.eVar5 = normalize(wpmsc.eVar5);
	wpmsc.eVar6 = normalize(wpmsc.eVar6);
	wpmsc.prop9 = normalize(wpmsc.prop9);
	wpmsc.prop10 = normalize(wpmsc.prop10);
 	cm_equalize('wpmsc.prop9', 'wpmsc.eVar5');
 	cm_equalize('wpmsc.prop10','wpmsc.eVar6');
	if(!wpmsc.prop13){
    	wpmsc.prop9 =(cm_varIsSet(wpmsc.prop9))?wpmsc.prop9:''; // Deklaration sicherstellen
      	wpmsc.prop10=(cm_varIsSet(wpmsc.prop10))?wpmsc.prop10:''; // Deklaration sicherstellen
     	wpmsc.prop13=wpmsc.prop9+wpmsc.prop10;
	}
	if ( wpmsc.isPageView ){
		//nicht bei flash tracking, wird im plugin dort ausgeschaltet
		cm_addEvent('event1');
	}
 	if(wpmsc.campaign){
      wpmsc.eVar1 = (wpmsc.campaign.substring(0,2).toLowerCase()=="i_")?wpmsc.campaign:'';
   	}
	if ( cm_varIsSet(wpmsc.prop5) ) {
   		var loc = wpmsc.prop5.split("_");
   		if ( loc.length == 2 )	{
   			wpmsc.prop5 = loc[0].toLowerCase() + "_" + loc[1].toUpperCase();
   		} else {
   			wpmsc.prop5 = "Fehlerhafte LANG ID: " + wpmsc.prop5;
   		}
	}
	if ( cm_varIsSet(wpmsc.channel) ){
		wpmsc.channel = wpmsc.channel.replace(/\|/,":");
	}
 	cm_equalize('wpmsc.prop1', 'wpmsc.eVar4');
 	cm_equalize('wpmsc.prop5', 'wpmsc.eVar8');
 	cm_equalize('wpmsc.hier2', 'wpmsc.eVar9');
 	cm_equalize('wpmsc.prop11','wpmsc.eVar21');
 	cm_equalize('wpmsc.prop12','wpmsc.eVar22');

	wpmsc.eVar10='+1';
	if(rel_ver) wpmsc.prop8=rel_ver;
	wpmsc.prop6=wpmsc.pageName;
}
wpmsc.doPlugins=wpmsc_doPlugins;


/************************** CONTENTMETRICS PLUGINS *************************/

function cm_getFlashVersion(){ // read out current flas version
	var  flashVersion = "(kein Flash Plugin)";
	var version = '0,0,0,0';
	try {
		// ie 
		try { 
			var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6'); 
			try {
				axo.AllowScriptAccess = 'always';
			} catch(e) {
				version = '6,0,0,0';
			} 
		} catch(e) {} 
		version = (new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version')).replace(/\D+/g, ',').match(/^,?(.+),?$/)[1]; 	
	} catch(e) {
		// other browsers 
		try { 
			if( navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) { 
				version = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1]; 
			} 
		} catch(e) {} 
	} 
	var x = version.split(',');
	x[2] = null;
	x[4] =  null;
	if ( x[0] != 0 ) {
		flashVersion = "Flash PugIn Vers " + x.join(".");
	}
	//alert(flashVersion);
	return flashVersion; 
}

function cm_equalize(var1,var2){//wenn eine von beiden gesetzt ist wird die andere genauso
	if(!cm_varIsSet(eval(var1))&&cm_varIsSet(eval(var2)))var ex=var1+'='+var2;
	if(cm_varIsSet(eval(var1))&&!cm_varIsSet(eval(var2)))var ex=var2+'='+var1;
	eval(ex);
}
function cm_addEvent(ev){ //setzt einen event einmalig pro seite
	if(!cm_varIsSet(wpmsc.events)){ //1.fall nicht definiert oder leer
		wpmsc.events=ev;
		return;
	} 
	if(cm_eventIsSet(ev)) return; //2.fall nicht leer aber schon drin
	wpmsc.events+=','+ev; //3.fall nicht leer aber nicht drin
}
function cm_eventIsSet(ev){ //event ist gesetzt
	if(!cm_varIsSet(wpmsc.events))return false;
	var events=''+wpmsc.events;
	if(events.indexOf(ev)>-1)return true;
	return false;
}
function cm_varIsSet(vn){ //variable ist gesetzt und nicht leer
	if(typeof(vn)!="undefined"&&vn!="")return true;
	return false;
}

/*
 * Normalisiert strings, z.B. fuer Suchworttracking
 * @param {string}s_in Suchwort wie eingetippt
 * @returns {string} Normalisiertes Suchwort
 */
function normalize(s_in){
	
	if ( cm_varIsSet(s_in)) {
	    var s=s_in.toLowerCase();	//kleinschreibung
	    while(s.indexOf(' ')==0)s=s.substr(1,s.length-1);	//fuehrende leerzeichen raus
	    while(s.substr(s.length-1,1)==' ')s=s.substr(0,s.length-1);	//schliessende leerzeichen raus
	   	while(s.match(/[ ]{2}/))s=s.replace('  ',' ');	//doppelte leerzeichen raus
	    s=s.replace(/\u00e4/ig,'ae');	//ersetze umlaute
	    s=s.replace(/\u00f6/ig,'oe');	//ersetze umlaute
	    s=s.replace(/\u00fc/ig,'ue');	//ersetze umlaute
	    s=s.replace(/\u00df/ig,'ss');	//ersetze esszet
	    return s;
	}
	return s_in;
}

/************************* OMNITURE PLUGINS *************************/
/*
 * Plugin: getQueryParam 2.3
 */
wpmsc.getQueryParam=new Function("p","d","u",""
+"var s=this,v='',i,t;d=d?d:'';u=u?u:(s.pageURL?s.pageURL:s.wd.locati"
+"on);if(u=='f')u=s.gtfs().location;while(p){i=p.indexOf(',');i=i<0?p"
+".length:i;t=s.p_gpv(p.substring(0,i),u+'');if(t){t=t.indexOf('#')>-"
+"1?t.substring(0,t.indexOf('#')):t;}if(t)v+=v?d+t:t;p=p.substring(i="
+"=p.length?i:i+1)}return v");
wpmsc.p_gpv=new Function("k","u",""
+"var s=this,v='',i=u.indexOf('?'),q;if(k&&i>-1){q=u.substring(i+1);v"
+"=s.pt(q,'&','p_gvf',k)}return v");
wpmsc.p_gvf=new Function("t","k",""
+"if(t){var s=this,i=t.indexOf('='),p=i<0?t:t.substring(0,i),v=i<0?'T"
+"rue':t.substring(i+1);if(p.toLowerCase()==k.toLowerCase())return s."
+"epa(v)}return ''");

/*
 * Plugin: getValOnce 0.3 - get a value once per session or number of days
 */
wpmsc.getValOnce=new Function("v","c","e",""
+"var s=this,v=v?v:'',k=s.c_r(c),a=new Date,e=e?e:0;if(v){a.setTime(a"
+".getTime()+e*86400000);s.c_w(c,v,e?a:0);}return v==k?'':v");

/* WARNING: Changing any of the below variables will cause drastic
changes to how your visitor data is collected.  Changes should only be
made when instructed to do so by your account manager.*/
wpmsc.visitorNamespace="deutschepostag"
wpmsc.dc="112"

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code='',s_objectID;function s_gi(un,pg,ss){var c="s._c='s_c';s.wd=window;if(!s.wd.s_c_in){s.wd.s_c_il=new Array;s.wd.s_c_in=0;}s._il=s.wd.s_c_il;s._in=s.wd.s_c_in;s._il[s._in]=s;s.wd.s_c_in++;s"
+".an=s_an;s.cls=function(x,c){var i,y='';if(!c)c=this.an;for(i=0;i<x.length;i++){n=x.substring(i,i+1);if(c.indexOf(n)>=0)y+=n}return y};s.fl=function(x,l){return x?(''+x).substring(0,l):x};s.co=func"
+"tion(o){if(!o)return o;var n=new Object,x;for(x in o)if(x.indexOf('select')<0&&x.indexOf('filter')<0)n[x]=o[x];return n};s.num=function(x){x=''+x;for(var p=0;p<x.length;p++)if(('0123456789').indexO"
+"f(x.substring(p,p+1))<0)return 0;return 1};s.rep=s_rep;s.sp=s_sp;s.jn=s_jn;s.ape=function(x){var s=this,h='0123456789ABCDEF',i,c=s.charSet,n,l,e,y='';c=c?c.toUpperCase():'';if(x){x=''+x;if(c=='AUTO"
+"'&&('').charCodeAt){for(i=0;i<x.length;i++){c=x.substring(i,i+1);n=x.charCodeAt(i);if(n>127){l=0;e='';while(n||l<4){e=h.substring(n%16,n%16+1)+e;n=(n-n%16)/16;l++}y+='%u'+e}else if(c=='+')y+='%2B';"
+"else y+=escape(c)}x=y}else{x=x?s.rep(escape(''+x),'+','%2B'):x;if(x&&c&&s.em==1&&x.indexOf('%u')<0&&x.indexOf('%U')<0){i=x.indexOf('%');while(i>=0){i++;if(h.substring(8).indexOf(x.substring(i,i+1)."
+"toUpperCase())>=0)return x.substring(0,i)+'u00'+x.substring(i);i=x.indexOf('%',i)}}}}return x};s.epa=function(x){var s=this;return x?unescape(s.rep(''+x,'+',' ')):x};s.pt=function(x,d,f,a){var s=th"
+"is,t=x,z=0,y,r;while(t){y=t.indexOf(d);y=y<0?t.length:y;t=t.substring(0,y);r=s[f](t,a);if(r)return r;z+=y+d.length;t=x.substring(z,x.length);t=z<x.length?t:''}return ''};s.isf=function(t,a){var c=a"
+".indexOf(':');if(c>=0)a=a.substring(0,c);if(t.substring(0,2)=='s_')t=t.substring(2);return (t!=''&&t==a)};s.fsf=function(t,a){var s=this;if(s.pt(a,',','isf',t))s.fsg+=(s.fsg!=''?',':'')+t;return 0}"
+";s.fs=function(x,f){var s=this;s.fsg='';s.pt(x,',','fsf',f);return s.fsg};s.si=function(wd){var s=this,c=''+s_gi,a=c.indexOf(\"{\"),b=c.lastIndexOf(\"}\"),m;c=s_fe(a>0&&b>0?c.substring(a+1,b):0);if"
+"(wd&&wd.document&&c){wd.setTimeout('function s_sv(o,n,k){var v=o[k],i;if(v){if(typeof(v)==\"string\"||typeof(v)==\"number\")n[k]=v;else if (typeof(v)==\"array\"){n[k]=new Array;for(i=0;i<v.length;i"
+"++)s_sv(v,n[k],i)}else if (typeof(v)==\"object\"){n[k]=new Object;for(i in v)s_sv(v,n[k],i)}}}function s_si(t){var wd=window,s,i,j,c,a,b;wd.s_gi=new Function(\"un\",\"pg\",\"ss\",\"'+c+'\");wd.s=s_"
+"gi(\"'+s.oun+'\");s=wd.s;s.sa(\"'+s.un+'\");s.tfs=wd;s.pt(s.vl_g,\",\",\"vo1\",t);s.lnk=s.eo=s.linkName=s.linkType=s.wd.s_objectID=s.ppu=s.pe=s.pev1=s.pev2=s.pev3=\\'\\';if(t.m_l&&t.m_nl)for(i=0;i<"
+"t.m_nl.length;i++){n=t.m_nl[i];if(n){m=t[n];c=t[\"m_\"+n];if(m&&c){c=\"\"+c;if(c.indexOf(\"function\")>=0){a=c.indexOf(\"{\");b=c.lastIndexOf(\"}\");c=a>0&&b>0?c.substring(a+1,b):0;s[\"m_\"+n+\"_c"
+"\"]=c;if(m._e)s.loadModule(n);if(s[n])for(j=0;j<m._l.length;j++)s_sv(m,s[n],m._l[j])}}}}}var e,o,t;try{o=window.opener;if(o&&o.s_gi){t=o.s_gi(\"'+s.un+'\");if(t)s_si(t)}}catch(e){}',1)}};s.c_d='';s"
+".c_gdf=function(t,a){var s=this;if(!s.num(t))return 1;return 0};s.c_gd=function(){var s=this,d=s.wd.location.hostname,n=s.fpCookieDomainPeriods,p;if(!n)n=s.cookieDomainPeriods;if(d&&!s.c_d){n=n?par"
+"seInt(n):2;n=n>2?n:2;p=d.lastIndexOf('.');if(p>=0){while(p>=0&&n>1){p=d.lastIndexOf('.',p-1);n--}s.c_d=p>0&&s.pt(d,'.','c_gdf',0)?d.substring(p):d}}return s.c_d};s.c_r=function(k){var s=this;k=s.ap"
+"e(k);var c=' '+s.d.cookie,i=c.indexOf(' '+k+'='),e=i<0?i:c.indexOf(';',i),v=i<0?'':s.epa(c.substring(i+2+k.length,e<0?c.length:e));return v!='[[B]]'?v:''};s.c_w=function(k,v,e){var s=this,d=s.c_gd("
+"),l=s.cookieLifetime,t;v=''+v;l=l?(''+l).toUpperCase():'';if(e&&l!='SESSION'&&l!='NONE'){t=(v!=''?parseInt(l?l:0):-60);if(t){e=new Date;e.setTime(e.getTime()+(t*1000))}}if(k&&l!='NONE'){s.d.cookie="
+"k+'='+s.ape(v!=''?v:'[[B]]')+'; path=/;'+(e&&l!='SESSION'?' expires='+e.toGMTString()+';':'')+(d?' domain='+d+';':'');return s.c_r(k)==v}return 0};s.eh=function(o,e,r,f){var s=this,b='s_'+e+'_'+s._"
+"in,n=-1,l,i,x;if(!s.ehl)s.ehl=new Array;l=s.ehl;for(i=0;i<l.length&&n<0;i++){if(l[i].o==o&&l[i].e==e)n=i}if(n<0){n=i;l[n]=new Object}x=l[n];x.o=o;x.e=e;f=r?x.b:f;if(r||f){x.b=r?0:o[e];x.o[e]=f}if(x"
+".b){x.o[b]=x.b;return b}return 0};s.cet=function(f,a,t,o,b){var s=this,r,tcf;if(s.apv>=5&&(!s.isopera||s.apv>=7)){tcf=new Function('s','f','a','t','var e,r;try{r=s[f](a)}catch(e){r=s[t](e)}return r"
+"');r=tcf(s,f,a,t)}else{if(s.ismac&&s.u.indexOf('MSIE 4')>=0)r=s[b](a);else{s.eh(s.wd,'onerror',0,o);r=s[f](a);s.eh(s.wd,'onerror',1)}}return r};s.gtfset=function(e){var s=this;return s.tfs};s.gtfso"
+"e=new Function('e','var s=s_c_il['+s._in+'],c;s.eh(window,\"onerror\",1);s.etfs=1;c=s.t();if(c)s.d.write(c);s.etfs=0;return true');s.gtfsfb=function(a){return window};s.gtfsf=function(w){var s=this"
+",p=w.parent,l=w.location;s.tfs=w;if(p&&p.location!=l&&p.location.host==l.host){s.tfs=p;return s.gtfsf(s.tfs)}return s.tfs};s.gtfs=function(){var s=this;if(!s.tfs){s.tfs=s.wd;if(!s.etfs)s.tfs=s.cet("
+"'gtfsf',s.tfs,'gtfset',s.gtfsoe,'gtfsfb')}return s.tfs};s.mrq=function(u){var s=this,l=s.rl[u],n,r;s.rl[u]=0;if(l)for(n=0;n<l.length;n++){r=l[n];s.mr(0,0,r.r,0,r.t,r.u)}};s.br=function(id,rs){var s"
+"=this;if(s.disableBufferedRequests||!s.c_w('s_br',rs))s.brl=rs};s.flushBufferedRequests=function(){this.fbr(0)};s.fbr=function(id){var s=this,br=s.c_r('s_br');if(!br)br=s.brl;if(br){if(!s.disableBu"
+"fferedRequests)s.c_w('s_br','');s.mr(0,0,br)}s.brl=0};s.mr=function(sess,q,rs,id,ta,u){var s=this,dc=s.dc,t1=s.trackingServer,t2=s.trackingServerSecure,tb=s.trackingServerBase,p='.sc',ns=s.visitorN"
+"amespace,un=s.cls(u?u:(ns?ns:s.fun)),r=new Object,l,imn='s_i_'+(un),im,b,e;if(!rs){if(t1){if(t2&&s.ssl)t1=t2}else{if(!tb)tb='2o7.net';if(dc)dc=(''+dc).toLowerCase();else dc='d1';if(tb=='2o7.net'){i"
+"f(dc=='d1')dc='112';else if(dc=='d2')dc='122';p=''}t1=un+'.'+dc+'.'+p+tb}rs='http'+(s.ssl?'s':'')+'://'+t1+'/b/ss/'+s.un+'/'+(s.mobile?'5.1':'1')+'/H.20.3/'+sess+'?AQB=1&ndh=1'+(q?q:'')+'&AQE=1';if"
+"(s.isie&&!s.ismac){if(s.apv>5.5)rs=s.fl(rs,4095);else rs=s.fl(rs,2047)}if(id){s.br(id,rs);return}}if(s.d.images&&s.apv>=3&&(!s.isopera||s.apv>=7)&&(s.ns6<0||s.apv>=6.1)){if(!s.rc)s.rc=new Object;if"
+"(!s.rc[un]){s.rc[un]=1;if(!s.rl)s.rl=new Object;s.rl[un]=new Array;setTimeout('if(window.s_c_il)window.s_c_il['+s._in+'].mrq(\"'+un+'\")',750)}else{l=s.rl[un];if(l){r.t=ta;r.u=un;r.r=rs;l[l.length]"
+"=r;return ''}imn+='_'+s.rc[un];s.rc[un]++}im=s.wd[imn];if(!im)im=s.wd[imn]=new Image;im.s_l=0;im.onload=new Function('e','this.s_l=1;var wd=window,s;if(wd.s_c_il){s=wd.s_c_il['+s._in+'];s.mrq(\"'+u"
+"n+'\");s.nrs--;if(!s.nrs)s.m_m(\"rr\")}');if(!s.nrs){s.nrs=1;s.m_m('rs')}else s.nrs++;im.src=rs;if(rs.indexOf('&pe=')>=0&&(!ta||ta=='_self'||ta=='_top'||(s.wd.name&&ta==s.wd.name))){b=e=new Date;wh"
+"ile(!im.s_l&&e.getTime()-b.getTime()<500)e=new Date}return ''}return '<im'+'g sr'+'c=\"'+rs+'\" width=1 height=1 border=0 alt=\"\">'};s.gg=function(v){var s=this;if(!s.wd['s_'+v])s.wd['s_'+v]='';re"
+"turn s.wd['s_'+v]};s.glf=function(t,a){if(t.substring(0,2)=='s_')t=t.substring(2);var s=this,v=s.gg(t);if(v)s[t]=v};s.gl=function(v){var s=this;if(s.pg)s.pt(v,',','glf',0)};s.rf=function(x){var s=t"
+"his,y,i,j,h,l,a,b='',c='',t;if(x){y=''+x;i=y.indexOf('?');if(i>0){a=y.substring(i+1);y=y.substring(0,i);h=y.toLowerCase();i=0;if(h.substring(0,7)=='http://')i+=7;else if(h.substring(0,8)=='https://"
+"')i+=8;h=h.substring(i);i=h.indexOf(\"/\");if(i>0){h=h.substring(0,i);if(h.indexOf('google')>=0){a=s.sp(a,'&');if(a.length>1){l=',q,ie,start,search_key,word,kw,cd,';for(j=0;j<a.length;j++){t=a[j];i"
+"=t.indexOf('=');if(i>0&&l.indexOf(','+t.substring(0,i)+',')>=0)b+=(b?'&':'')+t;else c+=(c?'&':'')+t}if(b&&c){y+='?'+b+'&'+c;if(''+x!=y)x=y}}}}}}return x};s.hav=function(){var s=this,qs='',fv=s.link"
+"TrackVars,fe=s.linkTrackEvents,mn,i;if(s.pe){mn=s.pe.substring(0,1).toUpperCase()+s.pe.substring(1);if(s[mn]){fv=s[mn].trackVars;fe=s[mn].trackEvents}}fv=fv?fv+','+s.vl_l+','+s.vl_l2:'';for(i=0;i<s"
+".va_t.length;i++){var k=s.va_t[i],v=s[k],b=k.substring(0,4),x=k.substring(4),n=parseInt(x),q=k;if(v&&k!='linkName'&&k!='linkType'){if(s.pe||s.lnk||s.eo){if(fv&&(','+fv+',').indexOf(','+k+',')<0)v='"
+"';if(k=='events'&&fe)v=s.fs(v,fe)}if(v){if(k=='dynamicVariablePrefix')q='D';else if(k=='visitorID')q='vid';else if(k=='pageURL'){q='g';v=s.fl(v,255)}else if(k=='referrer'){q='r';v=s.fl(s.rf(v),255)"
+"}else if(k=='vmk'||k=='visitorMigrationKey')q='vmt';else if(k=='visitorMigrationServer'){q='vmf';if(s.ssl&&s.visitorMigrationServerSecure)v=''}else if(k=='visitorMigrationServerSecure'){q='vmf';if("
+"!s.ssl&&s.visitorMigrationServer)v=''}else if(k=='charSet'){q='ce';if(v.toUpperCase()=='AUTO')v='ISO8859-1';else if(s.em==2)v='UTF-8'}else if(k=='visitorNamespace')q='ns';else if(k=='cookieDomainPe"
+"riods')q='cdp';else if(k=='cookieLifetime')q='cl';else if(k=='variableProvider')q='vvp';else if(k=='currencyCode')q='cc';else if(k=='channel')q='ch';else if(k=='transactionID')q='xact';else if(k=='"
+"campaign')q='v0';else if(k=='resolution')q='s';else if(k=='colorDepth')q='c';else if(k=='javascriptVersion')q='j';else if(k=='javaEnabled')q='v';else if(k=='cookiesEnabled')q='k';else if(k=='browse"
+"rWidth')q='bw';else if(k=='browserHeight')q='bh';else if(k=='connectionType')q='ct';else if(k=='homepage')q='hp';else if(k=='plugins')q='p';else if(s.num(x)){if(b=='prop')q='c'+n;else if(b=='eVar')"
+"q='v'+n;else if(b=='list')q='l'+n;else if(b=='hier'){q='h'+n;v=s.fl(v,255)}}if(v)qs+='&'+q+'='+(k.substring(0,3)!='pev'?s.ape(v):v)}}}return qs};s.ltdf=function(t,h){t=t?t.toLowerCase():'';h=h?h.to"
+"LowerCase():'';var qi=h.indexOf('?');h=qi>=0?h.substring(0,qi):h;if(t&&h.substring(h.length-(t.length+1))=='.'+t)return 1;return 0};s.ltef=function(t,h){t=t?t.toLowerCase():'';h=h?h.toLowerCase():'"
+"';if(t&&h.indexOf(t)>=0)return 1;return 0};s.lt=function(h){var s=this,lft=s.linkDownloadFileTypes,lef=s.linkExternalFilters,lif=s.linkInternalFilters;lif=lif?lif:s.wd.location.hostname;h=h.toLower"
+"Case();if(s.trackDownloadLinks&&lft&&s.pt(lft,',','ltdf',h))return 'd';if(s.trackExternalLinks&&h.substring(0,1)!='#'&&(lef||lif)&&(!lef||s.pt(lef,',','ltef',h))&&(!lif||!s.pt(lif,',','ltef',h)))re"
+"turn 'e';return ''};s.lc=new Function('e','var s=s_c_il['+s._in+'],b=s.eh(this,\"onclick\");s.lnk=s.co(this);s.t();s.lnk=0;if(b)return this[b](e);return true');s.bc=new Function('e','var s=s_c_il['"
+"+s._in+'],f,tcf;if(s.d&&s.d.all&&s.d.all.cppXYctnr)return;s.eo=e.srcElement?e.srcElement:e.target;tcf=new Function(\"s\",\"var e;try{if(s.eo&&(s.eo.tagName||s.eo.parentElement||s.eo.parentNode))s.t"
+"()}catch(e){}\");tcf(s);s.eo=0');s.oh=function(o){var s=this,l=s.wd.location,h=o.href?o.href:'',i,j,k,p;i=h.indexOf(':');j=h.indexOf('?');k=h.indexOf('/');if(h&&(i<0||(j>=0&&i>j)||(k>=0&&i>k))){p=o"
+".protocol&&o.protocol.length>1?o.protocol:(l.protocol?l.protocol:'');i=l.pathname.lastIndexOf('/');h=(p?p+'//':'')+(o.host?o.host:(l.host?l.host:''))+(h.substring(0,1)!='/'?l.pathname.substring(0,i"
+"<0?0:i)+'/':'')+h}return h};s.ot=function(o){var t=o.tagName;t=t&&t.toUpperCase?t.toUpperCase():'';if(t=='SHAPE')t='';if(t){if(t=='INPUT'&&o.type&&o.type.toUpperCase)t=o.type.toUpperCase();else if("
+"!t&&o.href)t='A';}return t};s.oid=function(o){var s=this,t=s.ot(o),p,c,n='',x=0;if(t&&!o.s_oid){p=o.protocol;c=o.onclick;if(o.href&&(t=='A'||t=='AREA')&&(!c||!p||p.toLowerCase().indexOf('javascript"
+"')<0))n=s.oh(o);else if(c){n=s.rep(s.rep(s.rep(s.rep(''+c,\"\\r\",''),\"\\n\",''),\"\\t\",''),' ','');x=2}else if(o.value&&(t=='INPUT'||t=='SUBMIT')){n=o.value;x=3}else if(o.src&&t=='IMAGE')n=o.src"
+";if(n){o.s_oid=s.fl(n,100);o.s_oidt=x}}return o.s_oid};s.rqf=function(t,un){var s=this,e=t.indexOf('='),u=e>=0?','+t.substring(0,e)+',':'';return u&&u.indexOf(','+un+',')>=0?s.epa(t.substring(e+1))"
+":''};s.rq=function(un){var s=this,c=un.indexOf(','),v=s.c_r('s_sq'),q='';if(c<0)return s.pt(v,'&','rqf',un);return s.pt(un,',','rq',0)};s.sqp=function(t,a){var s=this,e=t.indexOf('='),q=e<0?'':s.ep"
+"a(t.substring(e+1));s.sqq[q]='';if(e>=0)s.pt(t.substring(0,e),',','sqs',q);return 0};s.sqs=function(un,q){var s=this;s.squ[un]=q;return 0};s.sq=function(q){var s=this,k='s_sq',v=s.c_r(k),x,c=0;s.sq"
+"q=new Object;s.squ=new Object;s.sqq[q]='';s.pt(v,'&','sqp',0);s.pt(s.un,',','sqs',q);v='';for(x in s.squ)if(x&&(!Object||!Object.prototype||!Object.prototype[x]))s.sqq[s.squ[x]]+=(s.sqq[s.squ[x]]?'"
+",':'')+x;for(x in s.sqq)if(x&&(!Object||!Object.prototype||!Object.prototype[x])&&s.sqq[x]&&(x==q||c<2)){v+=(v?'&':'')+s.sqq[x]+'='+s.ape(x);c++}return s.c_w(k,v,0)};s.wdl=new Function('e','var s=s"
+"_c_il['+s._in+'],r=true,b=s.eh(s.wd,\"onload\"),i,o,oc;if(b)r=this[b](e);for(i=0;i<s.d.links.length;i++){o=s.d.links[i];oc=o.onclick?\"\"+o.onclick:\"\";if((oc.indexOf(\"s_gs(\")<0||oc.indexOf(\".s"
+"_oc(\")>=0)&&oc.indexOf(\".tl(\")<0)s.eh(o,\"onclick\",0,s.lc);}return r');s.wds=function(){var s=this;if(s.apv>3&&(!s.isie||!s.ismac||s.apv>=5)){if(s.b&&s.b.attachEvent)s.b.attachEvent('onclick',s"
+".bc);else if(s.b&&s.b.addEventListener)s.b.addEventListener('click',s.bc,false);else s.eh(s.wd,'onload',0,s.wdl)}};s.vs=function(x){var s=this,v=s.visitorSampling,g=s.visitorSamplingGroup,k='s_vsn_"
+"'+s.un+(g?'_'+g:''),n=s.c_r(k),e=new Date,y=e.getYear();e.setYear(y+10+(y<1900?1900:0));if(v){v*=100;if(!n){if(!s.c_w(k,x,e))return 0;n=x}if(n%10000>v)return 0}return 1};s.dyasmf=function(t,m){if(t"
+"&&m&&m.indexOf(t)>=0)return 1;return 0};s.dyasf=function(t,m){var s=this,i=t?t.indexOf('='):-1,n,x;if(i>=0&&m){var n=t.substring(0,i),x=t.substring(i+1);if(s.pt(x,',','dyasmf',m))return n}return 0}"
+";s.uns=function(){var s=this,x=s.dynamicAccountSelection,l=s.dynamicAccountList,m=s.dynamicAccountMatch,n,i;s.un=s.un.toLowerCase();if(x&&l){if(!m)m=s.wd.location.host;if(!m.toLowerCase)m=''+m;l=l."
+"toLowerCase();m=m.toLowerCase();n=s.pt(l,';','dyasf',m);if(n)s.un=n}i=s.un.indexOf(',');s.fun=i<0?s.un:s.un.substring(0,i)};s.sa=function(un){var s=this;s.un=un;if(!s.oun)s.oun=un;else if((','+s.ou"
+"n+',').indexOf(','+un+',')<0)s.oun+=','+un;s.uns()};s.m_i=function(n,a){var s=this,m,f=n.substring(0,1),r,l,i;if(!s.m_l)s.m_l=new Object;if(!s.m_nl)s.m_nl=new Array;m=s.m_l[n];if(!a&&m&&m._e&&!m._i"
+")s.m_a(n);if(!m){m=new Object,m._c='s_m';m._in=s.wd.s_c_in;m._il=s._il;m._il[m._in]=m;s.wd.s_c_in++;m.s=s;m._n=n;m._l=new Array('_c','_in','_il','_i','_e','_d','_dl','s','n','_r','_g','_g1','_t','_"
+"t1','_x','_x1','_rs','_rr','_l');s.m_l[n]=m;s.m_nl[s.m_nl.length]=n}else if(m._r&&!m._m){r=m._r;r._m=m;l=m._l;for(i=0;i<l.length;i++)if(m[l[i]])r[l[i]]=m[l[i]];r._il[r._in]=r;m=s.m_l[n]=r}if(f==f.t"
+"oUpperCase())s[n]=m;return m};s.m_a=new Function('n','g','e','if(!g)g=\"m_\"+n;var s=s_c_il['+s._in+'],c=s[g+\"_c\"],m,x,f=0;if(!c)c=s.wd[\"s_\"+g+\"_c\"];if(c&&s_d)s[g]=new Function(\"s\",s_ft(s_d"
+"(c)));x=s[g];if(!x)x=s.wd[\\'s_\\'+g];if(!x)x=s.wd[g];m=s.m_i(n,1);if(x&&(!m._i||g!=\"m_\"+n)){m._i=f=1;if((\"\"+x).indexOf(\"function\")>=0)x(s);else s.m_m(\"x\",n,x,e)}m=s.m_i(n,1);if(m._dl)m._dl"
+"=m._d=0;s.dlt();return f');s.m_m=function(t,n,d,e){t='_'+t;var s=this,i,x,m,f='_'+t,r=0,u;if(s.m_l&&s.m_nl)for(i=0;i<s.m_nl.length;i++){x=s.m_nl[i];if(!n||x==n){m=s.m_i(x);u=m[t];if(u){if((''+u).in"
+"dexOf('function')>=0){if(d&&e)u=m[t](d,e);else if(d)u=m[t](d);else u=m[t]()}}if(u)r=1;u=m[t+1];if(u&&!m[f]){if((''+u).indexOf('function')>=0){if(d&&e)u=m[t+1](d,e);else if(d)u=m[t+1](d);else u=m[t+"
+"1]()}}m[f]=1;if(u)r=1}}return r};s.m_ll=function(){var s=this,g=s.m_dl,i,o;if(g)for(i=0;i<g.length;i++){o=g[i];if(o)s.loadModule(o.n,o.u,o.d,o.l,o.e,1);g[i]=0}};s.loadModule=function(n,u,d,l,e,ln){"
+"var s=this,m=0,i,g,o=0,f1,f2,c=s.h?s.h:s.b,b,tcf;if(n){i=n.indexOf(':');if(i>=0){g=n.substring(i+1);n=n.substring(0,i)}else g=\"m_\"+n;m=s.m_i(n)}if((l||(n&&!s.m_a(n,g)))&&u&&s.d&&c&&s.d.createElem"
+"ent){if(d){m._d=1;m._dl=1}if(ln){if(s.ssl)u=s.rep(u,'http:','https:');i='s_s:'+s._in+':'+n+':'+g;b='var s=s_c_il['+s._in+'],o=s.d.getElementById(\"'+i+'\");if(s&&o){if(!o.l&&s.wd.'+g+'){o.l=1;if(o."
+"i)clearTimeout(o.i);o.i=0;s.m_a(\"'+n+'\",\"'+g+'\"'+(e?',\"'+e+'\"':'')+')}';f2=b+'o.c++;if(!s.maxDelay)s.maxDelay=250;if(!o.l&&o.c<(s.maxDelay*2)/100)o.i=setTimeout(o.f2,100)}';f1=new Function('e"
+"',b+'}');tcf=new Function('s','c','i','u','f1','f2','var e,o=0;try{o=s.d.createElement(\"script\");if(o){o.type=\"text/javascript\";'+(n?'o.id=i;o.defer=true;o.onload=o.onreadystatechange=f1;o.f2=f"
+"2;o.l=0;':'')+'o.src=u;c.appendChild(o);'+(n?'o.c=0;o.i=setTimeout(f2,100)':'')+'}}catch(e){o=0}return o');o=tcf(s,c,i,u,f1,f2)}else{o=new Object;o.n=n+':'+g;o.u=u;o.d=d;o.l=l;o.e=e;g=s.m_dl;if(!g)"
+"g=s.m_dl=new Array;i=0;while(i<g.length&&g[i])i++;g[i]=o}}else if(n){m=s.m_i(n);m._e=1}return m};s.vo1=function(t,a){if(a[t]||a['!'+t])this[t]=a[t]};s.vo2=function(t,a){if(!a[t]){a[t]=this[t];if(!a"
+"[t])a['!'+t]=1}};s.dlt=new Function('var s=s_c_il['+s._in+'],d=new Date,i,vo,f=0;if(s.dll)for(i=0;i<s.dll.length;i++){vo=s.dll[i];if(vo){if(!s.m_m(\"d\")||d.getTime()-vo._t>=s.maxDelay){s.dll[i]=0;"
+"s.t(vo)}else f=1}}if(s.dli)clearTimeout(s.dli);s.dli=0;if(f){if(!s.dli)s.dli=setTimeout(s.dlt,s.maxDelay)}else s.dll=0');s.dl=function(vo){var s=this,d=new Date;if(!vo)vo=new Object;s.pt(s.vl_g,','"
+",'vo2',vo);vo._t=d.getTime();if(!s.dll)s.dll=new Array;s.dll[s.dll.length]=vo;if(!s.maxDelay)s.maxDelay=250;s.dlt()};s.t=function(vo,id){var s=this,trk=1,tm=new Date,sed=Math&&Math.random?Math.floo"
+"r(Math.random()*10000000000000):tm.getTime(),sess='s'+Math.floor(tm.getTime()/10800000)%10+sed,y=tm.getYear(),vt=tm.getDate()+'/'+tm.getMonth()+'/'+(y<1900?y+1900:y)+' '+tm.getHours()+':'+tm.getMin"
+"utes()+':'+tm.getSeconds()+' '+tm.getDay()+' '+tm.getTimezoneOffset(),tcf,tfs=s.gtfs(),ta='',q='',qs='',code='',vb=new Object;s.gl(s.vl_g);s.uns();s.m_ll();if(!s.td){var tl=tfs.location,a,o,i,x='',"
+"c='',v='',p='',bw='',bh='',j='1.0',k=s.c_w('s_cc','true',0)?'Y':'N',hp='',ct='',pn=0,ps;if(String&&String.prototype){j='1.1';if(j.match){j='1.2';if(tm.setUTCDate){j='1.3';if(s.isie&&s.ismac&&s.apv>"
+"=5)j='1.4';if(pn.toPrecision){j='1.5';a=new Array;if(a.forEach){j='1.6';i=0;o=new Object;tcf=new Function('o','var e,i=0;try{i=new Iterator(o)}catch(e){}return i');i=tcf(o);if(i&&i.next)j='1.7'}}}}"
+"}if(s.apv>=4)x=screen.width+'x'+screen.height;if(s.isns||s.isopera){if(s.apv>=3){v=s.n.javaEnabled()?'Y':'N';if(s.apv>=4){c=screen.pixelDepth;bw=s.wd.innerWidth;bh=s.wd.innerHeight}}s.pl=s.n.plugin"
+"s}else if(s.isie){if(s.apv>=4){v=s.n.javaEnabled()?'Y':'N';c=screen.colorDepth;if(s.apv>=5){bw=s.d.documentElement.offsetWidth;bh=s.d.documentElement.offsetHeight;if(!s.ismac&&s.b){tcf=new Function"
+"('s','tl','var e,hp=0;try{s.b.addBehavior(\"#default#homePage\");hp=s.b.isHomePage(tl)?\"Y\":\"N\"}catch(e){}return hp');hp=tcf(s,tl);tcf=new Function('s','var e,ct=0;try{s.b.addBehavior(\"#default"
+"#clientCaps\");ct=s.b.connectionType}catch(e){}return ct');ct=tcf(s)}}}else r=''}if(s.pl)while(pn<s.pl.length&&pn<30){ps=s.fl(s.pl[pn].name,100)+';';if(p.indexOf(ps)<0)p+=ps;pn++}s.resolution=x;s.c"
+"olorDepth=c;s.javascriptVersion=j;s.javaEnabled=v;s.cookiesEnabled=k;s.browserWidth=bw;s.browserHeight=bh;s.connectionType=ct;s.homepage=hp;s.plugins=p;s.td=1}if(vo){s.pt(s.vl_g,',','vo2',vb);s.pt("
+"s.vl_g,',','vo1',vo)}if(s.usePlugins)s.doPlugins(s);var l=s.wd.location,r=tfs.document.referrer;if(!s.pageURL)s.pageURL=l.href?l.href:l;if(!s.referrer&&!s._1_referrer){s.referrer=r;s._1_referrer=1}"
+"if((vo&&vo._t)||!s.m_m('d')){s.m_m('g');if(s.lnk||s.eo){var o=s.eo?s.eo:s.lnk;if(!o)return '';var p=s.pageName,w=1,t=s.ot(o),n=s.oid(o),x=o.s_oidt,h,l,i,oc;if(s.eo&&o==s.eo){while(o&&!n&&t!='BODY')"
+"{o=o.parentElement?o.parentElement:o.parentNode;if(!o)return '';t=s.ot(o);n=s.oid(o);x=o.s_oidt}oc=o.onclick?''+o.onclick:'';if((oc.indexOf(\"s_gs(\")>=0&&oc.indexOf(\".s_oc(\")<0)||oc.indexOf(\".t"
+"l(\")>=0)return ''}ta=n?o.target:1;h=s.oh(o);i=h.indexOf('?');h=s.linkLeaveQueryString||i<0?h:h.substring(0,i);l=s.linkName;t=s.linkType?s.linkType.toLowerCase():s.lt(h);if(t&&(h||l))q+='&pe=lnk_'+"
+"(t=='d'||t=='e'?s.ape(t):'o')+(h?'&pev1='+s.ape(h):'')+(l?'&pev2='+s.ape(l):'');else trk=0;if(s.trackInlineStats){if(!p){p=s.pageURL;w=0}t=s.ot(o);i=o.sourceIndex;if(s.gg('objectID')){n=s.gg('objec"
+"tID');x=1;i=1}if(p&&n&&t)qs='&pid='+s.ape(s.fl(p,255))+(w?'&pidt='+w:'')+'&oid='+s.ape(s.fl(n,100))+(x?'&oidt='+x:'')+'&ot='+s.ape(t)+(i?'&oi='+i:'')}}if(!trk&&!qs)return '';s.sampled=s.vs(sed);if("
+"trk){if(s.sampled)code=s.mr(sess,(vt?'&t='+s.ape(vt):'')+s.hav()+q+(qs?qs:s.rq(s.un)),0,id,ta);qs='';s.m_m('t');if(s.p_r)s.p_r();s.referrer=''}s.sq(qs);}else{s.dl(vo);}if(vo)s.pt(s.vl_g,',','vo1',v"
+"b);s.lnk=s.eo=s.linkName=s.linkType=s.wd.s_objectID=s.ppu=s.pe=s.pev1=s.pev2=s.pev3='';if(s.pg)s.wd.s_lnk=s.wd.s_eo=s.wd.s_linkName=s.wd.s_linkType='';if(!id&&!s.tc){s.tc=1;s.flushBufferedRequests("
+")}return code};s.tl=function(o,t,n,vo){var s=this;s.lnk=s.co(o);s.linkType=t;s.linkName=n;s.t(vo)};if(pg){s.wd.s_co=function(o){var s=s_gi(\"_\",1,1);return s.co(o)};s.wd.s_gs=function(un){var s=s_"
+"gi(un,1,1);return s.t()};s.wd.s_dc=function(un){var s=s_gi(un,1);return s.t()}}s.ssl=(s.wd.location.protocol.toLowerCase().indexOf('https')>=0);s.d=document;s.b=s.d.body;if(s.d.getElementsByTagName"
+"){s.h=s.d.getElementsByTagName('HEAD');if(s.h)s.h=s.h[0]}s.n=navigator;s.u=s.n.userAgent;s.ns6=s.u.indexOf('Netscape6/');var apn=s.n.appName,v=s.n.appVersion,ie=v.indexOf('MSIE '),o=s.u.indexOf('Op"
+"era '),i;if(v.indexOf('Opera')>=0||o>0)apn='Opera';s.isie=(apn=='Microsoft Internet Explorer');s.isns=(apn=='Netscape');s.isopera=(apn=='Opera');s.ismac=(s.u.indexOf('Mac')>=0);if(o>0)s.apv=parseFl"
+"oat(s.u.substring(o+6));else if(ie>0){s.apv=parseInt(i=v.substring(ie+5));if(s.apv>3)s.apv=parseFloat(i)}else if(s.ns6>0)s.apv=parseFloat(s.u.substring(s.ns6+10));else s.apv=parseFloat(v);s.em=0;if"
+"(String.fromCharCode){i=escape(String.fromCharCode(256)).toUpperCase();s.em=(i=='%C4%80'?2:(i=='%U0100'?1:0))}s.sa(un);s.vl_l='dynamicVariablePrefix,visitorID,vmk,visitorMigrationKey,visitorMigrati"
+"onServer,visitorMigrationServerSecure,ppu,charSet,visitorNamespace,cookieDomainPeriods,cookieLifetime,pageName,pageURL,referrer,currencyCode';s.va_l=s.sp(s.vl_l,',');s.vl_t=s.vl_l+',variableProvide"
+"r,channel,server,pageType,transactionID,purchaseID,campaign,state,zip,events,products,linkName,linkType';for(var n=1;n<51;n++)s.vl_t+=',prop'+n+',eVar'+n+',hier'+n+',list'+n;s.vl_l2=',tnt,pe,pev1,p"
+"ev2,pev3,resolution,colorDepth,javascriptVersion,javaEnabled,cookiesEnabled,browserWidth,browserHeight,connectionType,homepage,plugins';s.vl_t+=s.vl_l2;s.va_t=s.sp(s.vl_t,',');s.vl_g=s.vl_t+',track"
+"ingServer,trackingServerSecure,trackingServerBase,fpCookieDomainPeriods,disableBufferedRequests,mobile,visitorSampling,visitorSamplingGroup,dynamicAccountSelection,dynamicAccountList,dynamicAccount"
+"Match,trackDownloadLinks,trackExternalLinks,trackInlineStats,linkLeaveQueryString,linkDownloadFileTypes,linkExternalFilters,linkInternalFilters,linkTrackVars,linkTrackEvents,linkNames,lnk,eo,_1_ref"
+"errer';s.va_g=s.sp(s.vl_g,',');s.pg=pg;s.gl(s.vl_g);if(!ss)s.wds()",
w=window,l=w.s_c_il,n=navigator,u=n.userAgent,v=n.appVersion,e=v.indexOf('MSIE '),m=u.indexOf('Netscape6/'),a,i,s;if(un){un=un.toLowerCase();if(l)for(i=0;i<l.length;i++){s=l[i];if(!s._c||s._c=='s_c'){if(s.oun==un)return s;else if(s.fs&&s.sa&&s.fs(s.oun,un)){s.sa(un);return s}}}}w.s_an='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
w.s_sp=new Function("x","d","var a=new Array,i=0,j;if(x){if(x.split)a=x.split(d);else if(!d)for(i=0;i<x.length;i++)a[a.length]=x.substring(i,i+1);else while(i>=0){j=x.indexOf(d,i);a[a.length]=x.subst"
+"ring(i,j<0?x.length:j);i=j;if(i>=0)i+=d.length}}return a");
w.s_jn=new Function("a","d","var x='',i,j=a.length;if(a&&j>0){x=a[0];if(j>1){if(a.join)x=a.join(d);else for(i=1;i<j;i++)x+=d+a[i]}}return x");
w.s_rep=new Function("x","o","n","return s_jn(s_sp(x,o),n)");
w.s_d=new Function("x","var t='`^@$#',l=s_an,l2=new Object,x2,d,b=0,k,i=x.lastIndexOf('~~'),j,v,w;if(i>0){d=x.substring(0,i);x=x.substring(i+2);l=s_sp(l,'');for(i=0;i<62;i++)l2[l[i]]=i;t=s_sp(t,'');d"
+"=s_sp(d,'~');i=0;while(i<5){v=0;if(x.indexOf(t[i])>=0) {x2=s_sp(x,t[i]);for(j=1;j<x2.length;j++){k=x2[j].substring(0,1);w=t[i]+k;if(k!=' '){v=1;w=d[b+l2[k]]}x2[j]=w+x2[j].substring(1)}}if(v)x=s_jn("
+"x2,'');else{w=t[i]+' ';if(x.indexOf(w)>=0)x=s_rep(x,w,t[i]);i++;b+=62}}}return x");
w.s_fe=new Function("c","return s_rep(s_rep(s_rep(c,'\\\\','\\\\\\\\'),'\"','\\\\\"'),\"\\n\",\"\\\\n\")");
w.s_fa=new Function("f","var s=f.indexOf('(')+1,e=f.indexOf(')'),a='',c;while(s>=0&&s<e){c=f.substring(s,s+1);if(c==',')a+='\",\"';else if((\"\\n\\r\\t \").indexOf(c)<0)a+=c;s++}return a?'\"'+a+'\"':"
+"a");
w.s_ft=new Function("c","c+='';var s,e,o,a,d,q,f,h,x;s=c.indexOf('=function(');while(s>=0){s++;d=1;q='';x=0;f=c.substring(s);a=s_fa(f);e=o=c.indexOf('{',s);e++;while(d>0){h=c.substring(e,e+1);if(q){i"
+"f(h==q&&!x)q='';if(h=='\\\\')x=x?0:1;else x=0}else{if(h=='\"'||h==\"'\")q=h;if(h=='{')d++;if(h=='}')d--}if(d>0)e++}c=c.substring(0,s)+'new Function('+(a?a+',':'')+'\"'+s_fe(c.substring(o+1,e))+'\")"
+"'+c.substring(e+1);s=c.indexOf('=function(')}return c;");
c=s_d(c);if(e>0){a=parseInt(i=v.substring(e+5));if(a>3)a=parseFloat(i)}else if(m>0)a=parseFloat(u.substring(m+10));else a=parseFloat(v);if(a>=5&&v.indexOf('Opera')<0&&u.indexOf('Opera')<0){w.s_c=new Function("un","pg","ss","var s=this;"+c);return new s_c(un,pg,ss)}else s=new Function("un","pg","ss","var s=new Object;"+s_ft(c)+";return s");return s(un,pg,ss)}




/**
 * global namespace for dhl
 */

var dhl = {};

/**
 * grouped eventlist of document onready events
 */

dhl.eventlist = {
	// events which must not be triggered more than once 
	singlecall: {},
	
	// events than can safely be triggered multiple times
	multicall: {}
}

/**
 * fix nasty background image flickering in IE6
 */

if ($.browser.msie && $.browser.version < 7) {
	document.execCommand('BackgroundImageCache', false, true);
}
/**
 * common message layer class
 */

dhl.messages = {
	
	lang: {
		txt: "Keine Nachricht definiert!",
		cancel: "Abbrechen",
		go: "Weiter"
	},
	
	/**
	 * show a message layer
	 * @param link - link that was clicked
	 * @param msg - messages to be displayed
	 * @param callbackFn - callback function when the user clicks the "go" link
	 */
	show: function(link, msg, callbackFn) {
		$.extend(dhl.messages.lang, msg);

		var messages_html  = '<div id="messages" class="cl">'; //generate temp. inline html
		if (dhl.messages.lang.headline) {
			messages_html += '<h2>' + dhl.messages.lang.headline + '</h2>';
		}
		messages_html += '<p>' + dhl.messages.lang.txt + '</p>';
		messages_html += '<p><a href="#" class="left">' + dhl.messages.lang.cancel + '</a><a class="right" href="#">' + dhl.messages.lang.go + '</a></p>';
		messages_html += '</div>';

		$('#colorbox').after('<div class="hd">' + messages_html + '</div>');//inject 2 dom
		
		$.fn.colorbox({ //inits colorbox
			inline: true,
			width: "400",
			href: "#messages",
			title: false,
			open: true // open without user input
		},
		function() { //callback
			$('#messages a').click(function(){
				if ($(this).hasClass('right')) {
					callbackFn(link);
				}
				$.fn.colorbox.close();
			});
		});
		$('#cboxInlineTemp').parent('.hd').remove(); //remove temp html
	}
}

/**
 * common link classes
 */

$(document).ready(function() {
	dhl.links.init();
	dhl.eventlist.multicall.links = dhl.links.init;
});

dhl.links = {
	
	lang: {
		headline: "Rechtliche Hinweise",
		txt: "Sie werden auf eine Seite außerhalb des Verantwortungsbereichs der Deutschen Post weiter geleitet. Für den Inhalt der vermittelten Seite haftet nicht die Deutsche Post, sondern der Herausgeber dieser Website.</p><p>Zum Fortfahren klicken Sie bitte auf den 'Weiter'-Link."
	},
	
	/**
	 * initialize component
	 */
	init: function() {
		dhl.links.popuphandler();
		dhl.links.external();
		dhl.links.anchorTrigger();
	},
	
	/**
	 * eventhandler for external and disclaimer links
	 */
	external: function() {
		 //bind eventlistener on disclaimer links
		$('#dhlde a.disclaimer').click(function(e) {
			e.preventDefault();
			dhl.messages.show($(this), dhl.links.lang, dhl.links.disclaimer);
		});

		 //bind eventlistener on external links
		$('#dhlde a.external').click(function(e) {
			e.preventDefault();
			if($(this).hasClass('disclaimer')) {
				return false;
			} 
			var ext_url = $(this).attr('href');
			if (ext_url && ext_url != 'undefined') {
				var ext_window = dhl.links.open(ext_url, 'dhl_window', null);
			}
		});
	},
	
	/**
	 * set popup eventhandler
	 */
	popuphandler: function() {
		var popup_links = $('#dhlde a.popup');
		popup_links.removeClass('external');
		popup_links.click(function(e) {
			var curlink = $(this);
			if (curlink.hasClass('disclaimer')) {
				return false;
			}
			e.preventDefault();
			dhl.links.popup(curlink); //open popup
		});
	},
	
	/**
	 * opens a popup
	 * @param link - link which triggers the popup
	 */
	popup: function(link) {
		var url = link.attr('href');
		var option = link.attr('rel').split('_');
		var params = {
			width: option[0],
			height: option[1]
		}
		if($.inArray('menubar',option) != "-1") params.menubar = "yes";
		var popup = dhl.links.open(url, '_blank', params);
		popup.focus();
	},
	
	/**
	 * default window parameters
	 */
	windowParams: {
		width: 500,
		height: 600,
		status: 'yes',
		scrollbars: 'yes',
		resizable: 'yes',
		menubar: 'no',
		toolbar: 'no'
	},

	/**
	 * open windows
	 * @param: url - url of page to load
	 * @param: customParams - customized window config params
	 */
	open: function(url, name, customParams) {
		name ? name : '_blank';

		var params = '';
		if (customParams) {
			customParams = $.extend({}, dhl.links.windowParams, customParams);
			for (var i in customParams) {
				params += i + '=' + customParams[i] + ',';
			}
		}
		return window.open(url, name, params.substring(0, params.length-1));
	},
	
	/**
	 * open disclaimer links in popup or new window
	 * @param link - link that was clicked
 	 */
	disclaimer: function(link) {
		link.hasClass('popup') ? dhl.links.popup(link) : dhl.links.open(link.attr('href'),'dhl_window',null);
	},
	
	/**
	 * check if the location contains an anchor (#) and "reload" document
	 */
	anchorTrigger: function() {
		if($.browser.msie) {
			var loc = window.location.href;

			if (loc.indexOf('#') != -1) {
				$(window).load(function() {
					window.location.href = loc;
				});
			}
		}
	}
}

/**
 * symbol icon with infotext
 */

$(document).ready(function() {
	dhl.symbol.init();
	dhl.eventlist.multicall.symbol = dhl.symbol.init;
});

dhl.symbol = {
	
	/**
	 * initialize component
	 */
	init: function() {
		if($.browser.msie && $.browser.version < 7) {
			dhl.symbol.help();
		}
	},
	
	/**
	 * z-index bug fix for ie - help info window
	 */
	help: function() {
		$('#content-wrapper .symbol').hover(
			function(){
				$(this).children('span').css({
					'top': '2.273em',
					'z-index':'1000'
				});
			},
			function(){
				$(this).children('span').css('z-index', '0');
			}
		);
	}
}



/**
 * colorbox plugin settings
 */

dhl.colorbox = {
	
	/**
	 * default colorbox options
	 */
	options: {
		transition: 'elastic',
		opacity: 0.85,
		speed: 300,
		initialWidth: 250,
		initialHeight: 250
	}
}



/**
 * component: textzoom
 */

$(document).ready(function() {
	dhl.textzoom.init()
	dhl.eventlist.singlecall.textzoom = dhl.textzoom.init;
});

dhl.textzoom = {
	
	/**
	 * language definitions
	 */
	lang: {
		min: {
			text: "-A",
			hint: "Text kleiner",
			range: "Sie haben die kleinste Zoomstufe erreicht."
		},
		normal: {
			text: "A",
			hint: "Text normal"
		},
		max: {
			text: "A+",
			hint: "Text größer",
			range: "Sie haben die größte Zoomstufe erreicht."
		},
		font: {
			text: "Schriftgröße"
		}
	},

	/**
	 * initialize component
	 */
	init: function() {
		dhl.textzoom.createZoom();
		dhl.textzoom.addEvents();
		dhl.textzoom.checkIphone();
	},

	/**
	 * create the zoom links
	 */
	createZoom: function() {
		var zoomContent = '<p class="textzoom">';
		zoomContent += '<a class="normal first" href="#" title="' + dhl.textzoom.lang.font.text + '">' + dhl.textzoom.lang.font.text + '</a><span class="hd">,</span>';
		zoomContent += '<a class="smaller" href="#" title="' + dhl.textzoom.lang.min.hint + '">' + dhl.textzoom.lang.min.text + '</a><span class="hd">,</span>';
		zoomContent += '<a class="normal" href="#" title="' + dhl.textzoom.lang.normal.hint + '">' + dhl.textzoom.lang.normal.text + '</a><span class="hd">,</span>';
		zoomContent += '<a class="bigger" href="#" title="' + dhl.textzoom.lang.max.hint + '">' + dhl.textzoom.lang.max.text + '</a>';
		zoomContent += '</p>';

		// append zoom to service navigation list and change css properties
		$('.service-nav ul').append('<li>' + zoomContent + '</li>').css({
			'width': dhl.textzoom.calculateNavWidth()
		});

		// start resizing if needed
		dhl.textzoom.readCookie();
	},
	
	/**
	 * ranges for textsizes (in pixel)
	 */
	range: {
		min: 9,
		normal: 10,
		max: 50,
		step: 1
	},

	/**
	 * add events to the "zoom" links
	 */
	addEvents: function() {
		$('.textzoom a.smaller').click(function(e) {
			e.preventDefault();
			var fontsize = dhl.textzoom.getFontSize() - dhl.textzoom.range.step;

			if (fontsize >= dhl.textzoom.range.min) {
				dhl.textzoom.setFontSize(fontsize, true);
			} else {
				dhl.textzoom.displayMessage(dhl.textzoom.lang.min.range);
			}
		});

		$('.textzoom a.normal').click(function(e) {
			e.preventDefault();
			var fontsize = dhl.textzoom.getFontSize();

			if (fontsize != dhl.textzoom.range.normal) {
				dhl.textzoom.setFontSize(dhl.textzoom.range.normal, false);
				dhl.textzoom.setCookie(null);
			}
		});

		$('.textzoom a.bigger').click(function(e) {
			e.preventDefault();
			var fontsize = dhl.textzoom.getFontSize() + dhl.textzoom.range.step;

			if (fontsize <= dhl.textzoom.range.max) {
				dhl.textzoom.setFontSize(fontsize, true);
			} else {
				dhl.textzoom.displayMessage(dhl.textzoom.lang.max.range);
			}
		});
	},

	/**
	 * get body font size
	 * @return {Int} fontsize
	 */
	getFontSize: function() {
		var size;

		if ($.browser.msie && $.browser.version == 6) {
			size = dhl.textzoom.convertFontSize(parseFloat(document.getElementsByTagName('body')[0].currentStyle.fontSize), 'px');
		} else {
			size = parseInt($('body').css('font-size'));
		}

		return size;
	},

	/**
	 * set body font size
	 * @param {Int} size - new body textsize in px
	 * @param {Boolean} setCookie - switch if cookie should be set
	 */
	setFontSize: function(size, setCookie) {
		if($.browser.msie && $.browser.version < 8) { // plain version
			$('body').css('font-size', $.browser.version == 6 ? dhl.textzoom.convertFontSize(size, '%') + '%' : size + 'px');
		} else {
			$('body').animate({ // animated version
				fontSize: size + 'px'
			}, 500);
		}

		// set cookie
		if (setCookie) {
			dhl.textzoom.setCookie(size);
		}
	},

	/**
	 * convert body font size for IE6 (px <-> %)
	 * @param {Int} size - textsize in px
	 * @param {String} output - output format
	 * @return {Int} fontsize
	 */
	convertFontSize: function(size, output) {
		return output == 'px' ? size / 100 * 16 : size / 16 * 100;
	},

	/**
	 * display a notification message below the links
	 * @param {String} message - text to be displayed
	 */
	displayMessage: function(message) {
		$('.textzoom').append('<strong>' + message + '</strong>');
		$('.textzoom strong').fadeOut(3000, function(e) {
			$(this).remove();
		});
	},

	/**
	 * clone navigation and get width
	 */
	calculateNavWidth: function() {
		// temporarily clone the navigation for calculation reasons
		$('body').append($('.service-nav').clone().attr('id','service-nav-calculation'));
		$('#service-nav-calculation').css({
			'float': 'none',
			'height': '0',
			'padding': '0',
			'visibility': 'hidden',
			'width': 'auto'
		});

		if ($.browser.msie && $.browser.version < 8) {
			$('#service-nav-calculation ul .textzoom').css('float', 'left');
		}

		// get width
		var width = $('#service-nav-calculation ul').css('width', 'auto').width();

		// remove the calculation object
		$('#service-nav-calculation').remove();

		return (width + 5) / 10 + 'em';
	},
	
	/**
	 * sets the font smaller for iphone - only if user doesnt set custom font-size
	 */
	checkIphone: function() {
		if (!$.cookie(dhl.textzoom.cookie.name)) {
			dhl.textzoom.iphone = navigator.userAgent.toLowerCase().indexOf('iphone')!=-1;
			if (dhl.textzoom.iphone) { 
				$('.textzoom a.smaller').trigger('click');
			}
		}
	},

	/**
	 * cookie: settings
	 */
	cookie: {
		name: 'dhlde_textzoom',
		expires: 9999,
		path: '/'
	},

	/**
	 * initialize the textsize if it is set in a cookie
	 */
	readCookie: function() {
		var cookie;
		if (cookie = $.cookie(dhl.textzoom.cookie.name)) { // read cookie @ start
			if (cookie != dhl.textzoom.getFontSize()) {
				dhl.textzoom.setFontSize(cookie, false);
			}
		}
	},

	/**
	 * store the new textsize in a cookie
	 * @param {String} value - value of cookie
	 */
	setCookie: function(value) {
		var settings = dhl.textzoom.cookie;
		$.cookie(settings.name, value, {
			expires: settings.expires,
			path: settings.path
		});
	}
}



/**
 * component: image
 * description: add colorbox script to image if image component has a zoomable flag
 */

$(document).ready(function() {
	dhl.image.init();
	dhl.eventlist.multicall.image = dhl.image.init;
});

dhl.image = {

	/**
	 * initialize component
	 */
	init: function() {
		dhl.image.zoomByClass();
	},
	
	/**
	 * inits component for zoom - called from component init js
	 * @param: component - name of component
	 */
	zoom: function(component) {
		$('#dhlde .' + component + ' .image .img a').colorbox(dhl.colorbox.options);
		dhl.image.lense();
	},
	
	/**
	 * search for all components with class .zoom and setup for colorbox
	 * not implemented yet
	 */
	zoomByClass: function() {
		$('#dhlde .image .zoom a').colorbox(dhl.colorbox.options);
		dhl.image.lense();
	},
	
	/**
	 * append a span element to the image link
	 */
	lense: function() {
		$('#dhlde .image .zoom a').append('<span></span>');
	}
}
/**
 * component: richtext
 */

$(document).ready(function() {
	dhl.richtext.init();
	dhl.eventlist.multicall.richtext = dhl.richtext.init;
});

dhl.richtext = {
	
	/**
	 * language definitions
	 */
	lang: {
		moretext: "mehr"
	},

	/**
	 * initialize component
	 */
	init: function() {
		if($.browser.msie || $.browser.version < 7) {
			dhl.richtext.infotext();
		}
		dhl.richtext.more_toggle();
	},

	/**
	 * toogles the infotext popup for IE6
	 */
	infotext: function() {
		var infotext = $('#content-wrapper .richtext .infotext'); 
		infotext.hover(
			function(){
				$(this).css({
					'position': 'relative',
					'z-index': '1000'
				});
				$(this).children('span.infotext-inner').css({
					'left': '1em',
					'top': '1.818em',
					'z-index': '1000'
				});
			},
			function(){
				$(this).css({
					'position': 'static',
					'z-index': '0'
				});
				$(this).children('span.infotext-inner').css({
					'left': '-400em',
					'top': 'auto',
					'z-index': '0'
				});
			}
		);
	},

	/**
	 * toogles some block of text (show/hide)
	 */
	more_toggle: function(){
		var mores = $('#content-wrapper .richtext .more');

		// iterate through all the closed sections
		mores.each(function() {
			if ($(this).parent().find('span.morelink').length == 0) {
				// hide each more section
				$(this).hide().addClass('hd').css('display','block');
	
				// get richtext or article headline
				var headline = $('#content-wrapper .richtext').children('h3').eq(0).text();
				
				if (headline == '') {
					headline = $('#content-wrapper .article').children('h2').eq(0).text();
				}
	
				// create new elements
				var span = document.createElement('span');
				span.className = 'morelink';
	
				var a = document.createElement('a');
				a.href = '#';
				a.title = dhl.richtext.lang.moretext;
				a.appendChild(document.createTextNode(dhl.richtext.lang.moretext));
			
				var span_hidden = document.createElement('span');
				span_hidden.className = 'hd';
				span_hidden.appendChild(document.createTextNode(': ' + headline));
	
				a.appendChild(span_hidden);
				span.appendChild(a);
	
				// add new element before more section
				$(this).before(span);
				// add click listener to morelink
				$(this).parent().find('span.morelink a').click(function() {
					var link = $(this);
					link.toggleClass('open');
					
					var inner_more = link.parent('span').next();
					if (inner_more.hasClass('hd')) {
						inner_more.css('display','none').removeClass('hd');
					}
					
					inner_more.slideToggle('fast', function() {
						if (!link.hasClass('open')) {
							inner_more.addClass('hd').css('display','block');
						}
					});
					
					return false;
				});
			}
		});
	}
}

/**
 * component: expandablearea
 */

$(document).ready(function() {
	dhl.expandablearea.init();
	dhl.eventlist.multicall.expandablearea = dhl.expandablearea.init;
});

dhl.expandablearea = {
	
	/**
	 * initialize component
	 */
	init: function() {
		dhl.expandablearea.toggle();
		dhl.expandablearea.anchor();
		// track this if a FAQ 
		if($('#content-wrapper .expandablearea .track').length > 0) {
			dhl.expandablearea.trackThis = true;
		}
	},

	/**
	 * toogles the expandable list
	 */
	toggle: function(){
		//get components
		var areas = $('#content-wrapper .expandablearea div.area-status');
		
		// check if paragraph system should be closed
		areas.each(function() {
			var current = $(this);
			if (current.hasClass('closed')) {
				current.children('div.expandable').hide().addClass('hd').css('display','block');
			}
		});

		// add indentation
		areas.children('div.expandable').css('padding-left', '1.6em');
		
		//inject link inside area title
		if (areas.children('h2').children('a').length == 0) {
			areas.children('h2').wrapInner("<a href='#'></a>");
		}

		//click listener
		areas.children('h2').children('a').click(function() {
			var area = $(this).parents('div').eq(0);
			var current = area.children('div.expandable');
			if (current.hasClass('hd')) {
				current.css('display','none').removeClass('hd');
			}
			current.slideToggle('fast',function(){
				area.toggleClass('closed');
				if (area.hasClass('closed')) {
					current.addClass('hd').css('display','block');
				}
			});
			// omniture tracking
			if(dhl.expandablearea.trackThis) {
				dhl.expandablearea.track($(this));
			}
			return false;
		});
	},
	
	/**
	* track clicked links in FAQ
	*/
	track: function(link) {
		if(link.parent().parent('.area-status').hasClass('closed')) {
			dhl_config.omniture.options.prop25 = normalize(link.text());
			dhl_config.omniture.options.prop26 = normalize($('#content-wrapper .expandablearea .track').eq(0).text());
			dhl_config.omniture.writeOut();
		}
	},
	
	/**
	* check if an anchor in url - open expandable area - jump to anchor - use standart cq anchors
	*/
	anchor: function() {
		var url = window.location.href;
		if(url.indexOf('#') != -1) {
			var anchorname = url.split('#')[1]; //read anchor from url
			if(anchorname != '') {
				var anchorelements = $('#content .expandablearea a.jumptarget'); //find cq anchors in doc
				anchorelements.each(function(index, domElement) {
					if(domElement.name.indexOf(anchorname) != -1) {
						var area = $(domElement).closest(".expandablearea").find('.closed');
						if(area.length > 0) {
							area.find('h2.area-title a').trigger('click'); //open area
						}
						window.scrollTo(0, $(domElement)[0].offsetTop); //jump to anchor
					}
				});
			}
		}
	}
}

/**
 * component: linklist
 */

$(document).ready(function() {
	dhl.expandablelinklist.init();
	dhl.eventlist.multicall.expandablelinklist = dhl.expandablelinklist.init;
});

dhl.expandablelinklist = {
	
	/**
	 * initialize component
	 */
	init: function() {
		dhl.expandablelinklist.toggle();
	},

	/**
	 * toogles the expandable list
	 */
	toggle: function(){
		var list = $('#content-wrapper .expandablelinklist li:has(h3)');
		
		//closes list elements @ init
		list.each(function() {
			var current = $(this);
			if (current.hasClass('closed')) {
				current.children().children('ul').hide();
			}
		});
		
		//click listener
		list.children('h3').children('a').click(function(){
			var current = $(this);
			current.parent().parent().children('div.linklistitem').children('ul').slideToggle('fast',function(){
				current.parent().parent().toggleClass('closed');
			});
			return false;
		});
	}
}

/**
 * component: tabs 
 */

$(document).ready(function() {
	dhl.tabs.init();
	dhl.eventlist.multicall.tabs = dhl.tabs.init;
});

dhl.tabs = {
	
	/**
	 * initialize component
	 */
	init: function() {
		dhl.tabs.create();

		// only relevant for author mode
		dhl.tabs.checkTabCookie();

		if ($.browser.safari) {
			dhl.tabs.style();
		}
	},
	
	/**
	 * create tabs from html
	 */
	create: function() {
		$('#content-wrapper .tabs').each(function() {
			var tab = $(this);
			if (tab.children('.colored').length > 0) {
				tab = tab.children('.colored');
			}
			var ul = tab.find('ul:first');
			var ul_id = ul.attr('id'); //get id
			var active_tab = 0;

			var settings;
			// set active tab and determine settings
			if(dhl_config.tabs) {
				for(var i in dhl_config.tabs) {
					if(i == ul_id) {
						active_tab = dhl_config.tabs[i].active;
					}
				}

				// only relevant for author mode
				var author = dhl.tabs.getTabCookie(ul_id); 
				if (author) {
					if (author.active_tab) {
						active_tab = author.active_tab;
					}
					settings = author.settings;
				}
			}

			// create tabs
			tab.tabs(active_tab, settings);
			// navigation ?
			var width = 0;
			var elements = ul.children('li');
			var componentwidth = tab.width();
			if(tab.hasClass('colored')) componentwidth = tab.parent().width(); // IE fix
			// get width
			elements.each(function() {
				width += $(this).width();
			});
			
			// too big ?
			if(width > componentwidth) {
				// show navigation links and set listener 
				tab.append('<a href="#" class="inv tableft tabnavigation"></a><a href="#" class="inv tabright tabnavigation"></a>');
				var tabnavi = tab.find('a.tabnavigation');
				var ul = elements.parent();
				var n = 50;
				var current = 0;
				// move tabs left or right
				tabnavi.removeClass('inv').click(function(e) {
					e.preventDefault();
					if($(this).hasClass('tableft')) {
						if(current == 0) return false;
						current = current + n;
					} else {
						if((componentwidth - 60 - width) > current) {
							return false;
						}
						current = current - n;
					}
					ul.css('margin-left',current + 'px');
				});
				// inject dom to wrap
				elements.parent().wrap('<div class="tabs-nav-wrap"></div>');
			}
			else {
				ul.wrap('<div class="tabs-nav-wrapp"></div>');
			}
			 //needed for ie
			tab.css('overflow','visible');
			tab.find(".tabs-container:not(.tabs-hide)").hide().show();
		});
	},

	/**
	 * set additional styles on tabs
	 */
	style: function() {
		$('#content-wrapper .tabs ul .tabs-selected a').css('top', '2px');
	},

	/**
	 * Empty implementation (will be extended in author mode)
	 */
	checkTabCookie: function(){
	},

	/**
	 * Empty implementation (will be extended in author mode)
	 */
	getTabCookie: function(){
	}
}


/**
 * component: form
 */

$(document).ready(function() {
	dhl.form.init();
	dhl.eventlist.multicall.form = dhl.form.init;
});

dhl.form = {
	
	/**
	 * define language strings
	 */
	lang: {
		required: "Bitte füllen Sie dieses Feld aus.",
		email: "Bitte geben Sie eine gültige E-Mailadresse ein.",
		url: "Bitte geben Sie eine gültige URL an.",
		lettersonly: "Bitte verwenden Sie nur Buchstaben.",
		digits: "Bitte geben Sie eine Zahl ein.",
		radio: "Bitte treffen Sie eine Auswahl.",
		select: "Bitte wählen Sie eine Option aus.",
		checkbox: "Bitte wählen Sie eine Option aus.",
		error: "Bitte prüfen Sie das Pflichtfeld oder die ungültige Eingabe:",
		errors: "Bitte prüfen Sie die Pflichtfelder oder ungültigen Eingaben:",
		errorprefix: "Fehler: ",
		captcharefresh: "Neues Bild erstellen"
	},

	/**
	 * initialize component
	 */
	init: function() {
		dhl.form.validate();
		dhl.form.prefill();
		dhl.form.mail2meToggle();
		dhl.form.emailafriend();
	},

	/**
	 * validate a form
	 */
	validate: function() {
		
		$.extend($.validator, { // set default messages
			messages: {
				required: dhl.form.lang.required,
				email: dhl.form.lang.email,
				url: dhl.form.lang.url,
				digits: dhl.form.lang.digits
			}
		});

		//additional validator - more in svn/dhlde-docs/development/js-frameworks/jQuery_1.3.2/jquery.validate/additional-methods.js
		$.validator.addMethod("lettersonly", function(value, element) { 
			return this.optional(element) || /^[a-z]+$/i.test(value);
		}, dhl.form.lang.lettersonly); 

		$(".form form").each(function(i,el) { //validate each form on the page
			var current = $(el); // current form
			current.find(':reset').click(function() { //reset button clear error messages
				dhl.form.clear(current);
				current.reset(); // clear form fields
			});

			dhl.form.captcha(current); //click listener for capture reload

			if(dhl_config.form.validate){ //read custom rules and messages for the current form
				for(var i in dhl_config.form.validate) {
					if(i == current.attr('id')) {
						var validation_cfg = dhl_config.form.validate[i];
						dhl.form.listen(validation_cfg,i);	
					}
				}				
			}
			current.validate({ // http://docs.jquery.com/Plugins/Validation/validate#options
				//debug: true, //debugger on
				onkeyup: false,
				onclick: false,
				onfocusout: false, //disable eventlisteners
				focusInvalid: false, //disable auto focus on first error
				rules: (validation_cfg) ? validation_cfg.rules : {}, //set custom rules
				messages: (validation_cfg) ? validation_cfg.messages : {}, //set custom messages
					
				showErrors: function(errorMap, errorList) { //custom error handler	
					dhl.form.clear(current); //delete old error messages
					dhl.form.create(current,errorList.length); //create errorbox above form for new errors
					
					$.each(errorList,function(index,value) { //create new errors and inject them 2 dom
						
						var label;
						var labels = current.find('label');
						for (var i=0; i<labels.length; i++) {
							// sanity check for forms in subpagedropdown scenario
							if ($(labels[i]).attr('for') == value.element.id) {
								label = $(labels[i]);
							}
						}
						label.addClass('error');
						
						var msg_is_set = new Array;
						if(validation_cfg) { //check if custom message set for select / radio / checkbox
							for(var i in validation_cfg.messages) {
								if(i == value.element.name) {
									msg_is_set.push(value.element.name);
								}
							}
						}
						if($.inArray(value.element.name, msg_is_set) == '-1') {
							switch(value.element.type) {
								case 'radio':  value.message = dhl.form.lang.radio; break; 
								case 'checkbox':  value.message = dhl.form.lang.checkbox; break; 
								case 'select-one':  value.message = dhl.form.lang.select; break; 
							}
						}
						
						label.append('<span class="error hd"> - ' + value.message + '</span>');
						var cloned = label.clone();
						cloned.children('a').remove()
						cloned.children('span.error').removeClass('hd');
						cloned.children('span.hd').remove();
						cloned.appendTo(current.find('div.errorbox ul.error')).wrap('<li></li>');
						label.prepend('<span class="error">' + dhl.form.lang.errorprefix + '</span>');
				
						if(value.element.type == 'radio') { //required radio buttons
							var radio = $(value.element);
								radio.parent('p').children('label.error').removeClass('error').children('span.error').remove(); //remove default error handling
								radio.parent('p').before('<h4 class="error"><span class="error">' + dhl.form.lang.errorprefix +  '</span>' + radio.parent('p').prev('h4').html() + '</h4>'); //create new error (IE)
								radio.parent('p').prev('h4').prev('h4').remove(); //remove old error (IE)
						}	
					});
					
					var anchor = current.find('div.errorbox p.error a');
					if (anchor) {
						anchor.focus(); //focus on an anchor above the error list
					}
				},

				submitHandler: function(form) {
					dhl.form.setStoreValues(form);
					form.submit();
				}
			});
		}); 
	},
	
	/**
	 * create the errorbox above the form
	 * @param jquery object - current form
	 */
	create: function(current,length) {
		if (length == 0) {
			return false; //prevent creation of error container if no errors
		}
		var message = length > 1  //check for singular
			? dhl.form.lang.errors
			: dhl.form.lang.error;
		var msgbox = '<div class="errorbox">'; //the errorbox
			msgbox += '<p class="error"><a href="#" name="error"></a>' + message + '</p>';
			msgbox += '<ul class="error"></ul>';
			msgbox += '</div>'; 
		current.prepend( msgbox ); //add 2 form
	},
	
	/**
	 * remove error messages
	 * @param jquery object - current form
	 */
	clear: function(current) {
		current.find('div.errorbox').remove(); //cleanup error list
		current.find('label.error').removeClass('error').find('span.error').remove(); //cleanup labels
		current.find('h4.error').removeClass('error').find('span.error').remove(); //cleanup radio group headlines
	},
	
	/**
	 * reload captcha img
	 * @param jquery object - current form
	 */
	captcha: function(current) {
		var captcha = current.find('p.captcha');

		if (captcha.length > 0) {
			// remove fallback submit button
			captcha.find('.submit').remove();
			
			// generate refresh link
			captcha.append('<a class="refresh" href="' + dhl_config.form.captcha.refresh  + '">' + dhl.form.lang.captcharefresh + '</a>');
	
			// add click listener to refresh link
			captcha.find('a.refresh').click(function(e){
				e.preventDefault();
				var captchakey = ("" + Math.random()).substring(3, 8);
	
				var captchaimg = $(this).parent('p').find('img');
				captchaimg.attr('src', dhl_config.form.captcha.url + '?id=' + captchakey);
	
				var captchakeyelem = $(this).parent('p').find('input[type=hidden]');
				captchakeyelem.attr('value', captchakey);
			}).trigger('click'); //prevent cached image
		}
	},

	/**
	 * retrieve all stored values from a cookie
	 */
	prefill: function() {
		$(".form form").each(function() {
			var form = $(this);
			var storedValues = dhl.form.getStoreValues();
			
			if (storedValues) {
				var field;
				for (var i in storedValues) {
					field = form.find('[name='+i+']');
					field.val(storedValues[i]);
				}
			}
		});
	},

	/**
	 * cookie store settings
	 * expiration date will not be set, it defaults to current session
	 */
	storeSettings: {
		name: 'dhlde_formstore',
		path: '/',
		separator: '###'
	},

	/**
	 * retrieve all stored values from a cookie
	 * @param form - current form object
	 */
	getStoreValues: function() {
		var storedValues = null;
		var cookie = $.cookie(dhl.form.storeSettings.name);
		
		if (cookie) {
			var pairs = cookie.split(dhl.form.storeSettings.separator);

			for (var i = 0; i < pairs.length; i++) {
				var pair = pairs[i].split("=");
				
				if (!storedValues) {
					storedValues = {};
				}
				storedValues[pair[0]] = pair[1];
			}
		}
		
		return storedValues;
	},


	/**
	 * retrieve all values in the form and store them in a cookie
	 * @param form - current form object
	 */
	setStoreValues: function(form) {
		var fm = $(form);

		// store for new values
		var newValues = {};

		// get form fields and iterate through them
		var fields = fm.find(':input');
		fields.each(function() {
			var field = $(this);

			var type = field.attr('type');
			switch(type) {
				case 'file':
				case 'checkbox':
				case 'radio':
				case 'button':
				case 'submit':
				case 'hidden':
				case 'password':
				case 'reset': break;
				default:
					var val = field.val();
					if (val && val != '') {
						// store new values
						if (field.attr('name').indexOf('captcha') == -1) { // weak captcha field check
							newValues[field.attr('name')] = val;
						}
					}
			}
		});

		// get stored values from cookie
		var storedValues = dhl.form.getStoreValues();

		// merge values
		if (storedValues) {
			storedValues = $.extend(storedValues, newValues);
		} else {
			storedValues = newValues;
		}

		// array -> string
		cookie = '';
		for (var j in storedValues) {
			cookie += j + '=' + storedValues[j] + dhl.form.storeSettings.separator;
		}

		// remove last separator
		cookie = cookie.substring(0, cookie.length - dhl.form.storeSettings.separator.length);

		// set cookie
		$.cookie(dhl.form.storeSettings.name, cookie, {
			path: dhl.form.storeSettings.path
		});
	},
	
	/**
	* hide and display mail2me form elements
	*/
	mail2meToggle: function() {
		dhl.form.mail2me = $('.form form .mail2me');
		if(dhl.form.mail2me.length > 0) {
			dhl.form.mail2meCheckbox = dhl.form.mail2me.find('input:checkbox');
			dhl.form.mail2meContainer =  dhl.form.mail2me.find('.mail2mebox');
			//initial close 
			if(!dhl.form.mail2meCheckbox[0].checked) {
				dhl.form.mail2meContainer.slideToggle('fast');
			}
			//toggle
			dhl.form.mail2meCheckbox.click(function(el){
				dhl.form.mail2meContainer.slideToggle('slow');
				if(dhl.form.mail2meCheckbox[0].checked)  dhl.form.mail2meContainer.find('a.refresh').trigger('click');
			});
		}
		
	},
	
	/**
	* listen on depend required fields and add a mandatory *
	*/
	listen: function(fields,form) {
		$.each(fields,function(i,el) {
			if(i == "listener") {
				$.each(el,function(element,val) {
				
					var listendEl = $('#' + form + ' #' + element);
					var requiredEl = $('#' + form + ' #' + val.field); 

					switch (val.type) {
						case "checkbox":
							(this.checked) ? dhl.form.setMandatory(requiredEl) : dhl.form.deleteMandatory(requiredEl);
							listendEl.click(function(ev){
								(this.checked) ? dhl.form.setMandatory(requiredEl) : dhl.form.deleteMandatory(requiredEl);
							});
						break;
						case "text":
							(this.value !== "") ? dhl.form.setMandatory(requiredEl) : dhl.form.deleteMandatory(requiredEl);
							listendEl.blur(function(ev){
								(this.value !== "") ? dhl.form.setMandatory(requiredEl) : dhl.form.deleteMandatory(requiredEl);
							});
						break;
					} 
					
				});
			}
		});
	},
	
	/**
	* set * 
	*/
	setMandatory: function(requiredEl) {
		requiredEl.closest('p').find('label .mandatory').remove();
		requiredEl.closest('p').find('label').append('<span class="mandatory"><span class="hd">Mandatory field</span> *</span>');
	},
	
	/**
	* delete *
	*/
	deleteMandatory: function(requiredEl) {
		requiredEl.closest('p').find('label .mandatory').remove();
	},
	
	/**
	* hides page-title-area if emailafriend
	*/
	emailafriend: function() {
		if($('#content .form input[value=emailafriend]').length > 0 ) {
			$('#page-title-area').css('display','none'); 
			$('#content').css('padding-top','2em');
		}
	}
}
/**
 * component: link-dropdown
 */

$(document).ready(function() {
	dhl.link_dropdown.init();
	dhl.eventlist.multicall.link_dropdown = dhl.link_dropdown.init;
});

dhl.link_dropdown = {
	
	/**
	 * initialize component
	 */
	init: function() {
		dhl.link_dropdown.setWidth();
		dhl.link_dropdown.openExternalLinks();
	},

	/**
	 * open external links in a popup
	 */
	openExternalLinks: function() {
		$('#content-wrapper .link-dropdown form').submit(function(){
			var select = $(this).find('select');
			var external = $(this).find('option:selected');
			if (external.hasClass('external')) {
				dhl.links.open($(this).attr('action') + '?' + select.attr('name') + '=' + external.val(), null);
				return false;
			}
		});
	},

	/**
	 * set width of select boxes in dependancy of button and container width
	 */
	setWidth: function() {
		$('#content-wrapper .link-dropdown form select').each(function(){
			// get element
			var el = $(this);
			// reset default width
			el.css('max-width', 'none');

			// set buffer
			var buffer = 1;

			// IE6/7: reset predefined width for correct calculation and hide select temporarily
			if($.browser.msie && $.browser.version < 8) {
				buffer = 3;
				el.css({
					'position': 'absolute',
					'visibility': 'hidden',
					'width': 'auto'
				});
			}

			// get button and container
			var button = el.next();
			var parent = el.parents('.link-dropdown').eq(0);
			var maxWidth = parent.width() - button.outerWidth(true);

			// set width if it is bigger than max possible width
			if(el.outerWidth(true) > maxWidth) {
				el.width(maxWidth - buffer);
			} 

			// IE6/7: reset visibility
			if($.browser.msie && $.browser.version < 8) {
				el.css({
					'position': 'static',
					'visibility': 'visible'
				});
			}
		});
	}
}

/**
 * component: subpagedropdown
 */

$(document).ready(function() {
	dhl.subpagedropdown.init();
	dhl.eventlist.multicall.subpagedropdown = dhl.subpagedropdown.init;
});

dhl.subpagedropdown = {

	/**
	 * define language strings
	 */
	lang: {
		loading: "Inhalte werden geladen..."
	},

	/**
	 * initialize component
	 */
	init: function() {
		dhl.subpagedropdown.setWidth();
		dhl.subpagedropdown.addListener();
	},

	/**
	 * add onchange listener to select
	 */
	addListener: function(){
		$('#content-wrapper .subpagedropdown').children('form').find('select').change(function() {
			dhl.subpagedropdown.changeSubPage(this);
		});
		$('#content-wrapper .subpagedropdown').children('form').submit(function(e) {
			e.preventDefault();
			dhl.subpagedropdown.changeSubPage($(this).find('select'));
		});
	},

	/**
	 * onchange action
	 */
	changeSubPage: function(select) {
		// worker object to store infos for further processing
		var worker = {
			// get select field value
			value: $(select)[0].value,

			// get current container
			container: $(select).parents('.subpagedropdown').eq(0)
		};

		// hide all sub pages
		dhl.subpagedropdown.hideSubPages(worker.container);

		if (dhl_config.subpagedropdown && worker.value != '') {
			// appropriate config for select
			var subpageConfig = dhl_config.subpagedropdown[$(select).attr('id')];

			// get id to given value (url) and add to worker object
			for (var i in subpageConfig) {
				if (subpageConfig[i] == worker.value) {
					worker.id = i;
				}
			}

			// show chosen sub page
			dhl.subpagedropdown.showSubPage(worker);
		}

		// set width of inner select fields
		dhl.subpagedropdown.setWidth(worker.container);
	},

	/**
	 * hide all sections
	 * @param: container - container dom element
	 */
	hideSubPages: function(container){
		container.children('.subpagedropdown-section').addClass('hd');
	},

	/**
	 * show a single section
	 * @param: worker - object with infos about container to show or load
	 */
	showSubPage: function(worker){
		if (worker.id != '') {
			var section = $('#'+worker.id);
			if (section.length > 0) {
				section.removeClass('hd');
			} else {
				dhl.subpagedropdown.loadSubPage(worker);
			}
		}
	},

	/**
	 * load a single section by AJAX
	 * @param: worker - object with infos about container to show or load
	 */
	loadSubPage: function(worker){
		var sectionHtml = '<div id="' + worker.id + '" class="subpagedropdown-section">';
		sectionHtml += '<p class="loading">' + dhl.subpagedropdown.lang.loading + '</p>';
		sectionHtml += '</div>';
		worker.container.append(sectionHtml);

		var url = worker.value + dhl_config.subpagedropdown.extension + dhl_config.subpagedropdown.authormode;
		
		$('#'+worker.id).load(url, function() {
			// iterate through the document onready list and trigger all the multicall functions (!)
			$.each(dhl.eventlist.multicall, function(){
				this.call(document, $);
			});
			
			// grab all the forms in the included html and change their actions
			$.each($('#'+worker.id+' form'), function() {
				var action = $(this).attr('action');
				$(this).attr('action', action + '?subpagedropdown=' + worker.value);
			});
		});
	},

	/**
	 * set width of select boxes in dependancy of button and container width
	 * @param: container dom element
	 */
	setWidth: function(container) {
		var searchRange = container ? container.find('.subpagedropdown') : $('#content-wrapper .subpagedropdown');

		if (searchRange.length > 0) {
			searchRange.children('form').find('select').each(function(){
				// get element
				var el = $(this);
				// reset default width
				el.css('max-width', 'none');
	
				// get button and container
				var button = el.next();
				var parent = el.parents('.subpagedropdown').eq(0);
				var maxWidth = parent.width() - button.outerWidth(true);

				// set buffer
				var buffer = 1;
	
				if($.browser.msie) {
					if ($.browser.version < 7) {
						buffer = 3;
					}
					el.css('width', 'auto');
				}

				// set width if it is bigger than max possible width
				if(el.outerWidth(true) > maxWidth) {
					el.width(maxWidth - buffer);
				} 
			});
		}
	}
}



/**
 * component: footer-nav
 */

$(document).ready(function() {
	dhl.footer_nav.init();
	dhl.eventlist.singlecall.footer_nav = dhl.footer_nav.init;
});

dhl.footer_nav = {

	/**
	 * language definitions
	 */
	lang: {
		print: "Drucken"
	},

	/**
	 * initialize component
	 */
	init: function() {
		$('#footer .footer-nav li.second').removeClass('second');
		$('#footer .footer-nav li.first').after('<li class="second print"><a href="#" title="">'+dhl.footer_nav.lang.print+'</a></li>');
		$('#footer .footer-nav li.print a').click(function(e) {
			e.preventDefault();
			window.print();
		});
	}
}

