/*!
 * jQuery UI 1.8.13
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.13",
keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,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,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();
b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,
"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",
function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,
outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,"tabindex"),d=isNaN(b);
return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=
0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
;/*!
 * jQuery UI Widget 1.8.13
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
;/*!
 * jQuery UI Mouse 1.8.13
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Mouse
 *
 * Depends:
 *	jquery.ui.widget.js
 */
(function(b){var d=false;b(document).mousedown(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"?b(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
;/*
 * jQuery UI Slider 1.8.13
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=a.values&&a.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
this.orientation+" ui-widget ui-widget-content ui-corner-all"+(a.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(a.range){if(a.range===true){if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(a.range==="min"||a.range==="max"?" ui-slider-range-"+a.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
this.handles=c.add(d(e.join("")).appendTo(b.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!b.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");i=b._start(g,l);if(i===false)return}break}m=b.options.step;i=b.options.values&&b.options.values.length?
(h=b.values(l)):(h=b.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=b._valueMin();break;case d.ui.keyCode.END:h=b._valueMax();break;case d.ui.keyCode.PAGE_UP:h=b._trimAlignValue(i+(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(i-(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===b._valueMax())return;h=b._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===b._valueMin())return;h=b._trimAlignValue(i-
m);break}b._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(g,k);b._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
return this},_mouseCapture:function(b){var a=this.options,c,f,e,j,g;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:b.pageX,y:b.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(a.range===true&&this.values(1)===a.min){g+=1;e=d(this.handles[g])}if(this._start(b,g)===false)return false;
this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();a=e.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-e.width()/2,top:b.pageY-a.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(b,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(b){var a=
this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a;if(this.orientation==="horizontal"){a=
this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);
c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var f;if(this.options.values&&this.options.values.length){f=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>f||a===1&&c<f))c=f;if(c!==this.values(a)){f=this.values();f[a]=c;b=this._trigger("slide",b,{handle:this.handles[a],value:c,values:f});this.values(a?0:1);b!==false&&this.values(a,c,true)}}else if(c!==this.value()){b=this._trigger("slide",b,{handle:this.handles[a],value:c});
b!==false&&this.value(c)}},_stop:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("stop",b,c)},_change:function(b,a){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("change",b,c)}},value:function(b){if(arguments.length){this.options.value=
this._trimAlignValue(b);this._refreshValue();this._change(null,0)}else return this._value()},values:function(b,a){var c,f,e;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(b):
this.value();else return this._values()},_setOption:function(b,a){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(b){case "disabled":if(a){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var b=this.options.value;return b=this._trimAlignValue(b)},_values:function(b){var a,c;if(arguments.length){a=this.options.values[b];
return a=this._trimAlignValue(a)}else{a=this.options.values.slice();for(c=0;c<a.length;c+=1)a[c]=this._trimAlignValue(a[c]);return a}},_trimAlignValue:function(b){if(b<=this._valueMin())return this._valueMin();if(b>=this._valueMax())return this._valueMax();var a=this.options.step>0?this.options.step:1,c=(b-this._valueMin())%a;alignValue=b-c;if(Math.abs(c)*2>=a)alignValue+=c>0?a:-a;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},
_refreshValue:function(){var b=this.options.range,a=this.options,c=this,f=!this._animateOff?a.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},a.animate);
if(h===1)c.range[f?"animate":"css"]({width:e-g+"%"},{queue:false,duration:a.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},a.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:a.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,
1)[f?"animate":"css"]({width:e+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.13"})})(jQuery);
;
/*!
 * jCarousel - Riding carousels with jQuery
 *   http://sorgalla.com/jcarousel/
 *
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 * Inspired by the "Carousel Component" by Bill Scott
 *   http://billwscott.com/carousel/
 */
(function(g){var q={vertical:!1,rtl:!1,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initCallback:null,setupCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,animationStepCallback:null,buttonNextHTML:"<div></div>",buttonPrevHTML:"<div></div>",buttonNextEvent:"click",buttonPrevEvent:"click", buttonNextCallback:null,buttonPrevCallback:null,itemFallbackDimension:null},m=!1;g(window).bind("load.jcarousel",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autoStopped=this.locked=!1;this.buttonPrevState=this.buttonNextState=this.buttonPrev=this.buttonNext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr("dir")||g("html").attr("dir")||"").toLowerCase()=="rtl";this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical? this.options.rtl?"right":"left":"top";for(var b="",d=a.className.split(" "),f=0;f<d.length;f++)if(d[f].indexOf("jcarousel-skin")!=-1){g(a).removeClass(d[f]);b=d[f];break}a.nodeName.toUpperCase()=="UL"||a.nodeName.toUpperCase()=="OL"?(this.list=g(a),this.clip=this.list.parents(".jcarousel-clip"),this.container=this.list.parents(".jcarousel-container")):(this.container=g(a),this.list=this.container.find("ul,ol").eq(0),this.clip=this.container.find(".jcarousel-clip"));if(this.clip.size()===0)this.clip= this.list.wrap("<div></div>").parent();if(this.container.size()===0)this.container=this.clip.wrap("<div></div>").parent();b!==""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1&&this.container.wrap('<div class=" '+b+'"></div>');this.buttonPrev=g(".jcarousel-prev",this.container);if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext= g(".jcarousel-next",this.container);if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);this.buttonNext.addClass(this.className("jcarousel-next"));this.clip.addClass(this.className("jcarousel-clip")).css({position:"relative"});this.list.addClass(this.className("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);this.container.addClass(this.className("jcarousel-container")).css({position:"relative"}); !this.options.vertical&&this.options.rtl&&this.container.addClass("jcarousel-direction-rtl").attr("dir","rtl");var j=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible):null,b=this.list.children("li"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+"px");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css("display","block");this.buttonNext.css("display","block");this.buttonPrev.css("display", "block");this.funcNext=function(){e.next()};this.funcPrev=function(){e.prev()};this.funcResize=function(){e.resizeTimer&&clearTimeout(e.resizeTimer);e.resizeTimer=setTimeout(function(){e.reload()},100)};this.options.initCallback!==null&&this.options.initCallback(this,"init");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:"0.2.8"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevLast= this.prevFirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizeTimer=this.timer=null;this.inTail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+"px");var a=this.pos(this.options.start,!0);this.prevFirst=this.prevLast=null;this.animate(a,!1);g(window).unbind("resize.jcarousel",this.funcResize).bind("resize.jcarousel",this.funcResize);this.options.setupCallback!==null&&this.options.setupCallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, "0px");this.list.css(this.wh,"10px");this.options.initCallback!==null&&this.options.initCallback(this,"reset");this.setup()},reload:function(){this.tail!==null&&this.inTail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=!1;this.options.reloadCallback!==null&&this.options.reloadCallback(this);if(this.options.visible!==null){var a=this,c=Math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children("li").each(function(f){b+=a.dimension(this, c);f+1<a.first&&(d=b)});this.list.css(this.wh,b+"px");this.list.css(this.lt,-d+"px")}this.scroll(this.first,!1)},lock:function(){this.locked=!0;this.buttons()},unlock:function(){this.locked=!1;this.buttons()},size:function(a){if(a!==void 0)this.options.size=a,this.locked||this.buttons();return this.options.size},has:function(a,c){if(c===void 0||!c)c=a;if(this.options.size!==null&&c>this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasClass("jcarousel-item-placeholder"))return!1}return!0}, get:function(a){return g(">.jcarousel-item-"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodeName.toUpperCase()=="LI"?(b.replaceWith(p),b=p):b.empty().append(c);this.format(b.removeClass(this.className("jcarousel-item-placeholder")),a);p=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))-d+"px");this.list.css(this.wh,f.intval(this.list.css(this.wh))+d+"px");return b},remove:function(a){var c=this.get(a);if(c.length&&!(a>=this.first&&a<=this.last)){var b=this.dimension(c);a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+b+"px");c.remove();this.list.css(this.wh,f.intval(this.list.css(this.wh))-b+"px")}},next:function(){this.tail!==null&&!this.inTail?this.scrollTail(!1): this.scroll((this.options.wrap=="both"||this.options.wrap=="last")&&this.options.size!==null&&this.last==this.options.size?1:this.first+this.options.scroll)},prev:function(){this.tail!==null&&this.inTail?this.scrollTail(!0):this.scroll((this.options.wrap=="both"||this.options.wrap=="first")&&this.options.size!==null&&this.first==1?this.options.size:this.first-this.options.scroll)},scrollTail:function(a){if(!this.locked&&!this.animating&&this.tail){this.pauseAuto();var c=f.intval(this.list.css(this.lt)), c=!a?c-this.tail:c+this.tail;this.inTail=!a;this.prevFirst=this.first;this.prevLast=this.last;this.animate(c)}},scroll:function(a,c){!this.locked&&!this.animating&&(this.pauseAuto(),this.animate(this.pos(a),c))},pos:function(a,c){var b=f.intval(this.list.css(this.lt));if(this.locked||this.animating)return b;this.options.wrap!="circular"&&(a=a<1?1:this.options.size&&a>this.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!="circular"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++e<a;){h=this.get(e);k=!h.length;if(h.length===0&&(h=this.create(e).addClass(this.className("jcarousel-item-placeholder")),j[d?"before":"after"](h),this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap=="circular"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addClass(this.className("jcarousel-item-placeholder"));if(j.length===0)this.list.prepend(h);else j[d?"before":"after"](h);if(this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw Error("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting..."); this.options.wrap!="circular"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h<m.length;h++)m[h].remove();i>0&&(this.list.css(this.wh,this.dimension(this.list)+i+"px"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+"px")));i=a+o-1;if(this.options.wrap!="circular"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!="circular"&&e<1&&(e=1);if(this.inTail&&d)b+=this.tail,this.inTail=!1;this.tail=null;if(this.options.wrap!="circular"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?"marginRight":"marginBottom")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.inTail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevFirst=this.first;this.prevLast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autoStopped&&(b.options.wrap=="circular"||b.options.wrap=="both"||b.options.wrap=="last"||b.options.size===null||b.last<b.options.size||b.last==b.options.size&&b.tail!==null&&!b.inTail)&&b.startAuto();b.buttons();b.notify("onAfterAnimation");if(b.options.wrap=="circular"&&b.options.size!==null)for(var c=b.prevFirst;c<=b.prevLast;c++)c!==null&&!(c>=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify("onBeforeAnimation");if(!this.options.animation||c===!1)this.list.css(this.lt,a+"px"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isFunction(this.options.animationStepCallback))d.step=this.options.animationStepCallback;this.list.animate(f,d)}}},startAuto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopAuto();if(this.timer===null){this.autoStopped= !1;var c=this;this.timer=window.setTimeout(function(){c.next()},this.options.auto*1E3)}},stopAuto:function(){this.pauseAuto();this.autoStopped=!0},pauseAuto:function(){if(this.timer!==null)window.clearTimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="first"||this.options.size===null||this.last<this.options.size),!this.locked&&(!this.options.wrap||this.options.wrap=="first")&&this.options.size!==null&& this.last>=this.options.size))a=this.tail!==null&&!this.inTail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="last"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.inTail;var b=this;this.buttonNext.size()>0?(this.buttonNext.unbind(this.options.buttonNextEvent+".jcarousel",this.funcNext),a&&this.buttonNext.bind(this.options.buttonNextEvent+".jcarousel",this.funcNext), this.buttonNext[a?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",a?!1:!0),this.options.buttonNextCallback!==null&&this.buttonNext.data("jcarouselstate")!=a&&this.buttonNext.each(function(){b.options.buttonNextCallback(b,this,a)}).data("jcarouselstate",a)):this.options.buttonNextCallback!==null&&this.buttonNextState!=a&&this.options.buttonNextCallback(b,null,a);this.buttonPrev.size()>0?(this.buttonPrev.unbind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev), c&&this.buttonPrev.bind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev),this.buttonPrev[c?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",c?!1:!0),this.options.buttonPrevCallback!==null&&this.buttonPrev.data("jcarouselstate")!=c&&this.buttonPrev.each(function(){b.options.buttonPrevCallback(b,this,c)}).data("jcarouselstate",c)):this.options.buttonPrevCallback!==null&&this.buttonPrevState!=c&&this.options.buttonPrevCallback(b,null,c);this.buttonNextState= a;this.buttonPrevState=c},notify:function(a){var c=this.prevFirst===null?"init":this.prevFirst<this.first?"next":"prev";this.callback("itemLoadCallback",a,c);this.prevFirst!==this.first&&(this.callback("itemFirstInCallback",a,c,this.first),this.callback("itemFirstOutCallback",a,c,this.prevFirst));this.prevLast!==this.last&&(this.callback("itemLastInCallback",a,c,this.last),this.callback("itemLastOutCallback",a,c,this.prevLast));this.callback("itemVisibleInCallback",a,c,this.first,this.last,this.prevFirst, this.prevLast);this.callback("itemVisibleOutCallback",a,c,this.prevFirst,this.prevLast,this.first,this.last)},callback:function(a,c,b,d,f,j,e){if(!(this.options[a]==null||typeof this.options[a]!="object"&&c!="onAfterAnimation")){var h=typeof this.options[a]=="object"?this.options[a][c]:this.options[a];if(g.isFunction(h)){var i=this;if(d===void 0)h(i,b,c);else if(f===void 0)this.get(d).each(function(){h(i,this,d,b,c)});else for(var a=function(a){i.get(a).each(function(){h(i,this,a,b,c)})},k=d;k<=f;k++)k!== null&&!(k>=j&&k<=e)&&a(k)}}},create:function(a){return this.format("<li></li>",a)},format:function(a,c){for(var a=g(a),b=a.get(0).className.split(" "),d=0;d<b.length;d++)b[d].indexOf("jcarousel-")!=-1&&a.removeClass(b[d]);a.addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-"+c)).css({"float":this.options.rtl?"right":"left","list-style":"none"}).attr("jcarouselindex",c);return a},className:function(a){return a+" "+a+(!this.options.vertical?"-horizontal":"-vertical")}, dimension:function(a,c){var b=g(a);if(c==null)return!this.options.vertical?b.outerWidth(!0)||f.intval(this.options.itemFallbackDimension):b.outerHeight(!0)||f.intval(this.options.itemFallbackDimension);else{var d=!this.options.vertical?c-f.intval(b.css("marginLeft"))-f.intval(b.css("marginRight")):c-f.intval(b.css("marginTop"))-f.intval(b.css("marginBottom"));g(b).css(this.wh,d+"px");return this.dimension(b)}},clipping:function(){return!this.options.vertical?this.clip[0].offsetWidth-f.intval(this.clip.css("borderLeftWidth"))- f.intval(this.clip.css("borderRightWidth")):this.clip[0].offsetHeight-f.intval(this.clip.css("borderTopWidth"))-f.intval(this.clip.css("borderBottomWidth"))},index:function(a,c){if(c==null)c=this.options.size;return Math.round(((a-1)/c-Math.floor((a-1)/c))*c)+1}});f.extend({defaults:function(a){return g.extend(q,a||{})},intval:function(a){a=parseInt(a,10);return isNaN(a)?0:a},windowLoaded:function(){m=!0}});g.fn.jcarousel=function(a){if(typeof a=="string"){var c=g(this).data("jcarousel"),b=Array.prototype.slice.call(arguments, 1);return c[a].apply(c,b)}else return this.each(function(){var b=g(this).data("jcarousel");b?(a&&g.extend(b.options,a),b.reload()):g(this).data("jcarousel",new f(this,a))})}})(jQuery);
/**
 * jQuery gMap
 *
 * @url		http://gmap.nurtext.de/
 * @author	Cedric Kastner <cedric@nur-text.de>
 * @version	1.1.0
 */
(function($){eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(q($){$.G.H=q(d){6(!19.N||!N()){I J}K e=$.1a({},$.G.H.O,d);I J.1b(q(){$8=5 1c(J);$D=5 1d();6(e.p){$D.L(e.p,q(a){$8.v(a,e.r)})}s{6(e.t&&e.u){$8.v(5 M(e.t,e.u),e.r)}s{6($.h(e.k)&&e.k.w>0){6(e.k[0].p){$D.L(e.k[0].p,q(a){$8.v(a,e.r)})}s{$8.v(5 M(e.k[0].t,e.k[0].u),e.r)}}s{$8.v(5 M(E.1e,9.1f),e.r)}}}$8.1g(e.P);6(e.x.w==0){$8.1h()}s{Q(K i=0;i<e.x.w;i++){1i("$8.1j(5 "+e.x[i]+"());")}}6(e.R==S&&e.x.w!=0){$8.1k()}Q(K j=0;j<e.k.w;j++){3=e.k[j];7=5 1l();7.y=e.4.y;7.z=e.4.z;7.T=($.h(e.4.l))?5 F(e.4.l[0],e.4.l[1]):e.4.l;7.U=($.h(e.4.m))?5 F(e.4.m[0],e.4.m[1]):e.4.m;7.V=($.h(e.4.n))?5 A(e.4.n[0],e.4.n[1]):e.4.n;7.W=($.h(e.4.o))?5 A(e.4.o[0],e.4.o[1]):e.4.o;6(3.4){7.y=3.4.y;7.z=3.4.z;7.T=($.h(3.4.l))?5 F(3.4.l[0],3.4.l[1]):3.4.l;7.U=($.h(3.4.m))?5 F(3.4.m[0],3.4.m[1]):3.4.m;7.V=($.h(3.4.n))?5 A(3.4.n[0],3.4.n[1]):3.4.n;7.W=($.h(3.4.o))?5 A(3.4.o[0],3.4.o[1]):3.4.o}6(3.p){6(3.f=="1m"){3.f=3.p}$D.L(3.p,q(b,c){I q(a){g=5 X(a,b);6(c.f){g.Y(e.B+c.f+e.C)}6(c.f&&c.Z){g.10(e.B+c.f+e.C)}6(g){$8.11(g)}}}(7,3))}s{6(3.f=="1n"){3.f=3.t+", "+3.u}g=5 X(5 A(3.u,3.t),7);6(3.f){g.Y(e.B+3.f+e.C)}6(3.f&&3.Z){g.10(e.B+3.f+e.C)}6(g){$8.11(g)}}}})};$.G.H.O={p:"",t:0,u:0,r:1,k:[],x:[],R:S,P:1o,B:\'<12 1p="1q">\',C:"</12>",4:{y:"13://14.15.16/17/3.18",z:"13://14.15.16/17/1r.18",l:[1s,E],m:[1t,E],n:[9,E],o:[9,2]}}})(1u);',62,93,'|||marker|icon|new|if|gicon|gmap|||||||html|gmarker|isArray|||markers|iconsize|shadowsize|iconanchor|infowindowanchor|address|function|zoom|else|latitude|longitude|setCenter|length|controls|image|shadow|GPoint|html_prepend|html_append|geocoder|34|GSize|fn|gMap|return|this|var|getLatLng|GLatLng|GBrowserIsCompatible|defaults|maptype|for|scrollwheel|true|iconSize|shadowSize|iconAnchor|infoWindowAnchor|GMarker|bindInfoWindowHtml|popup|openInfoWindowHtml|addOverlay|div|http|www|google|com|mapfiles|png|window|extend|each|GMap2|GClientGeocoder|885931|84375|setMapType|setUIToDefault|eval|addControl|enableScrollWheelZoom|GIcon|_address|_latlng|G_NORMAL_MAP|class|gmap_marker|shadow50|20|37|jQuery'.split('|'),0,{}))})(jQuery);
/*!
 * jQuery Form Plugin
 * version: 2.83 (11-JUL-2011)
 * @requires jQuery v1.3.2 or later
 *
 * Examples and documentation at: http://malsup.com/jquery/form/
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function(b){b.fn.ajaxSubmit=function(d){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}var c,p,f,g=this;if(typeof d=="function"){d={success:d}}c=this.attr("method");p=this.attr("action");f=(typeof p==="string")?b.trim(p):"";f=f||window.location.href||"";if(f){f=(f.match(/^([^#]+)/)||[])[1]}d=b.extend(true,{url:f,success:b.ajaxSettings.success,type:c||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},d);var j={};this.trigger("form-pre-serialize",[this,d,j]);if(j.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(d.beforeSerialize&&d.beforeSerialize(this,d)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var o,i,w=this.formToArray(d.semantic);if(d.data){d.extraData=d.data;for(o in d.data){if(d.data[o] instanceof Array){for(var r in d.data[o]){w.push({name:o,value:d.data[o][r]})}}else{i=d.data[o];i=b.isFunction(i)?i():i;w.push({name:o,value:i})}}}if(d.beforeSubmit&&d.beforeSubmit(w,this,d)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[w,this,d,j]);if(j.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var m=b.param(w);if(d.type.toUpperCase()=="GET"){d.url+=(d.url.indexOf("?")>=0?"&":"?")+m;d.data=null}else{d.data=m}var x=[];if(d.resetForm){x.push(function(){g.resetForm()})}if(d.clearForm){x.push(function(){g.clearForm()})}if(!d.dataType&&d.target){var e=d.success||function(){};x.push(function(n){var k=d.replaceTarget?"replaceWith":"html";b(d.target)[k](n).each(e,arguments)})}else{if(d.success){x.push(d.success)}}d.success=function(y,n,z){var v=d.context||d;for(var q=0,k=x.length;q<k;q++){x[q].apply(v,[y,n,z||g,g])}};var t=b("input:file",this).length>0;var s="multipart/form-data";var l=(g.attr("enctype")==s||g.attr("encoding")==s);if(d.iframe!==false&&(t||d.iframe||l)){if(d.closeKeepAlive){b.get(d.closeKeepAlive,function(){h(w)})}else{h(w)}}else{if(b.browser.msie&&c=="get"){var u=g[0].getAttribute("method");if(typeof u==="string"){d.type=u}}b.ajax(d)}this.trigger("form-submit-notify",[this,d]);return this;function h(T){var y=g[0],v,P,J,R,M,A,E,C,D,N,Q,H;var B=!!b.fn.prop;if(T){for(P=0;P<T.length;P++){v=b(y[T[P].name]);v[B?"prop":"attr"]("disabled",false)}}if(b(":input[name=submit],:input[id=submit]",y).length){alert('Error: Form elements must not have name or id of "submit".');return}J=b.extend(true,{},b.ajaxSettings,d);J.context=J.context||J;M="jqFormIO"+(new Date().getTime());if(J.iframeTarget){A=b(J.iframeTarget);N=A.attr("name");if(N==null){A.attr("name",M)}else{M=N}}else{A=b('<iframe name="'+M+'" src="'+J.iframeSrc+'" />');A.css({position:"absolute",top:"-1000px",left:"-1000px"})}E=A[0];C={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(n){var W=(n==="timeout"?"timeout":"aborted");a("aborting upload... "+W);this.aborted=1;A.attr("src",J.iframeSrc);C.error=W;J.error&&J.error.call(J.context,C,W,n);R&&b.event.trigger("ajaxError",[C,J,W]);J.complete&&J.complete.call(J.context,C,W)}};R=J.global;if(R&&!b.active++){b.event.trigger("ajaxStart")}if(R){b.event.trigger("ajaxSend",[C,J])}if(J.beforeSend&&J.beforeSend.call(J.context,C,J)===false){if(J.global){b.active--}return}if(C.aborted){return}D=y.clk;if(D){N=D.name;if(N&&!D.disabled){J.extraData=J.extraData||{};J.extraData[N]=D.value;if(D.type=="image"){J.extraData[N+".x"]=y.clk_x;J.extraData[N+".y"]=y.clk_y}}}var I=1;var F=2;function G(W){var n=W.contentWindow?W.contentWindow.document:W.contentDocument?W.contentDocument:W.document;return n}function O(){var Y=g.attr("target"),W=g.attr("action");y.setAttribute("target",M);if(!c){y.setAttribute("method","POST")}if(W!=J.url){y.setAttribute("action",J.url)}if(!J.skipEncodingOverride&&(!c||/post/i.test(c))){g.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(J.timeout){H=setTimeout(function(){Q=true;L(I)},J.timeout)}function Z(){try{var n=G(E).readyState;a("state = "+n);if(n.toLowerCase()=="uninitialized"){setTimeout(Z,50)}}catch(ab){a("Server abort: ",ab," (",ab.name,")");L(F);H&&clearTimeout(H);H=undefined}}var X=[];try{if(J.extraData){for(var aa in J.extraData){X.push(b('<input type="hidden" name="'+aa+'" />').attr("value",J.extraData[aa]).appendTo(y)[0])}}if(!J.iframeTarget){A.appendTo("body");E.attachEvent?E.attachEvent("onload",L):E.addEventListener("load",L,false)}setTimeout(Z,15);y.submit()}finally{y.setAttribute("action",W);if(Y){y.setAttribute("target",Y)}else{g.removeAttr("target")}b(X).remove()}}if(J.forceSync){O()}else{setTimeout(O,10)}var U,V,S=50,z;function L(aa){if(C.aborted||z){return}try{V=G(E)}catch(ad){a("cannot access response document: ",ad);aa=F}if(aa===I&&C){C.abort("timeout");return}else{if(aa==F&&C){C.abort("server abort");return}}if(!V||V.location.href==J.iframeSrc){if(!Q){return}}E.detachEvent?E.detachEvent("onload",L):E.removeEventListener("load",L,false);var Y="success",ac;try{if(Q){throw"timeout"}var X=J.dataType=="xml"||V.XMLDocument||b.isXMLDoc(V);a("isXml="+X);if(!X&&window.opera&&(V.body==null||V.body.innerHTML=="")){if(--S){a("requeing onLoad callback, DOM not available");setTimeout(L,250);return}}var ae=V.body?V.body:V.documentElement;C.responseText=ae?ae.innerHTML:null;C.responseXML=V.XMLDocument?V.XMLDocument:V;if(X){J.dataType="xml"}C.getResponseHeader=function(ah){var ag={"content-type":J.dataType};return ag[ah]};if(ae){C.status=Number(ae.getAttribute("status"))||C.status;C.statusText=ae.getAttribute("statusText")||C.statusText}var n=J.dataType||"";var ab=/(json|script|text)/.test(n.toLowerCase());if(ab||J.textarea){var Z=V.getElementsByTagName("textarea")[0];if(Z){C.responseText=Z.value;C.status=Number(Z.getAttribute("status"))||C.status;C.statusText=Z.getAttribute("statusText")||C.statusText}else{if(ab){var W=V.getElementsByTagName("pre")[0];var af=V.getElementsByTagName("body")[0];if(W){C.responseText=W.textContent?W.textContent:W.innerHTML}else{if(af){C.responseText=af.innerHTML}}}}}else{if(J.dataType=="xml"&&!C.responseXML&&C.responseText!=null){C.responseXML=K(C.responseText)}}try{U=k(C,J.dataType,J)}catch(aa){Y="parsererror";C.error=ac=(aa||Y)}}catch(aa){a("error caught: ",aa);Y="error";C.error=ac=(aa||Y)}if(C.aborted){a("upload aborted");Y=null}if(C.status){Y=(C.status>=200&&C.status<300||C.status===304)?"success":"error"}if(Y==="success"){J.success&&J.success.call(J.context,U,"success",C);R&&b.event.trigger("ajaxSuccess",[C,J])}else{if(Y){if(ac==undefined){ac=C.statusText}J.error&&J.error.call(J.context,C,Y,ac);R&&b.event.trigger("ajaxError",[C,J,ac])}}R&&b.event.trigger("ajaxComplete",[C,J]);if(R&&!--b.active){b.event.trigger("ajaxStop")}J.complete&&J.complete.call(J.context,C,Y);z=true;if(J.timeout){clearTimeout(H)}setTimeout(function(){if(!J.iframeTarget){A.remove()}C.responseXML=null},100)}var K=b.parseXML||function(n,W){if(window.ActiveXObject){W=new ActiveXObject("Microsoft.XMLDOM");W.async="false";W.loadXML(n)}else{W=(new DOMParser()).parseFromString(n,"text/xml")}return(W&&W.documentElement&&W.documentElement.nodeName!="parsererror")?W:null};var q=b.parseJSON||function(n){return window["eval"]("("+n+")")};var k=function(aa,Y,X){var W=aa.getResponseHeader("content-type")||"",n=Y==="xml"||!Y&&W.indexOf("xml")>=0,Z=n?aa.responseXML:aa.responseText;if(n&&Z.documentElement.nodeName==="parsererror"){b.error&&b.error("parsererror")}if(X&&X.dataFilter){Z=X.dataFilter(Z,Y)}if(typeof Z==="string"){if(Y==="json"||!Y&&W.indexOf("json")>=0){Z=q(Z)}else{if(Y==="script"||!Y&&W.indexOf("javascript")>=0){b.globalEval(Z)}}}return Z}}};b.fn.ajaxForm=function(c){if(this.length===0){var d={s:this.selector,c:this.context};if(!b.isReady&&d.s){a("DOM not ready, queuing ajaxForm");b(function(){b(d.s,d.c).ajaxForm(c)});return this}a("terminating; zero elements found by selector"+(b.isReady?"":" (DOM not ready)"));return this}return this.ajaxFormUnbind().bind("submit.form-plugin",function(f){if(!f.isDefaultPrevented()){f.preventDefault();b(this).ajaxSubmit(c)}}).bind("click.form-plugin",function(j){var i=j.target;var g=b(i);if(!(g.is(":submit,input:image"))){var f=g.closest(":submit");if(f.length==0){return}i=f[0]}var h=this;h.clk=i;if(i.type=="image"){if(j.offsetX!=undefined){h.clk_x=j.offsetX;h.clk_y=j.offsetY}else{if(typeof b.fn.offset=="function"){var k=g.offset();h.clk_x=j.pageX-k.left;h.clk_y=j.pageY-k.top}else{h.clk_x=j.pageX-i.offsetLeft;h.clk_y=j.pageY-i.offsetTop}}}setTimeout(function(){h.clk=h.clk_x=h.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(q){var p=[];if(this.length===0){return p}var d=this[0];var g=q?d.getElementsByTagName("*"):d.elements;if(!g){return p}var k,h,f,r,e,m,c;for(k=0,m=g.length;k<m;k++){e=g[k];f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f,value:b(e).val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(h=0,c=r.length;h<c;h++){p.push({name:f,value:r[h]})}}else{if(r!==null&&typeof r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var l=b(d.clk),o=l[0];f=o.name;if(f&&!o.disabled&&o.type=="image"){p.push({name:f,value:l.val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}return p};b.fn.formSerialize=function(c){return b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var c=[];this.each(function(){var h=this.name;if(!h){return}var f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof f!="undefined"){c.push({name:this.name,value:f})}}});return b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return g};b.fieldValue=function(c,j){var e=c.name,p=c.type,q=c.tagName.toLowerCase();if(j===undefined){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return o}m.push(o)}}return m}return b(c).val()};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){var c=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var e=this.type,d=this.tagName.toLowerCase();if(c.test(e)||d=="textarea"){this.value=""}else{if(e=="checkbox"||e=="radio"){this.checked=false}else{if(d=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c===undefined){c=true}return this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c===undefined){c=true}return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function a(){var c="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(c)}else{if(window.opera&&window.opera.postError){window.opera.postError(c)}}}})(jQuery);

(function($){
	$.fn.equalizeHeights = function(){
	  return this.css('min-height', Math.max.apply(this, $(this).map(function(i,e){ return $(e).height()+2 }).get()));
	};
})(jQuery);

$.fn.tabsShowHide = function() {
	return this.each(function() {
		var wrapper = $(this).addClass('show-hide');
		var tabNav = $('<ul class="tab-nav"></ul>').prependTo(wrapper);
		wrapper.find('> h3').each(function() {
			tabNav.append('<li><a href="#">' +$(this).text() +'</a></li>');
			$(this).remove();
		});
		wrapper.find('.tab-content').hide().first().show();
		tabNav.find('li').first().addClass('active');
		tabNav.find('a').click(function(e) {
			if (!$(this).parent().hasClass('active')) {
				var id = tabNav.find('> li').index($(this).parent());
			
				tabNav.find('> li.active').removeClass('active');
				tabNav.find('> li').eq(id).addClass('active');
			
				wrapper.find('.tab-content:visible').removeClass('active').hide();
				wrapper.find('.tab-content').eq(id).addClass('active').fadeIn();
			}

			e.preventDefault();
		});
	});
};

$.fn.boxMerge = function() {
	return this.each(function() {
		var wrapper = $(this);
		
		var tempContent = wrapper.find('.box-content').wrapInner('<div class="tab-content" />').eq(0).html();
		wrapper.find('.box-content').eq(1).prepend(tempContent);
		wrapper.find('.box-content').eq(0).remove();
		
	});
};

(function($){
	$.fn.navJustify = function(){
		return this.each(function() {
			var wrapper = $(this),
				minItemsNumber = 6,
				navItemsWidth = 0, excess = 0,
				navItemsNumber = wrapper.find('li').size(),
				navItemPadding = 0; navItemPaddingExcess = 0;
				
			wrapper.children('li').each(function() {
				navItemsWidth += $(this).outerWidth(false);
			});
				
			
			if ( (excess = wrapper.outerWidth() - navItemsWidth) > 0 && navItemsNumber > minItemsNumber ) {
				wrapper.addClass('justified').children('li').last().addClass('last');
				navItemPadding = Math.floor( 0.5 * (excess / navItemsNumber) );
				navItemPaddingExcess = Math.floor( 0.5 * excess%navItemsNumber );
				
				wrapper.find('> li > a').each(function(index) {
					var paddingLeft = parseInt($(this).css('padding-left').replace("px",""),10);
					var paddingRight = parseInt($(this).css('padding-right').replace("px",""),10);
					
					if (index <= navItemPaddingExcess) {
						paddingLeft++;
						paddingRight++;
					}
					
					$(this).css('padding-left',paddingLeft+navItemPadding +"px");
					$(this).css('padding-right',paddingRight+navItemPadding +"px");
				});
			}
		});
	};
})(jQuery);

$.fn.navDropdown = function() {
	var duration = 250;
	return this.each(function() {
		var wrapper = $(this).addClass('dropdown');
		wrapper.children('li').each(function() {
			$(this).find('.group').equalizeHeights();
		});
		wrapper.find('> li > div').hide().css('left','0');
		var activeItem = wrapper.find('.active');
		
		wrapper.children('li').hover(function() {
			if ($(this).children('div').length) {
				wrapper.addClass('dropdown-hover');
			}
			activeItem.removeClass('active');
			$(this).addClass('hover').children('div').stop(true,true).show();
		});
		
		wrapper.children('li').mouseleave(function() {
			wrapper.removeClass('dropdown-hover');
			$(this).removeClass('hover').children('div').stop(true,true).hide();
			activeItem.addClass('active');
		});
		
		wrapper.children('li').each(function() {
			if ($(this).children('div').length) {
				$(this).addClass('trigger');
			}
			$(this).children('a').append('<span class="border left"></span><span class="border right"></span>');
		});
	});
};

(function($){
	$.fn.inputSlider = function(options) {
		return this.each(function() {
			var wrapper = $('<div class="slider-wrapper"></div>'),
				input = $(this).hide(),
				minValue = input.attr("min") ? parseInt(input.attr("min"),10) : 10,
				maxValue = input.attr("max") ? parseInt(input.attr("max"),10) : 1000,
				step = input.attr("step") ? parseInt(input.attr("step"),10) : 100,
				startValue = input.val() ? input.val() : 0,
				label = input.prev('label'),
				dataUnit = input.attr("data-units"),
				sliderValue = $('<span class="ui-slider-value"></span>'),
				limit = $('<p class="ui-slider-scale"><span class="min">' +minValue +'</span> <span class="max">' +maxValue +'</span></p>');
				slider = $('<div></div>');

			input.wrap(wrapper);
			wrapper = input.closest('.slider-wrapper');
			if (input.is(':disabled')) {
				wrapper.addClass('disabled').css("opacity",".45");
			}
			label.add(slider).add(sliderValue).add(limit).insertBefore(input);
			slider.wrap('<div class="ui-slider-limiter" />');
			
			limit.find('span').each(function() {
				var element = $(this),
					bgWidth = 5,
					elementWidth = 0;
				
				element.append(dataUnit);
				
				if (element.outerWidth()%bgWidth > 0) {
					elementWidth = bgWidth * (Math.floor( element.width()/bgWidth ) + 1);
					element.css('width',elementWidth +"px");
				}
			});
			
			slider.slider({
				value:	startValue,
				min:	minValue,
				max:	maxValue,
				step:	step,
				create: function(event, ui) {
					sliderValue.text(input.val() +' ' +dataUnit);
				},
				slide: function(event, ui) {
					sliderValue.text(ui.value +' ' +dataUnit);
				},
				change: function(event, ui) {
					input.val(ui.value);
				},
				start: function(event, ui) {
					if (input.attr('id') == 'suchen-preis') {
						input.removeAttr("disabled").parent().removeClass('disabled').css("opacity","1");
						$('#suchen-rate').attr("disabled","disabled").parent().addClass('disabled').css("opacity",".45");
					}
					if (input.attr('id') == 'suchen-rate') {
						input.removeAttr("disabled").parent().removeClass('disabled').css("opacity","1");
						$('#suchen-preis').attr("disabled","disabled").parent().addClass('disabled').css("opacity",".45");
					}
				}
			});
		});
	};
})(jQuery);

(function($){
	$.fn.gMapInit = function(){
		return this.each(function() {
			var wrapper = $(this),
				latitude =  wrapper.find('.latitude').text(),
				longitude = wrapper.find('.longitude').text(),
				zoom = wrapper.find('.zoom').text();
            
            var makerArr = [];
            
            wrapper.find('.location').each(function() {
                makerArr.push({
                                address: $(this).find('.loc-address').text(),
                                html: $(this).find('.loc-desc').text()
                });
            });
                
			wrapper.gMap({ markers: makerArr, latitude: latitude, longitude: longitude,  zoom: parseInt(zoom)});
		});
	};
})(jQuery);

(function($){
	$.fn.loadImage = function() {
		return this.each(function() {
			var wrapper = $(this),
				image = $('<img />');
			
			wrapper.wrap('<div class="image-container" />').hover(
				function() {
					image.hide().attr("src",wrapper.attr('rel')).fadeIn();
					wrapper.after(image);
				},
				function() {
					image.fadeOut(function(){
						$(this).remove();
					});
				}
			);
			
		});
	};
})(jQuery);

(function($){
	$.fn.listClickable = function() {
		return this.each(function() {
			var newLocation = $(this).find('td:first-child a').attr('href');
			$(this).addClass('trigger').bind('click', function() {
				window.location = newLocation;
			});
			$(this).find('a').bind('click', function(event) {
				event.stopPropagation();
			});
		});
	};
})(jQuery);

(function($){
	$.fn.vehicleData = function() {
		return this.each(function() {
			var wrapper = $(this),
				radios = wrapper.find($('.vehicle-data > li:first-child input[type="radio"]'));
		
			radios.change(function() {
				var actionUrl = $(this).attr("metadata"),
					form = $(this).closest('form');
				
				form.attr("action",actionUrl).submit();
			});
		});
	};
})(jQuery);

(function($){
	$.modal = function(options) {
	
		var settings = {
			'url':null,
			'content':null,
			'header':null,
			'iframe':false,
			'ajaxForm':false,
			'ajaxSelector':'',
			'modalClass':'modal',
			'closeText':'Close'
		};
	
		if (options) { 
			$.extend(settings, options);
		}
	
		var body = $('body'),
			modalOverlay = $('<div class="modal-overlay"></div>').appendTo(body).hide(),
			modalBox = $('<div class="modal-box"></div>').insertAfter(modalOverlay).hide().addClass(settings.modalClass),
			modalHeader = $('<div class="modal-header"></div>').appendTo(modalBox),
			modalClose = $('<a href="#" class="close">' +settings.closeText +'</a>').prependTo(modalHeader),
			modalContent = $('<div class="modal-content"></div>').appendTo(modalBox),
			modalBoxOverlay = $('<div class="overlay"></div>').appendTo(modalContent).hide(),
			modalBlocker = $('<iframe src="javascript:false;"></iframe>').css("opacity","0").appendTo(modalOverlay),
			modalLoading = $('<span class="modal-loading"></span>').appendTo(modalOverlay);
			
			
		modalBox.bind('close', function() {
			modalOverlay.add(modalBox).fadeOut(function() {
				modalOverlay.add(modalBox).remove();
				body.removeClass('modal');
				$('.banner iframe').css("opacity","1");
			});
		});
		
		body.addClass('modal');
		modalOverlay.fadeIn();
		$('.container iframe').css("opacity","0");
		
		if (settings.url !== null && !settings.iframe) {
			$.ajax({
				url: settings.url,
				type: "GET",
				timeout: 4000,
				dataType: "html",
				error: function(jqXHR, textStatus, errorThrown) {
					modalLoading.fadeOut();
					modalBox.addClass('error');
					modalHeader.append('<h1>Error</h1>');
					modalContent.append('<p>'+textStatus +'</p>');
					modalBox.fadeIn();
				},
				success: function(data, textStatus, jqXHR) {
					var responseText = data,
						rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
						requestContent = $('<div>').append(responseText.replace(rscript, "")).find(settings.ajaxSelector).unwrap();
						
					modalLoading.fadeOut();
					modalContent.append(requestContent).find('h1').appendTo(modalHeader);
					if (settings.ajaxForm) {
						var closeButton = $('<a href="#" class="button">Fenster schliessen</a>').click(function() {
								modalBox.trigger('close');
							});
						
						modalContent.find('form').ajaxForm({
							timeout:1000,
							dataType:'json',
							beforeSubmit: function() {
								modalBoxOverlay.fadeIn();
							},
							success: function(responseText, statusText, xhr, $form) {
								modalBoxOverlay.fadeOut(function() {
									modalHeader.find('h1').text('Vielen Dank!');
									modalContent.empty().append('<p>' +responseText['response']['result'] +'</p>').append(closeButton).wrapInner('<div class="response"></div>');
								});
							}
						});
					}
					modalBox.fadeIn();
				}
			});
		} else if (settings.url !== null && settings.iframe) {
			modalBox.addClass('iframe');
			modalBoxOverlay.show();
			var	iframe = $('<iframe src="' +settings.url +'"></iframe>').appendTo(modalContent).load(function() {
				modalBoxOverlay.fadeOut();
			});
			modalBox.fadeIn();
		} else if (settings.content !== null) {
			modalContent.append(settings.content);
			modalBox.fadeIn();
		}
		
		if (settings.header !== null) {
			modalHeader.append(settings.header);
		}
		
		modalClose.click(function() {
			modalBox.trigger('close');
			return false;
		});
		
		$(document).keydown(function(e) {
			if (e.which == 27) {
				modalBox.trigger('close');
			}
		});
		
	};
})(jQuery);


(function($){
	$.fn.gallery = function() {
		return this.each(function() {
			var wrapper = $(this),
				thumbs = wrapper.find('.thumbs'),
				imageContainer = wrapper.find('.image'),
				overlay = $('<div class="overlay"></div>').appendTo(imageContainer).hide(),
				image = imageContainer.find('img').first();
				
			thumbs.find('a').click(function() {
			
				var dummyImage = $('<img />');
			
				if ($(this).parent().hasClass('active')) {
					return false;
				}
				
				thumbs.find('.active').removeClass('active');
				$(this).parent().addClass('active');
				
				dummyImage.attr("src",$(this).attr("href")).one('load', function() {
					image.attr("src",$(this).attr("src"));
				}).each(function() {
					if (this.complete) {
						$(this).trigger('load');
					}
				});
				
				return false;
			});
		});
	};
})(jQuery);

(function($){
	$.fn.galleryModal = function() {
		return this.each(function() {
			var imageContainer = $(this).find('.image').addClass('trigger'),
				image = imageContainer.find('img'),
				thumbs = $(this).find('.thumbs'),
				trigger = $('<a href="#" class="gallery-trigger" title="XXL">Gallery</a>').appendTo(imageContainer),
				triggerKey = $('<a href="#" class="gallery-trigger-key more"><span>XXL Bilder</span> <em>&raquo;</em></a>').insertAfter(thumbs),
				galleryHeader = $('<ul></ul>'),
				wrapper = $(this).closest('#content'),
				title = wrapper.find('h1').first().text().split(' • '),
				subtitle = wrapper.find('.details-header p').first().text();
			
			$.each(title, function(index, value) {
				galleryHeader.append('<li>'+title[index] +'</li>');
			});
			
			galleryHeader.append('<li>'+subtitle +'</li>');
			
			trigger.add(triggerKey).add(image).click(function() {
				
				var modalThumbs = thumbs.clone(),
					modalGallery = $('<div></div>').append(modalThumbs),
					modalImageContainer = $('<div class="image"></div>').prependTo(modalGallery),
					prevButton = $('<a href="#" title="Nächste" class="prev"><span></span> vorheriges Bild</a>').appendTo(modalImageContainer),
					nextButton = $('<a href="#" title="Vorheriges" class="next"><span></span> nächstes Bild</a>').appendTo(modalImageContainer),
					thumbActiveIndex = modalThumbs.children('li').index(modalThumbs.children('.active')),
					thumbsSize = modalThumbs.children('li').length;		
				
				modalImageContainer.prepend('<img src="' +image.attr("src").replace("l.jpg","xl.jpg") +'" />');
				
                                var index = modalThumbs.children('li').index(modalThumbs.children('.active'));
                                if(index==-1) {
                                    modalThumbs.children('li').first().addClass('active')
                                }
				nextButton.add(prevButton).click(function() {
                                    
					var index = modalThumbs.children('li').index(modalThumbs.children('.active'));
					if (index < thumbsSize -1 && $(this).is(nextButton)) {
						index++;
					} else if (index >= 0 && $(this).is(prevButton)) {
						index--;
					} else if (index == 0 && $(this).is(prevButton)) {
						index = thumbsSize - 1;
					} else if (index == thumbsSize - 1 && $(this).is(nextButton)) {
						index = 0;
					}
                                        
					modalThumbs.children('li').eq(index).children('a').trigger('click');

					return false;
				});
				
				$.modal({
					'header':galleryHeader,
					'closeText':'x&nbsp;&nbsp;&nbsp;schließen',
					'modalClass':'gallery-modal',
					'content':modalGallery,
					'gallery':true
				});

				modalGallery.gallery();
				
				modalThumbs.wrap('<div class="thumbs-container"></div>').find('a').each(function() {
					var newHref = $(this).attr("href").replace("l.jpg","xl.jpg");
					$(this).attr("href",newHref);
				}).end().jcarousel({
					buttonNextHTML:'<span href="#" title="Nächste">&raquo;</span>',
					buttonPrevHTML:'<span href="#" title="Vorhergehenden">&laquo;</span>'
				});
				
				return false;
			});
		});
	};
})(jQuery);

var kunzmannEngine = {

	start: function() {

		var bannerSlider = $('#banner.slider');
		
		function bannerCarouselInit(carousel,state) {
			var bannerSliderSize = bannerSlider.find('.jcarousel-item').length;
			
			bannerSlider.append('<span class="banner-border"></span>');
			
			var bannerNav = $('<ul id="banner-nav"></ul>').appendTo(bannerSlider);
			for (var i=1; i<=bannerSliderSize; i++) {
				bannerNav.append('<li><a href="#">' +i +'</a></li>');
			}
			bannerNav.find('li').first().addClass('active');
			bannerNav.find('a').click(function() {
				var bannerNavItemIndex = bannerNav.find('li').index($(this).parent());
				carousel.scroll($.jcarousel.intval(bannerNavItemIndex+1));
				return false;
			});
			
			carousel.clip.hover(function() {
				carousel.stopAuto();
			}, function() {
				carousel.startAuto();
			});
		};
		
		function bannerChangeSlide(carousel,item,idx,state) {
			var bannerNav = $('#banner-nav');
			bannerNav.find('li.active').removeClass('active');
			bannerNav.find('li').eq(idx-1).addClass('active');
		}
		
		bannerSlider.jcarousel({
			scroll: 1,
			auto: 5,
			wrap: 'last',
			initCallback: bannerCarouselInit,
			itemVisibleInCallback: {
				onBeforeAnimation: bannerChangeSlide
			},
			buttonNextHTML: null,
			buttonPrevHTML: null
		});

		$('.car-list').each(function() {
			var carList = $(this);
			var carListSize = 0;
			var nextButton = $('<a href="#" class="next"><span>Nächste</span></a>');
			var prevButton = $('<a href="#" class="prev"><span>Vorhergehenden</span></a>');
			
			function carListInit(carousel) {
				nextButton.appendTo(carList);
				prevButton.prependTo(carList);
				nextButton.click(function() {
					if (!$(this).hasClass('disabled')) {
						carousel.next();
					}
					return false;
				});
				prevButton.click(function() {
					if (!$(this).hasClass('disabled')) {
						carousel.prev();
					}
					return false;
				});
				carListSize = carList.find('.jcarousel-item').length;
			};
			function carListItemFirstIn(carousel, item, idx, state) {
				if (idx == 1) {
					prevButton.addClass('disabled').attr('tabindex','-1');
				}
			};
			function carListItemFirstOut(carousel, item, idx, state) {
				if (idx == 1) {
					prevButton.removeClass('disabled').attr('tabindex','0');
				}
			};
			function carListItemLastIn(carousel, item, idx, state) {
				if (idx == carListSize) {
					nextButton.addClass('disabled').attr('tabindex','-1');
				}
			};
			function carListItemLastOut(carousel, item, idx, state) {
				if (idx == carListSize) {
					nextButton.removeClass('disabled').attr('tabindex','0');
				}
			};
			
            
            
			
            
            
            
            
			carList.jcarousel({
				scroll: 3,
				vertical: true,
				initCallback: carListInit,
				itemFirstInCallback: carListItemFirstIn,
				itemFirstOutCallback: carListItemFirstOut,
				itemLastInCallback: carListItemLastIn,
				itemLastOutCallback: carListItemLastOut,
				buttonNextHTML: null,
				buttonPrevHTML: null
			});
		});
		
		$('#map').gMapInit();
		$('#nav').navJustify().navDropdown();
		$('input[type="number"]').inputSlider();
		$('#side-info').boxMerge();
		$('.top-items, #side-info').tabsShowHide();
		$('.news > li').equalizeHeights();
		$('.offer > li').equalizeHeights();
		$('.sales-list').find('a[rel]').loadImage();
		
		$('#car-info').each(function() {
			var wrapper = $(this),
				advancedFields = wrapper.find('.advanced').hide().addClass('disabled');
				
			if (advancedFields.length) {
				var advancedTrigger = $('<a class="more trigger" href="#"><span>Erweiterte Suche öffnen</span> <em>»</em></a>');
				
				advancedTrigger.appendTo($(this).find('fieldset').first()).click(function() {
					if (advancedFields.hasClass('disabled')) {
						advancedFields.show().removeClass('disabled');
						$(this).appendTo(advancedFields).find('span').text('Schließen Suche öffnen');
					} else {
						advancedFields.hide().addClass('disabled');
						$(this).appendTo(advancedFields.prev()).find('span').text('Erweiterte Suche öffnen');
					}
					return false;
				});
			}
		});
		
		var carInfoSelects = $('#car-info').find('select').slice(0,5);
		
		carInfoSelects.change(function() {
			var changedItemIndex = carInfoSelects.index($(this));
			carInfoSelects.each(function(index) {
				if (index > changedItemIndex) {
                                        //hits the selection, by select class and fahrzeugart
					//$(this).val(0);
				}
			});
			$(this).closest('form').submit();
		});
		
		$('.items-nav .disabled').css("opacity",".4").click(function() {
			return false;
		});
		
		$('.offer > .sold .offer-info').add('.offer > .sold > img').not('.ribbon').css("opacity",".45");
		$('.info-content > .mod:last-child').addClass('last');
		$('.garage-table tbody td:nth-child(odd)').addClass('odd');
		$('.garage-table .values tr:last-child th, .garage-table .values tr:last-child td').addClass('last');
		
		$('#callback-trigger').click(function() {
			$.modal({
				'url':$(this).attr("href"),
				'ajaxSelector':'#callback-service',
				'ajaxForm':true,
				'closeText':'[&nbsp;x&nbsp;] Fenster schliessen'
			});
			return false;
		});
		
		$('#gebrauchtwagen-trigger').click(function() {
			$.modal({
				'url':$(this).attr("href"),
				'ajaxSelector':'#gebrauchtwagen',
				'closeText':'[&nbsp;x&nbsp;] Fenster schliessen'
			});
			return false;
		});
		
		$('#servicetermin-trigger').click(function() {
			$.modal({
				'url':$(this).attr("href"),
				'iframe':true,
				'closeText':'[&nbsp;x&nbsp;] Fenster schliessen'
			});
			return false;
		});
		
        
		$('#guaranty-trigger').click(function() {
			$.modal({
				'url':$(this).attr("href"),
				'ajaxSelector':'.main',
			//	'ajaxForm':true,
				'closeText':'[&nbsp;x&nbsp;] Fenster schliessen'
			});
			return false;
		});
        
		$('.gallery').gallery();
		$('.details .gallery').galleryModal();
		
		$('.sales-list tbody tr').listClickable();
		
		$('#vehicle-data').vehicleData();
        
        filterKlasse();
        
        $('#wc-marke select').bind('change', function() {
            filterKlasse();
        });
            
    	function filterKlasse() {
    		var hId = $('#wc-marke select').val();
            $('#wc-klasse select optgroup').hide();
            $("#typeid-optgroup-"+hId).show();
    	};
		
		$('#advanced-search input[type="reset"]').bind('click', function(e) {
			var wrapper = $(this).closest('form');
			
			wrapper.find('select').val(0).end().find('input[type="text"]').val("");
			
            e.preventDefault();
        });
		
	}
    
        
    
};

$(document).ready(function() {
	kunzmannEngine.start();
});
