(function($){$.dimensions={version:'@VERSION'};$.each(['Height','Width'],function(i,name){$.fn['inner'+name]=function(){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';return this[name.toLowerCase()]()+num(this,'padding'+torl)+num(this,'padding'+borr);};$.fn['outer'+name]=function(options){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';options=$.extend({margin:false},options||{});return this[name.toLowerCase()]()
+num(this,'border'+torl+'Width')+num(this,'border'+borr+'Width')
+num(this,'padding'+torl)+num(this,'padding'+borr)
+(options.margin?(num(this,'margin'+torl)+num(this,'margin'+borr)):0);};});$.each(['Left','Top'],function(i,name){$.fn['scroll'+name]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(name=='Left'?val:$(window)['scrollLeft'](),name=='Top'?val:$(window)['scrollTop']()):this['scroll'+name]=val;}):this[0]==window||this[0]==document?self[(name=='Left'?'pageXOffset':'pageYOffset')]||$.boxModel&&document.documentElement['scroll'+name]||document.body['scroll'+name]:this[0]['scroll'+name];};});$.fn.extend({position:function(){var left=0,top=0,elem=this[0],offset,parentOffset,offsetParent,results;if(elem){offsetParent=this.offsetParent();offset=this.offset();parentOffset=offsetParent.offset();offset.top-=num(elem,'marginTop');offset.left-=num(elem,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&$.css(offsetParent,'position')=='static'))
offsetParent=offsetParent.offsetParent;return $(offsetParent);}});var num=function(el,prop){return parseInt($.css(el.jquery?el[0]:el,prop))||0;};})(jQuery);jQuery.iUtil={getPosition:function(e)
{var x=0;var y=0;var es=e.style;var restoreStyles=false;if(jQuery(e).css('display')=='none'){var oldVisibility=es.visibility;var oldPosition=es.position;restoreStyles=true;es.visibility='hidden';es.display='block';es.position='absolute';}
var el=e;while(el){x+=el.offsetLeft+(el.currentStyle&&!jQuery.browser.opera?parseInt(el.currentStyle.borderLeftWidth)||0:0);y+=el.offsetTop+(el.currentStyle&&!jQuery.browser.opera?parseInt(el.currentStyle.borderTopWidth)||0:0);el=el.offsetParent;}
el=e;while(el&&el.tagName&&el.tagName.toLowerCase()!='body')
{x-=el.scrollLeft||0;y-=el.scrollTop||0;el=el.parentNode;}
if(restoreStyles==true){es.display='none';es.position=oldPosition;es.visibility=oldVisibility;}
return{x:x,y:y};},getPositionLite:function(el)
{var x=0,y=0;while(el){x+=el.offsetLeft||0;y+=el.offsetTop||0;el=el.offsetParent;}
return{x:x,y:y};},getSize:function(e)
{var w=jQuery.css(e,'width');var h=jQuery.css(e,'height');var wb=0;var hb=0;var es=e.style;if(jQuery(e).css('display')!='none'){wb=e.offsetWidth;hb=e.offsetHeight;}else{var oldVisibility=es.visibility;var oldPosition=es.position;es.visibility='hidden';es.display='block';es.position='absolute';wb=e.offsetWidth;hb=e.offsetHeight;es.display='none';es.position=oldPosition;es.visibility=oldVisibility;}
return{w:w,h:h,wb:wb,hb:hb};},getSizeLite:function(el)
{return{wb:el.offsetWidth||0,hb:el.offsetHeight||0};},getClient:function(e)
{var h,w,de;if(e){w=e.clientWidth;h=e.clientHeight;}else{de=document.documentElement;w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;}
return{w:w,h:h};},getScroll:function(e)
{var t=0,l=0,w=0,h=0,iw=0,ih=0;if(e&&e.nodeName.toLowerCase()!='body'){t=e.scrollTop;l=e.scrollLeft;w=e.scrollWidth;h=e.scrollHeight;iw=0;ih=0;}else{if(document.documentElement){t=document.documentElement.scrollTop;l=document.documentElement.scrollLeft;w=document.documentElement.scrollWidth;h=document.documentElement.scrollHeight;}else if(document.body){t=document.body.scrollTop;l=document.body.scrollLeft;w=document.body.scrollWidth;h=document.body.scrollHeight;}
iw=self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;ih=self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;}
return{t:t,l:l,w:w,h:h,iw:iw,ih:ih};},getMargins:function(e,toInteger)
{var el=jQuery(e);var t=el.css('marginTop')||'';var r=el.css('marginRight')||'';var b=el.css('marginBottom')||'';var l=el.css('marginLeft')||'';if(toInteger)
return{t:parseInt(t)||0,r:parseInt(r)||0,b:parseInt(b)||0,l:parseInt(l)};else
return{t:t,r:r,b:b,l:l};},getPadding:function(e,toInteger)
{var el=jQuery(e);var t=el.css('paddingTop')||'';var r=el.css('paddingRight')||'';var b=el.css('paddingBottom')||'';var l=el.css('paddingLeft')||'';if(toInteger)
return{t:parseInt(t)||0,r:parseInt(r)||0,b:parseInt(b)||0,l:parseInt(l)};else
return{t:t,r:r,b:b,l:l};},getBorder:function(e,toInteger)
{var el=jQuery(e);var t=el.css('borderTopWidth')||'';var r=el.css('borderRightWidth')||'';var b=el.css('borderBottomWidth')||'';var l=el.css('borderLeftWidth')||'';if(toInteger)
return{t:parseInt(t)||0,r:parseInt(r)||0,b:parseInt(b)||0,l:parseInt(l)||0};else
return{t:t,r:r,b:b,l:l};},getPointer:function(event)
{var x=event.pageX||(event.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft))||0;var y=event.pageY||(event.clientY+(document.documentElement.scrollTop||document.body.scrollTop))||0;return{x:x,y:y};},traverseDOM:function(nodeEl,func)
{func(nodeEl);nodeEl=nodeEl.firstChild;while(nodeEl){jQuery.iUtil.traverseDOM(nodeEl,func);nodeEl=nodeEl.nextSibling;}},purgeEvents:function(nodeEl)
{jQuery.iUtil.traverseDOM(nodeEl,function(el)
{for(var attr in el){if(typeof el[attr]==='function'){el[attr]=null;}}});},centerEl:function(el,axis)
{var clientScroll=jQuery.iUtil.getScroll();var windowSize=jQuery.iUtil.getSize(el);if(!axis||axis=='vertically')
jQuery(el).css({top:clientScroll.t+((Math.max(clientScroll.h,clientScroll.ih)-clientScroll.t-windowSize.hb)/2)+'px'});if(!axis||axis=='horizontally')
jQuery(el).css({left:clientScroll.l+((Math.max(clientScroll.w,clientScroll.iw)-clientScroll.l-windowSize.wb)/2)+'px'});},fixPNG:function(el,emptyGIF){var images=jQuery('img[@src*="png"]',el||document),png;images.each(function(){png=this.src;this.src=emptyGIF;this.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')";});}};[].indexOf||(Array.prototype.indexOf=function(v,n){n=(n==null)?0:n;var m=this.length;for(var i=n;i<m;i++)
if(this[i]==v)
return i;return-1;});(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&/6.0/.test(navigator.userAgent)){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+
(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($('> iframe.bgiframe',this).length==0)
this.insertBefore(document.createElement(html),this.firstChild);});}
return this;};})(jQuery);(function($){$.fn.ajaxSubmit=function(options){if(typeof options=='function')
options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto)return this;var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
a.push({name:n,value:options.data[n]});}
if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false)return this;this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto)return this;var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
else
options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
else if(options.success)
callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
if(files[j])
found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
$.get(options.closeKeepAlive,fileUpload);else
fileUpload();}
else
$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];var op8=$.browser.opera&&window.opera.version()<9;if($.browser.msie||op8)io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
for(var n in options.extraData)
extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
data=$.httpData(xhr,opts.dataType);}
catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
else
doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
a.push({name:n,value:v[j]});}
else if(v!==null&&typeof v!='undefined')
a.push({name:n,value:v});}
if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
a.push({name:n,value:v[i]});}
else if(v!==null&&typeof v!='undefined')
a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
continue;v.constructor==Array?$.merge(val,v):val.push(v);}
return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
return a;}
return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
this.value='';else if(t=='checkbox'||t=='radio')
this.checked=false;else if(tag=='select')
this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
this.selected=select;}});};})(jQuery);;(function($){$.fn.extend({autocomplete:function(urlOrData,options){var isUrl=typeof urlOrData=="string";options=$.extend({},$.Autocompleter.defaults,{url:isUrl?urlOrData:null,data:isUrl?null:urlOrData,delay:isUrl?$.Autocompleter.defaults.delay:10,max:options&&!options.scroll?10:150},options);options.highlight=options.highlight||function(value){return value;};options.formatMatch=options.formatMatch||options.formatItem;return this.each(function(){new $.Autocompleter(this,options);});},result:function(handler){return this.bind("result",handler);},search:function(handler){return this.trigger("search",[handler]);},flushCache:function(){return this.trigger("flushCache");},setOptions:function(options){return this.trigger("setOptions",[options]);},unautocomplete:function(){return this.trigger("unautocomplete");}});$.Autocompleter=function(input,options){var KEY={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);var timeout;var previousValue="";var cache=$.Autocompleter.Cache(options);var hasFocus=0;var lastKeyPressCode;var config={mouseDownOnSelect:false};var select=$.Autocompleter.Select(options,input,selectCurrent,config);$input.keydown(function(event){lastKeyPressCode=event.keyCode;switch(event.keyCode){case KEY.UP:event.preventDefault();if(select.visible()){select.prev();}else{onChange(0,true);}
break;case KEY.DOWN:event.preventDefault();if(select.visible()){select.next();}else{onChange(0,true);}
break;case KEY.PAGEUP:event.preventDefault();if(select.visible()){select.pageUp();}else{onChange(0,true);}
break;case KEY.PAGEDOWN:event.preventDefault();if(select.visible()){select.pageDown();}else{onChange(0,true);}
break;case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:case KEY.TAB:case KEY.RETURN:if(selectCurrent()){if(!options.multiple)
$input.blur();event.preventDefault();}
break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).keypress(function(){}).focus(function(){hasFocus++;}).blur(function(){hasFocus=0;if(!config.mouseDownOnSelect){hideResults();}}).click(function(){if(hasFocus++>1&&!select.visible()){onChange(0,true);}}).bind("search",function(){var fn=(arguments.length>1)?arguments[1]:null;function findValueCallback(q,data){var result;if(data&&data.length){for(var i=0;i<data.length;i++){if(data[i].result.toLowerCase()==q.toLowerCase()){result=data[i];break;}}}
if(typeof fn=="function")fn(result);else $input.trigger("result",result&&[result.data,result.value]);}
$.each(trimWords($input.val()),function(i,value){request(value,findValueCallback,findValueCallback);});}).bind("flushCache",function(){cache.flush();}).bind("setOptions",function(){$.extend(options,arguments[1]);if("data"in arguments[1])
cache.populate();}).bind("unautocomplete",function(){select.unbind();$input.unbind();});function selectCurrent(){var selected=select.selected();if(!selected)
return false;var v=selected.result;previousValue=v;if(options.multiple){var words=trimWords($input.val());if(words.length>1){v=words.slice(0,words.length-1).join(options.multipleSeparator)+options.multipleSeparator+v;}
v+=options.multipleSeparator;}
$input.val(v);hideResultsNow();$input.trigger("result",[selected.data,selected.value]);return true;}
function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){select.hide();return;}
var currentValue=$input.val();if(!skipPrevCheck&&currentValue==previousValue)
return;previousValue=currentValue;currentValue=lastWord(currentValue);if(currentValue.length>=options.minChars){$input.addClass(options.loadingClass);if(!options.matchCase)
currentValue=currentValue.toLowerCase();request(currentValue,receiveData,hideResultsNow);}else{stopLoading();select.hide();}};function trimWords(value){if(!value){return[""];}
var words=value.split(options.multipleSeparator);var result=[];$.each(words,function(i,value){if($.trim(value))
result[i]=$.trim(value);});return result;}
function lastWord(value){if(!options.multiple)
return value;var words=trimWords(value);return words[words.length-1];}
function autoFill(q,sValue){if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){$input.val($input.val()+sValue.substring(lastWord(previousValue).length));$.Autocompleter.Selection(input,previousValue.length,previousValue.length+sValue.length);}};function hideResults(){clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){select.hide();clearTimeout(timeout);stopLoading();if(options.mustMatch){$input.search(function(result){if(!result)$input.val("");});}};function receiveData(q,data){if(data&&data.length&&hasFocus){stopLoading();select.display(data,q);autoFill(q,data[0].value);select.show();}else{hideResultsNow();}};function request(term,success,failure){if(!options.matchCase)
term=term.toLowerCase();var data=cache.load(term);if(data&&data.length){success(term,data);}else if((typeof options.url=="string")&&(options.url.length>0)){var extraParams={timestamp:+new Date()};$.each(options.extraParams,function(key,param){extraParams[key]=typeof param=="function"?param():param;});$.ajax({mode:"abort",port:"autocomplete"+input.name,dataType:options.dataType,url:options.url,data:$.extend({q:lastWord(term),limit:options.max},extraParams),success:function(data){var parsed=options.parse&&options.parse(data)||parse(data);cache.add(term,parsed);success(term,parsed);}});}else{select.emptyList();failure(term);}};function parse(data){var parsed=[];var rows=data.split("\n");for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){row=row.split("|");parsed[parsed.length]={data:row,value:row[0],result:options.formatResult&&options.formatResult(row,row[0])||row[0]};}}
return parsed;};function stopLoading(){$input.removeClass(options.loadingClass);};};$.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row){return row[0];},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>");},scroll:true,scrollHeight:180};$.Autocompleter.Cache=function(options){var data={};var length=0;function matchSubset(s,sub){if(!options.matchCase)
s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};function add(q,value){if(length>options.cacheLength){flush();}
if(!data[q]){length++;}
data[q]=value;}
function populate(){if(!options.data)return false;var stMatchSets={},nullData=0;if(!options.url)options.cacheLength=1;stMatchSets[""]=[];for(var i=0,ol=options.data.length;i<ol;i++){var rawValue=options.data[i];rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;var value=options.formatMatch(rawValue,i+1,options.data.length);if(value===false)
continue;var firstChar=value.charAt(0).toLowerCase();if(!stMatchSets[firstChar])
stMatchSets[firstChar]=[];var row={value:value,data:rawValue,result:options.formatResult&&options.formatResult(rawValue)||value};stMatchSets[firstChar].push(row);if(nullData++<options.max){stMatchSets[""].push(row);}};$.each(stMatchSets,function(i,value){options.cacheLength++;add(i,value);});}
setTimeout(populate,25);function flush(){data={};length=0;}
return{flush:flush,add:add,populate:populate,load:function(q){if(!options.cacheLength||!length)
return null;if(!options.url&&options.matchContains){var csub=[];for(var k in data){if(k.length>0){var c=data[k];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub.push(x);}});}}
return csub;}else
if(data[q]){return data[q];}else
if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var c=data[q.substr(0,i)];if(c){var csub=[];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub[csub.length]=x;}});return csub;}}}
return null;}};};$.Autocompleter.Select=function(options,input,select,config){var CLASSES={ACTIVE:"ac_over"};var listItems,active=-1,data,term="",needsInit=true,element,list;function init(){if(!needsInit)
return;element=$("<div/>").hide().addClass(options.resultsClass).css("position","absolute").appendTo(document.body);list=$("<ul/>").appendTo(element).mouseover(function(event){if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE);}}).click(function(event){$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false;}).mousedown(function(){config.mouseDownOnSelect=true;}).mouseup(function(){config.mouseDownOnSelect=false;});if(options.width>0)
element.css("width",options.width);needsInit=false;}
function target(event){var element=event.target;while(element&&element.tagName!="LI")
element=element.parentNode;if(!element)
return[];return element;}
function moveSelect(step){listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);if(options.scroll){var offset=0;listItems.slice(0,active).each(function(){offset+=this.offsetHeight;});if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight());}else if(offset<list.scrollTop()){list.scrollTop(offset);}}};function movePosition(step){active+=step;if(active<0){active=listItems.size()-1;}else if(active>=listItems.size()){active=0;}}
function limitNumberOfItems(available){return options.max&&options.max<available?options.max:available;}
function fillList(){list.empty();var max=limitNumberOfItems(data.length);for(var i=0;i<max;i++){if(!data[i])
continue;var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);if(formatted===false)
continue;var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];$.data(li,"ac_data",data[i]);}
listItems=list.find("li");if(options.selectFirst){listItems.slice(0,1).addClass(CLASSES.ACTIVE);active=0;}
list.bgiframe();}
return{display:function(d,q){init();data=d;term=q;fillList();},next:function(){moveSelect(1);},prev:function(){moveSelect(-1);},pageUp:function(){if(active!=0&&active-8<0){moveSelect(-active);}else{moveSelect(-8);}},pageDown:function(){if(active!=listItems.size()-1&&active+8>listItems.size()){moveSelect(listItems.size()-1-active);}else{moveSelect(8);}},hide:function(){element&&element.hide();active=-1;},visible:function(){return element&&element.is(":visible");},current:function(){return this.visible()&&(listItems.filter("."+CLASSES.ACTIVE)[0]||options.selectFirst&&listItems[0]);},show:function(){var offset=$(input).offset();element.css({width:typeof options.width=="string"||options.width>0?options.width:$(input).width(),top:offset.top+input.offsetHeight,left:offset.left}).show();if(options.scroll){list.scrollTop(0);list.css({maxHeight:options.scrollHeight,overflow:'auto'});if($.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var listHeight=0;listItems.each(function(){listHeight+=this.offsetHeight;});var scrollbarsVisible=listHeight>options.scrollHeight;list.css('height',scrollbarsVisible?options.scrollHeight:listHeight);if(!scrollbarsVisible){listItems.width(list.width()-parseInt(listItems.css("padding-left"))-parseInt(listItems.css("padding-right")));}}}},selected:function(){var selected=listItems&&listItems.filter("."+CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);return selected&&selected.length&&$.data(selected[0],"ac_data");},emptyList:function(){list&&list.empty();},unbind:function(){element&&element.remove();}};};$.Autocompleter.Selection=function(field,start,end){if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
field.focus();};})(jQuery);(function($){$.fn.extend({renderCalendar:function(s)
{var dc=function(a)
{return document.createElement(a);};s=$.extend({month:null,year:null,renderCallback:null,showHeader:$.dpConst.SHOW_HEADER_SHORT,dpController:null,hoverClass:'dp-hover'},s);if(s.showHeader!=$.dpConst.SHOW_HEADER_NONE){var headRow=$(dc('tr'));for(var i=Date.firstDayOfWeek;i<Date.firstDayOfWeek+7;i++){var weekday=i%7;var day=Date.dayNames[weekday];headRow.append(jQuery(dc('th')).attr({'scope':'col','abbr':day,'title':day,'class':(weekday==0||weekday==6?'weekend':'weekday')}).html(s.showHeader==$.dpConst.SHOW_HEADER_SHORT?day.substr(0,1):day));}};var calendarTable=$(dc('table')).attr({'cellspacing':2,'className':'jCalendar'}).append((s.showHeader!=$.dpConst.SHOW_HEADER_NONE?$(dc('thead')).append(headRow):dc('thead')));var tbody=$(dc('tbody'));var today=(new Date()).zeroTime();var month=s.month==undefined?today.getMonth():s.month;var year=s.year||today.getFullYear();var currentDate=new Date(year,month,1);var firstDayOffset=Date.firstDayOfWeek-currentDate.getDay()+1;if(firstDayOffset>1)firstDayOffset-=7;var weeksToDraw=Math.ceil(((-1*firstDayOffset+1)+currentDate.getDaysInMonth())/7);currentDate.addDays(firstDayOffset-1);var doHover=function()
{if(s.hoverClass){$(this).addClass(s.hoverClass);}};var unHover=function()
{if(s.hoverClass){$(this).removeClass(s.hoverClass);}};var w=0;while(w++<weeksToDraw){var r=jQuery(dc('tr'));for(var i=0;i<7;i++){var thisMonth=currentDate.getMonth()==month;var d=$(dc('td')).text(currentDate.getDate()+'').attr('className',(thisMonth?'current-month ':'other-month ')+
(currentDate.isWeekend()?'weekend ':'weekday ')+
(thisMonth&&currentDate.getTime()==today.getTime()?'today ':'')).hover(doHover,unHover);if(s.renderCallback){s.renderCallback(d,currentDate,month,year);}
r.append(d);currentDate.addDays(1);}
tbody.append(r);}
calendarTable.append(tbody);return this.each(function()
{$(this).empty().append(calendarTable);});},datePicker:function(s)
{if(!$.event._dpCache)$.event._dpCache=[];s=$.extend({month:undefined,year:undefined,startDate:undefined,endDate:undefined,inline:false,renderCallback:[],createButton:true,showYearNavigation:true,closeOnSelect:true,displayClose:false,selectMultiple:false,clickInput:false,verticalPosition:$.dpConst.POS_TOP,horizontalPosition:$.dpConst.POS_LEFT,verticalOffset:0,horizontalOffset:0,hoverClass:'dp-hover'},s);return this.each(function()
{var $this=$(this);var alreadyExists=true;if(!this._dpId){this._dpId=$.event.guid++;$.event._dpCache[this._dpId]=new DatePicker(this);alreadyExists=false;}
if(s.inline){s.createButton=false;s.displayClose=false;s.closeOnSelect=false;$this.empty();}
var controller=$.event._dpCache[this._dpId];controller.init(s);if(!alreadyExists&&s.createButton){controller.button=$('<a href="#" class="dp-choose-date" title="'+$.dpText.TEXT_CHOOSE_DATE+'">'+$.dpText.TEXT_CHOOSE_DATE+'</a>').bind('click',function()
{$this.dpDisplay(this);this.blur();return false;});$this.after(controller.button);}
if(!alreadyExists&&$this.is(':text')){$this.bind('dateSelected',function(e,selectedDate,$td)
{this.value=selectedDate.asString();}).bind('change',function()
{var d=Date.fromString(this.value);if(d){controller.setSelected(d,true,true);}});if(s.clickInput){$this.bind('click',function()
{$this.dpDisplay();});}
var d=Date.fromString(this.value);if(this.value!=''&&d){controller.setSelected(d,true,true);}}
$this.addClass('dp-applied');})},dpSetDisabled:function(s)
{return _w.call(this,'setDisabled',s);},dpSetStartDate:function(d)
{return _w.call(this,'setStartDate',d);},dpSetEndDate:function(d)
{return _w.call(this,'setEndDate',d);},dpGetSelected:function()
{var c=_getController(this[0]);if(c){return c.getSelected();}
return null;},dpSetSelected:function(d,v,m)
{if(v==undefined)v=true;if(m==undefined)m=true;return _w.call(this,'setSelected',Date.fromString(d),v,m);},dpSetDisplayedMonth:function(m,y)
{return _w.call(this,'setDisplayedMonth',Number(m),Number(y));},dpDisplay:function(e)
{return _w.call(this,'display',e);},dpSetRenderCallback:function(a)
{return _w.call(this,'setRenderCallback',a);},dpSetPosition:function(v,h)
{return _w.call(this,'setPosition',v,h);},dpSetOffset:function(v,h)
{return _w.call(this,'setOffset',v,h);},dpClose:function()
{return _w.call(this,'_closeCalendar',false,this[0]);},_dpDestroy:function()
{}});var _w=function(f,a1,a2,a3)
{return this.each(function()
{var c=_getController(this);if(c){c[f](a1,a2,a3);}});};function DatePicker(ele)
{this.ele=ele;this.displayedMonth=null;this.displayedYear=null;this.startDate=null;this.endDate=null;this.showYearNavigation=null;this.closeOnSelect=null;this.displayClose=null;this.selectMultiple=null;this.verticalPosition=null;this.horizontalPosition=null;this.verticalOffset=null;this.horizontalOffset=null;this.button=null;this.renderCallback=[];this.selectedDates={};this.inline=null;this.context='#dp-popup';};$.extend(DatePicker.prototype,{init:function(s)
{this.setStartDate(s.startDate);this.setEndDate(s.endDate);this.setDisplayedMonth(Number(s.month),Number(s.year));this.setRenderCallback(s.renderCallback);this.showYearNavigation=s.showYearNavigation;this.closeOnSelect=s.closeOnSelect;this.displayClose=s.displayClose;this.selectMultiple=s.selectMultiple;this.verticalPosition=s.verticalPosition;this.horizontalPosition=s.horizontalPosition;this.hoverClass=s.hoverClass;this.setOffset(s.verticalOffset,s.horizontalOffset);this.inline=s.inline;if(this.inline){this.context=this.ele;this.display();}},setStartDate:function(d)
{if(d){this.startDate=Date.fromString(d);}
if(!this.startDate){this.startDate=(new Date()).zeroTime();}
this.setDisplayedMonth(this.displayedMonth,this.displayedYear);},setEndDate:function(d)
{if(d){this.endDate=Date.fromString(d);}
if(!this.endDate){this.endDate=(new Date('12/31/2999'));}
if(this.endDate.getTime()<this.startDate.getTime()){this.endDate=this.startDate;}
this.setDisplayedMonth(this.displayedMonth,this.displayedYear);},setPosition:function(v,h)
{this.verticalPosition=v;this.horizontalPosition=h;},setOffset:function(v,h)
{this.verticalOffset=parseInt(v)||0;this.horizontalOffset=parseInt(h)||0;},setDisabled:function(s)
{$e=$(this.ele);$e[s?'addClass':'removeClass']('dp-disabled');if(this.button){$but=$(this.button);$but[s?'addClass':'removeClass']('dp-disabled');$but.attr('title',s?'':$.dpText.TEXT_CHOOSE_DATE);}
if($e.is(':text')){$e.attr('disabled',s?'disabled':'');}},setDisplayedMonth:function(m,y)
{if(this.startDate==undefined||this.endDate==undefined){return;}
var s=new Date(this.startDate.getTime());s.setDate(1);var e=new Date(this.endDate.getTime());e.setDate(1);var t;if((!m&&!y)||(isNaN(m)&&isNaN(y))){t=new Date().zeroTime();t.setDate(1);}else if(isNaN(m)){t=new Date(y,this.displayedMonth,1);}else if(isNaN(y)){t=new Date(this.displayedYear,m,1);}else{t=new Date(y,m,1)}
if(t.getTime()<s.getTime()){t=s;}else if(t.getTime()>e.getTime()){t=e;}
this.displayedMonth=t.getMonth();this.displayedYear=t.getFullYear();},setSelected:function(d,v,moveToMonth)
{if(this.selectMultiple==false){this.selectedDates={};$('td.selected',this.context).removeClass('selected');}
if(moveToMonth){this.setDisplayedMonth(d.getMonth(),d.getFullYear());}
this.selectedDates[d.toString()]=v;},isSelected:function(d)
{return this.selectedDates[d.toString()];},getSelected:function()
{var r=[];for(s in this.selectedDates){if(this.selectedDates[s]==true){r.push(Date.parse(s));}}
return r;},display:function(eleAlignTo)
{if($(this.ele).is('.dp-disabled'))return;eleAlignTo=eleAlignTo||this.ele;var c=this;var $ele=$(eleAlignTo);var eleOffset=$ele.offset();var $createIn;var attrs;var attrsCalendarHolder;var cssRules;if(c.inline){$createIn=$(this.ele);attrs={'id':'calendar-'+this.ele._dpId,'className':'dp-popup dp-popup-inline'};cssRules={};}else{$createIn=$('body');attrs={'id':'dp-popup','className':'dp-popup'};cssRules={'top':eleOffset.top+c.verticalOffset,'left':eleOffset.left+c.horizontalOffset};var _checkMouse=function(e)
{var el=e.target;var cal=$('#dp-popup')[0];while(true){if(el==cal){return true;}else if(el==document){c._closeCalendar();return false;}else{el=$(el).parent()[0];}}};this._checkMouse=_checkMouse;this._closeCalendar(true);}
$createIn.append($('<div></div>').attr(attrs).css(cssRules).append($('<h2></h2>'),$('<div class="dp-nav-prev"></div>').append($('<a class="dp-nav-prev-year" href="#" title="'+$.dpText.TEXT_PREV_YEAR+'">&lt;&lt;</a>').bind('click',function()
{return c._displayNewMonth.call(c,this,0,-1);}),$('<a class="dp-nav-prev-month" href="#" title="'+$.dpText.TEXT_PREV_MONTH+'">&lt;</a>').bind('click',function()
{return c._displayNewMonth.call(c,this,-1,0);})),$('<div class="dp-nav-next"></div>').append($('<a class="dp-nav-next-year" href="#" title="'+$.dpText.TEXT_NEXT_YEAR+'">&gt;&gt;</a>').bind('click',function()
{return c._displayNewMonth.call(c,this,0,1);}),$('<a class="dp-nav-next-month" href="#" title="'+$.dpText.TEXT_NEXT_MONTH+'">&gt;</a>').bind('click',function()
{return c._displayNewMonth.call(c,this,1,0);})),$('<div></div>').attr('className','dp-calendar')).bgIframe());var $pop=this.inline?$('.dp-popup',this.context):$('#dp-popup');if(this.showYearNavigation==false){$('.dp-nav-prev-year, .dp-nav-next-year',c.context).css('display','none');}
if(this.displayClose){$pop.append($('<a href="#" id="dp-close">'+$.dpText.TEXT_CLOSE+'</a>').bind('click',function()
{c._closeCalendar();return false;}));}
c._renderCalendar();$(this.ele).trigger('dpDisplayed',$pop);if(!c.inline){if(this.verticalPosition==$.dpConst.POS_BOTTOM){$pop.css('top',eleOffset.top+$ele.height()-$pop.height()+c.verticalOffset);}
if(this.horizontalPosition==$.dpConst.POS_RIGHT){$pop.css('left',eleOffset.left+$ele.width()-$pop.width()+c.horizontalOffset);}
$(document).bind('mousedown',this._checkMouse);}},setRenderCallback:function(a)
{if(a&&typeof(a)=='function'){a=[a];}
this.renderCallback=this.renderCallback.concat(a);},cellRender:function($td,thisDate,month,year){var c=this.dpController;var d=new Date(thisDate.getTime());$td.bind('click',function()
{var $this=$(this);if(!$this.is('.disabled')){c.setSelected(d,!$this.is('.selected')||!c.selectMultiple);var s=c.isSelected(d);$(c.ele).trigger('dateSelected',[d,$td,s]);$(c.ele).trigger('change');if(c.closeOnSelect){c._closeCalendar();}else{$this[s?'addClass':'removeClass']('selected');}}});if(c.isSelected(d)){$td.addClass('selected');}
for(var i=0;i<c.renderCallback.length;i++){c.renderCallback[i].apply(this,arguments);}},_displayNewMonth:function(ele,m,y)
{if(!$(ele).is('.disabled')){this.setDisplayedMonth(this.displayedMonth+m,this.displayedYear+y);this._clearCalendar();this._renderCalendar();$(this.ele).trigger('dpMonthChanged',[this.displayedMonth,this.displayedYear]);}
ele.blur();return false;},_renderCalendar:function()
{$('h2',this.context).html(Date.monthNamesForCal[this.displayedMonth]+' '+this.displayedYear);$('.dp-calendar',this.context).renderCalendar({month:this.displayedMonth,year:this.displayedYear,renderCallback:this.cellRender,dpController:this,hoverClass:this.hoverClass});if(this.displayedYear==this.startDate.getFullYear()&&this.displayedMonth==this.startDate.getMonth()){$('.dp-nav-prev-year',this.context).addClass('disabled');$('.dp-nav-prev-month',this.context).addClass('disabled');$('.dp-calendar td.other-month',this.context).each(function()
{var $this=$(this);if(Number($this.text())>20){$this.addClass('disabled');}});var d=this.startDate.getDate();$('.dp-calendar td.current-month',this.context).each(function()
{var $this=$(this);if(Number($this.text())<d){$this.addClass('disabled');}});}else{$('.dp-nav-prev-year',this.context).removeClass('disabled');$('.dp-nav-prev-month',this.context).removeClass('disabled');var d=this.startDate.getDate();if(d>20){var sd=new Date(this.startDate.getTime());sd.addMonths(1);if(this.displayedYear==sd.getFullYear()&&this.displayedMonth==sd.getMonth()){$('dp-calendar td.other-month',this.context).each(function()
{var $this=$(this);if(Number($this.text())<d){$this.addClass('disabled');}});}}}
if(this.displayedYear==this.endDate.getFullYear()&&this.displayedMonth==this.endDate.getMonth()){$('.dp-nav-next-year',this.context).addClass('disabled');$('.dp-nav-next-month',this.context).addClass('disabled');$('.dp-calendar td.other-month',this.context).each(function()
{var $this=$(this);if(Number($this.text())<14){$this.addClass('disabled');}});var d=this.endDate.getDate();$('.dp-calendar td.current-month',this.context).each(function()
{var $this=$(this);if(Number($this.text())>d){$this.addClass('disabled');}});}else{$('.dp-nav-next-year',this.context).removeClass('disabled');$('.dp-nav-next-month',this.context).removeClass('disabled');var d=this.endDate.getDate();if(d<13){var ed=new Date(this.endDate.getTime());ed.addMonths(-1);if(this.displayedYear==ed.getFullYear()&&this.displayedMonth==ed.getMonth()){$('.dp-calendar td.other-month',this.context).each(function()
{var $this=$(this);if(Number($this.text())>d){$this.addClass('disabled');}});}}}},_closeCalendar:function(programatic,ele)
{if(!ele||ele==this.ele)
{$(document).unbind('mousedown',this._checkMouse);this._clearCalendar();$('#dp-popup a').unbind();$('#dp-popup').empty().remove();if(!programatic){$(this.ele).trigger('dpClosed',[this.getSelected()]);}}},_clearCalendar:function()
{$('.dp-calendar td',this.context).unbind();$('.dp-calendar',this.context).empty();}});$.dpConst={SHOW_HEADER_NONE:0,SHOW_HEADER_SHORT:1,SHOW_HEADER_LONG:2,POS_TOP:0,POS_BOTTOM:1,POS_LEFT:0,POS_RIGHT:1};$.dpText={TEXT_PREV_YEAR:'Previous year',TEXT_PREV_MONTH:'Previous month',TEXT_NEXT_YEAR:'Next year',TEXT_NEXT_MONTH:'Next month',TEXT_CLOSE:'Close',TEXT_CHOOSE_DATE:'Choose date'};$.dpVersion='$Id$';function _getController(ele)
{if(ele._dpId)return $.event._dpCache[ele._dpId];return false;};if($.fn.bgIframe==undefined){$.fn.bgIframe=function(){return this;};};$(window).bind('unload',function(){var els=$.event._dpCache||[];for(var i in els){$(els[i].ele)._dpDestroy();}});})(jQuery);
var tb_pathToImage="/images/app/loadingAnimation.gif";var tb_closeButtonImage="/images/app/close.png";$(document).ready(function(){tb_pathToImage=ctx+"/images/spinnerLightGray.gif";tb_closeButtonImage=ctx+"/images/app/schliessen.png";tb_init('a.thickbox, area.thickbox, input.thickbox');imgLoader=new Image();imgLoader.src=tb_pathToImage;});function tb_init(domChunk){$(domChunk).click(function(){var t=this.title||this.name||null;var a=this.href||this.alt;var g=this.rel||false;tb_show(t,a,g);this.blur();return false;});}
function tb_show(caption,url,imageGroup){try{if(typeof document.body.style.maxHeight==="undefined"){$("body","html").css({height:"100%",width:"100%"});$("html").css("overflow","hidden");if(document.getElementById("TB_HideSelect")===null){$("body").append("<iframe src='javascript:false;' id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove);}
if(typeof document.body.style.maxHeight==="undefined"){url=url.replace(/\%/g,'%25');}}else{if(document.getElementById("TB_overlay")===null){$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove);}}
if(tb_detectMacXFF()){$("#TB_overlay").addClass("TB_overlayMacFFBGHack");}else{$("#TB_overlay").addClass("TB_overlayBG");}
if(caption===null){caption="";}
$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");$('#TB_load').show();var baseURL;if(url=='showSpinnerOnly'){return;}else if(url.indexOf("?")!==-1){baseURL=url.substr(0,url.indexOf("?"));}else{baseURL=url;}
var urlString=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var urlType=baseURL.toLowerCase().match(urlString);if(urlType=='.jpg'||urlType=='.jpeg'||urlType=='.png'||urlType=='.gif'||urlType=='.bmp'){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;if(imageGroup){TB_TempArray=$("a[@rel="+imageGroup+"]").get();for(TB_Counter=0;((TB_Counter<TB_TempArray.length)&&(TB_NextHTML===""));TB_Counter++){var urlTypeTemp=TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);if(!(TB_TempArray[TB_Counter].href==url)){if(TB_FoundURL){TB_NextCaption=TB_TempArray[TB_Counter].title;TB_NextURL=TB_TempArray[TB_Counter].href;TB_NextHTML="<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Weiter &gt;</a></span>";}else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Zur&uuml;ck</a></span>";}}else{TB_FoundURL=true;TB_imageCount="Bild "+(TB_Counter+1)+" von "+(TB_TempArray.length);}}}
imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var pagesize=tb_getPageSize();if(pagesize[0]<500){var x=pagesize[0]-80;var y=pagesize[1]-80;}else{var x=pagesize[0]-150;var y=pagesize[1]-150;}
var imageWidth=imgPreloader.width;var imageHeight=imgPreloader.height;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;}}else if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;}}
TB_WIDTH=imageWidth+30;TB_HEIGHT=imageHeight+60;$("#TB_window").append("<a href='' id='TB_ImageOff' title='Schlie&szlig;en'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>"
+"<table><tr><td style='padding-left:25px; width:100%;'>"
+"<div id='TB_caption'>"
+caption
+"<div id='TB_secondLine'>"
+"<div style='width:40%;white-space:nowrap;'>"+TB_imageCount+"</div>"
+"<div style='width:50%;'>"+TB_PrevHTML+TB_NextHTML+"</div>"
+"</div>"
+"</div>"
+"</td><td style='padding-right:25px; width:14px;'>"
+"<div id='TB_closeWindow'>"+tb_getCloseButton()+"</div>"
+"</td></tr></table>");$("#TB_closeWindowButton").click(tb_remove);if(!(TB_PrevHTML==="")){function goPrev(){if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_PrevCaption,TB_PrevURL,imageGroup);return false;}
$("#TB_prev").click(goPrev);}
if(!(TB_NextHTML==="")){function goNext(){$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_NextCaption,TB_NextURL,imageGroup);return false;}
$("#TB_next").click(goNext);}
document.onkeydown=function(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}
if(keycode==27){tb_remove();}else if(keycode==39){if(!(TB_NextHTML=="")){document.onkeydown="";goNext();}}else if(keycode==37){if(!(TB_PrevHTML=="")){document.onkeydown="";goPrev();}}};tb_position();$("#TB_load").remove();$("#TB_ImageOff").click(tb_remove);$("#TB_window").css({display:"block"});};imgPreloader.src=url;}else{var queryString=url.replace(/^[^\?]+\??/,'');var params=tb_parseQuery(queryString);TB_WIDTH=(params['width']*1)+30||630;TB_HEIGHT=(params['height']*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-45;if(url.indexOf('TB_iframe')!=-1){urlNoQuery=url.split('TB_');$("#TB_iframeContent").remove();if(params['modal']!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'>"+tb_getCloseButton()+"</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;' > </iframe>");}else{if(typeof document.body.style.maxHeight==="undefined"){window.setTimeout(function(){$("#TB_overlay").unbind();$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;'> </iframe>");},1000);}else{$("#TB_overlay").unbind();$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;'> </iframe>");}}}else{if($("#TB_window").css("display")!="block"){if(params['modal']!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'>"+tb_getCloseButton()+"</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");}else{$("#TB_overlay").unbind();$("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");}}else{$("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";$("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";$("#TB_ajaxContent")[0].scrollTop=0;$("#TB_ajaxWindowTitle").html(caption);}}
$("#TB_closeWindowButton").click(tb_remove);if(url.indexOf('TB_inline')!=-1){var contentElem=$('#'+params['inlineId']).children();$("#TB_ajaxContent").append(contentElem);$("#TB_window").unload(function(){$('#'+params['inlineId']).append($("#TB_ajaxContent").children());});tb_position();$("#TB_load").remove();$("#TB_window").css({display:"block"});}else if(url.indexOf('TB_original')!=-1){var elem=$('#'+params['inlineId']);var openCallback=eval(params['openCallback']);var closeCallback=eval(params['closeCallback']);$("#TB_window").unload(function(){if(closeCallback)
closeCallback(elem);elem.removeClass("overlay");$("#TB_overlay").css({position:'fixed'});});$("#TB_load").remove();$("#TB_overlay").click(tb_remove);$("#TB_window").css({display:"block",border:"0px",background:"transparent"});$("#TB_overlay").css({position:'absolute'});elem.addClass("overlay");if(openCallback)
openCallback(elem);}else if(url.indexOf('TB_iframe')!=-1){tb_position();if($.browser.safari){$("#TB_load").remove();$("#TB_window").css({display:"block"});}}else{$("#TB_ajaxContent").load(url+="&random="+(new Date().getTime()),function(){tb_position();$("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");$("#TB_window").css({display:"block"});});}}
if(!params['modal']||(url.indexOf('TB_original')!=-1)){document.onkeyup=function(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}
if(keycode==27){tb_remove();}};}}catch(e){}}
function tb_showIframe(){$("#TB_load").remove();$("#TB_window").css({display:"block"});}
function tb_remove(){$("#TB_imageOff").unbind("click");$("#TB_closeWindowButton").unbind("click");$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});$("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){$("body","html").css({height:"auto",width:"auto"});$("html").css("overflow","");}
document.onkeydown="";document.onkeyup="";return false;}
function tb_position(){$("#TB_window").css({marginLeft:'-'+parseInt((TB_WIDTH/2),10)+'px',width:TB_WIDTH+'px'});if(!(jQuery.browser.msie&&jQuery.browser.version<7)){$("#TB_window").css({marginTop:'-'+parseInt((TB_HEIGHT/2),10)+'px'});}}
function tb_parseQuery(query){var Params={};if(!query){return Params;}
var Pairs=query.split(/[;?&]/);for(var i=0;i<Pairs.length;i++){var KeyVal=Pairs[i].split('=');if(!KeyVal||KeyVal.length!=2){continue;}
var key=unescape(KeyVal[0]);var val=unescape(KeyVal[1]);val=val.replace(/\+/g,' ');Params[key]=val;}
return Params;}
function tb_getPageSize(){var de=document.documentElement;var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;arrayPageSize=[w,h];return arrayPageSize;}
function tb_detectMacXFF(){var userAgent=navigator.userAgent.toLowerCase();if(userAgent.indexOf('mac')!=-1&&userAgent.indexOf('firefox')!=-1){return true;}}
function tb_getCloseButton(){return"<a href='#' id='TB_closeWindowButton' title='Schlie&szlig;en'><img style='border: 0px;' src='"+tb_closeButtonImage+"' alt='close'/></a>";};(function($){var _remove=$.fn.remove,isFF2=$.browser.mozilla&&(parseFloat($.browser.version)<1.9);$.ui={version:"1.6",plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set){return;}
for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},contains:function(a,b){var safari2=$.browser.safari&&$.browser.version<522;if(a.contains&&!safari2){return a.contains(b);}
if(a.compareDocumentPosition)
return!!(a.compareDocumentPosition(b)&16);while(b=b.parentNode)
if(b==a)return true;return false;},cssCache:{},css:function(name){if($.ui.cssCache[name]){return $.ui.cssCache[name];}
var tmp=$('<div class="ui-gen">').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');$.ui.cssCache[name]=!!((!(/auto|default/).test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));try{$('body').get(0).removeChild(tmp.get(0));}catch(e){}
return $.ui.cssCache[name];},hasScroll:function(el,a){if($(el).css('overflow')=='hidden'){return false;}
var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(el[scroll]>0){return true;}
el[scroll]=1;has=(el[scroll]>0);el[scroll]=0;return has;},isOverAxis:function(x,reference,size){return(x>reference)&&(x<(reference+size));},isOver:function(y,x,top,left,height,width){return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width);},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(isFF2){var attr=$.attr,removeAttr=$.fn.removeAttr,ariaNS="http://www.w3.org/2005/07/aaa",ariaState=/^aria-/,ariaRole=/^wairole:/;$.attr=function(elem,name,value){var set=value!==undefined;return(name=='role'?(set?attr.call(this,elem,name,"wairole:"+value):(attr.apply(this,arguments)||"").replace(ariaRole,"")):(ariaState.test(name)?(set?elem.setAttributeNS(ariaNS,name.replace(ariaState,"aaa:"),value):attr.call(this,elem,name.replace(ariaState,"aaa:"))):attr.apply(this,arguments)));};$.fn.removeAttr=function(name){return(ariaState.test(name)?this.each(function(){this.removeAttributeNS(ariaNS,name.replace(ariaState,""));}):removeAttr.call(this,name));};}
$.fn.extend({remove:function(){$("*",this).add(this).each(function(){$(this).triggerHandler("remove");});return _remove.apply(this,arguments);},enableSelection:function(){return this.attr('unselectable','off').css('MozUserSelect','').unbind('selectstart.ui');},disableSelection:function(){return this.attr('unselectable','on').css('MozUserSelect','none').bind('selectstart.ui',function(){return false;});},scrollParent:function(){var scrollParent;if(($.browser.msie&&(/(static|relative)/).test(this.css('position')))||(/absolute/).test(this.css('position'))){scrollParent=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1))&&(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}else{scrollParent=this.parents().filter(function(){return(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}
return(/fixed/).test(this.css('position'))||!scrollParent.length?$(document):scrollParent;}});$.extend($.expr[':'],{data:function(a,i,m){return $.data(a,m[3]);},tabbable:function(a,i,m){var nodeName=a.nodeName.toLowerCase();function isVisible(element){return!($(element).is(':hidden')||$(element).parents(':hidden').length);}
return(a.tabIndex>=0&&(('a'==nodeName&&a.href)||(/input|select|textarea|button/.test(nodeName)&&'hidden'!=a.type&&!a.disabled))&&isVisible(a));}});function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods);}
var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'));}
return($.inArray(method,methods)!=-1);}
$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this;}
if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options)));(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args));});};$[namespace]=$[namespace]||{};$[namespace][name]=function(element,options){var self=this;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind('setData.'+name,function(event,key,value){return self._setData(key,value);}).bind('getData.'+name,function(event,key){return self._getData(key);}).bind('remove',function(){return self.destroy();});this._init();};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option';};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName);},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}
options={};options[key]=value;}
$.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled');}},enable:function(){this._setData('disabled',false);},disable:function(){this._setData('disabled',true);},_trigger:function(type,event,data){var eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);event=event||$.event.fix({type:eventName,target:this.element[0]});return this.element.triggerHandler(eventName,[event,data],this.options[type]);}};$.widget.defaults={disabled:false};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(event){return self._mouseDown(event);}).bind('click.'+this.widgetName,function(event){if(self._preventClickEvent){self._preventClickEvent=false;return false;}});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},_mouseDown:function(event){(this._mouseStarted&&this._mouseUp(event));this._mouseDownEvent=event;var self=this,btnIsLeft=(event.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true;}
this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event)!==false);if(!this._mouseStarted){event.preventDefault();return true;}}
this._mouseMoveDelegate=function(event){return self._mouseMove(event);};this._mouseUpDelegate=function(event){return self._mouseUp(event);};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(!$.browser.safari)event.preventDefault();return true;},_mouseMove:function(event){if($.browser.msie&&!event.button){return this._mouseUp(event);}
if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event));}
return!this._mouseStarted;},_mouseUp:function(event){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=true;this._mouseStop(event);}
return false;},_mouseDistanceMet:function(event){return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance);},_mouseDelayMet:function(event){return this.mouseDelayMet;},_mouseStart:function(event){},_mouseDrag:function(event){},_mouseStop:function(event){},_mouseCapture:function(event){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);;(function($){$.ui=$.ui||{};$.extend($.ui,{plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,arguments){var set=instance.plugins[name];if(!set)return;for(var i=0;i<set.length;i++){if(instance.options[set[i][0]])set[i][1].apply(instance.element,arguments);}}},cssCache:{},css:function(name){if($.ui.cssCache[name])return $.ui.cssCache[name];var tmp=$('<div class="ui-resizable-gen">').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');$.ui.cssCache[name]=!!((!/auto|default/.test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));try{$('body').get(0).removeChild(tmp.get(0));}catch(e){}
return $.ui.cssCache[name];},disableSelection:function(e){e.unselectable="on";e.onselectstart=function(){return false;};if(e.style)e.style.MozUserSelect="none";},enableSelection:function(e){e.unselectable="off";e.onselectstart=function(){return true;};if(e.style)e.style.MozUserSelect="";},hasScroll:function(e,a){var scroll=/top/.test(a||"top")?'scrollTop':'scrollLeft',has=false;if(e[scroll]>0)return true;e[scroll]=1;has=e[scroll]>0?true:false;e[scroll]=0;return has;}});$.each(['Left','Top'],function(i,name){if(!$.fn['scroll'+name])$.fn['scroll'+name]=function(v){return v!=undefined?this.each(function(){this==window||this==document?window.scrollTo(name=='Left'?v:$(window)['scrollLeft'](),name=='Top'?v:$(window)['scrollTop']()):this['scroll'+name]=v;}):this[0]==window||this[0]==document?self[(name=='Left'?'pageXOffset':'pageYOffset')]||$.boxModel&&document.documentElement['scroll'+name]||document.body['scroll'+name]:this[0]['scroll'+name];};});var _remove=$.fn.remove;$.fn.extend({position:function(){var offset=this.offset();var offsetParent=this.offsetParent();var parentOffset=offsetParent.offset();return{top:offset.top-num(this[0],'marginTop')-parentOffset.top-num(offsetParent,'borderTopWidth'),left:offset.left-num(this[0],'marginLeft')-parentOffset.left-num(offsetParent,'borderLeftWidth')};},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&$.css(offsetParent,'position')=='static'))
offsetParent=offsetParent.offsetParent;return $(offsetParent);},mouseInteraction:function(o){return this.each(function(){new $.ui.mouseInteraction(this,o);});},removeMouseInteraction:function(o){return this.each(function(){if($.data(this,"ui-mouse"))
$.data(this,"ui-mouse").destroy();});},remove:function(){jQuery("*",this).add(this).trigger("remove");return _remove.apply(this,arguments);}});function num(el,prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;};$.ui.mouseInteraction=function(element,options){var self=this;this.element=element;$.data(this.element,"ui-mouse",this);this.options=$.extend({},options);$(element).bind('mousedown.draggable',function(){return self.click.apply(self,arguments);});if($.browser.msie)$(element).attr('unselectable','on');$(element).mouseup(function(){if(self.timer)clearInterval(self.timer);});};$.extend($.ui.mouseInteraction.prototype,{destroy:function(){$(this.element).unbind('mousedown.draggable');},trigger:function(){return this.click.apply(this,arguments);},click:function(e){if(e.which!=1||$.inArray(e.target.nodeName.toLowerCase(),this.options.dragPrevention||[])!=-1||(this.options.condition&&!this.options.condition.apply(this.options.executor||this,[e,this.element])))return true;var self=this;var initialize=function(){self._MP={left:e.pageX,top:e.pageY};$(document).bind('mouseup.draggable',function(){return self.stop.apply(self,arguments);});$(document).bind('mousemove.draggable',function(){return self.drag.apply(self,arguments);});if(!self.initalized&&Math.abs(self._MP.left-e.pageX)>=self.options.distance||Math.abs(self._MP.top-e.pageY)>=self.options.distance){if(self.options.start)self.options.start.call(self.options.executor||self,e,self.element);if(self.options.drag)self.options.drag.call(self.options.executor||self,e,this.element);self.initialized=true;}};if(this.options.delay){if(this.timer)clearInterval(this.timer);this.timer=setTimeout(initialize,this.options.delay);}else{initialize();}
return false;},stop:function(e){var o=this.options;if(!this.initialized)return $(document).unbind('mouseup.draggable').unbind('mousemove.draggable');if(this.options.stop)this.options.stop.call(this.options.executor||this,e,this.element);$(document).unbind('mouseup.draggable').unbind('mousemove.draggable');this.initialized=false;return false;},drag:function(e){var o=this.options;if($.browser.msie&&!e.button)return this.stop.apply(this,[e]);if(!this.initialized&&(Math.abs(this._MP.left-e.pageX)>=o.distance||Math.abs(this._MP.top-e.pageY)>=o.distance)){if(this.options.start)this.options.start.call(this.options.executor||this,e,this.element);this.initialized=true;}else{if(!this.initialized)return false;}
if(o.drag)o.drag.call(this.options.executor||this,e,this.element);return false;}});})(jQuery);(function($){$.widget("ui.tabs",{_init:function(){this._tabify(true);},destroy:function(){var o=this.options;this.element.unbind('.tabs').removeClass(o.navClass).removeData('tabs');this.$tabs.each(function(){var href=$.data(this,'href.tabs');if(href)
this.href=href;var $this=$(this).unbind('.tabs');$.each(['href','load','cache'],function(i,prefix){$this.removeData(prefix+'.tabs');});});this.$lis.add(this.$panels).each(function(){if($.data(this,'destroy.tabs'))
$(this).remove();else
$(this).removeClass([o.selectedClass,o.deselectableClass,o.disabledClass,o.panelClass,o.hideClass].join(' '));});if(o.cookie)
this._cookie(null,o.cookie);},_setData:function(key,value){if((/^selected/).test(key))
this.select(value);else{this.options[key]=value;this._tabify();}},length:function(){return this.$tabs.length;},_tabId:function(a){return a.title&&a.title.replace(/\s/g,'_').replace(/[^A-Za-z0-9\-_:\.]/g,'')||this.options.idPrefix+$.data(a);},_sanitizeSelector:function(hash){return hash.replace(/:/g,'\\:');},_cookie:function(){var cookie=this.cookie||(this.cookie='ui-tabs-'+$.data(this.element[0]));return $.cookie.apply(null,[cookie].concat($.makeArray(arguments)));},_tabify:function(init){this.$lis=$('li:has(a[href])',this.element);this.$tabs=this.$lis.map(function(){return $('a',this)[0];});this.$panels=$([]);var self=this,o=this.options;this.$tabs.each(function(i,a){if(a.hash&&a.hash.replace('#',''))
self.$panels=self.$panels.add(self._sanitizeSelector(a.hash));else if($(a).attr('href')!='#'){$.data(a,'href.tabs',a.href);$.data(a,'load.tabs',a.href);var id=self._tabId(a);a.href='#'+id;var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).addClass(o.panelClass).insertAfter(self.$panels[i-1]||self.element);$panel.data('destroy.tabs',true);}
self.$panels=self.$panels.add($panel);}
else
o.disabled.push(i+1);});if(init){this.element.addClass(o.navClass);this.$panels.addClass(o.panelClass);if(o.selected===undefined){if(location.hash){this.$tabs.each(function(i,a){if(a.hash==location.hash){o.selected=i;return false;}});}
else if(o.cookie){var index=parseInt(self._cookie(),10);if(index&&self.$tabs[index])o.selected=index;}
else if(self.$lis.filter('.'+o.selectedClass).length)
o.selected=self.$lis.index(self.$lis.filter('.'+o.selectedClass)[0]);}
o.selected=o.selected===null||o.selected!==undefined?o.selected:0;o.disabled=$.unique(o.disabled.concat($.map(this.$lis.filter('.'+o.disabledClass),function(n,i){return self.$lis.index(n);}))).sort();if($.inArray(o.selected,o.disabled)!=-1)
o.disabled.splice($.inArray(o.selected,o.disabled),1);this.$panels.addClass(o.hideClass);this.$lis.removeClass(o.selectedClass);if(o.selected!==null){this.$panels.eq(o.selected).removeClass(o.hideClass);var classes=[o.selectedClass];if(o.deselectable)classes.push(o.deselectableClass);this.$lis.eq(o.selected).addClass(classes.join(' '));var onShow=function(){self._trigger('show',null,self.ui(self.$tabs[o.selected],self.$panels[o.selected]));};if($.data(this.$tabs[o.selected],'load.tabs'))
this.load(o.selected,onShow);else onShow();}
$(window).bind('unload',function(){self.$tabs.unbind('.tabs');self.$lis=self.$tabs=self.$panels=null;});}
else
o.selected=this.$lis.index(this.$lis.filter('.'+o.selectedClass)[0]);if(o.cookie)this._cookie(o.selected,o.cookie);for(var i=0,li;li=this.$lis[i];i++)
$(li)[$.inArray(i,o.disabled)!=-1&&!$(li).hasClass(o.selectedClass)?'addClass':'removeClass'](o.disabledClass);if(o.cache===false)this.$tabs.removeData('cache.tabs');var hideFx,showFx;if(o.fx){if(o.fx.constructor==Array){hideFx=o.fx[0];showFx=o.fx[1];}
else hideFx=showFx=o.fx;}
function resetStyle($el,fx){$el.css({display:''});if($.browser.msie&&fx.opacity)$el[0].style.removeAttribute('filter');}
var showTab=showFx?function(clicked,$show){$show.animate(showFx,showFx.duration||'normal',function(){$show.removeClass(o.hideClass);resetStyle($show,showFx);self._trigger('show',null,self.ui(clicked,$show[0]));});}:function(clicked,$show){$show.removeClass(o.hideClass);self._trigger('show',null,self.ui(clicked,$show[0]));};var hideTab=hideFx?function(clicked,$hide,$show){$hide.animate(hideFx,hideFx.duration||'normal',function(){$hide.addClass(o.hideClass);resetStyle($hide,hideFx);if($show)showTab(clicked,$show,$hide);});}:function(clicked,$hide,$show){$hide.addClass(o.hideClass);if($show)showTab(clicked,$show);};function switchTab(clicked,$li,$hide,$show){var classes=[o.selectedClass];if(o.deselectable)classes.push(o.deselectableClass);$li.addClass(classes.join(' ')).siblings().removeClass(classes.join(' '));hideTab(clicked,$hide,$show);}
this.$tabs.unbind('.tabs').bind(o.event+'.tabs',function(){var $li=$(this).parents('li:eq(0)'),$hide=self.$panels.filter(':visible'),$show=$(self._sanitizeSelector(this.hash));if(($li.hasClass(o.selectedClass)&&!o.deselectable)||$li.hasClass(o.disabledClass)||$(this).hasClass(o.loadingClass)||self._trigger('select',null,self.ui(this,$show[0]))===false){this.blur();return false;}
o.selected=self.$tabs.index(this);if(o.deselectable){if($li.hasClass(o.selectedClass)){self.options.selected=null;$li.removeClass([o.selectedClass,o.deselectableClass].join(' '));self.$panels.stop();hideTab(this,$hide);this.blur();return false;}else if(!$hide.length){self.$panels.stop();var a=this;self.load(self.$tabs.index(this),function(){$li.addClass([o.selectedClass,o.deselectableClass].join(' '));showTab(a,$show);});this.blur();return false;}}
if(o.cookie)self._cookie(o.selected,o.cookie);self.$panels.stop();if($show.length){var a=this;self.load(self.$tabs.index(this),$hide.length?function(){switchTab(a,$li,$hide,$show);}:function(){$li.addClass(o.selectedClass);showTab(a,$show);});}else
throw'jQuery UI Tabs: Mismatching fragment identifier.';if($.browser.msie)this.blur();return false;});if(o.event!='click')this.$tabs.bind('click.tabs',function(){return false;});},add:function(url,label,index){if(index==undefined)
index=this.$tabs.length;var o=this.options;var $li=$(o.tabTemplate.replace(/#\{href\}/g,url).replace(/#\{label\}/g,label));$li.data('destroy.tabs',true);var id=url.indexOf('#')==0?url.replace('#',''):this._tabId($('a:first-child',$li)[0]);var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).addClass(o.hideClass).data('destroy.tabs',true);}
$panel.addClass(o.panelClass);if(index>=this.$lis.length){$li.appendTo(this.element);$panel.appendTo(this.element[0].parentNode);}else{$li.insertBefore(this.$lis[index]);$panel.insertBefore(this.$panels[index]);}
o.disabled=$.map(o.disabled,function(n,i){return n>=index?++n:n});this._tabify();if(this.$tabs.length==1){$li.addClass(o.selectedClass);$panel.removeClass(o.hideClass);var href=$.data(this.$tabs[0],'load.tabs');if(href)
this.load(index,href);}
this._trigger('add',null,this.ui(this.$tabs[index],this.$panels[index]));},remove:function(index){var o=this.options,$li=this.$lis.eq(index).remove(),$panel=this.$panels.eq(index).remove();if($li.hasClass(o.selectedClass)&&this.$tabs.length>1)
this.select(index+(index+1<this.$tabs.length?1:-1));o.disabled=$.map($.grep(o.disabled,function(n,i){return n!=index;}),function(n,i){return n>=index?--n:n});this._tabify();this._trigger('remove',null,this.ui($li.find('a')[0],$panel[0]));},enable:function(index){var o=this.options;if($.inArray(index,o.disabled)==-1)
return;var $li=this.$lis.eq(index).removeClass(o.disabledClass);if($.browser.safari){$li.css('display','inline-block');setTimeout(function(){$li.css('display','block');},0);}
o.disabled=$.grep(o.disabled,function(n,i){return n!=index;});this._trigger('enable',null,this.ui(this.$tabs[index],this.$panels[index]));},disable:function(index){var self=this,o=this.options;if(index!=o.selected){this.$lis.eq(index).addClass(o.disabledClass);o.disabled.push(index);o.disabled.sort();this._trigger('disable',null,this.ui(this.$tabs[index],this.$panels[index]));}},select:function(index){if(typeof index=='string')
index=this.$tabs.index(this.$tabs.filter('[href$='+index+']')[0]);this.$tabs.eq(index).trigger(this.options.event+'.tabs');},load:function(index,callback){var self=this,o=this.options,$a=this.$tabs.eq(index),a=$a[0],bypassCache=callback==undefined||callback===false,url=$a.data('load.tabs');callback=callback||function(){};if(!url||!bypassCache&&$.data(a,'cache.tabs')){callback();return;}
var inner=function(parent){var $parent=$(parent),$inner=$parent.find('*:last');return $inner.length&&$inner.is(':not(img)')&&$inner||$parent;};var cleanup=function(){self.$tabs.filter('.'+o.loadingClass).removeClass(o.loadingClass).each(function(){if(o.spinner)
inner(this).parent().html(inner(this).data('label.tabs'));});self.xhr=null;};if(o.spinner){var label=inner(a).html();inner(a).wrapInner('<em></em>').find('em').data('label.tabs',label).html(o.spinner);}
var ajaxOptions=$.extend({},o.ajaxOptions,{url:url,success:function(r,s){$(self._sanitizeSelector(a.hash)).html(r);cleanup();if(o.cache)
$.data(a,'cache.tabs',true);self._trigger('load',null,self.ui(self.$tabs[index],self.$panels[index]));try{o.ajaxOptions.success(r,s);}
catch(event){}
callback();}});if(this.xhr){this.xhr.abort();cleanup();}
$a.addClass(o.loadingClass);self.xhr=$.ajax(ajaxOptions);},url:function(index,url){this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs',url);},ui:function(tab,panel){return{options:this.options,tab:tab,panel:panel,index:this.$tabs.index(tab)};}});$.extend($.ui.tabs,{version:'1.6',getter:'length',defaults:{ajaxOptions:null,cache:false,cookie:null,deselectable:false,deselectableClass:'ui-tabs-deselectable',disabled:[],disabledClass:'ui-tabs-disabled',event:'click',fx:null,hideClass:'ui-tabs-hide',idPrefix:'ui-tabs-',loadingClass:'ui-tabs-loading',navClass:'ui-tabs-nav',panelClass:'ui-tabs-panel',panelTemplate:'<div></div>',selectedClass:'ui-tabs-selected',spinner:'Loading&#8230;',tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});$.extend($.ui.tabs.prototype,{rotation:null,rotate:function(ms,continuing){continuing=continuing||false;var self=this,t=this.options.selected;function start(){self.rotation=setInterval(function(){t=++t<self.$tabs.length?t:0;self.select(t);},ms);}
function stop(event){if(!event||event.clientX){clearInterval(self.rotation);}}
if(ms){start();if(!continuing)
this.$tabs.bind(this.options.event+'.tabs',stop);else
this.$tabs.bind(this.options.event+'.tabs',function(){stop();t=self.options.selected;start();});}
else{stop();this.$tabs.unbind(this.options.event+'.tabs',stop);}}});})(jQuery);;if(window.jQuery)(function($){$.extend({xml2json:function(xml,extended){if(!xml)return{};function parseXML(node,simple){if(!node)return null;var txt='',obj=null,att=null;var nt=node.nodeType,nn=jsVar(node.localName||node.nodeName);var nv=node.text||node.nodeValue||'';if(node.childNodes){if(node.childNodes.length>0){$.each(node.childNodes,function(n,cn){var cnt=cn.nodeType,cnn=jsVar(cn.localName||cn.nodeName);var cnv=cn.text||cn.nodeValue||'';if(cnt==8){return;}
else if(cnt==3||cnt==4||!cnn){if(cnv.match(/^\s+$/)){return;};txt+=cnv.replace(/^\s+/,'').replace(/\s+$/,'');}
else{obj=obj||{};if(obj[cnn]){if(!obj[cnn].length)obj[cnn]=myArr(obj[cnn]);obj[cnn][obj[cnn].length]=parseXML(cn,true);obj[cnn].length=obj[cnn].length;}
else{obj[cnn]=parseXML(cn);};};});};};if(node.attributes){if(node.attributes.length>0){att={};obj=obj||{};$.each(node.attributes,function(a,at){var atn=jsVar(at.name),atv=at.value;att[atn]=atv;if(obj[atn]){if(!obj[atn].length)obj[atn]=myArr(obj[atn]);obj[atn][obj[atn].length]=atv;obj[atn].length=obj[atn].length;}
else{obj[atn]=atv;};});};};if(obj){obj=$.extend((txt!=''?new String(txt):{}),obj||{});txt=(obj.text)?(typeof(obj.text)=='object'?obj.text:[obj.text||'']).concat([txt]):txt;if(txt)obj.text=txt;txt='';};var out=obj||txt;if(extended){if(txt)out={};txt=out.text||txt||'';if(txt)out.text=txt;if(!simple)out=myArr(out);};return out;};var jsVar=function(s){return String(s||'').replace(/-/g,"_");};var isNum=function(s){return(typeof s=="number")||String((s&&typeof s=="string")?s:'').test(/^((-)?([0-9]*)((\.{0,1})([0-9]+))?$)/);};var myArr=function(o){if(!o.length)o=[o];o.length=o.length;return o;};if(typeof xml=='string')xml=$.text2xml(xml);if(!xml.nodeType)return;if(xml.nodeType==3||xml.nodeType==4)return xml.nodeValue;var root=(xml.nodeType==9)?xml.documentElement:xml;var out=parseXML(root,true);xml=null;root=null;return out;},text2xml:function(str){var out;try{var xml=($.browser.msie)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser();xml.async=false;}catch(e){throw new Error("XML Parser could not be instantiated")};try{if($.browser.msie)out=(xml.loadXML(str))?xml:false;else out=xml.parseFromString(str,"text/xml");}catch(e){throw new Error("Error parsing XML string")};return out;}});})(jQuery);(function($){var startNextRequest=function(){if($.ajaxQueue.currentRequest){return;}
if(request=$.ajaxQueue.queue.shift()){$.ajaxQueue.currentRequest=request;request.perform();}}
var Request=function(url,type,options){this.opts=options||{};this.opts.url=url;this.opts.type=type;var oldComplete=this.opts.complete||function(){}
this.opts.complete=function(response){oldComplete(response);$.ajaxQueue.currentRequest=null;startNextRequest();};}
Request.prototype.perform=function(){$.ajax(this.opts);}
var addRequest=function(url,type,options){var request=new Request(url,type,options);$.ajaxQueue.queue.push(request);startNextRequest();}
$.ajaxQueue={queue:[],currentRequest:null,reset:function(){$.ajaxQueue.queue=[];$.ajaxQueue.currentRequest=null;},post:function(url,options){addRequest(url,'POST',options);},get:function(url,options){addRequest(url,'GET',options);},put:function(url,options){addRequest(url,'PUT',options);},del:function(url,options){addRequest(url,'DELETE',options);}}})(jQuery)
App.debugDiv=null;App.isDebug=false;App.findBy=function(selector){if(selector){return $(selector);}else{return App.page();}}
App.page=function(){return $(document);}
function isDebug(){return jsDebug;}
function debug(str,cssClass){if(!cssClass){cssClass='';}
if(isDebug()){if(App.debugDiv==null){App.debugDiv=jQuery("<div id='DEBUGInner'></div>");var debugOuter=jQuery("<div id='DEBUG'>");debugOuter.append(App.debugDiv);$('body').append(debugOuter);debugOuter.css('display','block');debugOuter.after('<div class="closeDiv" style="display:block;float:right;position:relative;right:0; width:20px;" onclick="return toggleDebug();">x</</div>');debugOuter.after('<div class="deleteDiv" style="display:block;float:right;position:relative;right:0; width:20px;" onclick="return deleteDebugInfos();">D</</div>');}
if(typeof str=='object'){str='object';}
str=App.page().attr('id')+': '+str;App.debugDiv.append("<div class='"+cssClass+"'>"+str+"<div/>");toBottom(App.debugDiv[0]);}else{}}
function deleteDebugInfos(){$('#DEBUGInner').empty();}
function toggleDebug(){$('#DEBUG').slideToggle(600);return false;}
function debugError(text){if(typeof(mockModeEnabled)!=='undefined'&&mockModeEnabled){toModel('__DEBUG',true);}
debug(text,'error');}
function debugList(list){for(var i=0;i<list.length;i++){debug(i+"->"+list[i].innerHTML);}}
var objectToString=function(obj){var strnew='object [ <br />';for(var key in obj){strnew+=' '+key+': '+obj[key]+'<br />';}
return strnew;}
function setClassForId(classname,idname){$(idname).className=classname;App.findBy("#"+idname).removeClass();App.findBy("#"+idname).addClass(classname);}
function replaceAll(str,replacements){for(i=0;i<replacements.length;i++){var idx=str.indexOf(replacements[i][0]);while(idx>-1){str=str.replace(replacements[i][0],replacements[i][1]);idx=str.indexOf(replacements[i][0]);}}
return str;}
function trim(s){if(s){while(s.substring(0,1)==' '){s=s.substring(1,s.length);}
while(s.substring(s.length-1,s.length)==' '){s=s.substring(0,s.length-1);}
return s;}
return'';}
var isEmpty=function(str){return(str==null||str==undefined||trim(str)==""||str=="null");}
toJsonString=function(arg){return toJsonStringArray(arg).join('');}
toJsonStringArray=function(arg,out){out=out||new Array();var u;switch(typeof arg){case'object':if(arg){if(arg.constructor==Array){out.push('[');for(var i=0;i<arg.length;++i){if(i>0)
out.push(',');toJsonStringArray(arg[i],out);}
out.push(']');return out;}else if(typeof arg.toString!='undefined'){out.push('{');var first=true;for(var i in arg){var curr=out.length;if(!first)
out.push(',');toJsonStringArray(i,out);out.push(':');toJsonStringArray(arg[i],out);if(out[out.length-1]==u)
out.splice(curr,out.length-curr);else
first=false;}
out.push('}');return out;}
return out;}
out.push('null');return out;case'unknown':case'undefined':case'function':out.push(u);return out;case'string':out.push('"')
arg=arg.replace(/(["\\])/g,'\\$1').replace(/\r/g,'').replace(/\n/g,'\\n').replace(/&/g,'\&')
arg=encodeURIComponent(arg);out.push(arg);out.push('"');return out;default:out.push(String(arg));return out;}}
function showOrHide(elemId,show){if(show){App.findBy('#'+elemId).show();}else{App.findBy('#'+elemId).hide();}}
function highlightHoverElem(elem){elem.hover(function(){$(this).addClass("over");},function(){$(this).removeClass("over");});}
function highlightTableBodyRows(tableId){highlightHoverElem(App.findBy('#'+tableId+' tbody tr'));}
function highlightTableRowsId(prefix){highlightHoverElem(App.findBy('tr[id*='+prefix+']'));}
function displayElement(element){App.findBy('#'+element).css({display:""});}
function hideElement(element){App.findBy('#'+element).css({display:"none"});}
function doAjax(action,paramString,callback,optionParams){debug('doAjax: '+action+' '+paramString);var options={controller:'ajax',async:true,cache:false,resultElem:$('body')};$.extend(options,optionParams);var completeCallback=function(data,status){debug('ajax: '+action+' complete -> '+status);if(status=='error'){options.resultElem.empty().append(msg('error.internal'));}
callback(data.responseText,status);hideSpinner();};showSpinner();$.ajax({url:rm_createURL('/'+options.controller+'/'+action),data:paramString,async:options.async,cache:options.cache,complete:completeCallback});}
function jumpTo(url,external){if(!external){showSpinner();window.location.href=url;}else{window.open(url);}}
function roundNumber(num,dec){var result=Math.round(Math.round(num*Math.pow(10,dec+1))/Math.pow(10,1))/Math.pow(10,dec);return result;}
function associativeArrayLength(array){var length=0;for(var object in array){length++;}
return length;}
function enableScrolling_y(id){var divId="#"+id;$(divId).css("overflow-y","scroll");}
function disableScrolling_y(id){var divId="#"+id;$(divId).css("overflow-y","hidden");;}
function setVal(elem,val){if(val&&elem&&elem.length>0&&!isEmpty(val)&&val!='undefined'){debug('setVal to '+elem.attr('id')+" -> val: "+val);elem.val(val);}}
function toBottom(nDiv){nDiv.scrollTop=nDiv.scrollHeight;}
function putAll(destMap,fromMap){for(var key in fromMap){destMap[key]=fromMap[key];}}
function getInteger(val,defaultVal){if(!isNaN(val)&&!isEmpty(val)){val=parseInt(val);}else if(defaultVal!=null){val=defaultVal;}
return val;}
function msg(key){var text=fromModel('_messages')[key];if(!text){text=key;}
return text;}
function switchAttrs(elem1,elem2,attrs){for(i=0;i<attrs.length;i++){var tmpval=elem1.attr(attrs[i]);elem1.attr(attrs[i],elem2.attr(attrs[i]));elem2.attr(attrs[i],tmpval);}}
function switchHtml(elem1,elem2){var tmpval=elem1.html();elem1.html(elem2.html());elem2.html(tmpval);}
function gotoAnchor(elemNameOrId){location.href='#'+elemNameOrId;}
function setSessionVariable(name,value){$.getJSON(rm_createURL('/ajax/setSessionVariable?name=fromJS'+name+'&value='+value));}
function getSessionVariable(name,callbackFunction){$.getJSON(ctx+'/ajax/getSessionVariable?name=fromJS'+name,function(json){callbackFunction(json);});}
function showContentSpinner(elemId,minHeight){var smallSpinnerSize=25;if(!minHeight){minHeight=smallSpinnerSize;}
var elem=App.findBy('#'+elemId);if(elem){var spinnerHtml="<div id='spinner"+elemId+"' style='position:relative;top:"+(minHeight/2)+"px; width:"+smallSpinnerSize+"px; height:"+minHeight+"px;margin:auto;'>"+spinnerImage+'</div>';elem.html(spinnerHtml);}}
function hideContentSpinner(elemId){var elem=App.findBy('#spinner'+elemId);if(elem){elem.hide();}}
function showSpinner(){tb_show("",'showSpinnerOnly');return false;}
function hideSpinner(){App.findBy('#TB_load').remove();tb_remove();return false;}
function showSpinnerSwitch(updateElementId,options){options=$.extend({minHeight:300},options);if(options.spinner=='big'){showSpinner();}else if(options.spinner!='false'){showContentSpinner(updateElementId?updateElementId:'body',options.minHeight);}}
function remoteForm(selector,url,updateElementId,options){var queryString=$(selector).formSerialize();getAndUpdateAjaxElement(ctx+url+"?"+queryString,updateElementId,options);return false;}
function getAndUpdateAjaxElement(url,updateElementId,options){showSpinnerSwitch(updateElementId,options);$.get(url,function(data,textStatus){debug('ajaxContent result: '+textStatus+' - '+data);updateAjaxElement(data,updateElementId,options.spinner);});}
function updateAjaxElement(data,updateElementId,spinner){if(updateElementId){App.findBy('#'+updateElementId).html(data);}else{$('body').append(data);}
if(spinner=='big'){hideSpinner();}else if(spinner!='false'){hideContentSpinner(updateElementId);}}
function loadJS(scriptpath){var script=document.createElement("script");script.type="text/javascript";script.src=scriptpath;document.body.appendChild(script);}
function showDialog(title,url,options){if(options&&options.type=='popup'){var createParams=opts2ParamsString(options,{width:800,height:600,resizable:'yes',scrollbars:1},',');var newwindow=window.open(url,title,createParams);if(!newwindow){debugError('Popup was maybe blocked.');return true;}else{newwindow.focus();return false;}}else{if(url.indexOf('TB_i')==-1){var createParams=opts2ParamsString(options,{modal:false});if((options&&options.inlineId)){url='#TB_inline?';}else{if(options)url=addParamToURL(url,"layout",options.layout)
url=url+'#TB_iframe';}
url=url+createParams;}
debug('showDialog: '+url);tb_show(title,url);return false;}}
function closeDialog(parentElem){if(parentElem){parentElem.tb_remove();}else{tb_remove();}
return false;}
function closeDialogAndRedirect(url){parent.location.href=url;window.setTimeout(function(){closeDialog(parent);},2000);return false;}
function getDialogOpener(){return parent;}
function createDialogButtons(baseElem){debug('createDialogButtons');if(!baseElem){baseElem=App.page();}
var buttons=baseElem.find(".tobuttongray");exchangeButtons(buttons,"buttongray");buttons=baseElem.find(".tobuttongreen");exchangeButtons(buttons,"buttongreen");buttons=baseElem.find(".tobuttoncancel");exchangeButtons(buttons,"buttoncancel");}
function externalLinks(elem){if(!document.getElementsByTagName)return;elem.find("a[rel=external]").attr('target',"_blank");}
function exchangeButtons(buttons,buttonsclass){buttons.each(function(){var btn=jQuery(this);if(btn.hasClass('thickbox')){buttonsclass+=' thickbox';}
var jsCall=btn.attr('onclick');var newlink=jQuery('<a class="styledButton '+buttonsclass+'" name="'+this.name+'" href="javascript:void(0);"><span>'+this.value+'</span></a>');jQuery(this).before(newlink);newlink.click(function(){if(jsCall){if(!eval(jsCall)){return false;}}
return rm_submitForm(btn);});});buttons.css({height:0,width:0,float:'left',position:'absolute',left:'-10000px'});}
function rm_submitForm(button,options){var found=false;if(!options){options={showSpinner:true}}
if(jQuery(button).is('form')){validateAndSubmit(button,options);found=true;return false;}
var jbutton=jQuery(button);var ancestors=jbutton.parents();var jButtonName=jbutton.attr("name");if(jButtonName!=""){var newinput=jQuery('<input type="hidden" name="'+jbutton.attr("name")+'" value="true"/>');jbutton.after(newinput);}
ancestors.each(function(){if(jQuery(this).is('form')){var form=jQuery(this);validateAndSubmit(form,options);found=true;return false;}});if(!found){var formElem=App.findBy('#'+jButtonName);if(formElem.length>0){validateAndSubmit(formElem,options);return false;}}
if(!found){debugError("Error submitForm("+jbutton.attr("name")+")");}
return false;}
function validateAndSubmit(formElem,options){var validationSuccessful=true;if(fromModel('submitted',$(formElem))){return validationSuccessful;}
try{validationSuccessful=validateFormCallback(formElem);}catch(e){}
if(validationSuccessful){if(options.showSpinner){showSpinner();}
toModel('submitted','true',$(formElem));formElem.submit();hideSpinner();}
return validationSuccessful;}
function doSubmit(formId){var form=App.findBy('#'+formId);if(form.is('form')){jQuery(form).submit();found=true;return false;}else{debugError("Error form not found -> doSubmit("+formId+")");}}
function showTooltip(message,styleType){showTooltipInternal(message,false,styleType?styleType:'small');}
function showTooltipFromDiv(divid,styleType){showTooltipInternal(App.findBy('#'+divid).html(),false,styleType?styleType:'regular');}
function showTooltipLeft(message,styleType){showTooltipInternal(message,true,styleType?styleType:'small');}
function showTooltipFromDivLeft(divid,styleType){showTooltipInternal(App.findBy('#'+divid).html(),true,styleType?styleType:'regular');}
function showTooltipInternal(html,showLeft,stylesType){ToolTipOverlay.showLeft=showLeft;ToolTipOverlay.setStylesType(stylesType);ToolTipOverlay.show();if(ToolTipOverlay.jDiv)
ToolTipOverlay.jDiv.html(html);}
function hideTooltip(){ToolTipOverlay.hide();}
self.ToolTipOverlay=new function(){this.init=function(){this.jDiv=jQuery('<div id="toolTipOverlay">');this.on=0;this.mouseIsInside=false;this.mouseIsOnIcon=false;this.fadeOutTime=500;this.showLeft=false;this.move=0;this.setStylesType('regular');$('body').append(this.jDiv);$(document).bind('mousemove',this.updPos);};this.setStylesType=function(type){try{if(ToolTipOverlay.jDiv){if(type=='regular'){ToolTipOverlay.jDiv.css({width:fromModel('tooltipWidth')+"px"});ToolTipOverlay.jDiv.css({border:"2px solid #bdbdbd"});ToolTipOverlay.fadeOutTime=500;}else if(type=='small'){ToolTipOverlay.jDiv.css({width:"auto"});ToolTipOverlay.jDiv.css({border:"1px solid #bdbdbd"});ToolTipOverlay.fadeOutTime=0;}else{ToolTipOverlay.jDiv.css({width:"auto"});ToolTipOverlay.fadeOutTime=500;ToolTipOverlay.jDiv.addClass(type);}}}catch(e){debugError(e);}};this.show=function(tooltip){if(ToolTipOverlay.jDiv){ToolTipOverlay.mouseIsOnIcon=true;ToolTipOverlay.jDiv.html(tooltip);if($.fn.bgiframe)
ToolTipOverlay.jDiv.bgiframe();ToolTipOverlay.on=1;ToolTipOverlay.jDiv.show();ToolTipOverlay.jDiv.hover(function(){ToolTipOverlay.mouseIsInside=true;},function(){ToolTipOverlay.mouseIsInside=false;ToolTipOverlay.hide();});}};this.updPos=function(event){if(ToolTipOverlay.jDiv){if(!ToolTipOverlay.on)return;var p=jQuery.iUtil.getPointer(event);if(ToolTipOverlay.move==1||ToolTipOverlay.on!=2){if(ToolTipOverlay.showLeft){ToolTipOverlay.jDiv.css({left:(p.x-fromModel('tooltipWidth')-20)+'px',top:p.y+3+'px'});}else{ToolTipOverlay.jDiv.css({left:p.x+fromModel('mapTooltipX')+'px',top:p.y+3+'px'});}}
if(ToolTipOverlay.on==2)return;ToolTipOverlay.jDiv.fadeIn(100);ToolTipOverlay.on=2;}};this.hide=function(event){if(ToolTipOverlay.jDiv){ToolTipOverlay.mouseIsOnIcon=false;window.setTimeout(function(){if(!ToolTipOverlay.mouseIsInside&&!ToolTipOverlay.mouseIsOnIcon){ToolTipOverlay.jDiv.fadeOut(ToolTipOverlay.fadeOutTime);ToolTipOverlay.on=0;}},ToolTipOverlay.fadeOutTime);}};};function rm_createURL(nakedURL){var delimiter=nakedURL.indexOf('?')>0?'&':'?';if(nakedURL.indexOf('layoutTheme=')!=-1){return ctx+nakedURL;}
var res=ctx+nakedURL;res=addParamToURL(res,'layoutTheme',layoutTheme,delimiter);res=addParamToURL(res,'lang',pageLanguage,"&");return res;}
function opts2ParamsString(options,defaults,delimiter){var res="";if(!options){options={};}
for(var opt in defaults){if(options[opt]==null)
options[opt]=defaults[opt];}
delimiter=delimiter?delimiter:'&';var count=0;for(var opt in options){res+=urlParam(opt,options[opt],defaults[opt],((count==0)?'':delimiter));count++;}
return res;}
function urlParam(name,val,defaultVal,delimiter){var res="";if(val!=null||defaultVal){res=(delimiter?delimiter:'&')+name+'='+(val!=null?val:defaultVal);}
return res;}
function addParamToURL(url,key,val){if(url&&key){var delimiter=url.indexOf('?')!=-1?'&':'?';url=url+urlParam(key,val,'',delimiter);return url;}else{if(!url||!key)debugError("addParamToURL - url or key argument invalid: "+url+' - '+key);return url;}}
function callFunction(functionString){try{if(functionString){functionString="function anonymousFunction(){"+functionString+"}; anonymousFunction();"
var res=eval(functionString);return res;}else{return true;}}catch(e){debugError(e);}}
function toModel(key,obj,elem){debug('<b>M</b>['+key+'] = '+obj);if(!elem){elem=App.page();if(!elem){elem=$(document);}}
key=key.replace('\.','_');elem.data(key,obj);return obj;}
function fromModel(key,elem){if(!elem){elem=App.page();}
key=key.replace('\.','_');var data=elem.data(key);return data;}
function trigger(key,elem){if(!elem)elem=App.page();debug('TRIGGER: [<b>'+key+'</b>] - '+elem.attr('id'));elem.trigger(key);}
function getCookieValue(name){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;}
function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
else var expires="";document.cookie=name+"="+value+expires+"; path=/";}
function eraseCookie(name){createCookie(name,"",-1);}
function bind(eventName,elem,func){debug('bind to '+eventName+' to '+elem.attr('id'));elem.bind(eventName,func);}
function bindOnce(eventName,elem,func){debug('bind once to '+eventName+' to '+elem.attr('id'));elem.one(eventName,func);}
jQuery.fn.labelOver=function(overClass){return this.each(function(){var label=jQuery(this);label.css({display:"block"});var f=label.attr('for');if(f){f=f.replace(/\./g,"\\.");f=f.replace("[","\\[");f=f.replace("]","\\]");var input=jQuery('#'+f);this.hide=function(){label.css({textIndent:-10000,visibility:'hidden'});}
this.show=function(){if(input.val()=='')label.css({textIndent:0,visibility:'visible'});}
input.focus(this.hide);input.blur(this.show);label.addClass(overClass).click(function(){input.focus();});label.parent().css({float:"left",position:"relative",overflow:"hidden"});if(input.val()!='')this.hide();}})}
function applyLabelOver(elem){if(!elem){elem=App.page();}
elem.find('label.labelover').labelOver('labelover');}
var _appInitialized=false;$(document).one('ready',function(){if(!_appInitialized){onloaded();_appInitialized=true;}});function onloaded(elem){if(!elem){elem=$();}
elem.bind('unload',function(){unloadPage();});initRaumobilAutocomplete();initBody(elem);initSubNavi(elem);elem.find('.printOnClick').click(function(){if(elem.find('#TB_window')!=null&&elem.find('#TB_window').css('display')=='block'){print();}});if(fromModel('googleTrackingId')){elem.find('.trackIt').click(function(){try{track(this);}catch(e){}});}
ToolTipOverlay.init();if(isDebug()){debug('#DOM Elements: '+document.getElementsByTagName('*').length);debug('onloaded finished.');}
trigger('initReady');applyLabelOver(elem);}
function initBody(elem){createDialogButtons(elem);externalLinks(elem);elem.find('.showSpinner').bind('click',function(){showSpinner();});debug('init submenus');elem.find('.submenu').bind('mouseover',function(){showsubmenu('head_sub_'+this.id);}).bind('mouseout',function(){starttimer();});window.setTimeout(function(){elem.find('.inlineMessageDiv').slideUp('slow');},4000);}
function unloadPage(){debug('unloadPage');if(hasMap){destroyMap();}}
function hideWelcomeDialog(){$.get(rm_createURL("/ajax/userRemote"),{task:"hideWelcome"},function(){closeDialog(parent);});}
function handleFocusSearchfield(searchField){debug('handleFocusSearchfield');var sf=jQuery(searchField);sf.css("border-color","");}
function validateSearchFields(searchFieldName,searchFieldName2){var replace=[['.','_'],['_','\\.']];searchFieldName=replaceAll(searchFieldName,replace);if(searchFieldName2)searchFieldName2=replaceAll(searchFieldName2,replace);var sf=App.findBy('#'+searchFieldName);var sf2=App.findBy('#'+searchFieldName2);if((isEmpty(sf.val())&&sf2.length==0)||(isEmpty(sf.val())&&(sf2.length>0&&isEmpty(sf2.val())))){sf.blur();sf.css("border-color","#ff0000");if(sf2.length>0){sf2.blur();sf2.css("border-color","#ff0000");}
return false;}
return true;}
function handleSubmitSearch(button,searchFieldName,searchFieldName2){if(validateSearchFields(searchFieldName,searchFieldName2)){return rm_submitForm(button);}
return false;}
function checkSearchFields(searchFieldName,searchFieldName2){var replace=[['.','_'],['_','\\.']];searchFieldName=replaceAll(searchFieldName,replace);if(searchFieldName2)searchFieldName2=replaceAll(searchFieldName2,replace);var sf=App.findBy('#'+searchFieldName);var sf2=App.findBy('#'+searchFieldName2);if((isEmpty(sf.val())&&sf2.length==0)||(isEmpty(sf.val())&&(sf2.length>0&&isEmpty(sf2.val())))){sf.blur();sf.css("border-color","#ff0000");if(sf2.length>0){sf2.blur();sf2.css("border-color","#ff0000");}
return false;}
return true;}
function ajaxSearchSubmit(formId,searchFieldName,searchFieldName2){debug('ajaxSearchSubmit '+formId+' '+searchFieldName);if(!checkSearchFields(searchFieldName,searchFieldName2))return false;var queryString=App.findBy('#'+formId).formSerialize();App.findBy('div.ac_results').hide();return ajaxSearch('?'+queryString+'&ajax=search');}
function ajaxSearch(url,prefix,oneshot,nobuttons){if(prefix==null){prefix='';}
if(oneshot==null){oneshot=false;}
if(nobuttons==null){nobuttons=false;}
debug('ajaxSearch '+prefix+':'+oneshot+'@'+url);if(url[0]&&url[0]=='/'){if(url.indexOf(ctx)>=0)
{}else{url=ctx+url;}}
var wrapperElementId=fromModel('ajaxSearchResultDiv')?fromModel('ajaxSearchResultDiv'):'#'+prefix+'searchResultBoxWrapper';var wrapperElement=$(wrapperElementId);if(oneshot&&wrapperElement.attr('loaded')){}else{showSpinner();$.get(url,function(data,textStatus){debug('ajaxSearch result');if(fromModel('ajaxSearchResultDiv')){wrapperElement.empty();wrapperElement.append(jQuery(data).children());}else{wrapperElement.empty();wrapperElement.html(data);}
wrapperElement.attr('loaded','true');if(nobuttons){}else{createDialogButtons(wrapperElement);}
hideSpinner();if(!prefix){trigger('ajaxSearchFinished');}});}
return false;}
function doToggleActiveSpace(element,itemId){}
function doToggleActiveMobile(element,itemId){doAjax("toggleActiveMobile","itemId="+itemId,function(active){if($.trim(active)=='true'){element.innerHTML='<img class="noborder" src="'+ctx+'/images/buttons/aktiv.gif" alt="Aktiv"/>';if(fromModel('showTooltips')){jQuery(element).attr("onmouseover","showTooltip('Status aktiv: zum Deaktivieren klicken');");jQuery(element).attr("onmouseout","hideTooltip();");}}else{element.innerHTML='<img class="noborder" src="'+ctx+'/images/buttons/inaktiv.gif" alt="Inaktiv"/>';if(fromModel('showTooltips')){jQuery(element).attr("onmouseover","showTooltip('Status inaktiv (f&uuml;r andere nicht sichtbar): zum Aktivieren klicken');");jQuery(element).attr("onmouseout","hideTooltip();");}}});return false;}
function doUpdateFilesList(packageName,itemId){doAjax("renderFormFilePackage","itemId="+itemId+"&packageName="+packageName,function(packageHTML){debug('renderFormFilePackage finished: '+packageHTML);App.findBy("#output_fileupload_"+packageName).html(packageHTML);});return false;}
function updateFilesList(packageName,itemId){debug('updateFilesList("'+packageName+'", '+itemId+')');window.setTimeout('doUpdateFilesList("'+packageName+'", '+itemId+')',100);}
function deleteFile(fileId,packageName,itemId)
{debug("deleteFile(\""+fileId+"\")");doAjax("deleteFile","fileId="+fileId,function(){updateFilesList(packageName,itemId);});return false;}
function checkLogin(url,title,jumpToUrl){if(!fromModel('isLoggedIn')){if(!title){title='Diese Funktion k&ouml;nnen Sie nur eingeloggt nutzen.';}
var loginurl=escape(url);return showDialog(title,rm_createURL('/messages/loginbox?loginurl='+loginurl),{width:600,height:120});}else if(jumpToUrl){jumpTo(url);}
return true;}
function jumpToIfLoggedIn(url){if(checkLogin(url)){jumpTo(url);}}
function showSpaceEditForm(){if(App.findBy('#spaceEdit').css("display")=="none"){displayElement('spaceEdit');}}
var dropdowntimeout=400;var dropdowntimer=0;var submenu=0;function initSubNavi(elem){var subNavis=elem.find('.subNavi');subNavis.mouseover(stopptimer);subNavis.mouseout(starttimer);}
function showsubmenu(id){debug('show submenu '+id);stopptimer();if(submenu)submenu.style.display='none';submenu=document.getElementById(id);if(submenu)
submenu.style.display='block';}
function hidesubmenu(){if(submenu)submenu.style.display='none';}
function starttimer(){dropdowntimer=window.setTimeout(hidesubmenu,dropdowntimeout);}
function stopptimer(){if(dropdowntimer){window.clearTimeout(dropdowntimer);dropdowntimer=null;}}
document.onclick=hidesubmenu;function showPhoneNumbers(title){return showDialog(title,'#',{modal:false,height:100,width:200,inlineId:'phonenumbers'});}
function showQuickUserHint(title){return showDialog(title,'#',{modal:false,height:100,width:500,inlineId:'quickuserhint'});}
function highlightFilter(elem){elem=elem.replace('%','\\%');elem=elem.replace('.','\\.');$(elem+' a img').attr("src",ctx+"/images/icons/icon_filter_highlight.gif");$(elem).css("color","red");window.setTimeout(function(){$(elem+' a img').attr("src",ctx+"/images/icons/icon_filter.gif");$(elem).css("color","#595959");},2000);}
function highlightMessage(id){$().ready(function(){highlightrow=App.findBy('#message td.checkbox input[id*='+id+']').parent().parent();highlightrow.css('background','#e7efbb');highlightrow.find('td a').css('color','#595959');});}
function showWait(text){showSpinner();}
function checkall(elem){var allboxes=$(elem).parents('form').find('input:checkbox');if($(elem).attr('checked')){allboxes.attr('checked','checked');}else{allboxes.removeAttr('checked');}}
function ImgError(source,gender){if(gender=='female'){source.src=ctx+"/images/contentelements/keinbild_f_43.gif";}
if(gender=='male'){source.src=ctx+"/images/contentelements/keinbild_m_43.gif";}
source.onerror="";return true;}
function wikiSearch(title){$.get("wikiSearch?search="+title,function(data){App.findBy('#wikiList').html(data);});}
function wikiGeo(title){$.get("wikiGeo?title="+title,function(data){App.findBy('#wikiGeo').html(data);if(!(data.indexOf('404')>-1)){var split=data.split(",");$.get("spaceMap?lat="+split[1]+"&lng="+split[0],function(data){App.findBy('#wikiMap').html(data);});}});}
function wikiMap(lat,lng){}
function goForRegistration(){parent.App.findBy('#content_wrap').css('display','block');closeDialog(parent);}
function initTableMouseOver(idName){var t=document.getElementById(idName);if(t==null){if($DEBUG){alert("Can not get table");}
return false;}
var n=0;var tbody=t.tBodies[0];var r=tbody.rows.length;for(n=0;n<r;n++){tbody.rows[n].onmouseover=createItemHandler(this,"overItemHandler",tbody.rows[n]);var a=new Array(2);a[0]=tbody.rows[n].bgColor;a[1]=tbody.rows[n];tbody.rows[n].onmouseout=createItemHandler(this,"outItemHandler",a);var trobj=tbody.rows[n];var elem=trobj.cells[trobj.cells.length-1].getElementsByTagName('a')[0];if(elem)
trobj.onclick=elem.onclick;}
return false;}
function createItemHandler(object,methodName,itemNum){return function(){object[methodName](itemNum);}}
var mouseOverColor="#EEEEEE";function overItemHandler(obj){if(obj){obj.style["backgroundColor"]=mouseOverColor;obj.style["cursor"]="pointer";}}
function outItemHandler(obj){if(obj[1]){obj[1].style['backgroundColor']=obj[0];}}
Date.dayNames=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];Date.abbrDayNames=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];Date.monthNames=['January','February','March','April','May','June','July','August','September','October','November','December'];Date.abbrMonthNames=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];Date.firstDayOfWeek=1;Date.format='dd/mm/yyyy';Date.fullYearStart='20';(function(){function add(name,method){if(!Date.prototype[name]){Date.prototype[name]=method;}};add("isLeapYear",function(){var y=this.getFullYear();return(y%4==0&&y%100!=0)||y%400==0;});add("isWeekend",function(){return this.getDay()==0||this.getDay()==6;});add("isWeekDay",function(){return!this.isWeekend();});add("getDaysInMonth",function(){return[31,(this.isLeapYear()?29:28),31,30,31,30,31,31,30,31,30,31][this.getMonth()];});add("getDayName",function(abbreviated){return abbreviated?Date.abbrDayNames[this.getDay()]:Date.dayNames[this.getDay()];});add("getMonthName",function(abbreviated){return abbreviated?Date.abbrMonthNames[this.getMonth()]:Date.monthNames[this.getMonth()];});add("getDayOfYear",function(){var tmpdtm=new Date("1/1/"+this.getFullYear());return Math.floor((this.getTime()-tmpdtm.getTime())/86400000);});add("getWeekOfYear",function(){return Math.ceil(this.getDayOfYear()/7);});add("setDayOfYear",function(day){this.setMonth(0);this.setDate(day);return this;});add("addYears",function(num){this.setFullYear(this.getFullYear()+num);return this;});add("addMonths",function(num){var tmpdtm=this.getDate();this.setMonth(this.getMonth()+num);if(tmpdtm>this.getDate())
this.addDays(-this.getDate());return this;});add("addDays",function(num){this.setDate(this.getDate()+num);return this;});add("addHours",function(num){this.setHours(this.getHours()+num);return this;});add("addMinutes",function(num){this.setMinutes(this.getMinutes()+num);return this;});add("addSeconds",function(num){this.setSeconds(this.getSeconds()+num);return this;});add("zeroTime",function(){this.setMilliseconds(0);this.setSeconds(0);this.setMinutes(0);this.setHours(0);return this;});add("asString",function(){var r=Date.format;return r.split('yyyy').join(this.getFullYear()).split('yy').join((this.getFullYear()+'').substring(2)).split('mmm').join(this.getMonthName(true)).split('mm').join(_zeroPad(this.getMonth()+1)).split('dd').join(_zeroPad(this.getDate()));});Date.fromString=function(s)
{var f=Date.format;var d=new Date('01/01/1977');var iY=f.indexOf('yyyy');if(iY>-1){d.setFullYear(Number(s.substr(iY,4)));}else{d.setFullYear(Number(Date.fullYearStart+s.substr(f.indexOf('yy'),2)));}
var iM=f.indexOf('mmm');if(iM>-1){var mStr=s.substr(iM,3);for(var i=0;i<Date.abbrMonthNames.length;i++){if(Date.abbrMonthNames[i]==mStr)break;}
d.setMonth(i);}else{d.setMonth(Number(s.substr(f.indexOf('mm'),2))-1);}
d.setDate(Number(s.substr(f.indexOf('dd'),2)));if(isNaN(d.getTime())){return false;}
return d;};var _zeroPad=function(num){var s='0'+num;return s.substring(s.length-2)};})();function days_between(date1,date2){var ONE_DAY=1000*60*60*24
var date1_ms=date1.getTime()
var date2_ms=date2.getTime()
var difference_ms=Math.abs(date1_ms-date2_ms)
return Math.round(difference_ms/ONE_DAY)}
function addDatePicker(elem,startelem,endelem){debug('addDatePicker');$.dpText={TEXT_PREV_YEAR:msg('default.dp.prevYear'),TEXT_PREV_MONTH:msg('default.dp.prevMoth'),TEXT_NEXT_YEAR:msg('default.dp.nextYear'),TEXT_NEXT_MONTH:msg('default.dp.prevMonth'),TEXT_CLOSE:msg('default.dp.close'),TEXT_CHOOSE_DATE:msg('default.dp.choose')}
Date.format='dd.mm.yyyy';elem.datePicker({clickInput:true,createButton:true,verticalOffset:20,horizontalOffset:0});if(startelem&&endelem){startelem.bind('dpClosed',function(e,selectedDates)
{var d=selectedDates[0];if(d){d=new Date(d);endelem.dpSetStartDate(d.addDays(1).asString());}});endelem.bind('dpClosed',function(e,selectedDates)
{var d=selectedDates[0];if(d){d=new Date(d);startelem.dpSetEndDate(d.addDays(-1).asString());}});startelem.bind('dateSelected',function(e,selectedDate,$td)
{startelem.parent().children('.labelover').css({textIndent:-10000});});endelem.bind('dateSelected',function(e,selectedDate,$td)
{endelem.parent().children('.labelover').css({textIndent:-10000});});}else{elem.bind('dateSelected',function(e,selectedDate,$td)
{elem.parent().children('.labelover').css({textIndent:-10000});});}
if((startelem=='birthday'&&!endelem)){var maxdate=new Date();var mindate=new Date();elem.dpSetStartDate(mindate.addYears(-100).asString());elem.dpSetEndDate(maxdate.addYears(-3).asString());}
if(!startelem&&!endelem){var mindate=new Date();elem.dpSetStartDate(mindate.addYears(-100).asString());}}
$(document).ready(function(){if(pageLanguage=='DE'){Date.dayNames=['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];Date.abbrDayNames=['So','Mo','Di','Mi','Do','Fr','Sa'];Date.monthNames=['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];Date.abbrMonthNames=['Jan','Feb','Mrz','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'];Date.firstDayOfWeek=1;Date.format='dd.mmm.yyyy';}
Date.monthNamesForCal=Date.monthNames;});var raumobilAcUrl;function initRaumobilAutocomplete(){raumobilAcUrl=ctx+'/ajax/autoComplete?layoutTheme='+layoutTheme+'&lang='+pageLanguage;}
function setDefaultVal(opts,key,val){if(opts[key]==null)
opts[key]=val;}
function getSeparatorStyle(item){if(item=='-'){return'border-bottom:1px solid black;';}
return'';}
function ac_base(elem,type,country,opts,resultElem,result){if(elem!=null){setDefaultVal(opts,'minChars',2);setDefaultVal(opts,'max',100);setDefaultVal(opts,'width',elem.width());setDefaultVal(opts,'scrollHeight',300);setDefaultVal(opts,'autoFill',false);setDefaultVal(opts,'mustMatch',false);setDefaultVal(opts,'matchContains',true);setDefaultVal(opts,'matchSubset',false);setDefaultVal(opts,'matchCase',false);setDefaultVal(opts,'selectFirst',false);setDefaultVal(opts,'cacheLength',5);setDefaultVal(opts,'delay',200);setDefaultVal(opts,'extraParams',{type:type,country:country});setDefaultVal(opts,'formatItem',function(row){return row[0];});setDefaultVal(opts,'formatResult',function(row){return row[0];});setDefaultVal(opts,'highlight',function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","i"),"<strong>$1</strong>");});if(result==null){result=function(event,data){if(resultElem==null)
resultElem=elem
resultElem.val(data[1]);resultElem.parent().children('.labelover').css({textIndent:-10000});};}
assignAutocompletion(elem,opts);var combinedResult=function(event,data){result(event,data);toModel('changed',true,elem);elem.trigger("change");debug('autocompletion finished. Result was: '+data);}
elem.result(combinedResult);}}
function assignAutocompletion(elem,opts){if(raumobilAcUrl){debug('init autocompleter ');elem.autocomplete(raumobilAcUrl,opts);}else{debugError('raumobilAcUrl is not set. Bind to initReady.');}}
function rm_ac_companies(elem){ac_base(elem,'gc_companies','DE',{autoFill:true,minChars:1,cacheLength:1});}
function rm_ac_zips_dep(zipelem,cityelem,countryelem){var formatItem=function(row){return row[0]+" <i>"+row[1]+"</i>";};var opts={formatItem:formatItem,width:200};var country=function(){return countryelem.val();}
ac_base(zipelem,'zipCode',country,opts,cityelem);}
function rm_ac_city_dep(cityelem,zipelem,countryelem){var formatItem=function(row){return"<div style=\"float: left; width: 50px;\"><i>"+row[0]+"&nbsp;</i></div>"+row[1];};var opts={formatItem:formatItem,width:250};var country=function(){return countryelem.val();}
var result=function(event,data){zipelem.val(data[0]);if(data[4]!=null&&data[4].length>0){cityelem.val(data[4]);}else{cityelem.val(data[1]);}
zipelem.parent().children('.labelover').css({textIndent:-10000});};ac_base(cityelem,'city',country,opts,null,result);}
function rm_ac_ziporcity_dep(ziporcity,countryelem,hiddenzip,hiddencity,hiddenLat,hiddenLng){var opts={minChars:2,formatItem:function(row){if(isNaN(ziporcity.val())){return"<div style='"+getSeparatorStyle(row[2])+"'><i>"+row[1]+"</i></div>";}else{return row[0]+" <i>"+row[1]+"</i>";}},formatResult:function(row){if(isNaN(ziporcity.val())){if(row[4]!=null){return $.trim(row[4]);}else{return $.trim(row[1]);}}else{if(row[4]!=null){return $.trim(row[0]+" "+row[4]);}else{return $.trim(row[0]+" "+row[1]);}}}};var result=function(event,data){hiddenzip.val(data[0]);hiddencity.val(data[1]);if(hiddenLat&&hiddenLng){hiddenLat.val(data[2]);hiddenLng.val(data[3]);}};var type=function(){if(isNaN(ziporcity.val())){return'city';}else{return'zipCode';}};var country=function(){return countryelem.val();}
ac_base(ziporcity,type,country,opts,null,result);ziporcity.keypress(function(){rm_validate_ziporcity(ziporcity,hiddenzip,hiddencity);});ziporcity.blur(function(){rm_validate_ziporcity(ziporcity,hiddenzip,hiddencity);});latLngChange(ziporcity,hiddenLat,hiddenLng);}
function rm_validate_ziporcity(ziporcity,hiddenzip,hiddencity){if($.trim(hiddenzip.val()+' '+hiddencity.val())!=ziporcity.val()){row=ziporcity.val().split(' ');if(isNaN(row[0])||row[0]==''){hiddencity.val(ziporcity.val());hiddenzip.val('');}else{hiddenzip.val(row[0]);row.shift();hiddencity.val(row.join(' '));}}}
function rm_ac_zipcitycountry(zipelem,cityelem,countryelem,displaycountryelem){if(displaycountryelem.val()==''){displaycountryelem.val('Deutschland');countryelem.val('DE');}
rm_ac_zips_dep(zipelem,cityelem,countryelem);rm_ac_city_dep(cityelem,zipelem,countryelem);if(displaycountryelem){var result=function(event,data){countryelem.val(data[0]);cityelem.val('');zipelem.val('');App.findBy('#street').val('');App.findBy('#streetNo').val('');cityelem.flushCache();zipelem.flushCache();};var opts={formatItem:function(row){return row[1];},formatResult:function(row){return row[1];},minChars:1,autoFill:true,mustMatch:true,matchContains:false};ac_base(displaycountryelem,'country',countryelem.val(),opts,null,result);}}
function rm_ac_toptags(elem){assignAutocompletion(elem,{width:elem.width,max:10,multiple:true,matchContains:true,multipleSeparator:" ",scroll:true,extraParams:{'type':'toptags'}});}
function rm_ac_airportLocations(elem,iataelem,latelem,lngelem){var result=function(event,data){iataelem.val(data[1]);latelem.val(data[2]);lngelem.val(data[3]);};ac_base(elem,'airportLocations',null,{width:elem.width,minChars:1,max:10,matchContains:true,cacheLength:1,scroll:true,formatItem:function(row){return row[0]+' ('+row[1]+')';}},elem,result);latLngChange(elem,latelem,lngelem);}
function latLngChange(elem,latelem,lngelem){if(latelem&&lngelem){elem.change(function(){if(fromModel('changed',elem)==false&&fromModel('oldValue',elem)!=elem.val()){latelem.val('');lngelem.val('');}
toModel('oldValue',elem.val(),elem);toModel('changed',false,elem);});}}
function rm_ac_usernames(elem){assignAutocompletion(elem,{width:200,delay:200,cacheLength:5,autoFill:false,matchSubset:false,extraParams:{'type':'username'}});}
function rm_ac_country(inputdisplay,hiddenelem,clearonchangeelem,clearelem2,clearelem3,autoWidth){var width=autoWidth?inputdisplay.width():150;var opts={minChars:0,autoFill:true,mustMatch:true,matchContains:false,width:width,formatItem:function(row){return row[1];},formatResult:function(row){return row[1];}};var result=function(event,data){if(hiddenelem){hiddenelem.val(data[0]);}
if(clearonchangeelem){clearonchangeelem.val('')};if(clearelem2){clearelem2.val('');}
if(clearelem3){clearelem3.val('');}};ac_base(inputdisplay,'country','DE',opts,null,result);}
function rm_ac_address(elements){}
var validators=new Array();function addValidator(fieldElement,outputElement){if(fieldElement.length>0){var validator=new Validator(fieldElement,outputElement);validators[fieldElement[0].id]=validator;return validator;}
return null;}
var onFocusValidator=function(event)
{var validator=validators[event.target.id];validator.onFocus(event);}
var onBlurValidator=function(event)
{var validator=validators[event.target.id];validator.onBlur(event);}
function Validator(fieldElement,outputElement,editAction,errorClass)
{if(!editAction){editAction='keydown';}
if(!errorClass)errorClass="textfielderror";this.fieldElement=fieldElement[0];this.validations=new Array();this.outputElement=outputElement;this.onFocus=function(event)
{this.outputElement.html("");jQuery(this.fieldElement).removeClass("textfielderror");}
this.onBlur=function(event)
{for(var i=0;i<this.validations.length;i++)
{var validation=this.validations[i];var errorMessage=validation.validate(this.fieldElement);if(errorMessage)
{this.outputElement.html("<span class='error'>"+errorMessage+"</span>");jQuery(this.fieldElement).addClass(errorClass);return true;}
else
{this.outputElement.html("");jQuery(this.fieldElement).removeClass("textfielderror");}}
return false;}
this.addValidation=function(validation)
{this.validations.push(validation);}
fieldElement.bind(editAction,function(event){onFocusValidator(event);});fieldElement.blur(function(event){onBlurValidator(event);});}
function ValidationRequired(errorMessage)
{this.errorMessage=errorMessage;this.validate=function(element)
{if(!element.value)
{return this.errorMessage;}
else
{return false;}}}
function ValidationMinLength(errorMessage,minLength)
{this.errorMessage=errorMessage;this.minLength=minLength;this.validate=function(element)
{if(element.value&&element.value.length<this.minLength)
{return this.errorMessage;}
else
{return false;}}}
function ValidationMaxLength(errorMessage,maxLength)
{this.errorMessage=errorMessage;this.maxLength=maxLength;this.validate=function(element)
{if(element.value&&element.value.length>this.maxLength)
{return this.errorMessage;}
else
{return false;}}}
function ValidationEmail(errorMessage)
{this.errorMessage=errorMessage;this.validate=function(element)
{if(element.value&&!element.value.match(/^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$/))
{return this.errorMessage;}
else
{return false;}}}
function ValidationUsername(errorMessage)
{this.errorMessage=errorMessage;this.validate=function(element)
{if(element.value&&!element.value.match(/^[a-z|A-Z|0-9]([a-z|A-Z|0-9]*[_]?[a-z|A-Z|0-9])*$/))
{return this.errorMessage;}
else
{return false;}}}
function ValidationEquals(errorMessage,otherField)
{this.errorMessage=errorMessage;this.validate=function(element)
{if(otherField[0].value&&otherField[0].value!=element.value)
{return this.errorMessage;}
else
{return false;}}}
function ValidationCustom(callbackFunction)
{this.validate=function(element)
{return callbackFunction(element);}}
function ajaxCheck(ajaxMethod,fieldName,parameters,errorText,element){doAjax(ajaxMethod,parameters,function(exists){if($.trim(exists)=='true'){App.findBy('#'+fieldName+'ValidationOutput').html('<span class="error">'+errorText+'</span>');jQuery(element).addClass("textfielderror");}else{App.findBy('#'+fieldName+'ValidationOutput').html("");jQuery(element).removeClass("textfielderror");}});}
function requesttypeChanged(requestType){displayElement('mobileEdit');if(requestType=='SUPPLY'){hideElement('places\\.demand');hideElement('packaged\\.demand');hideElement('button_demand');displayElement('places\\.supply');displayElement('packaged\\.supply');displayElement('button_supply');displayElement('addStopOverEndSeparator');hideElement('ebay');redrawStopOvers();}else if(requestType=='DEMAND'){hideElement('places\\.supply');hideElement('packaged\\.supply');hideElement('button_supply');displayElement('places\\.demand');displayElement('packaged\\.demand');displayElement('button_demand');hideElement('addStopOverEnd');hideElement('addStopOverEndSeparator');hideElement('stopOver1');hideElement('stopOver2');hideElement('stopOver3');hideElement('stopOver4');hideElement('stopOver5');displayElement('ebay');}}
function frequencySingle(){hideElement('weekdays');displayElement('dateInput');displayElement('dateInput td');}
function frequencyRecurrent(){displayElement('weekdays');hideElement('dateInput');hideElement('dateInput td');App.findBy('#startDate').val('');}
function initStopOvers(){var count=fromModel('stopOverCount');if(count==5){hideElement('addStopOverEnd');}
for(var i=count;i>0;i--){showStopOver(i);}}
function hideStopOver(id){var elem=App.findBy('#stopOver'+id+' .inputs_in_a_row')
App.findBy('#stopOver'+id).css({display:"none"});elem.css({position:"absolute"});elem.css({left:-10000});}
function showStopOver(id){App.findBy('#stopOver'+id).css({display:""});App.findBy('#stopOver'+id+' .inputs_in_a_row').css({position:"relative"});App.findBy('#stopOver'+id+' .inputs_in_a_row').css({left:0});}
function redrawStopOvers(){var stopOverCount=fromModel('stopOverCount');if(stopOverCount<5){displayElement('addStopOverEnd');for(var i=1;i<=stopOverCount;i++){displayElement('addStopOver'+i);}}
for(var i=1;i<=stopOverCount;i++){showStopOver(i);}}
function moveStopOverDown(stopOverNumber){App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.displayCountry").val(App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.displayCountry").val());App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.country").val(App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.country").val());App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.zipCode").val(App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.zipCode").val());App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.city").val(App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.city").val());resetInputFields(stopOverNumber-1);}
function moveStopOverUp(stopOverNumber){App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.displayCountry").val(App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.displayCountry").val());App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.country").val(App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.country").val());App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.zipCode").val(App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.zipCode").val());App.findBy("#stopOverLocs\\["+(stopOverNumber-1)+"\\]\\.city").val(App.findBy("#stopOverLocs\\["+(stopOverNumber)+"\\]\\.city").val());resetInputFields(stopOverNumber);}
function resetInputFields(id){App.findBy("#stopOverLocs\\["+id+"\\]\\.displayCountry").val("Deutschland");App.findBy("#stopOverLocs\\["+id+"\\]\\.country").val("DE");App.findBy("#stopOverLocs\\["+id+"\\]\\.zipCode").val("");App.findBy("#stopOverLocs\\["+id+"\\]\\.city").val("");}
function addStopOver(stopOverNumber){addStopOverEnd();for(var i=(fromModel('stopOverCount')-1);i>=stopOverNumber;i--){moveStopOverDown(i);}}
function addStopOverEnd(){var stopOverCount=fromModel('stopOverCount');stopOverCount++;toModel('stopOverCount',stopOverCount);showStopOver(stopOverCount);if(stopOverCount==5){for(var i=1;i<5;i++){hideElement('addStopOver'+i);}
hideElement('addStopOverEnd');}else{displayElement('addStopOver'+stopOverCount);}}
function deleteStopOver(stopOverNumber){var stopOverCount=fromModel('stopOverCount');for(var i=stopOverNumber;i<stopOverCount;i++){moveStopOverUp(i);}
hideStopOver(stopOverCount);resetInputFields(stopOverCount-1);if(stopOverCount<4){hideElement('addStopOver'+((stopOverCount*1)+1));}else if(stopOverCount==5){for(var i=1;i<=4;i++){displayElement('addStopOver'+i);}
displayElement('addStopOverEnd');}
stopOverCount--;toModel('stopOverCount',stopOverCount);}
function setTargetField(targetField,val){if(targetField){targetField.value=val;}
window.focus();}
function openPriceCalculator(targetId){w=window.open(ctx+"/fahrpreisrechner","FahrpreisRechner","width=350,height=420,scrollbars=1");targetField=document.getElementById(targetId);w.targetField=targetField;w.focus();}
function init_ac_mobileedit(){debug('init_ac_mobileedit_start');rm_ac_zipcitycountry(App.findBy("#startLoc\\.zipCode"),App.findBy("#startLoc\\.city"),App.findBy("#startLoc\\.country"),App.findBy("#startLoc\\.displayCountry"));for(i=0;i<5;i++){debug('init_ac_mobileedit_stopover_'+i);rm_ac_zipcitycountry(App.findBy("#stopOverLocs\\["+i+"\\]\\.zipCode"),App.findBy("#stopOverLocs\\["+i+"\\]\\.city"),App.findBy("#stopOverLocs\\["+i+"\\]\\.country"),App.findBy("#stopOverLocs\\["+i+"\\]\\.displayCountry"));}
debug('init_ac_mobileedit_country_'+i);rm_ac_zipcitycountry(App.findBy("#endLoc\\.zipCode"),App.findBy("#endLoc\\.city"),App.findBy("#endLoc\\.country"),App.findBy("#endLoc\\.displayCountry"));}
function regtypeChanged(){var companyMode=true;App.findBy("#regtypeCompany").each(function(){companyMode=this.checked;});var autocompleteRegistrationCompany=fromModel('autocompleteRegistrationCompany');if(typeof autocompleteRegistrationCompany!="undefined"&&autocompleteRegistrationCompany)rm_ac_companies(App.findBy('#office'));if(companyMode){displayElement("companynameRow");App.findBy("#company").focus();}else{hideElement("companynameRow");App.findBy("#regusername").focus();}}
function validateUsername(element){var username=element.value;if(username!=""){ajaxCheck("isExistingUser","regusername","username="+username,error_username_exists,element);}}
function validateRegemail(element){var email=element.value;if(email!=""){ajaxCheck("isExistingEmail","regemail","email="+email,error_email_exists,element);}}
$().ready(function(){regtypeChanged();var nameValidator=addValidator(App.findBy('#regusername'),App.findBy('#regusernameValidationOutput'));if(nameValidator){nameValidator.addValidation(new ValidationMinLength(error_username_toshort,4));nameValidator.addValidation(new ValidationMaxLength(error_username_tolong,16));nameValidator.addValidation(new ValidationUsername(error_username_match));nameValidator.addValidation(new ValidationCustom(validateUsername));nameValidator.addValidation(new ValidationRequired(error_username_required));}
var emailValidator=addValidator(App.findBy('#regemail'),App.findBy('#regemailValidationOutput'));if(emailValidator){try{emailValidator.addValidation(new ValidationRequired(error_email_required));emailValidator.addValidation(new ValidationEmail(error_email_match));}catch(e){}
emailValidator.addValidation(new ValidationCustom(validateRegemail));}
var emailRepeatValidator=addValidator(App.findBy('#regemailRepeat'),App.findBy('#regemailRepeatValidationOutput'));if(emailRepeatValidator){emailRepeatValidator.addValidation(new ValidationEquals(error_emailRepeat_match,App.findBy('#regemail')));}});$().ready(function(){var emailValidator=addValidator(App.findBy('#email'),App.findBy('#emailValidationOutput'));if(emailValidator){try{emailValidator.addValidation(new ValidationCustom(validateEmail));emailValidator.addValidation(new ValidationEmail(error_email_match));}catch(e){}}});function validateEmail(element){var email=element.value;if(email!=""){ajaxCheck("isExistingEmail","email","email="+email,error_email_exists,element);}}
function initCarbonCalculatorModuleBox(){App.findBy('input[name*=verkehrsmittel]').click(function(){var verkehrsmittel=App.findBy('input[name*=verkehrsmittel]:radio:checked').attr('value');switch(verkehrsmittel){case'car':App.findBy('.carinfo').show();App.findBy('.planeinfo').hide();App.findBy('.entfernungTrain').hide();App.findBy('.entfernungCar').show();return;case'train':App.findBy('.carinfo').hide();App.findBy('.planeinfo').hide();App.findBy('.entfernungCar').hide();App.findBy('.entfernungTrain').show();return;case'plane':App.findBy('.planeinfo').show();App.findBy('.carinfo').hide();App.findBy('.entfernung').hide();App.findBy('.entfernungTrain').hide();App.findBy('.entfernungCar').hide();return;}});App.findBy('#berechnen').click(function(){var url=calculatorUrl;url+='&verkehrsmittel='+App.findBy('input.verkehrsmittel:checked').val();if(App.findBy('input.verkehrsmittel:checked').val()=='car'){url+='&distCar='+App.findBy('.entfernungCar input.carbon_distance').val();url+='&fuelAmountCar='+App.findBy('input.fuelAmountCar').val();url+='&fuelTypeCar='+App.findBy('input.fuelTypeCar:checked').val();}
if(App.findBy('input.verkehrsmittel:checked').val()=='train'){url+='&kmFernverkehr='+App.findBy('.entfernungTrain input.carbon_distance').val();}
if(App.findBy('input.verkehrsmittel:checked').val()=='plane'){url+='&startAirportName='+App.findBy('input[name=startAirportName]').val();url+='&startAirportLat='+App.findBy('input[name=startAirportLat]').val();url+='&startAirportLng='+App.findBy('input[name=startAirportLng]').val();url+='&destAirportName='+App.findBy('input[name=destAirportName]').val();url+='&destAirportLat='+App.findBy('input[name=destAirportLat]').val();url+='&destAirportLng='+App.findBy('input[name=destAirportLng]').val();}
openCarbonCalculator(url);});rm_ac_airportLocations(App.findBy('input[name=startAirportName]'),App.findBy('input[name=startAirportIata]'),App.findBy('input[name=startAirportLat]'),App.findBy('input[name=startAirportLng]'));rm_ac_airportLocations(App.findBy('input[name=destAirportName]'),App.findBy('input[name=destAirportIata]'),App.findBy('input[name=destAirportLat]'),App.findBy('input[name=destAirportLng]'));App.findBy('input[name=verkehrsmittel]:radio:checked').click();}
function openCarbonCalculator(url){showDialog(msg('carbon.calc.title'),url,{width:650,height:520});}
function initTabs(){App.findBy('input[class*=addableTrainInput]').change(function(){var sum=0;App.findBy('input[class*=addableTrainInput]').each(function(){sum+=getInteger($(this).val(),0);});App.findBy('#distTrain1').html('('+(1*sum)+' km)');App.findBy('#distTrain2').html('('+(2*sum)+' km)');});App.findBy('input[class*=addableCarInput]').change(function(){var sum=0;App.findBy('input[class*=addableCarInput]').each(function(){sum+=getInteger($(this).val(),0);});App.findBy('#distCar1').html('('+(1*sum)+' km)');App.findBy('#distCar2').html('('+(2*sum)+' km)');});}
function initCarbonCalculator(verkehrsmittel){initTabs();App.findBy('#berechnenButton').click(function(){App.findBy('#wait').append(spinnerImage);$.getJSON(ctx+'/carbonCalc/calculate?'+App.findBy('#carbonCalculatorForm').formSerialize(),function(json){App.findBy('#send2co2ol_desc').val(msg('co2calc.co2ol.shoppingcart.text.mobipf')+': '+json.total.formattedCo2);App.findBy('#send2co2ol_co2').val(json.total.co2);App.findBy('#send2co2ol_price').val(json.total.price);App.findBy('#sumPrice').html(json.total.formattedPrice);App.findBy('#sumco2').html(json.total.formattedCo2);App.findBy('#wait img').fadeOut("slow").remove();});});App.findBy('#leerenButton').click(function(){App.findBy('#carbonbox div.inputs input:not(:radio)').val('');App.findBy('input[name=TypeCar]:radio:checked').each(function(){this.checked=false;});});App.findBy('#switches span.hide').click(function(){App.findBy('#switches span.show').hide();App.findBy('#switches span[name='+$(this).attr('name')+'].show').show();App.findBy('#switches span.hide').show();App.findBy('#switches span[name='+$(this).attr('name')+'].hide').hide();App.findBy('#carbonbox div.tab').hide();App.findBy('#carbonbox div[id='+$(this).attr('name')+']').show();});rm_ac_airportLocations(App.findBy('input[name=startAirportName]'),App.findBy('input[name=startAirportIata]'),App.findBy('input[name=startAirportLat]'),App.findBy('input[name=startAirportLng]'));rm_ac_airportLocations(App.findBy('input[name=destAirportName]'),App.findBy('input[name=destAirportIata]'),App.findBy('input[name=destAirportLat]'),App.findBy('input[name=destAirportLng]'));var starttab='car';switch(verkehrsmittel){case'train':starttab='train';break;case'plane':starttab='plane';break;case'hotel':starttab='hotel';break;}
App.findBy('#switches span#hide'+starttab+'.hide').click();App.findBy('#berechnenButton').click();}
function activateStarttab(tabname){var startelem=App.findBy('#switches span#hide'+tabname+'.hide');startelem.click();}
function send2Cool(button){if(App.findBy('#send2co2ol_co2').val()>0){App.findBy('#berechnenButton').click();rm_submitForm(button);}
return false;}
function getRoutingDistance(jsonurl){elem=App.findBy('#carbon_info p.carbon_distance');$.getJSON(jsonurl,function(json){App.findBy('#carbon_info img.spinner').remove();if(json.distance>0){App.findBy('#info_carbon_distance').html(json.formattedDistance);App.findBy('#info_carbon_co2_car').html(json.car.formattedCo2);App.findBy('#info_carbon_price_car').html(json.car.formattedPrice);App.findBy('#info_carbon_co2_rideshare').html(json.rideshare.formattedCo2);App.findBy('#info_carbon_price_rideshare').html(json.rideshare.formattedPrice);App.findBy('#info_carbon_co2_bus').html(json.bus.formattedCo2);App.findBy('#info_carbon_price_bus').html(json.bus.formattedPrice);App.findBy('#info_carbon_co2_train').html(json.train.formattedCo2);App.findBy('#info_carbon_price_train').html(json.train.formattedPrice);App.findBy('#info_carbon_co2_plane').html(json.plane.formattedCo2);App.findBy('#info_carbon_price_plane').html(json.plane.formattedPrice);App.findBy('input.carbon_distance').val(json.distance);App.findBy('#carbon_info .neutralisieren').click(function(){App.findBy('#carbonbox input.verkehrsmittel[value=car]').click();App.findBy('#carbonbox input.carbon_distance').val(json.distance);var url=calculatorUrl;url+='&verkehrsmittel=car';url+='&distCar='+json.distance;url+='&fuelAmountCar=8';openCarbonCalculator(url);});App.findBy('#carbon_info_content').show();}else{App.findBy('#carbon_info_error').show();}});}
var calcIsDirty=true;function initCo2Calc(){debug('initCo2Calc started.');App.findBy('#calcTabs').bind('tabsselect',function(event,ui){App.findBy('.calcTotalResultDiv').hide();co2calculate();return!hasTabErrors(getSelectedTabName());});App.findBy('#calcTabs').bind('tabsshow',function(event,ui){try{var isLastTab=(ui.index==tabCount);if(isLastTab){App.findBy('#nextButton').hide();App.findBy('#clearButton').hide();App.findBy('#printButton').show();App.findBy('.calcTotalResultDiv').show();}else{App.findBy('#clearButton').show();App.findBy('#nextButton').show();App.findBy('#printButton').hide();App.findBy('.calcTotalResultDiv').hide();}
if(ui.index==0){App.findBy('#backButton').hide();}else{App.findBy('#backButton').show();}
App.findBy('#backButton_name').html('');App.findBy('#clearButton_name').html(msg('co2calc.'+ui.panel.id+'.title'));App.findBy('#nextButton_name').html('');App.findBy('#'+ui.panel.id+' .subgroupTabs').tabs('destroy');App.findBy('#'+ui.panel.id+' .subgroupTabs').tabs();setCursorToFirstInput();}catch(e){debugError(e);}});App.findBy("#calcTabs").tabs({fx:{opacity:'toggle',duration:'fast'}});App.findBy('.subgroupTabs').tabs();App.findBy("#calcTabs .calcField").change(function(evt){calcIsDirty=true;$(this).trigger('setDirty');co2calculate();});initValidators();initTabColors();co2calculate();window.setTimeout(function(){setCursorToFirstInput();},2000);var btnDelPath=fromModel('btnDelPath');var btnAddPath=fromModel('btnAddPath');var modules=App.findBy("div.calcModule");var btnAdd=$("<img class='btn' src='"+ctx+btnAddPath+"'>");var btnDelete=$("<img class='btn' src='"+ctx+btnDelPath+"'>");var addFunc=function(){var oldRow=$(this).parent().parent();var row=oldRow.clone(true);row.attr({'class':incrementNumber(row.attr('class'))});var input=row.find("input");input.attr({value:'',name:incrementNumber(input.attr('name')),id:incrementNumber(input.attr('id'))});var select=row.find("select");select.attr({name:incrementNumber(select.attr('name')),id:incrementNumber(select.attr('id'))});var label=row.find("label");label.attr({'for':incrementNumber(label.attr('for'))});var imgCount=row.children("div.calcInput").children("img").size();if(imgCount==1){row.children("div.calcInput").append(btnDelete.clone(true));}
row.insertAfter(oldRow);oldRow.find("img").remove();};var delFunc=function(){var siblingRows=$(this).parent().parent().parent().children(".moduleField");var lastSiblingRow=$(siblingRows[siblingRows.length-2]);var calcInput=lastSiblingRow.children("div.calcInput");btnAdd.clone(true).appendTo(calcInput);if(siblingRows.length>2){btnDelete.clone(true).appendTo(calcInput);}
$(this).parent().parent().remove();};btnDelete.click(delFunc);btnAdd.click(addFunc);for(var i=0;i<modules.length;i++){var listFields=$(modules[i]).children("div.moduleField[class*='List']");if(listFields.length>0){var lastListItem=$(listFields[listFields.length-1]);var calcInput=lastListItem.children("div.calcInput");btnAdd.clone(true).appendTo(calcInput);}}
selectTabByIndex(selectedTabIndex);debug('initCo2Calc finished -> '+selectedTabIndex);$().trigger('initCo2Calc');}
function incrementNumber(str){var number=str.substring(str.length-1,str.length);number++;var nameWithoutNumber=str.substring(0,str.length-1);return nameWithoutNumber+number;}
function initValidators(){addDatePicker(App.findBy("#calcTabs .DATE"));rm_ac_address(App.findBy('#calcTabs .LOCATION'));rm_ac_country(App.findBy('#calcTabs .LOCATION_COUNTRY'),false);}
function clearValues(){debug('clear');$(getSelectedTabName()+' input:not(:radio)').val('');calcIsDirty=true;co2calculate();}
function goNext(){co2calculate();selectTabByIndex(+1);}
function goBack(){co2calculate();selectTabByIndex(-1);}
function setCursorToFirstInput(){var selectedTabId=getSelectedTabName();if(selectedTabId){var inputsOnTab=$(selectedTabId+' .calcInput input');if(inputsOnTab.length>0){inputsOnTab[0].focus();}}}
function selectTabByIndex(add){try{var selectedTabIndex=App.findBy("#calcTabs").tabs('option','selected');var indexInfos=tabIndex2NameMap[selectedTabIndex];var newTabIndex=selectedTabIndex;var subTabsCount=associativeArrayLength(indexInfos.subTabs);if(subTabsCount>0){var tabId=indexInfos.tabId;var selectedSubTabIndex=App.findBy("#"+tabId+" .subgroupTabs").tabs('option','selected');var subTabIndex=selectedSubTabIndex+add;if(subTabIndex<subTabsCount&&subTabIndex>=0){App.findBy("#"+tabId+" .subgroupTabs").tabs('select',subTabIndex);}else{newTabIndex=selectedTabIndex+add;}}else{newTabIndex=selectedTabIndex+add;}
App.findBy("#calcTabs").tabs('select',newTabIndex);window.scrollTo(0,0);debug('selectTabByIndex: '+newTabIndex);}catch(e){debugError(e);}}
function validateBeforeSave(formElem){if(formElem.attr('id')!='calculateForm'){return true;}
var hasErrors=0;jQuery.each(App.findBy("#calcTabs .calcField"),function(i,val){var fieldElem=$(val);fieldElem[0].title="";fieldElem.removeClass('error');if(fromModel('co2calcRequiredCheckEnabled')){hasErrors=hasErrors|hasError(fieldElem,'.required',function(){return{valid:!isEmpty(fieldElem.val()),type:'.required'};});hasErrors=hasErrors|hasError(fieldElem,'.TEXT',function(){return isTextValid(fieldElem,3,100);});hasErrors=hasErrors|hasError(fieldElem,'.NUM',function(){return isNumberValid(fieldElem);});}});var selectedTabId=getSelectedTabName()
if(selectedTabId){var currentTabTitle=$(selectedTabId+'TabLink span.tabTitle');if(hasErrors){if(currentTabTitle.length>0){currentTabTitle[0].title=msg("co2calc.error.tab");currentTabTitle.addClass('error');}}else{if(currentTabTitle.length>0){currentTabTitle[0].title="";currentTabTitle.removeClass('error');}}}
debug('validateBeforeSave: '+hasErrors);return!hasErrors;}
function showValidationError(fieldElem,errorMsg){fieldElem.addClass('error');fieldElem[0].title=(errorMsg);}
function isTextValid(fieldElem,min,max){var str=fieldElem.val();var isValid=true;if(!fieldElem.is(".required"))min=0;if(str&&(str.length<min&&str.length>max))isValid=false;else isValid=true;return{valid:isValid,type:".TEXT"};}
function isNumberValid(fieldElem){var numberString=fieldElem.val();numberString=numberString.replace(',','.')
var isValid=true;if(!isEmpty(numberString)){isValid=!isNaN(numberString);if(isValid){if(fieldElem.is("input.PERCENT")){var num=parseInt(numberString);return{valid:(num>=0&&num<=100),type:".PERCENT"};}}}
return{valid:isValid,type:".NUM"};}
function hasError(fieldElem,constraintType,checkFunction){if(fieldElem.is(constraintType)){var res=checkFunction();if(!res.valid){showValidationError(fieldElem,msg('co2calc.error.field'+res.type));return 1;}}
return 0;}
function toggleModule(moduleDivId){}
function hasTabErrors(tabName){if($(tabName+' .calcField.error').length>0){return true;}
return false;}
function hasModuleErrors(moduleDivId){if(App.findBy('#'+moduleDivId+' .calcField.error').length>0){return true;}
return false;}
function ajaxCalc(formId){if(validateBeforeSave($(formId))){App.findBy('.moduleResult').html(spinnerImage);var queryString=$(formId).formSerialize();$.ajaxQueue.post(ajaxSaveURL,{type:'POST',url:ajaxSaveURL,dataType:'json',data:'ajax=true&'+queryString,success:function(data){saveSuccess(data);}});}}
function saveSuccess(json){for(var moduleId in json){var moduleCalcRes=json[moduleId];var groupId=moduleCalcRes.group;moduleId=moduleId.replace(/\./g,'_');var resElem=App.findBy('#moduleResult'+moduleId);if(resElem.length>0){resElem.html('+ '+moduleCalcRes.displayCO2+' ('+moduleCalcRes.percent+' %)');App.findBy('#tabTitle'+groupId).html(json[groupId].displayCO2);App.findBy('#totalPositionCo2'+groupId).html(json[groupId].displayCO2);App.findBy('#totalPositionPrice'+groupId).html(json[groupId].displayPrice);if(groupId=='car'){var mitfahrer=App.findBy('#co2calc_car_commuterCount').val();var anteil='';if(mitfahrer>''){anteil+='<div id="commuterAnteilInfo">CO<sub>2</sub>-Verbrauch pro Person: '
anteil+=(json[groupId].co2/(parseInt(mitfahrer)+1)).toFixed(2).toString().replace('.',',');anteil+=' kg</div>'}
App.findBy('#co2calc_co2calc_car_commuterCount_info').css('display','block').html(anteil);}}}
createResultDispersionBar(json);App.findBy('#calcResultSumCO2').html(json.total.displayCO2);if(App.findBy('#calcExtraResult').length>0&&App.findBy('#co2calc_accommodations_year').val()>0){var extraResult=json.total.co2/App.findBy('#co2calc_accommodations_year').val()/1000;var extraResultPrice=json.total.price/App.findBy('#co2calc_accommodations_year').val();App.findBy('#calcExtraResult').html((extraResult.toFixed(3)+' t').replace(/\./g,','));App.findBy('#calcExtraResultPrice').html((extraResultPrice.toFixed(2)+' &euro;').replace(/\./g,','));}
App.findBy('#tabTitletotal').html(json.total.displayCO2);App.findBy('#calcResultSumPrice').html(json.total.displayPrice);App.findBy('#send2co2ol_title').val(msg('co2calc.sendToCo2ol.shoppingCart.text')+' '+json.title?json.title:'');App.findBy('#send2co2ol_desc').val(msg('co2calc.sendToCo2ol.shoppingCart.summary')+': '+json.total.displayCO2);App.findBy('#send2co2ol_co2').val(json.total.co2/1000);App.findBy('#send2co2ol_price').val(json.total.price);App.findBy('#sumPrice').html(json.total.displayPrice);App.findBy('#sumco2').html(json.total.displayCO2);App.findBy('#totalPositionWithCo2Buffer').html(json.total.displayCO2);App.findBy('#totalPositionPriceBuffer').html(json.total.displayPrice);if(json.total.co2>0){App.findBy('#toCartButton').show();}else{App.findBy('#toCartButton').hide();}
calcIsDirty=false}
function co2calculate(){if(calcIsDirty)
ajaxCalc('#calculateForm');}
function getSelectedTabName(){var selected=App.findBy("#calcTabs").tabs('option','selected');var tabInfos=tabIndex2NameMap[selected];if(tabInfos)
return'#'+tabInfos.tabId;else
return null;}
function initTabColors(){var tabColorsJSON=fromModel('tabColorsJSON');if(tabColorsJSON){for(var tab in tabColorsJSON){var color=tabColorsJSON[tab];App.findBy('#'+tab+'ColorDiv').css('background-color','#'+color);}}}
function switchBackgroundImage(){if(fromModel('switchBackoundImageOnTabChange')){if(isLastTab){App.findBy('#content_wrap').css('background-image','url('+ctx+'/images/pagedecorations/bg_middle.png)');}else{App.findBy('#content_wrap').css('background-image','url('+ctx+'/images/co2calc/'+ui.panel.id+'.jpg)');App.findBy('#content_wrap').css('background-width','100%');}}}
function removeDynamicField(contentElem,fieldName){contentElem.empty();}
function addNewDynamicField(contentElem,fieldName,calcId){var queryString="fieldName="+fieldName+"&calcId="+calcId;$.ajaxQueue.post(ajaxAddDynElemURL,{type:'POST',dataType:'json',data:'ajax=true&'+queryString,success:function(newFieldHtml){contentElem.append(newFieldHtml);}});}
function createResultDispersionBar(tabs){var bar=App.findBy('#resultDispersionBar');var html='';var barWidth=300;var newBarWidth=0;for(var tab in tabs){var color=fromModel('tabColorsJSON')[tab];if(color){var percent=tabs[tab].percent;var width=barWidth*percent/100;if(width>0){html+="<div title='"+msg('co2calc.tabs-'+tab+'.title')+": "+percent+"%' class='resultDispersionPart' style='width:"+(width-1)+"px; background-color:#"+color+"'></div>";newBarWidth+=width;}}}
bar.css('width',(Math.max(barWidth,newBarWidth))+'px');bar.empty();bar.html(html);}
function calculateDistance(idPrefix,type){var start={text:App.findBy('#'+idPrefix+'_start').val(),lat:App.findBy('#'+idPrefix+'_start\\.lat').val(),lng:App.findBy('#'+idPrefix+'_start\\.lng').val()};var end={text:App.findBy('#'+idPrefix+'_end').val(),lat:App.findBy('#'+idPrefix+'_end\\.lat').val(),lng:App.findBy('#'+idPrefix+'_end\\.lng').val()};debug("calculateDistance "+start+' and '+end);if(start&&end){var calcDistElem=App.findBy('#'+idPrefix+'_calcDistance');var calcDistElemParent=calcDistElem.parent()
var memElemHtml=calcDistElemParent.html();calcDistElemParent.html(spinnerImage);var queryString="startLoc="+start.text+"&startLat="+start.lat+"&startLng="+start.lng+"&endLoc="+end.text+"&endLat="+end.lat+"&endLng="+end.lng+"&type="+type;$.ajaxQueue.post(ctx+'/ajax/calcDistance',{type:'POST',dataType:'json',data:'ajax=true&'+queryString,success:function(res){calcDistElemParent.html(memElemHtml);var distance=res.distance>0?res.distance:0;App.findBy('#'+idPrefix+'_calcDistance').val((distance+'').replace('.',','));calcIsDirty=true;co2calculate();}});}else{App.findBy('#'+idPrefix+'_calcDistance').val(0);co2calculate();}}
function adjustCalculatorTarget(elem,uniqueformselector){var ref=jQuery(elem).attr('href');var form=App.findBy(uniqueformselector);var replaceWith;switch(form.find('input.verkehrsmittel[checked:checked]').val()){case'car':replaceWith='mit-dem-auto';break;case'train':replaceWith='mit-der-bahn';break;case'plane':replaceWith='mit-dem-flugzeug';break;}
ref=ref.replace(new RegExp("(mit-der-bahn|mit-dem-flugzeug|mit-dem-auto)"),replaceWith);ref=ref.replace(new RegExp("hotel_days=[0-9]+"),'hotel_days='+form.find('input.nights').val());jQuery(elem).attr('href',ref);return false;}
var track=function(element){element=$(element);var trackingPath=element.attr('href');if(element.attr('trackingPath')){trackingPath=element.attr('trackingPath');}else{if(element.attr('onlick')){trackingPath=element.attr('onclick');}}
trackingPath=escape(trackingPath+' (Click)');if(googleTrackingId){trackGA(trackingPath);}}
var logTrack=function(options){if(options.linkFailed){debugError(options.link);}
debug(options.link);}
var trackGA=function(link){try{logTrack({link:link});if(googleTrackingId){if(_pageTracker)
_pageTracker._trackPageview(link);}}catch(e){logTrack({linkFailed:link,error:e});}}
var addTrans=function(orderId,total,affiliate){try{if(googleTrackingId){if(_pageTracker)
_pageTracker._addTrans(orderId,affiliate,total,"0","0","-","-","Germany");}}catch(e){logTrack({linkFailed:'addTrans',error:e});}}
var addItem=function(orderId,carparkId,carparkName,total){try{if(googleTrackingId){if(_pageTracker)
_pageTracker._addItem(orderId,carparkId,carparkName,"Parken",total,"1");}}catch(e){logTrack({linkFailed:'addItem',error:e});}}
var commitTransaction=function(){try{if(googleTrackingId){if(_pageTracker)
_pageTracker._trackTrans();}}catch(e){logTrack({linkFailed:'commitTransaction',error:e});}}