(function(a){a.extend(a.fn,{validate:function(c){if(!this.length){c&&c.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}var b=a.data(this[0],"validator");if(b){return b}b=new a.validator(c,this[0]);a.data(this[0],"validator",b);if(b.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){b.cancelSubmit=true});if(b.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){b.submitButton=this})}this.submit(function(d){if(b.settings.debug){d.preventDefault()}function e(){if(b.settings.submitHandler){if(b.submitButton){var f=a("<input type='hidden'/>").attr("name",b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm)}b.settings.submitHandler.call(b,b.currentForm);if(b.submitButton){f.remove()}return false}return true}if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b},valid:function(){if(a(this[0]).is("form")){return this.validate().form()}else{var c=true;var b=a(this[0].form).validate();this.each(function(){c&=b.element(this)});return c}},removeAttrs:function(b){var c={},d=this;a.each(b.split(/\s/),function(f,e){c[e]=d.attr(e);d.removeAttr(e)});return c},rules:function(g,j){var d=this[0];if(g){var e=a.data(d.form,"validator").settings;var c=e.rules;var h=a.validator.staticRules(d);switch(g){case"add":a.extend(h,a.validator.normalizeRule(j));c[d.name]=h;if(j.messages){e.messages[d.name]=a.extend(e.messages[d.name],j.messages)}break;case"remove":if(!j){delete c[d.name];return h}var k={};a.each(j.split(/\s/),function(m,l){k[l]=h[l];delete h[l]});return k}}var b=a.validator.normalizeRules(a.extend({},a.validator.metadataRules(d),a.validator.classRules(d),a.validator.attributeRules(d),a.validator.staticRules(d)),d);if(b.required){var f=b.required;delete b.required;b=a.extend({required:f},b)}return b}});a.extend(a.expr[":"],{blank:function(b){return !a.trim(b.value)},filled:function(b){return !!a.trim(b.value)},unchecked:function(b){return !b.checked}});a.validator=function(c,b){this.settings=a.extend({},a.validator.defaults,c);this.currentForm=b;this.init()};a.validator.format=function(c,b){if(arguments.length==1){return function(){var d=a.makeArray(arguments);d.unshift(c);return a.validator.format.apply(this,d)}}if(arguments.length>2&&b.constructor!=Array){b=a.makeArray(arguments).slice(1)}if(b.constructor!=Array){b=[b]}a.each(b,function(d,e){c=c.replace(new RegExp("\\{"+d+"\\}","g"),e)});return c};a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(b){this.lastActive=b;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,b,this.settings.errorClass,this.settings.validClass);this.errorsFor(b).hide()}},onfocusout:function(b){if(!this.checkable(b)&&(b.name in this.submitted||!this.optional(b))){this.element(b)}},onkeyup:function(b){if(b.name in this.submitted||b==this.lastElement){this.element(b)}},onclick:function(b){if(b.name in this.submitted){this.element(b)}},highlight:function(b,d,c){a(b).addClass(d).removeClass(c)},unhighlight:function(b,d,c){a(b).removeClass(d).addClass(c)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gültiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=a(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm);this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=(this.groups={});a.each(this.settings.groups,function(f,e){a.each(e.split(/\s/),function(h,g){b[g]=f})});var c=this.settings.rules;a.each(c,function(f,e){c[f]=a.validator.normalizeRule(e)});function d(f){var e=a.data(this[0].form,"validator");e.settings["on"+f.type]&&e.settings["on"+f.type].call(e,this[0])}a(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",d).delegate("click",":radio, :checkbox",d);if(this.settings.invalidHandler){a(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();a.extend(this.submitted,this.errorMap);this.invalid=a.extend({},this.errorMap);if(!this.valid()){a(this.currentForm).triggerHandler("invalid-form",[this])}this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var b=0,c=(this.currentElements=this.elements());c[b];b++){this.check(c[b])}return this.valid()},element:function(c){c=this.clean(c);this.lastElement=c;this.prepareElement(c);this.currentElements=a(c);var b=this.check(c);if(b){delete this.invalid[c.name]}else{this.invalid[c.name]=true}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)}this.showErrors();return b},showErrors:function(c){if(c){a.extend(this.errorMap,c);this.errorList=[];for(var b in c){this.errorList.push({message:c[b],element:this.findByName(b)[0]})}this.successList=a.grep(this.successList,function(d){return !(d.name in c)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){if(a.fn.resetForm){a(this.currentForm).resetForm()}this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(d){var b=0;for(var c in d){b++}return b},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()}catch(b){}}},findLastActive:function(){var b=this.lastActive;return b&&a.grep(this.errorList,function(c){return c.element.name==b.name}).length==1&&b},elements:function(){var b=this,c={};return a([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in c||!b.objectLength(a(this).rules())){return false}c[this.name]=true;return true})},clean:function(b){return a(b)[0]},errors:function(){return a(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=a([]);this.toHide=a([]);this.formSubmitted=false;this.currentElements=a([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(b){this.reset();this.toHide=this.errorsFor(b)},check:function(c){c=this.clean(c);if(this.checkable(c)){c=this.findByName(c.name)[0]}var g=a(c).rules();var f=false;for(method in g){var b={method:method,parameters:g[method]};try{var h=a.validator.methods[method].call(this,c.value.replace(/\r/g,""),c,b.parameters);if(h=="dependency-mismatch"){f=true;continue}f=false;if(h=="pending"){this.toHide=this.toHide.not(this.errorsFor(c));return}if(!h){this.formatAndAdd(c,b);return false}}catch(d){this.settings.debug&&window.console&&console.log("exception occured when checking element "+c.id+", check the '"+b.method+"' method");throw d}}if(f){return}if(this.objectLength(g)){this.successList.push(c)}return true},customMetaMessage:function(b,c){if(!a.metadata){return}var d=this.settings.meta?a(b).metadata()[this.settings.meta]:a(b).metadata();return d&&d.messages&&d.messages[c]},customMessage:function(d,c){var b=this.settings.messages[d];return b&&(b.constructor==String?b:b[c])},findDefined:function(){for(var b=0;b<arguments.length;b++){if(arguments[b]!==undefined){return arguments[b]}}return undefined},defaultMessage:function(c,b){return this.findDefined(this.customMessage(c.name,b),this.customMetaMessage(c,b),!this.settings.ignoreTitle&&c.title||undefined,a.validator.messages[b],"<strong>Warning: No message defined for "+c.name+"</strong>")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method);if(typeof d=="function"){d=d.call(this,c.parameters,b)}this.errorList.push({message:d,element:b});this.errorMap[b.name]=d;this.submitted[b.name]=d},addWrapper:function(b){if(this.settings.wrapper){b=b.add(b.parent(this.settings.wrapper))}return b},defaultShowErrors:function(){for(var c=0;this.errorList[c];c++){var b=this.errorList[c];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length){this.toShow=this.toShow.add(this.containers)}if(this.settings.success){for(var c=0;this.successList[c];c++){this.showLabel(this.successList[c])}}if(this.settings.unhighlight){for(var c=0,d=this.validElements();d[c];c++){this.settings.unhighlight.call(this,d[c],this.settings.errorClass,this.settings.validClass)}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d=this.errorsFor(b);if(d.length){d.removeClass().addClass(this.settings.errorClass);d.attr("generated")&&d.html(c)}else{d=a("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(b),generated:true}).addClass(this.settings.errorClass).html(c||"");if(this.settings.wrapper){d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()}if(!this.labelContainer.append(d).length){this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b)}}if(!c&&this.settings.success){d.text("");typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow=this.toShow.add(d)},errorsFor:function(b){return this.errors().filter("[for='"+this.idOrName(b)+"']")},idOrName:function(b){return this.groups[b.name]||(this.checkable(b)?b.name:b.id||b.name)},checkable:function(b){return/radio|checkbox/i.test(b.type)},findByName:function(c){var b=this.currentForm;return a(document.getElementsByName(c)).map(function(e,d){return d.form==b&&d.name==c&&d||null})},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c)){return this.findByName(c.name).filter(":checked").length}}return b.length},depend:function(b,c){return this.dependTypes[typeof b]?this.dependTypes[typeof b](b,c):true},dependTypes:{"boolean":function(b,c){return b},string:function(b,c){return !!a(b,c.form).length},"function":function(b,c){return b(c)}},optional:function(b){return !a.validator.methods.required.call(this,a.trim(b.value),b)&&"dependency-mismatch"},startRequest:function(b){if(!this.pending[b.name]){this.pendingRequest++;this.pending[b.name]=true}},stopRequest:function(c,b){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0}delete this.pending[c.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){a(this.currentForm).submit()}else{if(!b&&this.pendingRequest==0&&this.formSubmitted){a(this.currentForm).triggerHandler("invalid-form",[this])}}},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(b,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(b,c){b.constructor==String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={};var d=a(b).attr("class");d&&a.each(d.split(" "),function(){if(this in a.validator.classRuleSettings){a.extend(c,a.validator.classRuleSettings[this])}});return c},attributeRules:function(b){var c={};var d=a(b);for(method in a.validator.methods){var e=d.attr(method);if(e){c[method]=e}}if(c.maxlength&&/-1|2147483647|524288/.test(c.maxlength)){delete c.maxlength}return c},metadataRules:function(c){if(!a.metadata){return{}}var b=a.data(c.form,"validator").settings.meta;return b?a(c).metadata()[b]:a(c).metadata()},staticRules:function(b){var d={};var c=a.data(b.form,"validator");if(c.settings.rules){d=a.validator.normalizeRule(c.settings.rules[b.name])||{}}return d},normalizeRules:function(b,c){a.each(b,function(e,f){if(f===false){delete b[e];return}if(f.param||f.depends){var d=true;switch(typeof f.depends){case"string":d=!!a(f.depends,c.form).length;break;case"function":d=f.depends.call(c,c);break}if(d){b[e]=f.param!==undefined?f.param:true}else{delete b[e]}}});a.each(b,function(e,d){b[e]=a.isFunction(d)?d(c):d});a.each(["minlength","maxlength","min","max"],function(){if(b[this]){b[this]=Number(b[this])}});a.each(["rangelength","range"],function(){if(b[this]){b[this]=[Number(b[this][0]),Number(b[this][1])]}});if(a.validator.autoCreateRanges){if(b.min&&b.max){b.range=[b.min,b.max];delete b.min;delete b.max}if(b.minlength&&b.maxlength){b.rangelength=[b.minlength,b.maxlength];delete b.minlength;delete b.maxlength}}if(b.messages){delete b.messages}return b},normalizeRule:function(b){if(typeof b=="string"){var c={};a.each(b.split(/\s/),function(){c[this]=true});b=c}return b},addMethod:function(d,c,b){a.validator.methods[d]=c;a.validator.messages[d]=b||a.validator.messages[d];if(c.length<3){a.validator.addClassRules(d,a.validator.normalizeRule(d))}},methods:{required:function(e,b,c){if(!this.depend(c,b)){return"dependency-mismatch"}switch(b.nodeName.toLowerCase()){case"select":var d=a("option:selected",b);return d.length>0&&(b.type=="select-multiple"||(a.browser.msie&&!(d[0].attributes.value.specified)?d[0].text:d[0].value).length>0);case"input":if(this.checkable(b)){return this.getLength(e,b)>0}default:return a.trim(e).length>0}},remote:function(e,b,d){if(this.optional(b)){return"dependency-mismatch"}var g=this.previousValue(b);if(!this.settings.messages[b.name]){this.settings.messages[b.name]={}}this.settings.messages[b.name].remote=typeof g.message=="function"?g.message(e):g.message;d=typeof d=="string"&&{url:d}||d;if(g.old!==e){g.old=e;var f=this;this.startRequest(b);var c={};c[b.name]=e;a.ajax(a.extend(true,{url:d,mode:"abort",port:"validate"+b.name,dataType:"json",data:c,success:function(l){var h=l===true;if(h){var k=f.formSubmitted;f.prepareElement(b);f.formSubmitted=k;f.successList.push(b);f.showErrors()}else{var j={};j[b.name]=g.message=l||f.defaultMessage(b,"remote");f.showErrors(j)}g.valid=h;f.stopRequest(b,h)}},d));return"pending"}else{if(this.pending[b.name]){return"pending"}}return g.valid},minlength:function(d,b,c){return this.optional(b)||this.getLength(a.trim(d),b)>=c},maxlength:function(d,b,c){return this.optional(b)||this.getLength(a.trim(d),b)<=c},rangelength:function(e,b,d){var c=this.getLength(a.trim(e),b);return this.optional(b)||(c>=d[0]&&c<=d[1])},min:function(d,b,c){return this.optional(b)||d>=c},max:function(d,b,c){return this.optional(b)||d<=c},range:function(d,b,c){return this.optional(b)||(d>=c[0]&&d<=c[1])},email:function(b,c){return this.optional(c)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(b)},url:function(b,c){return this.optional(c)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(b)},date:function(b,c){return this.optional(c)||!/Invalid|NaN/.test(new Date(b))},dateISO:function(b,c){return this.optional(c)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(b)},dateDE:function(b,c){return this.optional(c)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(b)},number:function(b,c){return this.optional(c)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(b)},numberDE:function(b,c){return this.optional(c)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(b)},digits:function(b,c){return this.optional(c)||/^\d+$/.test(b)},creditcard:function(f,d){if(this.optional(d)){return"dependency-mismatch"}if(/[^0-9-]+/.test(f)){return false}var c=0,b=0,e=false;f=f.replace(/\D/g,"");for(n=f.length-1;n>=0;n--){var g=f.charAt(n);var b=parseInt(g,10);if(e){if((b*=2)>9){b-=9}}c+=b;e=!e}return(c%10)==0},accept:function(d,b,c){c=typeof c=="string"?c.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||d.match(new RegExp(".("+c+")$","i"))},equalTo:function(d,b,c){return d==a(c).val()}}});a.format=a.validator.format})(jQuery);(function(b){var c=b.ajax;var a={};b.ajax=function(e){e=b.extend(e,b.extend({},b.ajaxSettings,e));var d=e.port;if(e.mode=="abort"){if(a[d]){a[d].abort()}return(a[d]=c.apply(this,arguments))}return c.apply(this,arguments)}})(jQuery);(function(a){a.each({focus:"focusin",blur:"focusout"},function(b,c){a.event.special[c]={setup:function(){if(a.browser.msie){return false}this.addEventListener(b,a.event.special[c].handler,true)},teardown:function(){if(a.browser.msie){return false}this.removeEventListener(b,a.event.special[c].handler,true)},handler:function(d){arguments[0]=a.event.fix(d);arguments[0].type=c;return a.event.handle.apply(this,arguments)}}});a.extend(a.fn,{delegate:function(c,d,b){return this.bind(c,function(f){var e=a(f.target);if(e.is(d)){return b.apply(e,arguments)}})},triggerEvent:function(c,b){return this.triggerHandler(c,[a.event.fix({type:c,target:b})])}})})(jQuery);$(function(){$.validator.addMethod("greaterthantodaydate",function(d,b){if(a($(b))){var c=isGreaterThanTodaysDate(d);if(c){return true}else{return false}}else{return true}},"");function a(b){return b.is(":visible")&&b.parents(":not(:visible)").length==0}$.validator.addMethod("isdate",function(b,c){return IsValidDate(b)},"");$("#pkgCheckAvailability").validate({errorLabelContainer:"#lblMessage",rules:{CountryTextBox:{required:true},DestinationTextBox:{required:true}},messages:{CountryTextBox:{required:"Enter country<br/>"},DestinationTextBox:{required:"Enter destination<br/>"}},invalidHandler:function(c,b){$("div#diverrmsg").show();$.unblockUI()},unhighlight:function(c,b){if(this.numberOfInvalids()<1){$("div#diverrmsg").hide()}else{$.unblockUI()}}})});function InitializeDateCtls(){CreateDateCtl("StartDateTextBox",function(){OnStartDateChange_CallBack("StartDateTextBox","EndDateTextBox")});CreateDateCtl("EndDateTextBox",null);CreateDateCtl("CheckinDateTextBox_1",null);CreateDateCtl("CheckinDateTextBox_2",null);CreateDateCtl("CheckinDateTextBox_3",null);CreateDateCtl("CheckinDateTextBox_4",null);CreateDateCtl("CheckinDateTextBox_5",null);CreateDateCtl("OPRStartDateTextBox",function(){OnStartDateChange_CallBack("OPRStartDateTextBox","OPREndDateTextBox")},{minDate:0});CreateDateCtl("OPREndDateTextBox",null);CreateDateCtl("OPRCheckinDateTextBox_1",null,{minDate:0});CreateDateCtl("OPRCheckinDateTextBox_2",null,{minDate:0});CreateDateCtl("OPRCheckinDateTextBox_3",null,{minDate:0});CreateDateCtl("OPRCheckinDateTextBox_4",null,{minDate:0});CreateDateCtl("OPRCheckinDateTextBox_5",null,{minDate:0})}function convertToBool(a){a=a.toString().toLowerCase();if(a=="true"||a=="1"){return true}else{return false}}var submitted=false;function InitializeValidations(){var a=$("#MenuSelectedHidden").attr("producttypevalue");if(a==21||a==27){$("#frm_21_Search").validate({errorLabelContainer:"#lblMessage",errorClass:"error",rules:{LeavingFromTextBox:{required:"#LeavingFromTextBox:visible"},GoingToTextBox:{required:"#GoingToTextBox:visible"},DepartureDateTextBox:{required:"#DepartureDateTextBox:visible",isdate:"#DepartureDateTextBox:visible",greaterthantodaydate:"#DepartureDateTextBox:visible"},ReturnDateTextBox:{isdate:true,greaterthantodaydate:true},OriginTextBox_1:{required:"#OriginTextBox_1:visible"},DestinationTextBox_1:{required:"#DestinationTextBox_1:visible"},StartDateTextBox:{required:"#StartDateTextBox:visible",isdate:true,greaterthantodaydate:true},EndDateTextBox:{required:"#StartDateTextBox:visible",isdate:true,greaterthantodaydate:true},CheckinDateTextBox_1:{required:"#CheckinDateTextBox_1:visible",isdate:true,greaterthantodaydate:true},CheckinDateTextBox_2:{isdate:true,greaterthantodaydate:true},CheckinDateTextBox_3:{isdate:true,greaterthantodaydate:true},CheckinDateTextBox_4:{isdate:true,greaterthantodaydate:true},CheckinDateTextBox_5:{isdate:true,greaterthantodaydate:true},hdnIsMemberSelected:{validateagencymemberselect:true}},messages:{LeavingFromTextBox:{required:"Enter Leaving From."},GoingToTextBox:{required:"Enter Going To."},StartDateTextBox:{required:"Enter Departure date.",isdate:"Enter valid Departure date.",greaterthantodaydate:"Departure Date should be greater than todays date."},EndDateTextBox:{required:"Enter valid Return Date.",isdate:"Enter valid Return date.",greaterthantodaydate:"Return Date should be greater than todays date."},DepartureDateTextBox:{required:"Enter Departure date.",isdate:"Enter valid Departure date.",greaterthantodaydate:"Departure Date should be greater than todays date."},ReturnDateTextBox:{isdate:"Enter valid Return Date.",greaterthantodaydate:"Return Date should be greater than todays date."},OriginTextBox_1:{required:"Enter Leaving From."},DestinationTextBox_1:{required:"Enter Going To."},CheckinDateTextBox_1:{required:"Enter Departure date.",isdate:"Enter valid Departure date.",greaterthantodaydate:"Departure Date should be greater than todays date."},CheckinDateTextBox_2:{isdate:"Enter valid Departure date.",greaterthantodaydate:"Departure Date should be greater than todays date."},CheckinDateTextBox_3:{isdate:"Enter valid Departure date.",greaterthantodaydate:"Departure Date should be greater than todays date."},CheckinDateTextBox_4:{isdate:"Enter valid Departure date.",greaterthantodaydate:"Departure Date should be greater than todays date."},CheckinDateTextBox_5:{isdate:"Enter valid Departure date.",greaterthantodaydate:"Departure Date should be greater than todays date."},hdnIsMemberSelected:{validateagencymemberselect:"Select a member to  search."}},showErrors:function(d,b){if(submitted){var c="You have the following errors: \n";$.each(b,function(){c+=" * "+this.message+"\n"});alert(c);submitted=false}this.defaultShowErrors()},invalidHandler:function(c,b){submitted=true;$.unblockUI()},unhighlight:function(c,b){if(this.numberOfInvalids()==0){$("div#diverrmsg").hide()}else{$.unblockUI()}$(c).removeClass(b)}})}else{$(function(){$("#frm_"+a+"_Search").validate({errorLabelContainer:"#lblMessage",errorClass:"error",rules:{CountryTextBox:{required:true},StartLocationTextBox:{required:true},StartDateTextBox:{required:true,isdate:true,greaterthantodaydate:!convertToBool($("#hdnIsCallCenter").val())},EndDateTextBox:{required:true,isdate:true,greaterthantodaydate:!convertToBool($("#hdnIsCallCenter").val())},EndLocationTextBox:{required:"#EndLocationTextBox:visible"},hdnIsMemberSelected:{validateagencymemberselect:true}},messages:{CountryTextBox:{required:$("#CountryTextBox").attr("requiredMessage")},StartLocationTextBox:{required:$("#StartLocationTextBox").attr("requiredMessage")},StartDateTextBox:{required:$("#StartDateTextBox").attr("requiredMessage"),isdate:$("#StartDateTextBox").attr("validdatemessage"),greaterthantodaydate:$("#StartDateTextBox").attr("greaterthantodaydate")},EndDateTextBox:{required:$("#EndDateTextBox").attr("requiredMessage"),isdate:$("#EndDateTextBox").attr("validdatemessage"),greaterthantodaydate:$("#EndDateTextBox").attr("greaterthantodaydate")},EndLocationTextBox:{required:$("#EndLocationTextBox").attr("requiredMessage")},hdnIsMemberSelected:{validateagencymemberselect:"Select a member to  search"}},showErrors:function(d,b){if(submitted){var c="You have the following errors: \n";$.each(b,function(){c+=" * "+this.message+"\n"});alert(c);submitted=false}},invalidHandler:function(c,b){submitted=true;$.unblockUI()},unhighlight:function(c,b){if(this.numberOfInvalids()==0){$("div#diverrmsg").hide()}else{$.unblockUI()}$(c).removeClass(b)}})})}}$(function(){$(".clutip").each(function(){$(this).cluetip({splitTitle:"|",dropShadow:false,cluetipClass:"rounded",showtitle:false})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false,showtitle:false,positionBy:"mouse"})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false,showtitle:false,positionBy:"bottomTop",topOffset:70})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false,sticky:true,ajaxCache:false,arrows:true})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false})});InitializeDateCtls();if(window.SetHeaderPosition){SetHeaderPosition()}$(".NoOfRoomsDropDownList").change(function(){var a=parseInt($(this).val());AddRooms(a,$(this).parents("FORM"))})});$(function(){var a="";a=$("#DefaultTabID").val();if(a!=null&&a!=""){$("#"+a).trigger("onclick")}});$(function(){var a=new Date();var b=(a.getFullYear()-100)+":"+a.getFullYear();CreateDateCtl("DateOfBirthTextBox",null,{maxDate:"now",yearRange:b,changeMonth:true,changeYear:true})});function OthersDropDownList_onChange(a){var b=$(a).attr("Id").replace("OthersDropDownList","");var c=parseInt($(a).val());AddOthers(b,c,$(a).parents("FORM"))}function AddOthers(b,a,g){var e=$(g).attr("Id");var c=0;var f=$(g).find("#tdOthersList"+b).find(".OthersDropDownList").length;if(a>f){for(i=1;i<=a-f;i++){var d=$("#HiddenContent #divOthersListContainer").clone();$(d).find("SELECT").each(function(){var h=$(this).attr("id");$(this).attr("id","OthersDropDownList"+b+"_"+(f+i));$(this).removeAttr("name");$(this).attr("NAME","OthersDropDownList"+b+"_"+(f+i))});d=$(d).html();$(d).appendTo($(g).find("#tdOthersList"+b))}}else{$("#tdOthersList"+b).find(".OthersDropDownList").each(function(){c++;if(c>a){$(this).remove()}})}}function NoOfChildsDropDownList_onChange(a){var c=$(a).attr("Id").replace("NoOfChildsDropDownList","");var b=parseInt($(a).val());AddChildAge(c,b,$(a).parents("FORM"))}function AddRooms(c,f){var b=10;var a=$(f).attr("Id");for(var d=1;d<=b;d++){if(d<=c&&$(f).find("#trRoom"+d).length==0){var e=$("#HiddenContent #divRoomContainer #tblRoomContainer").clone();$(e).find("TR.trRoom,INPUT,SELECT,TD").each(function(){var g=$(this).attr("id");$(this).attr("id",g+d);$(this).attr("name",g+d)});e=$(e).html();$(e).appendTo($(f).find("#trRoomDetails"));$(f).find("#trRoomDetails").find("#roomCount"+d).each(function(){$(this).html("Room "+d)})}else{if(d>c&&$(f).find("#trRoom"+d).length>0){$(f).find("#trRoom"+d).remove()}}}}function AddChildAge(d,e,f){var a=$(f).attr("Id");var b=0;var g=$(f).find("#tdChildAge"+d).find(".ChildAgeDropDownList").length;if(e>g){for(i=1;i<=e-g;i++){var c=$("#HiddenContent #divChildAgeContainer").clone();$(c).find("SELECT").each(function(){var h=$(this).attr("id");$(this).attr("id","ChildAgeDropDownList"+d+"_"+(g+i));$(this).removeAttr("name");$(this).attr("NAME","ChildAgeDropDownList"+d+"_"+(g+i))});c=$(c).html();$(c).appendTo($(f).find("#tdChildAge"+d))}}else{$("#tdChildAge"+d).find(".ChildAgeDropDownList").each(function(){b++;if(b>e){$(this).remove()}})}if(a=="frmProductDetails"){if($(f).find("#trRoomDetails .ChildAgeDropDownList").length>0){$(f).find("#Td").html("Age for each child:")}else{$(f).find("#Td").html("")}}else{if($(f).find("#trRoomDetails .ChildAgeDropDownList").length>0){$(f).find("#thAgeforeachchild").html("Age for each child:")}else{$(f).find("#thAgeforeachchild").html("")}}}function Package_CheckAvailability(e){var b=new serviceProxy();var d=$("#frmPackageDetails"+e);var c=d.attr("action");var a=d.serialize();a+="&packageId="+e;b.invoke(c,"POST",a,function(f){$("#package_availability"+e).html(f)});return false}function Product_CheckAvailability(b){var a=new serviceProxy();var e=$("#frmProductDetails");var c=e.attr("action");var d=e.serialize();d+="&productId="+b;a.invoke(c,"POST",d,function(f){$("#package_availability"+b).html(f)});return false}function FixedPackage_CheckAvailability(e){var b=new serviceProxy();var d=$("#frmFixedPackageDetails"+e);var c=d.attr("action");var a=d.serialize();a+="&packageId="+e;b.invoke(c,"POST",a,function(f){$("#package_availability"+e).html(f)});return false}function Expand_OnClick(a){var b=$(a).attr("rel");if($("#"+b).is(":visible")){$("#"+b).slideUp();$(a).html("View Itinerary");$(a).removeClass("pacoptviewexp");$(a).addClass("pacoptview")}else{$("#"+b).slideDown();$(a).html("Hide Itinerary");$(a).addClass("pacoptviewexp");$(a).removeClass("pacoptview")}}function Option_Change(a,g,j,r,c,q,d,e,l,o){var h=new serviceProxy();var p=$(c).attr("checked");var b=$("#frmPackageAvailability");var m=b.attr("action");var k="UniqueID="+l+"&optionid="+a+"&optionDetailId="+g+"&type="+j+"&day="+r+"&IsSelected="+p+"&elementId="+q+"&productid="+e+"&isSubstitutable="+o+"&packageid="+d;h.invoke("/Package/ChangeOptionDetails/","POST",k,function(f){$("#package_availability"+d).html(f);$("#option_"+a).slideDown()});return false}function option_night_change(b,p,d,a,e,g,l,q,j){var h=new serviceProxy();var o=$("OPTION:selected",d).val();var c=$("#frmPackageAvailability");var m=c.attr("action");var k="optionid="+b+"&day="+p+"&Id="+a+"&NoOfNights="+o+"&IsElement="+e+"&isPreStay="+l+"&isPostStay="+q+"&duration="+j+"&packageid="+g;h.invoke("ChangeNumberOfNights","POST",k,function(f){$("#package_availability"+g).html(f);$("#option_"+b).slideDown()});return false}$(".clutip").each(function(){$(this).cluetip({splitTitle:"|",dropShadow:false,cluetipClass:"rounded",showtitle:false})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false,showtitle:false,positionBy:"mouse"})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false,showtitle:false,positionBy:"bottomTop",topOffset:70})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false,sticky:true,ajaxCache:false,arrows:true})});$(".clutip").each(function(){$(this).cluetip({cluetipClass:"rounded",dropShadow:false})});$("#frmTellAFriend").validate({errorLabelContainer:"#diverrmsg",rules:{FromMailIdTextBox:{required:true,email:true},ToMailIdTextBox:{required:true,email:true},FromMailYourFriendName:{required:true},FromMailYourName:{required:true}},messages:{FromMailIdTextBox:{required:"Enter your Mail Id<br/>",email:"Enter valid Mail Id<br/>"},ToMailIdTextBox:{required:"Enter Your's Friend Email<br/>",email:"Enter valid Mail Id<br/>"},FromMailYourFriendName:{required:"Enter Your's Friend Name<br/>"},FromMailYourName:{required:"Enter Your Name<br/>"}},invalidHandler:function(b,a){$("div#diverrmsg").show()},unhighlight:function(b,a){if(this.numberOfInvalids()==0){$("div#diverrmsg").hide()}else{}}});$("#frmCallMe").validate({errorLabelContainer:"#diverrmsg",rules:{NameTextBox:{required:true},ContactNumberTextBox:{required:true},EmailTextBox:{required:true,email:true}},messages:{NameTextBox:{required:"Enter Your Name<br/>"},ContactNumberTextBox:{required:"Enter Your Contact Phone Number<br/>"},EmailTextBox:{required:"Enter Your Email Id<br/>",email:"Enter valid Email Id<br/>"}},invalidHandler:function(b,a){$("div#diverrmsg").show()},unhighlight:function(b,a){if(this.numberOfInvalids()==0){$("div#diverrmsg").hide()}else{}}});function InitializeImageGallery(b,e,c){Galleria.loadTheme("http://www.rezopiamedia.com/Frontend/includes/JQuery/src/themes/classic/galleria.classic.js");if(c=="false"){var a=e;var d=new Galleria.Flickr(a);d.getSet(b,{size:"big",description:false},function(f){$("#galleria").galleria({data_source:f,show_imagenav:true,extend:function(){var g=this;$("#nav a").click(function(h){h.preventDefault()});this.play(4000);$("#g_prev").click(function(){g.prev()});$("#g_next").click(function(){g.next()});$("#g_pause").click(function(){g.pause()});$("#g_fullscreen").click(function(){g.enterFullscreen()})}})})}else{$("#galleria").galleria({show_imagenav:true,extend:function(){var f=this;$("#nav a").click(function(g){g.preventDefault()});this.play(4000);$("#g_prev").click(function(){f.prev()});$("#g_next").click(function(){f.next()});$("#g_pause").click(function(){f.pause()});$("#g_fullscreen").click(function(){f.enterFullscreen()})}})}}function SelectPackageOption(a,c,e,b,d){var f=$("#frmPackageDetails"+c);$(f).find("#hdnPackageOptionID").val(a);$(f).find(".allpackageOptions").removeClass("selpkgact");$(f).find(".allpackageOptions").html(b);$(e).html("&nbsp;");$(e).addClass("selpkgact");if(d.toString().toLowerCase()=="true"){$("#divFixedPackageDates_"+c).slideDown();$("#divCheckAvailability_"+c).slideUp();displayFixedDates($("#a_"+$("#hdnDefaultSelectedMonth").val()),$("#hdnDefaultSelectedMonth").val(),c)}if($("#package_availability"+c).length>0){$("#package_availability"+c).html("")}}function displayFixedDates(a,b,e){var c=$("#frmPackageDetails"+e);var d=$("#hdnPackageOptionID").val();$("#hdnDefaultSelectedMonth").val(b);$(".fxdPackageMonths").removeClass("active");$(a).addClass("active");$(".fxdDateGropClass").hide();if(b!="SHOWALL"){$(".fxdDateGropClass").each(function(){if($(this).attr("GroupID")==b&&$(this).attr("PackageOptionID")==d){$(this).show()}})}else{$(".fxdDateGropClass").each(function(){if($(this).attr("PackageOptionID")==d){$(this).show()}})}}function SelectFPackageDate(b,a){b=$.datepicker.parseDate("mm/dd/yy",b);b=$.datepicker.formatDate(tenantDateFormatForJQuery,b,null);$("#FixedPackageDepartureDateTextBox").val(b);$("#spnFixedDateSelectedDate").html(b);$("#divFixedPackageDates_"+a).slideUp();$("#divCheckAvailability_"+a).slideDown();if($("#package_availability"+a).length>0){$("#package_availability"+a).html("")}}function ChangeFPackageDate(a){$("#divFixedPackageDates_"+a).slideDown();$("#divCheckAvailability_"+a).slideUp()}function AddCheckAvailabilityScript(){$(document).ready(function(){var c=parseInt($(".NoOfRoomsDropDownList").val());AddRooms(c,$(".NoOfRoomsDropDownList").parents("FORM"));var b=$("#hdnPassengerDetails").val().split("@@");for(index=0;index<b.length;index++){var d=b[index].split("#");$("#NoOfAdultsDropDownList"+d[0]).val(d[1]);$("#NoOfChildsDropDownList"+d[0]).val(d[2]);if(parseInt(d[2])>0){NoOfChildsDropDownList_onChange($("#NoOfChildsDropDownList"+d[0]));var a=d[3].split(",");for(cIndex=0;cIndex<a.length;cIndex++){$("#ChildAgeDropDownList"+d[0]+"_"+(cIndex+1)).val(a[cIndex])}}}if(b.length>0){$("#ankCheckAvailability").click()}})}function UpdateCheapestpriceDisplay(){var a=$("#hdnCheapestPrice").val();if(a!=""){$("#spnCheapestPrice").html(a)}}function ChangeOptionalItem(b,a,g,d,f,c){var h=new serviceProxy();var e="optionid="+a+"&primaryoptiondetailid="+g+"&dayindex="+d+"&type="+f+"&roomIndex="+c+"&packageid="+b;h.invoke("/Package/ChangeOptionalItem/","POST",e,function(j){$("#package_availability"+b).html(j);$("#option_"+a).slideDown()});return false}
/*
 * Galleria v 1.1.95 2010-08-06
 * http://galleria.aino.se
 *
 * Copyright (c) 2010, Aino
 * Licensed under the MIT license.
 */
(function(){var d=false,j=/xyz/.test(function(){xyz})?/\b__super\b/:/.*/,c=function(){},f=this;c.extend=function(m){var p=this.prototype;d=true;var k=new this();d=false;for(var l in m){if(l){k[l]=typeof m[l]=="function"&&typeof p[l]=="function"&&j.test(m[l])?(function(r,q){return function(){var s=this.__super;this.__super=p[r];var t=q.apply(this,arguments);this.__super=s;return t}})(l,m[l]):m[l]}}function o(){if(!d&&this.__constructor){this.__constructor.apply(this,arguments)}}o.prototype=k;o.constructor=o;o.extend=arguments.callee;return o};var h=c.extend({loop:function(k,m){var l=this;if(typeof k=="number"){k=new Array(k)}jQuery.each(k,function(){m.call(l,arguments[1],arguments[0])});return k},create:function(k,l){k=k||"div";var m=document.createElement(k);if(l){m.className=l}return m},getElements:function(k){var l={};this.loop(jQuery(k),this.proxy(function(m){this.push(m,l)}));return l},setStyle:function(k,l){jQuery(k).css(l);return this},getStyle:function(k,o,m){var l=jQuery(k).css(o);return m?this.parseValue(l):l},cssText:function(l){var k=document.createElement("style");this.getElements("head")[0].appendChild(k);if(k.styleSheet){k.styleSheet.cssText=l}else{var m=document.createTextNode(l);k.appendChild(m)}return this},touch:function(m){var k=m.nextSibling;var l=m.parentNode;l.removeChild(m);if(k){l.insertBefore(m,k)}else{l.appendChild(m)}if(m.styleSheet&&m.styleSheet.imports.length){this.loop(m.styleSheet.imports,function(o){m.styleSheet.addImport(o.href)})}},loadCSS:function(m,o){var k=this.getElements('link[href="'+m+'"]').length;if(k){o.call(null);return k[0]}var l=this.create("link");l.rel="stylesheet";l.href=m;if(typeof o=="function"){this.wait(function(){return !!document.body},function(){var r=this.create("div","galleria-container galleria-stage");this.setStyle(r,{height:"1px",width:"1px"});this.moveOut(r);document.body.appendChild(r);var q=this.proxy(function(){var t="";var s;if(document.defaultView&&document.defaultView.getComputedStyle){s=document.defaultView.getComputedStyle(r,"");this.loop(s,function(u){t+=u+s.getPropertyValue(u)})}else{if(r.currentStyle){s=r.currentStyle;this.loop(s,function(v,u){t+=u+v})}}return t});var p=q();this.wait(function(){return q()!==p},function(){document.body.removeChild(r);o.call(l)},function(){e.raise("Could not confirm theme CSS")},2000)})}f.setTimeout(this.proxy(function(){var p=this.getElements('link[rel="stylesheet"],style');if(p.length){p[0].parentNode.insertBefore(l,p[0])}else{this.getElements("head")[0].appendChild(l)}if(e.IE){this.loop(p,function(q){this.touch(q)})}}),2);return l},moveOut:function(k){return this.setStyle(k,{position:"absolute",left:"-10000px",display:"block"})},moveIn:function(k){return this.setStyle(k,{left:"0"})},reveal:function(k){return jQuery(k).show()},hide:function(k){return jQuery(k).hide()},mix:function(){return jQuery.extend.apply(jQuery,arguments)},proxy:function(k,l){if(typeof k!=="function"){return function(){}}l=l||this;return function(){return k.apply(l,Array.prototype.slice.call(arguments))}},listen:function(k,l,m){jQuery(k).bind(l,m)},forget:function(k,l,m){jQuery(k).unbind(l,m)},dispatch:function(l,k){jQuery(l).trigger(k)},clone:function(k,l){l=l||false;return jQuery(k).clone(l)[0]},removeAttr:function(k,l){this.loop(l.split(" "),function(m){jQuery(k).removeAttr(m)})},push:function(k,l){if(typeof l.length=="undefined"){l.length=0}Array.prototype.push.call(l,k);return k},width:function(l,k){return this.meassure(l,k,"Width")},height:function(l,k){return this.meassure(l,k,"Height")},meassure:function(k,p,q){var l=jQuery(k);var m=p?l["outer"+q](true):l[q.toLowerCase()]();if(e.QUIRK){var o=q=="Width"?["left","right"]:["top","bottom"];this.loop(o,function(r){m+=l.css("border-"+r+"-width").replace(/[^\d]/g,"")*1;m+=l.css("padding-"+r).replace(/[^\d]/g,"")*1})}return m},toggleClass:function(k,l,o){if(typeof o!=="undefined"){var m=o?"addClass":"removeClass";jQuery(k)[m](l);return this}jQuery(k).toggleClass(l);return this},hideAll:function(k){jQuery(k).find("*").hide()},animate:function(l,m){m.complete=this.proxy(m.complete);var k=jQuery(l);if(!k.length){return}if(m.from){k.css(from)}k.animate(m.to,{duration:m.duration||400,complete:m.complete,easing:m.easing||"swing"})},wait:function(l,p,k,o){l=this.proxy(l);p=this.proxy(p);k=this.proxy(k);var m=new Date().getTime()+(o||3000);f.setTimeout(function(){if(l()){p();return false}if(new Date().getTime()>=m){k();p();return false}f.setTimeout(arguments.callee,2)},2);return this},loadScript:function(p,q){var o=document.createElement("script");o.src=p;o.async=true;var m=false;var k=this;o.onload=o.onreadystatechange=function(){if(!m&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){m=true;if(typeof q=="function"){q.call(k,this)}o.onload=o.onreadystatechange=null}};var l=document.getElementsByTagName("script")[0];l.parentNode.insertBefore(o,l);return this},parseValue:function(k){if(typeof k=="number"){return k}else{if(typeof k=="string"){var l=k.match(/\-?\d/g);return l&&l.constructor==Array?l.join("")*1:0}else{return 0}}}});var a=h.extend({__constructor:function(k){this.image=null;this.elem=this.create("div","galleria-image");this.setStyle(this.elem,{overflow:"hidden",position:"relative"});this.order=k;this.orig={w:0,h:0,r:1}},cache:{},ready:false,add:function(l){if(this.cache[l]){return this.cache[l]}var k=new Image();k.src=l;this.setStyle(k,{display:"block"});if(k.complete&&k.width){this.cache[l]=k;return k}k.onload=(function(m){return function(){m.cache[l]=k}})(this);return k},isCached:function(k){return this.cache[k]?this.cache[k].complete:false},make:function(l){var k=this.cache[l]||this.add(l);return this.clone(k)},load:function(k,l){l=this.proxy(l);this.elem.innerHTML="";this.image=this.make(k);this.moveOut(this.image);this.elem.appendChild(this.image);this.wait(function(){return(this.image.complete&&this.image.width)},function(){this.orig={h:this.h||this.image.height,w:this.w||this.image.width};l({target:this.image,scope:this})},function(){e.raise("image not loaded in 20 seconds: "+k)},20000);return this},scale:function(k){var p=this.mix({width:0,height:0,min:undefined,max:undefined,margin:0,complete:function(){},position:"center",crop:false},k);if(!this.image){return this}var l,m;this.wait(function(){l=p.width||this.width(this.elem);m=p.height||this.height(this.elem);return l&&m},function(){var s=(l-p.margin*2)/this.orig.w;var q=(m-p.margin*2)/this.orig.h;var t={"true":Math.max(s,q),width:s,height:q,"false":Math.min(s,q)};var o=t[p.crop.toString()];if(p.max){o=Math.min(p.max,o)}if(p.min){o=Math.max(p.min,o)}this.setStyle(this.elem,{width:l,height:m});this.image.width=Math.ceil(this.orig.w*o);this.image.height=Math.ceil(this.orig.h*o);var u=this.proxy(function(B,y,x){var z=0;if(/\%/.test(B)){var A=parseInt(B)/100;z=Math.ceil(this.image[y]*-1*A+x*A)}else{z=parseInt(B)}return z});var v={top:{top:0},left:{left:0},right:{left:"100%"},bottom:{top:"100%"}};var w={};var r={};this.loop(p.position.toLowerCase().split(" "),function(x,y){if(x=="center"){x="50%"}w[y?"top":"left"]=x});this.loop(w,function(y,x){if(v.hasOwnProperty(y)){r=this.mix(r,v[y])}});w=w.top?this.mix(w,r):r;w=this.mix({top:"50%",left:"50%"},w);this.setStyle(this.image,{position:"relative",top:u(w.top,"height",m),left:u(w.left,"width",l)});this.ready=true;p.complete.call(this)});return this}});var e=f.Galleria=h.extend({__constructor:function(l){this.theme=undefined;this.options=l;this.playing=false;this.playtime=5000;this.active=null;this.queue={};this.data={};this.dom={};var k=this.keyboard={keys:{UP:38,DOWN:40,LEFT:37,RIGHT:39,RETURN:13,ESCAPE:27,BACKSPACE:8},map:{},bound:false,press:this.proxy(function(r){var s=r.keyCode||r.which;if(k.map[s]&&typeof k.map[s]=="function"){k.map[s].call(this,r)}}),attach:this.proxy(function(r){for(var t in r){var s=t.toUpperCase();if(k.keys[s]){k.map[k.keys[s]]=r[t]}}if(!k.bound){k.bound=true;this.listen(document,"keydown",k.press)}}),detach:this.proxy(function(){k.bound=false;this.forget(document,"keydown",k.press)})};this.timeouts={trunk:{},add:function(r,u,w,v){v=v||false;this.clear(r);if(v){var s=this;var t=u;u=function(){t();s.add(r,u,w)}}this.trunk[r]=f.setTimeout(u,w)},clear:function(s){if(s&&this.trunk[s]){f.clearTimeout(this.trunk[s]);delete this.trunk[s]}else{if(typeof s=="undefined"){for(var r in this.trunk){f.clearTimeout(this.trunk[r]);delete this.trunk[r]}}}}};this.controls={0:null,1:null,active:0,swap:function(){this.active=this.active?0:1},getActive:function(){return this[this.active]},getNext:function(){return this[Math.abs(this.active-1)]}};var p=this.fullscreen={scrolled:0,enter:this.proxy(function(){this.toggleClass(this.get("container"),"fullscreen");p.scrolled=jQuery(f).scrollTop();this.loop(p.getElements(),function(t,s){p.styles[s]=t.getAttribute("style");t.removeAttribute("style")});this.setStyle(p.getElements(0),{position:"fixed",top:0,left:0,width:"100%",height:"100%",zIndex:10000});var r={height:"100%",overflow:"hidden",margin:0,padding:0};this.setStyle(p.getElements(1),r);this.setStyle(p.getElements(2),r);this.attachKeyboard({escape:this.exitFullscreen,right:this.next,left:this.prev});this.rescale(this.proxy(function(){this.trigger(e.FULLSCREEN_ENTER)}));this.listen(f,"resize",p.scale)}),scale:this.proxy(function(){this.rescale()}),exit:this.proxy(function(){this.toggleClass(this.get("container"),"fullscreen",false);if(!p.styles.length){return}this.loop(p.getElements(),function(s,r){s.removeAttribute("style");s.setAttribute("style",p.styles[r])});f.scrollTo(0,p.scrolled);this.detachKeyboard();this.rescale(this.proxy(function(){this.trigger(e.FULLSCREEN_EXIT)}));this.forget(f,"resize",p.scale)}),styles:[],getElements:this.proxy(function(r){var s=[this.get("container"),document.body,this.getElements("html")[0]];return r?s[r]:s})};var o=this.idle={trunk:[],bound:false,add:this.proxy(function(s,r,v){if(!s){return}if(!o.bound){o.addEvent()}s=jQuery(s);var u={};for(var t in r){u[t]=s.css(t)}s.data("idle",{from:u,to:r,complete:true,busy:false,fn:this.proxy(v)});o.addTimer();o.trunk.push(s)}),remove:this.proxy(function(r){r=jQuery(r);this.loop(o.trunk,function(t,s){if(t&&!t.not(r).length){o.show(r);o.trunk.splice(s,1)}});if(!o.trunk.length){o.removeEvent();this.clearTimer("idle")}}),addEvent:this.proxy(function(){o.bound=true;this.listen(this.get("container"),"mousemove click",o.showAll)}),removeEvent:this.proxy(function(){o.bound=false;this.forget(this.get("container"),"mousemove click",o.showAll)}),addTimer:this.proxy(function(){this.addTimer("idle",this.proxy(function(){o.hide()}),this.options.idle_time)}),hide:this.proxy(function(){this.trigger(e.IDLE_ENTER);this.loop(o.trunk,function(s){var r=s.data("idle");r.complete=false;r.fn();s.animate(r.to,{duration:600,queue:false,easing:"swing"})})}),showAll:this.proxy(function(){this.clearTimer("idle");this.loop(o.trunk,function(r){o.show(r)})}),show:this.proxy(function(s){var r=s.data("idle");if(!r.busy&&!r.complete){r.busy=true;this.trigger(e.IDLE_EXIT);s.animate(r.from,{duration:300,queue:false,easing:"swing",complete:function(){$(this).data("idle").busy=false;$(this).data("idle").complete=true}})}o.addTimer()})};var m=this.lightbox={w:0,h:0,initialized:false,active:null,init:this.proxy(function(){if(m.initialized){return}m.initialized=true;var r="lightbox-overlay lightbox-box lightbox-content lightbox-shadow lightbox-title lightbox-info lightbox-close lightbox-prev lightbox-next lightbox-counter";this.loop(r.split(" "),function(s){this.addElement(s);m[s.split("-")[1]]=this.get(s)});m.image=new Galleria.Picture();this.append({"lightbox-box":["lightbox-shadow","lightbox-content","lightbox-close"],"lightbox-info":["lightbox-title","lightbox-counter","lightbox-next","lightbox-prev"],"lightbox-content":["lightbox-info"]});document.body.appendChild(m.overlay);document.body.appendChild(m.box);m.content.appendChild(m.image.elem);m.close.innerHTML="&#215;";m.prev.innerHTML="&#9668;";m.next.innerHTML="&#9658;";this.listen(m.close,"click",m.hide);this.listen(m.overlay,"click",m.hide);this.listen(m.next,"click",m.showNext);this.listen(m.prev,"click",m.showPrev);if(this.options.lightbox_clicknext){this.setStyle(m.image.elem,{cursor:"pointer"});this.listen(m.image.elem,"click",m.showNext)}this.setStyle(m.overlay,{position:"fixed",display:"none",opacity:this.options.overlay_opacity,top:0,left:0,width:"100%",height:"100%",background:this.options.overlay_background,zIndex:99990});this.setStyle(m.box,{position:"fixed",display:"none",width:400,height:400,top:"50%",left:"50%",marginTop:-200,marginLeft:-200,zIndex:99991});this.setStyle(m.shadow,{background:"#000",opacity:0.4,width:"100%",height:"100%",position:"absolute"});this.setStyle(m.content,{backgroundColor:"#fff",position:"absolute",top:10,left:10,right:10,bottom:10,overflow:"hidden"});this.setStyle(m.info,{color:"#444",fontSize:"11px",fontFamily:"arial,sans-serif",height:13,lineHeight:"13px",position:"absolute",bottom:10,left:10,right:10,opacity:0});this.setStyle(m.close,{background:"#fff",height:20,width:20,position:"absolute",textAlign:"center",cursor:"pointer",top:10,right:10,lineHeight:"22px",fontSize:"16px",fontFamily:"arial,sans-serif",color:"#444",zIndex:99999});this.setStyle(m.image.elem,{top:10,left:10,right:10,bottom:30,position:"absolute"});this.loop("title prev next counter".split(" "),function(s){var t={display:"inline","float":"left"};if(s!="title"){this.mix(t,{"float":"right"});if(s!="counter"){this.mix(t,{cursor:"pointer"})}else{this.mix(t,{marginLeft:8})}}this.setStyle(m[s],t)});this.loop("prev next close".split(" "),function(s){this.listen(m[s],"mouseover",this.proxy(function(){this.setStyle(m[s],{color:"#000"})}));this.listen(m[s],"mouseout",this.proxy(function(){this.setStyle(m[s],{color:"#444"})}))});this.trigger(e.LIGHTBOX_OPEN)}),rescale:this.proxy(function(v){var u=Math.min(this.width(f),m.w);var x=Math.min(this.height(f),m.h);var s=Math.min((u-60)/m.w,(x-80)/m.h);var z=(m.w*s)+40;var y=(m.h*s)+60;var t={width:z,height:y,marginTop:Math.ceil(y/2)*-1,marginLeft:Math.ceil(z)/2*-1};if(!v){this.animate(m.box,{to:t,duration:this.options.lightbox_transition_speed,easing:"galleria",complete:function(){this.trigger({type:e.LIGHTBOX_IMAGE,imageTarget:m.image.image});this.moveIn(m.image.image);this.animate(m.image.image,{to:{opacity:1},duration:this.options.lightbox_fade_speed});this.animate(m.info,{to:{opacity:1},duration:this.options.lightbox_fade_speed})}})}else{this.setStyle(m.box,t)}}),hide:this.proxy(function(){m.image.image=null;this.forget(f,"resize",m.rescale);this.hide(m.box);this.setStyle(m.info,{opacity:0});this.animate(m.overlay,{to:{opacity:0},duration:200,complete:function(){this.hide(m.overlay);this.setStyle(m.overlay,{opacity:this.options.overlay_opacity});this.trigger(e.LIGHTBOX_CLOSE)}})}),showNext:this.proxy(function(){m.show(this.getNext(m.active))}),showPrev:this.proxy(function(){m.show(this.getPrev(m.active))}),show:this.proxy(function(s){if(!m.initialized){m.init()}this.forget(f,"resize",m.rescale);s=typeof s=="number"?s:this.getIndex();m.active=s;var t=this.getData(s);var r=this.data.length;this.setStyle(m.info,{opacity:0});m.image.load(t.image,function(u){m.w=u.scope.orig.w;m.h=u.scope.orig.h;this.setStyle(u.target,{width:"100.5%",height:"100.5%",top:0,zIndex:99998,opacity:0});m.title.innerHTML=t.title;m.counter.innerHTML=(s+1)+" / "+r;this.listen(f,"resize",m.rescale);m.rescale()});this.reveal(m.overlay);this.reveal(m.box)})};this.thumbnails={width:0};this.stageWidth=0;this.stageHeight=0;var q="container stage images image-nav image-nav-left image-nav-right info info-text info-title info-description info-author thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right loader counter";q=q.split(" ");this.loop(q,function(r){this.dom[r]=this.create("div","galleria-"+r)});this.target=this.dom.target=l.target.nodeName?l.target:this.getElements(l.target)[0];if(!this.target){e.raise("Target not found.")}},init:function(){this.options=this.mix(e.theme.defaults,this.options);this.options=this.mix({autoplay:false,carousel:true,carousel_follow:true,carousel_speed:400,carousel_steps:"auto",clicknext:false,data_config:function(l){return{}},data_image_selector:"img",data_source:this.target,data_type:"auto",debug:false,extend:function(l){},height:"auto",idle_time:3000,image_crop:false,image_margin:0,image_pan:false,image_pan_smoothness:12,image_position:"50%",keep_source:false,lightbox_clicknext:true,lightbox_fade_speed:200,lightbox_transition_speed:300,link_source_images:true,max_scale_ratio:undefined,min_scale_ratio:undefined,on_image:function(m,l){},overlay_opacity:0.85,overlay_background:"#0b0b0b",popup_links:false,preload:2,queue:true,show:0,show_info:true,show_counter:true,show_imagenav:true,thumb_crop:true,thumb_fit:true,thumb_margin:0,thumb_quality:"auto",thumbnails:true,transition:e.transitions.fade,transition_speed:400},this.options);var k=this.options;this.bind(e.DATA,function(){this.run()});if(k.clicknext){this.loop(this.data,function(l){delete l.link});this.setStyle(this.get("stage"),{cursor:"pointer"});this.listen(this.get("stage"),"click",this.proxy(function(){this.next()}))}this.bind(e.IMAGE,function(l){k.on_image.call(this,l.imageTarget,l.thumbTarget)});this.bind(e.READY,function(){if(e.History){e.History.change(this.proxy(function(l){var m=parseInt(l.value.replace(/\//,""));if(isNaN(m)){f.history.go(-1)}else{this.show(m,undefined,true)}}))}e.theme.init.call(this,k);k.extend.call(this,k);if(/^[0-9]{1,4}$/.test(b)&&e.History){this.show(b,undefined,true)}else{if(typeof k.show=="number"){this.show(k.show)}}if(k.autoplay){if(typeof k.autoplay=="number"){this.playtime=k.autoplay}this.trigger(e.PLAY);this.playing=true}});this.load();return this},bind:function(l,k){this.listen(this.get("container"),l,this.proxy(k));return this},unbind:function(k){this.forget(this.get("container"),k)},trigger:function(k){k=typeof k=="object"?this.mix(k,{scope:this}):{type:k,scope:this};this.dispatch(this.get("container"),k);return this},addIdleState:function(){this.idle.add.apply(this,arguments);return this},removeIdleState:function(){this.idle.remove.apply(this,arguments);return this},enterIdleMode:function(){this.idle.hide();return this},exitIdleMode:function(){this.idle.show();return this},addTimer:function(){this.timeouts.add.apply(this.timeouts,arguments);return this},clearTimer:function(){this.timeouts.clear.apply(this.timeouts,arguments);return this},enterFullscreen:function(){this.fullscreen.enter.apply(this,arguments);return this},exitFullscreen:function(){this.fullscreen.exit.apply(this,arguments);return this},openLightbox:function(){this.lightbox.show.apply(this,arguments)},closeLightbox:function(){this.lightbox.hide.apply(this,arguments)},getActive:function(){return this.controls.getActive()},getActiveImage:function(){return this.getActive().image||null},run:function(){var s=this.options;if(!this.data.length){e.raise("Data is empty.")}if(!s.keep_source&&!Galleria.IE){this.target.innerHTML=""}this.loop(2,function(){var o=new a();this.setStyle(o.elem,{position:"absolute",top:0,left:0});this.setStyle(this.get("images"),{position:"relative",top:0,left:0,width:"100%",height:"100%"});this.get("images").appendChild(o.elem);this.push(o,this.controls)},this);if(s.carousel){this.bind(e.THUMBNAIL,this.parseCarousel)}this.build();this.target.appendChild(this.get("container"));this.loop(["info","counter","image-nav"],function(o){if(s["show_"+o.replace(/-/,"")]===false){this.moveOut(this.get(o))}});var m=0;var q=0;for(var r=0;this.data[r];r++){var k;if(s.thumbnails===true){k=new a(r);var l=this.data[r].thumb||this.data[r].image;this.get("thumbnails").appendChild(k.elem);m=this.getStyle(k.elem,"width",true);q=this.getStyle(k.elem,"height",true);if(s.thumb_fit&&s.thum_crop!==true){this.setStyle(k.elem,{width:0,height:0})}k.load(l,this.proxy(function(o){var t=o.target.width;o.scope.scale({width:m,height:q,crop:s.thumb_crop,margin:s.thumb_margin,complete:this.proxy(function(){var u=["left","top"];var v=["Height","Width"];this.loop(v,function(w,y){if((!s.thumb_crop||s.thumb_crop==w.toLowerCase())&&s.thumb_fit){var z={};var x=v[Math.abs(y-1)].toLowerCase();z[x]=o.target[x];this.setStyle(o.target.parentNode,z);var z={};z[u[y]]=0;this.setStyle(o.target,z)}o.scope["outer"+w]=this[w.toLowerCase()](o.target.parentNode,true)});this.toggleQuality(o.target,s.thumb_quality===true||(s.thumb_quality=="auto"&&t<o.target.width*3));this.trigger({type:e.THUMBNAIL,thumbTarget:o.target,thumbOrder:o.scope.order})})})}));if(s.preload=="all"){k.add(this.data[r].image)}}else{if(s.thumbnails=="empty"){k={elem:this.create("div","galleria-image"),image:this.create("span","img")};k.elem.appendChild(k.image);this.get("thumbnails").appendChild(k.elem)}else{k={elem:false,image:false}}}var p=this.proxy(function(o){this.pause();o.preventDefault();var t=o.currentTarget.rel;if(this.active!==t){this.show(t)}});if(s.thumbnails!==false){k.elem.rel=r;this.listen(k.elem,"click",p)}if(s.link_source_images&&s.keep_source&&this.data[r].elem){this.data[r].elem.rel=r;this.listen(this.data[r].elem,"click",p)}this.push(k,this.thumbnails)}this.setStyle(this.get("thumbnails"),{opacity:0});if(s.height&&s.height!="auto"){this.setStyle(this.get("container"),{height:s.height})}this.wait(function(){var o=this.getStyle(this.get("container"),"height",true);this.stageWidth=this.width(this.get("stage"));this.stageHeight=this.height(this.get("stage"));if(this.stageHeight<50&&s.height=="auto"){this.setStyle(this.get("container"),{height:Math.round(this.stageWidth*9/16)});this.stageHeight=this.height(this.get("stage"))}return this.stageHeight&&this.stageWidth},function(){this.listen(this.get("image-nav-right"),"click",this.proxy(function(o){if(s.clicknext){o.stopPropagation()}this.pause();this.next()}));this.listen(this.get("image-nav-left"),"click",this.proxy(function(o){if(s.clicknext){o.stopPropagation()}this.pause();this.prev()}));this.setStyle(this.get("thumbnails"),{opacity:1});this.trigger(e.READY)},function(){e.raise("Galleria could not load properly. Make sure stage has a height and width.")},5000)},mousePosition:function(k){return{x:k.pageX-this.$("stage").offset().left+jQuery(document).scrollLeft(),y:k.pageY-this.$("stage").offset().top+jQuery(document).scrollTop()}},addPan:function(l){var k=this.options.image_crop;if(k===false){return}if(this.options.image_crop===false){return}l=l||this.controls.getActive().image;if(l.tagName.toUpperCase()!="IMG"){e.raise("Could not add pan")}var t=l.width/2;var u=l.height/2;var w=destX=this.getStyle(l,"left",true)||0;var q=destY=this.getStyle(l,"top",true)||0;var p=0;var o=0;var s=false;var r=new Date().getTime();var m=this.proxy(function(x){if(new Date().getTime()-r<50){return}s=true;t=this.mousePosition(x).x;u=this.mousePosition(x).y});var v=this.proxy(function(x){if(!s){return}p=l.width-this.stageWidth;o=l.height-this.stageHeight;destX=t/this.stageWidth*p*-1;destY=u/this.stageHeight*o*-1;w+=(destX-w)/this.options.image_pan_smoothness;q+=(destY-q)/this.options.image_pan_smoothness;if(o>0){this.setStyle(l,{top:Math.max(o*-1,Math.min(0,q))})}if(p>0){this.setStyle(l,{left:Math.max(p*-1,Math.min(0,w))})}});this.forget(this.get("stage"),"mousemove");this.listen(this.get("stage"),"mousemove",m);this.addTimer("pan",v,30,true)},removePan:function(){this.forget(this.get("stage"),"mousemove");this.clearTimer("pan")},parseCarousel:function(l){var o=0;var m=0;var k=[0];this.loop(this.thumbnails,function(q,p){if(q.ready){o+=q.outerWidth||this.width(q.elem,true);k[p+1]=o;m=Math.max(m,this.height(q.elem))}});this.toggleClass(this.get("thumbnails-container"),"galleria-carousel",o>this.stageWidth);this.setStyle(this.get("thumbnails-list"),{overflow:"hidden",position:"relative"});this.setStyle(this.get("thumbnails"),{width:o,height:m,position:"relative",overflow:"hidden"});if(!this.carousel){this.initCarousel()}this.carousel.max=o;this.carousel.hooks=k;this.carousel.width=this.width(this.get("thumbnails-list"));this.carousel.setClasses()},initCarousel:function(){var k=this.carousel={right:this.get("thumb-nav-right"),left:this.get("thumb-nav-left"),update:this.proxy(function(){this.parseCarousel()}),width:0,current:0,set:function(l){l=Math.max(l,0);while(k.hooks[l-1]+k.width>k.max&&l>=0){l--}k.current=l;k.animate()},hooks:[],getLast:function(l){l=l||k.current;return l-1},follow:function(l){if(l==0||l==k.hooks.length-2){k.set(l);return}var m=k.current;while(k.hooks[m]-k.hooks[k.current]<k.width&&m<=k.hooks.length){m++}if(l-1<k.current){k.set(l-1)}else{if(l+2>m){k.set(l-m+k.current+2)}}},max:0,setClasses:this.proxy(function(){this.toggleClass(k.left,"disabled",!k.current);this.toggleClass(k.right,"disabled",k.hooks[k.current]+k.width>k.max)}),animate:this.proxy(function(l){k.setClasses();this.animate(this.get("thumbnails"),{to:{left:k.hooks[k.current]*-1},duration:this.options.carousel_speed,easing:"galleria",queue:false})})};this.listen(k.right,"click",this.proxy(function(l){if(this.options.carousel_steps=="auto"){for(var m=k.current;m<k.hooks.length;m++){if(k.hooks[m]-k.hooks[k.current]>k.width){k.set(m-2);break}}}else{k.set(k.current+this.options.carousel_steps)}}));this.listen(k.left,"click",this.proxy(function(l){if(this.options.carousel_steps=="auto"){for(var m=k.current;m>=0;m--){if(k.hooks[k.current]-k.hooks[m]>k.width){k.set(m+2);break}else{if(m==0){k.set(0);break}}}}else{k.set(k.current-this.options.carousel_steps)}}))},addElement:function(){this.loop(arguments,function(k){this.dom[k]=this.create("div","galleria-"+k)});return this},getDimensions:function(k){return{w:k.width,h:k.height,cw:this.stageWidth,ch:this.stageHeight,top:(this.stageHeight-k.height)/2,left:(this.stageWidth-k.width)/2}},attachKeyboard:function(k){this.keyboard.attach(k);return this},detachKeyboard:function(){this.keyboard.detach();return this},build:function(){this.append({"info-text":["info-title","info-description","info-author"],info:["info-text"],"image-nav":["image-nav-right","image-nav-left"],stage:["images","loader","counter","image-nav"],"thumbnails-list":["thumbnails"],"thumbnails-container":["thumb-nav-left","thumbnails-list","thumb-nav-right"],container:["stage","thumbnails-container","info"]});this.current=this.create("span","current");this.current.innerHTML="-";this.get("counter").innerHTML=' / <span class="total">'+this.data.length+"</span>";this.prependChild("counter",this.current)},appendChild:function(l,m){try{this.get(l).appendChild(this.get(m))}catch(k){}},prependChild:function(l,m){var m=this.get(m)||m;try{this.get(l).insertBefore(m,this.get(l).firstChild)}catch(k){}},remove:function(){var k=Array.prototype.slice.call(arguments);this.jQuery(k.join(",")).remove()},append:function(m){for(var l in m){if(m[l].constructor==Array){for(var k=0;m[l][k];k++){this.appendChild(l,m[l][k])}}else{this.appendChild(l,m[l])}}return this},rescale:function(m,k,q){var p=this.options;q=this.proxy(q);if(typeof m=="function"){q=this.proxy(m);m=undefined}var l=this.proxy(function(){this.stageWidth=m||this.width(this.get("stage"));this.stageHeight=k||this.height(this.get("stage"));this.controls.getActive().scale({width:this.stageWidth,height:this.stageHeight,crop:p.image_crop,max:p.max_scale_ratio,min:p.min_scale_ratio,margin:p.image_margin,position:p.image_position});if(this.carousel){this.carousel.update()}this.trigger(e.RESCALE);q()});if(e.WEBKIT&&!m&&!k){this.addTimer("scale",l,5)}else{l.call(this)}},show:function(k,m,l){if(!this.options.queue&&this.queue.stalled){return}m=typeof m!="undefined"?!!m:k<this.active;l=l||false;k=Math.max(0,Math.min(parseInt(k),this.data.length-1));if(!l&&e.History){e.History.value(k.toString());return}this.active=k;this.push([k,m],this.queue);if(!this.queue.stalled){this.showImage()}return this},showImage:function(){var z=this.options;var q=this.queue[0];var r=q[0];var v=!!q[1];if(z.carousel&&this.carousel&&z.carousel_follow){this.carousel.follow(r)}var k=this.getData(r).image;var s=this.controls.getActive();var l=this.controls.getNext();var w=l.isCached(k);var u=this.proxy(function(){this.queue.stalled=false;this.toggleQuality(l.image,z.image_quality);this.setStyle(s.elem,{zIndex:0});this.setStyle(l.elem,{zIndex:1});this.trigger({type:e.IMAGE,index:r,imageTarget:l.image,thumbTarget:this.thumbnails[r].image});if(z.image_pan){this.addPan(l.image)}this.controls.swap();this.moveOut(s.image);if(this.getData(r).link){this.setStyle(l.image,{cursor:"pointer"});this.listen(l.image,"click",this.proxy(function(){if(z.popup_links){var o=f.open(this.getData(r).link,"_blank")}else{f.location.href=this.getData(r).link}}))}Array.prototype.shift.call(this.queue);if(this.queue.length){this.showImage()}this.playCheck()});if(typeof z.preload=="number"&&z.preload>0){var t,y=this.getNext();try{for(var x=z.preload;x>0;x--){t=new a();t.add(this.getData(y).image);y=this.getNext(y)}}catch(m){}}this.trigger({type:e.LOADSTART,cached:w,index:r,imageTarget:l.image,thumbTarget:this.thumbnails[r].image});jQuery(this.thumbnails[r].elem).addClass("active").siblings(".active").removeClass("active");l.load(k,this.proxy(function(o){l.scale({width:this.stageWidth,height:this.stageHeight,crop:z.image_crop,max:z.max_scale_ratio,min:z.min_scale_ratio,margin:z.image_margin,position:z.image_position,complete:this.proxy(function(){if(s.image){this.toggleQuality(s.image,false)}this.toggleQuality(l.image,false);this.trigger({type:e.LOADFINISH,cached:w,index:r,imageTarget:l.image,thumbTarget:this.thumbnails[r].image});this.queue.stalled=true;var p=e.transitions[z.transition]||z.transition;this.removePan();this.setInfo(r);this.setCounter(r);if(typeof p=="function"){p.call(this,{prev:s.image,next:l.image,rewind:v,speed:z.transition_speed||400},u)}else{u()}})})}))},getNext:function(k){k=typeof k=="number"?k:this.active;return k==this.data.length-1?0:k+1},getPrev:function(k){k=typeof k=="number"?k:this.active;return k===0?this.data.length-1:k-1},next:function(){if(this.data.length>1){this.show(this.getNext(),false)}return this},prev:function(){if(this.data.length>1){this.show(this.getPrev(),true)}return this},get:function(k){return k in this.dom?this.dom[k]:null},getData:function(k){return this.data[k]||this.data[this.active]},getIndex:function(){return typeof this.active==="number"?this.active:0},play:function(k){this.trigger(e.PLAY);this.playing=true;this.playtime=k||this.playtime;this.playCheck();return this},pause:function(){this.trigger(e.PAUSE);this.playing=false;return this},playCheck:function(){var l=0;var o=20;var m=function(){return new Date().getTime()};var k=m();if(this.playing){this.clearTimer("play");var q=this.proxy(function(){l=m()-k;if(l>=this.playtime&&this.playing){this.clearTimer("play");this.next();return}if(this.playing){this.trigger({type:e.PROGRESS,percent:Math.ceil(l/this.playtime*100),seconds:Math.floor(l/1000),milliseconds:l});this.addTimer("play",q,o)}});this.addTimer("play",q,o)}},setActive:function(k){this.active=k;return this},setCounter:function(k){k=k||this.active;this.current.innerHTML=k+1;return this},setInfo:function(l){var k=this.getData(l||this.active);this.loop(["title","description","author"],function(o){var m=this.get("info-"+o);var p=k[o]&&k[o].length?"reveal":"hide";this[p](m);if(k[o]){m.innerHTML=k[o]}});return this},hasInfo:function(l){var k=this.getData(l);var o="title description author".split(" ");for(var m=0;o[m];m++){if(k[o[m]]&&k[o[m]].length){return true}}return false},getDataObject:function(l){var k={image:"",thumb:"",title:"",description:"",author:"",link:""};return l?this.mix(k,l):k},jQuery:function(l){var m=[];this.loop(l.split(","),this.proxy(function(o){o=o.replace(/^\s\s*/,"").replace(/\s\s*$/,"");if(this.get(o)){m.push(o)}}));var k=jQuery(this.get(m.shift()));this.loop(m,this.proxy(function(o){k=k.add(this.get(o))}));return k},$:function(k){return this.jQuery(k)},toggleQuality:function(l,k){if(!e.IE7||typeof l=="undefined"||!l){return this}if(typeof k==="undefined"){k=l.style.msInterpolationMode=="nearest-neighbor"}l.style.msInterpolationMode=k?"bicubic":"nearest-neighbor";return this},unload:function(){},load:function(){var p=0;var m=this.options;if((m.data_type=="auto"&&typeof m.data_source=="object"&&!(m.data_source instanceof jQuery)&&!m.data_source.tagName)||m.data_type=="json"||m.data_source.constructor==Array){this.data=m.data_source;this.trigger(e.DATA)}else{var k=jQuery(m.data_source).find(m.data_image_selector);var l=this.proxy(function(q){var r,o,t=q.parentNode;if(t&&t.nodeName=="A"){if(t.href.match(/\.(png|gif|jpg|jpeg)/i)){r=t.href}else{o=t.href}}var s=this.getDataObject({title:q.title,thumb:q.src,image:r||q.src,description:q.alt,link:o||q.getAttribute("longdesc"),elem:q});return this.mix(s,m.data_config(q))});this.loop(k,function(o){p++;this.push(l(o),this.data);if(!m.keep_source&&!Galleria.IE){o.parentNode.removeChild(o)}if(p==k.length){this.trigger(e.DATA)}})}}});e.log=function(){try{console.log.apply(console,Array.prototype.slice.call(arguments))}catch(k){try{opera.postError.apply(opera,arguments)}catch(l){alert(Array.prototype.join.call(arguments," "))}}};var g=navigator.userAgent.toLowerCase();var b=f.location.hash.replace(/#\//,"");e.DATA="data";e.READY="ready";e.THUMBNAIL="thumbnail";e.LOADSTART="loadstart";e.LOADFINISH="loadfinish";e.IMAGE="image";e.THEMELOAD="themeload";e.PLAY="play";e.PAUSE="pause";e.PROGRESS="progress";e.FULLSCREEN_ENTER="fullscreen_enter";e.FULLSCREEN_EXIT="fullscreen_exit";e.IDLE_ENTER="idle_enter";e.IDLE_EXIT="idle_exit";e.RESCALE="rescale";e.LIGHTBOX_OPEN="lightbox_open";e.LIGHTBOX_CLOSE="lightbox_cloe";e.LIGHTBOX_IMAGE="lightbox_image";e.IE8=(typeof(XDomainRequest)!=="undefined");e.IE7=!!(f.XMLHttpRequest&&document.expando);e.IE6=(!f.XMLHttpRequest);e.IE=!!(e.IE6||e.IE7);e.WEBKIT=/webkit/.test(g);e.SAFARI=/safari/.test(g);e.CHROME=/chrome/.test(g);e.QUIRK=(e.IE&&document.compatMode&&document.compatMode=="BackCompat");e.MAC=/mac/.test(navigator.platform.toLowerCase());e.OPERA=!!f.opera;e.Picture=a;e.addTheme=function(o){var m={};var k=["name","author","version","defaults","init"];var l=e.prototype;l.loop(k,function(q){if(!o[q]){e.raise(q+" not specified in theme.")}if(q!="name"&&q!="init"){m[q]=o[q]}});m.init=o.init;if(o.css){var p;l.loop(l.getElements("script"),function(r){var q=new RegExp("galleria."+o.name.toLowerCase()+".js");if(q.test(r.src)){p=r.src.replace(/[^\/]*$/,"")+o.css;l.loadCSS(p,function(){e.theme=m;jQuery(document).trigger(e.THEMELOAD)})}});if(!p){e.raise("No theme CSS loaded")}}return m};e.raise=function(k){if(e.debug){throw new Error(k)}};e.loadTheme=function(k){e.prototype.loadScript(k)};e.galleries=[];e.get=function(k){if(e.galleries[k]){return e.galleries[k]}else{if(typeof k!=="number"){return e.galleries}else{e.raise("Gallery index not found")}}};jQuery.easing.galleria=function(k,o,l,m,p){if((o/=p/2)<1){return m/2*o*o*o*o+l}return -m/2*((o-=2)*o*o*o-2)+l};e.transitions={add:function(l,k){if(l!=arguments.callee.name){this[l]=k}},fade:function(l,k){jQuery(l.next).show().css("opacity",0).animate({opacity:1},l.speed,k);if(l.prev){jQuery(l.prev).css("opacity",1).animate({opacity:0},l.speed)}},flash:function(l,k){jQuery(l.next).css("opacity",0);if(l.prev){jQuery(l.prev).animate({opacity:0},(l.speed/2),function(){jQuery(l.next).animate({opacity:1},l.speed,k)})}else{jQuery(l.next).animate({opacity:1},l.speed,k)}},pulse:function(l,k){if(l.prev){jQuery(l.prev).css("opacity",0)}jQuery(l.next).css("opacity",0).animate({opacity:1},l.speed,k)},slide:function(l,o){var p=jQuery(l.next).parent();var k=this.$("images");var m=this.stageWidth;p.css({left:m*(l.rewind?-1:1)});k.animate({left:m*(l.rewind?1:-1)},{duration:l.speed,queue:false,easing:"galleria",complete:function(){k.css("left",0);p.css("left",0);o()}})},fadeslide:function(l,k){if(l.prev){jQuery(l.prev).css({opacity:1,left:0}).animate({opacity:0,left:50*(l.rewind?1:-1)},{duration:l.speed,queue:false,easing:"swing"})}jQuery(l.next).css({left:50*(l.rewind?-1:1),opacity:0}).animate({opacity:1,left:0},{duration:l.speed,complete:k,queue:false,easing:"swing"})}};e.addTransition=function(){e.transitions.add.apply(this,arguments)};jQuery.fn.galleria=function(l){l=l||{};var k=this.selector;return this.each(function(){if(!l.keep_source){jQuery(this).children().hide()}l=e.prototype.mix(l,{target:this});var o=e.prototype.height(this)||e.prototype.getStyle(this,"height",true);if(!l.height&&o){l=e.prototype.mix({height:o},l)}e.debug=!!l.debug;var m=new e(l);Galleria.galleries.push(m);if(e.theme){m.init()}else{jQuery(document).bind(e.THEMELOAD,function(){m.init()})}})}})();
/*
 * Galleria Flickr Plugin v 1.1
 * http://galleria.aino.se
 *
 * Copyright 2010, Aino
 * Licensed under the MIT license.
 */
(function(){var b=window.Galleria;if(typeof b=="undefined"){return}var a=b.Flickr=function(c){if(!c){b.raise("No API key found")}this.callback=function(){};this.api_key=c;this.options={max:40,size:"big",sort:"interestingness-desc",description:false}};a.prototype={search:function(c){this._set(arguments);return this._find({text:c})},getTags:function(c){this._set(arguments);return this._find({tags:c})},getUser:function(d){var c=arguments;return this._call({method:"flickr.urls.lookupUser",url:"flickr.com/photos/"+d},function(e){this._set(c);this._find({user_id:e.user.id,method:"flickr.people.getPublicPhotos"})})},getSet:function(c){this._set(arguments);return this._find({photoset_id:c,method:"flickr.photosets.getPhotos"})},getGallery:function(c){this._set(arguments);return this._find({gallery_id:c,method:"flickr.galleries.getPhotos"})},setOptions:function(c){jQuery.extend(this.options,c);return this},_set:function(c){c=Array.prototype.slice.call(c);this.callback=c[2]||c[1];if(typeof c[1]=="object"){this.setOptions(c[1])}return this},_call:function(c,f){var d="http://api.flickr.com/services/rest/?";var e=this;c=jQuery.extend({format:"json",jsoncallback:"?",api_key:this.api_key},c);jQuery.each(c,function(h,g){d+="&"+h+"="+g});jQuery.getJSON(d,function(g){if(g.stat=="ok"){f.call(e,g)}else{b.raise(g.code.toString()+" "+g.stat+": "+g.message)}});return e},_find:function(c){c=jQuery.extend({method:"flickr.photos.search",extras:"url_t, url_m, url_o, url_s, url_l, description",sort:this.options.sort},c);return this._call(c,function(f){var m={length:0};var d=f.photos?f.photos.photo:f.photoset.photo;var g=Math.min(this.options.max,d.length);var j=0;for(var k=0;k<g;k++){var e=d[k],l=e.url_m;switch(this.options.size){case"small":l=e.url_s;break;case ("big"||"large"):if(e.url_l){l=e.url_l}else{if(parseInt(e.width_o)>1280){l="http://farm"+e.farm+".static.flickr.com/"+e.server+"/"+e.id+"_"+e.secret+"_b.jpg"}else{if(e.url_o){l=e.url_o}}}break;case"original":if(e.url_o){l=e.url_o}break}var h={thumb:d[k].url_t,image:l,title:d[k].title,description:this.options.description&&d[k].description?d[k].description._content:""};Array.prototype.push.call(m,h)}this.callback.call(this,m)})}};a.getFeed=function(c,d){}})();
