
;(function($){
$.fn.ajaxSubmit=function(options){
if(!this.length){
log('ajaxSubmit: skipping submit process - no element selected');
return this;
}
if(typeof options=='function')
options={success:options};
var url=$.trim(this.attr('action'));
if(url){
url=(url.match(/^([^#]+)/)||[])[1];
}
url=url||window.location.href||''
options=$.extend({
url:url,
type:this.attr('method')||'GET'
},options||{});
var veto={};
this.trigger('form-pre-serialize',[this,options,veto]);
if(veto.veto){
log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
return this;
}
if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){
log('ajaxSubmit: submit aborted via beforeSerialize callback');
return this;
}
var a=this.formToArray(options.semantic);
if(options.data){
options.extraData=options.data;
for(var n in options.data){
if(options.data[n]instanceof Array){
for(var k in options.data[n])
a.push({name:n,value:options.data[n][k]});
}
else
a.push({name:n,value:options.data[n]});
}
}
if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){
log('ajaxSubmit: submit aborted via beforeSubmit callback');
return this;
}
this.trigger('form-submit-validate',[a,this,options,veto]);
if(veto.veto){
log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
return this;
}
var q=$.param(a);
if(options.type.toUpperCase()=='GET'){
options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;
options.data=null;
}
else
options.data=q;
var $form=this,callbacks=[];
if(options.resetForm)callbacks.push(function(){$form.resetForm();});
if(options.clearForm)callbacks.push(function(){$form.clearForm();});
if(!options.dataType&&options.target){
var oldSuccess=options.success||function(){};
callbacks.push(function(data){
$(options.target).html(data).each(oldSuccess,arguments);
});
}
else if(options.success)
callbacks.push(options.success);
options.success=function(data,status){
for(var i=0,max=callbacks.length;i<max;i++)
callbacks[i].apply(options,[data,status,$form]);
};
var files=$('input:file',this).fieldValue();
var found=false;
for(var j=0;j<files.length;j++)
if(files[j])
found=true;
var multipart=false;
if(options.iframe||found||multipart){
if(options.closeKeepAlive)
$.get(options.closeKeepAlive,fileUpload);
else
fileUpload();
}
else
$.ajax(options);
this.trigger('form-submit-notify',[this,options]);
return this;
function fileUpload(){
var form=$form[0];
if($(':input[name=submit]',form).length){
alert('Error: Form elements must not be named "submit".');
return;
}
var opts=$.extend({},$.ajaxSettings,options);
var s=$.extend(true,{},$.extend(true,{},$.ajaxSettings),opts);
var id='jqFormIO'+(new Date().getTime());
var $io=$('<iframe id="'+id+'" name="'+id+'" src="about:blank" />');
var io=$io[0];
$io.css({position:'absolute',top:'-1000px',left:'-1000px'});
var xhr={
aborted:0,
responseText:null,
responseXML:null,
status:0,
statusText:'n/a',
getAllResponseHeaders:function(){},
getResponseHeader:function(){},
setRequestHeader:function(){},
abort:function(){
this.aborted=1;
$io.attr('src','about:blank');
}
};
var g=opts.global;
if(g&&!$.active++)$.event.trigger("ajaxStart");
if(g)$.event.trigger("ajaxSend",[xhr,opts]);
if(s.beforeSend&&s.beforeSend(xhr,s)===false){
s.global&&$.active--;
return;
}
if(xhr.aborted)
return;
var cbInvoked=0;
var timedOut=0;
var sub=form.clk;
if(sub){
var n=sub.name;
if(n&&!sub.disabled){
options.extraData=options.extraData||{};
options.extraData[n]=sub.value;
if(sub.type=="image"){
options.extraData[name+'.x']=form.clk_x;
options.extraData[name+'.y']=form.clk_y;
}
}
}
setTimeout(function(){
var t=$form.attr('target'),a=$form.attr('action');
form.setAttribute('target',id);
if(form.getAttribute('method')!='POST')
form.setAttribute('method','POST');
if(form.getAttribute('action')!=opts.url)
form.setAttribute('action',opts.url);
if(!options.skipEncodingOverride){
$form.attr({
encoding:'multipart/form-data',
enctype:'multipart/form-data'
});
}
if(opts.timeout)
setTimeout(function(){timedOut=true;cb();},opts.timeout);
var extraInputs=[];
try{
if(options.extraData)
for(var n in options.extraData)
extraInputs.push(
$('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />')
.appendTo(form)[0]);
$io.appendTo('body');
io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);
form.submit();
}
finally{
form.setAttribute('action',a);
t?form.setAttribute('target',t):$form.removeAttr('target');
$(extraInputs).remove();
}
},10);
var nullCheckFlag=0;
function cb(){
if(cbInvoked++)return;
io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);
var ok=true;
try{
if(timedOut)throw'timeout';
var data,doc;
doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;
if((doc.body==null||doc.body.innerHTML=='')&&!nullCheckFlag){
nullCheckFlag=1;
cbInvoked--;
setTimeout(cb,100);
return;
}
xhr.responseText=doc.body?doc.body.innerHTML:null;
xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;
xhr.getResponseHeader=function(header){
var headers={'content-type':opts.dataType};
return headers[header];
};
if(opts.dataType=='json'||opts.dataType=='script'){
var ta=doc.getElementsByTagName('textarea')[0];
xhr.responseText=ta?ta.value:xhr.responseText;
}
else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){
xhr.responseXML=toXml(xhr.responseText);
}
data=$.httpData(xhr,opts.dataType);
}
catch(e){
ok=false;
$.handleError(opts,xhr,'error',e);
}
if(ok){
opts.success(data,'success');
if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);
}
if(g)$.event.trigger("ajaxComplete",[xhr,opts]);
if(g&&!--$.active)$.event.trigger("ajaxStop");
if(opts.complete)opts.complete(xhr,ok?'success':'error');
setTimeout(function(){
$io.remove();
xhr.responseXML=null;
},100);
};
function toXml(s,doc){
if(window.ActiveXObject){
doc=new ActiveXObject('Microsoft.XMLDOM');
doc.async='false';
doc.loadXML(s);
}
else
doc=(new DOMParser()).parseFromString(s,'text/xml');
return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;
};
};
};
$.fn.ajaxForm=function(options){
return this.ajaxFormUnbind().bind('submit.form-plugin',function(){
$(this).ajaxSubmit(options);
return false;
}).each(function(){
$(":submit,input:image",this).bind('click.form-plugin',function(e){
var form=this.form;
form.clk=this;
if(this.type=='image'){
if(e.offsetX!=undefined){
form.clk_x=e.offsetX;
form.clk_y=e.offsetY;
}else if(typeof $.fn.offset=='function'){
var offset=$(this).offset();
form.clk_x=e.pageX-offset.left;
form.clk_y=e.pageY-offset.top;
}else{
form.clk_x=e.pageX-this.offsetLeft;
form.clk_y=e.pageY-this.offsetTop;
}
}
setTimeout(function(){form.clk=form.clk_x=form.clk_y=null;},10);
});
});
};
$.fn.ajaxFormUnbind=function(){
this.unbind('submit.form-plugin');
return this.each(function(){
$(":submit,input:image",this).unbind('click.form-plugin');
});
};
$.fn.formToArray=function(semantic){
var a=[];
if(this.length==0)return a;
var form=this[0];
var els=semantic?form.getElementsByTagName('*'):form.elements;
if(!els)return a;
for(var i=0,max=els.length;i<max;i++){
var el=els[i];
var n=el.name;
if(!n)continue;
if(semantic&&form.clk&&el.type=="image"){
if(!el.disabled&&form.clk==el){
a.push({name:n,value:$(el).val()});
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
}
continue;
}
var v=$.fieldValue(el,true);
if(v&&v.constructor==Array){
for(var j=0,jmax=v.length;j<jmax;j++)
a.push({name:n,value:v[j]});
}
else if(v!==null&&typeof v!='undefined')
a.push({name:n,value:v});
}
if(!semantic&&form.clk){
var $input=$(form.clk),input=$input[0],n=input.name;
if(n&&!input.disabled&&input.type=='image'){
a.push({name:n,value:$input.val()});
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
}
}
return a;
};
$.fn.formSerialize=function(semantic){
return $.param(this.formToArray(semantic));
};
$.fn.fieldSerialize=function(successful){
var a=[];
this.each(function(){
var n=this.name;
if(!n)return;
var v=$.fieldValue(this,successful);
if(v&&v.constructor==Array){
for(var i=0,max=v.length;i<max;i++)
a.push({name:n,value:v[i]});
}
else if(v!==null&&typeof v!='undefined')
a.push({name:this.name,value:v});
});
return $.param(a);
};
$.fn.fieldValue=function(successful){
for(var val=[],i=0,max=this.length;i<max;i++){
var el=this[i];
var v=$.fieldValue(el,successful);
if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
continue;
v.constructor==Array?$.merge(val,v):val.push(v);
}
return val;
};
$.fieldValue=function(el,successful){
var n=el.name,t=el.type,tag=el.tagName.toLowerCase();
if(typeof successful=='undefined')successful=true;
if(successful&&(!n||el.disabled||t=='reset'||t=='button'||
(t=='checkbox'||t=='radio')&&!el.checked||
(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||
tag=='select'&&el.selectedIndex==-1))
return null;
if(tag=='select'){
var index=el.selectedIndex;
if(index<0)return null;
var a=[],ops=el.options;
var one=(t=='select-one');
var max=(one?index+1:ops.length);
for(var i=(one?index:0);i<max;i++){
var op=ops[i];
if(op.selected){
var v=op.value;
if(!v)
v=(op.attributes&&op.attributes['value']&&!(op.attributes['value'].specified))?op.text:op.value;
if(one)return v;
a.push(v);
}
}
return a;
}
return el.value;
};
$.fn.clearForm=function(){
return this.each(function(){
$('input,select,textarea',this).clearFields();
});
};
$.fn.clearFields=$.fn.clearInputs=function(){
return this.each(function(){
var t=this.type,tag=this.tagName.toLowerCase();
if(t=='text'||t=='password'||tag=='textarea')
this.value='';
else if(t=='checkbox'||t=='radio')
this.checked=false;
else if(tag=='select')
this.selectedIndex=-1;
});
};
$.fn.resetForm=function(){
return this.each(function(){
if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
this.reset();
});
};
$.fn.enable=function(b){
if(b==undefined)b=true;
return this.each(function(){
this.disabled=!b;
});
};
$.fn.selected=function(select){
if(select==undefined)select=true;
return this.each(function(){
var t=this.type;
if(t=='checkbox'||t=='radio')
this.checked=select;
else if(this.tagName.toLowerCase()=='option'){
var $sel=$(this).parent('select');
if(select&&$sel[0]&&$sel[0].type=='select-one'){
$sel.find('option').selected(false);
}
this.selected=select;
}
});
};
function log(){
if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));
};
})(jQuery);

jQuery.easing['jswing']=jQuery.easing['swing'];
jQuery.extend(jQuery.easing,
{
def:'easeOutQuad',
swing:function(x,t,b,c,d){
return jQuery.easing[jQuery.easing.def](x,t,b,c,d);
},
easeInQuad:function(x,t,b,c,d){
return c*(t/=d)*t+b;
},
easeOutQuad:function(x,t,b,c,d){
return-c*(t/=d)*(t-2)+b;
},
easeInOutQuad:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t+b;
return-c/2*((--t)*(t-2)-1)+b;
},
easeInCubic:function(x,t,b,c,d){
return c*(t/=d)*t*t+b;
},
easeOutCubic:function(x,t,b,c,d){
return c*((t=t/d-1)*t*t+1)+b;
},
easeInOutCubic:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t*t+b;
return c/2*((t-=2)*t*t+2)+b;
},
easeInQuart:function(x,t,b,c,d){
return c*(t/=d)*t*t*t+b;
},
easeOutQuart:function(x,t,b,c,d){
return-c*((t=t/d-1)*t*t*t-1)+b;
},
easeInOutQuart:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t*t*t+b;
return-c/2*((t-=2)*t*t*t-2)+b;
},
easeInQuint:function(x,t,b,c,d){
return c*(t/=d)*t*t*t*t+b;
},
easeOutQuint:function(x,t,b,c,d){
return c*((t=t/d-1)*t*t*t*t+1)+b;
},
easeInOutQuint:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t*t*t*t+b;
return c/2*((t-=2)*t*t*t*t+2)+b;
},
easeInSine:function(x,t,b,c,d){
return-c*Math.cos(t/d*(Math.PI/2))+c+b;
},
easeOutSine:function(x,t,b,c,d){
return c*Math.sin(t/d*(Math.PI/2))+b;
},
easeInOutSine:function(x,t,b,c,d){
return-c/2*(Math.cos(Math.PI*t/d)-1)+b;
},
easeInExpo:function(x,t,b,c,d){
return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;
},
easeOutExpo:function(x,t,b,c,d){
return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;
},
easeInOutExpo:function(x,t,b,c,d){
if(t==0)return b;
if(t==d)return b+c;
if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;
return c/2*(-Math.pow(2,-10*--t)+2)+b;
},
easeInCirc:function(x,t,b,c,d){
return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;
},
easeOutCirc:function(x,t,b,c,d){
return c*Math.sqrt(1-(t=t/d-1)*t)+b;
},
easeInOutCirc:function(x,t,b,c,d){
if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;
return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;
},
easeInElastic:function(x,t,b,c,d){
var s=1.70158;var p=0;var a=c;
if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;
if(a<Math.abs(c)){a=c;var s=p/4;}
else var s=p/(2*Math.PI)*Math.asin(c/a);
return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;
},
easeOutElastic:function(x,t,b,c,d){
var s=1.70158;var p=0;var a=c;
if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;
if(a<Math.abs(c)){a=c;var s=p/4;}
else var s=p/(2*Math.PI)*Math.asin(c/a);
return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;
},
easeInOutElastic:function(x,t,b,c,d){
var s=1.70158;var p=0;var a=c;
if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);
if(a<Math.abs(c)){a=c;var s=p/4;}
else var s=p/(2*Math.PI)*Math.asin(c/a);
if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;
return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;
},
easeInBack:function(x,t,b,c,d,s){
if(s==undefined)s=1.70158;
return c*(t/=d)*t*((s+1)*t-s)+b;
},
easeOutBack:function(x,t,b,c,d,s){
if(s==undefined)s=1.70158;
return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;
},
easeInOutBack:function(x,t,b,c,d,s){
if(s==undefined)s=1.70158;
if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;
},
easeInBounce:function(x,t,b,c,d){
return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;
},
easeOutBounce:function(x,t,b,c,d){
if((t/=d)<(1/2.75)){
return c*(7.5625*t*t)+b;
}else if(t<(2/2.75)){
return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;
}else if(t<(2.5/2.75)){
return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;
}else{
return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;
}
},
easeInOutBounce:function(x,t,b,c,d){
if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;
return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;
}
});
(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return;}var validator=$.data(this[0],'validator');if(validator){return validator;}validator=new $.validator(options,this[0]);$.data(this[0],'validator',validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true;});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this;});}this.submit(function(event){if(validator.settings.debug)event.preventDefault();function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm);}validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove();}return false;}return true;}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}return handle();}else{validator.focusInvalid();return false;}});}return validator;},valid:function(){if($(this[0]).is('form')){return this.validate().form();}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this);});return valid;}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value);});return result;},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,'validator').settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages)settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}return data;}});$.extend($.expr[":"],{blank:function(a){return!$.trim(a.value);},filled:function(a){return!!$.trim(a.value);},unchecked:function(a){return!a.checked;}});$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init();};$.validator.format=function(source,params){if(arguments.length==1)return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args);};if(arguments.length>2&&params.constructor!=Array){params=$.makeArray(arguments).slice(1);}if(params.constructor!=Array){params=[params];}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n);});return source;};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide();}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element);}},onclick:function(element){if(element.name in this.submitted)this.element(element);},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass);},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass);}},setDefaults:function(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",letters:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gültiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0]);}$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox",delegate);if(this.settings.invalidHandler)$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid())$(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid();},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i]);}return this.valid();},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name];}else{this.invalid[element.name]=true;}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers);}this.showErrors();return result;},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors();},resetForm:function(){if($.fn.resetForm)$(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass);},numberOfInvalids:function(){return this.objectLength(this.invalid);},objectLength:function(obj){var count=0;for(var i in obj)count++;return count;},hideErrors:function(){this.addWrapper(this.toHide).hide();},valid:function(){return this.size()==0;},size:function(){return this.errorList.length;},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus();}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name;}).length==1&&lastActive;},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules()))return false;rulesCache[this.name]=true;return true;});},clean:function(selector){return $(selector)[0];},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext);},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.formSubmitted=false;this.currentElements=$([]);},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers);},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element);},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0];}var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue;}dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id
+", check the '"+rule.method+"' method");throw e;}}if(dependencyMismatch)return;if(this.objectLength(rules))this.successList.push(element);return true;},customMetaMessage:function(element,method){if(!$.metadata)return;var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method];},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method]);},findDefined:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined)return arguments[i];}return undefined;},defaultMessage:function(element,method){return this.findDefined(this.customMessage(element.name,method),this.customMetaMessage(element,method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>");},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method);if(typeof message=="function")message=message.call(this,rule.parameters,element);this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function(toToggle){if(this.settings.wrapper)toToggle=toToggle.add(toToggle.parent(this.settings.wrapper));return toToggle;},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message);}if(this.errorList.length){this.toShow=this.toShow.add(this.containers);}if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function(){return this.currentElements.not(this.invalidElements());},invalidElements:function(){return $(this.errorList).map(function(){return this.element;});},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message);}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();}if(!this.labelContainer.append(label).length)this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element);}if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label);}this.toShow=this.toShow.add(label);},errorsFor:function(element){return this.errors().filter("[for='"+this.idOrName(element)+"']");},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},checkable:function(element){return/radio|checkbox/i.test(element.type);},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null;});},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case'select':return $("option:selected",element).length;case'input':if(this.checkable(element))return this.findByName(element.name).filter(':checked').length;}return value.length;},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true;},dependTypes:{"boolean":function(param,element){return param;},"string":function(param,element){return!!$(param,element.form).length;},"function":function(param,element){return param(element);}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch";},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();}else if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},letters:{letters:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className);},classRules:function(element){var rules={};var classes=$(element).attr('class');classes&&$.each(classes.split(' '),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});return rules;},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value;}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}return rules;},metadataRules:function(element){if(!$.metadata)return{};var meta=$.data(element.form,'validator').settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata();},staticRules:function(element){var rules={};var validator=$.data(element.form,'validator');if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}return rules;},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return;}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});$.each(['minlength','maxlength','min','max'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}if(rules.messages){delete rules.messages}return rules;},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}return data;},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message||$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{required:function(value,element,param){if(!this.depend(param,element))return"dependency-mismatch";switch(element.nodeName.toLowerCase()){case'select':var options=$("option:selected",element);return options.length>0&&(element.type=="select-multiple"||($.browser.msie&&!(options[0].attributes['value'].specified)?options[0].text:options[0].value).length>0);case'input':if(this.checkable(element))return this.getLength(value,element)>0;default:return $.trim(value).length>0;}},remote:function(value,element,param){if(this.optional(element))return"dependency-mismatch";var previous=this.previousValue(element);if(!this.settings.messages[element.name])this.settings.messages[element.name]={};this.settings.messages[element.name].remote=typeof previous.message=="function"?previous.message(value):previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors();}else{var errors={};errors[element.name]=previous.message=response||validator.defaultMessage(element,"remote");validator.showErrors(errors);}previous.valid=valid;validator.stopRequest(element,valid);}},param));return"pending";}else if(this.pending[element.name]){return"pending";}return previous.valid;},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param;},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param;},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1]);},min:function(value,element,param){return this.optional(element)||value>=param;},max:function(value,element,param){return this.optional(element)||value<=param;},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1]);},letters:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value));},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);},dateDE:function(value,element){return this.optional(element)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},numberDE:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value);},creditcard:function(value,element){if(this.optional(element))return"dependency-mismatch";if(/[^0-9-]+/.test(value))return false;var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)nDigit-=9;}nCheck+=nDigit;bEven=!bEven;}return(nCheck%10)==0;},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,'|'):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"));},equalTo:function(value,element,param){return value==$(param).val();}}});$.format=$.validator.format;})(jQuery);;(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}return(pendingRequests[port]=ajax.apply(this,arguments));}return ajax.apply(this,arguments);};})(jQuery);;(function($){$.each({focus:'focusin',blur:'focusout'},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie)return false;this.addEventListener(original,$.event.special[fix].handler,true);},teardown:function(){if($.browser.msie)return false;this.removeEventListener(original,$.event.special[fix].handler,true);},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments);}};});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})]);}})})(jQuery);
jQuery.fn.corners=function(C){var N="rounded_by_jQuery_corners";var V=B(C);var F=false;try{F=(document.body.style.WebkitBorderRadius!==undefined);var Y=navigator.userAgent.indexOf("Chrome");if(Y>=0){F=false}}catch(E){}var W=false;try{W=(document.body.style.MozBorderRadius!==undefined);var Y=navigator.userAgent.indexOf("Firefox");if(Y>=0&&parseInt(navigator.userAgent.substring(Y+8))<3){W=false}}catch(E){}return this.each(function(b,h){$e=jQuery(h);if($e.hasClass(N)){return}$e.addClass(N);var a=/{(.*)}/.exec(h.className);var c=a?B(a[1],V):V;var j=h.nodeName.toLowerCase();if(j=="input"){h=O(h)}if(F&&c.webkit){K(h,c)}else{if(W&&c.mozilla&&(c.sizex==c.sizey)){M(h,c)}else{var d=D(h.parentNode);var f=D(h);switch(j){case"a":case"input":Z(h,c,d,f);break;default:R(h,c,d,f);break}}}});function K(d,c){var a=""+c.sizex+"px "+c.sizey+"px";var b=jQuery(d);if(c.tl){b.css("WebkitBorderTopLeftRadius",a)}if(c.tr){b.css("WebkitBorderTopRightRadius",a)}if(c.bl){b.css("WebkitBorderBottomLeftRadius",a)}if(c.br){b.css("WebkitBorderBottomRightRadius",a)}}function M(d,c){var a=""+c.sizex+"px";var b=jQuery(d);if(c.tl){b.css("-moz-border-radius-topleft",a)}if(c.tr){b.css("-moz-border-radius-topright",a)}if(c.bl){b.css("-moz-border-radius-bottomleft",a)}if(c.br){b.css("-moz-border-radius-bottomright",a)}}function Z(k,n,l,a){var m=S("table");var i=S("tbody");m.appendChild(i);var j=S("tr");var d=S("td","top");j.appendChild(d);var h=S("tr");var c=T(k,n,S("td"));h.appendChild(c);var f=S("tr");var b=S("td","bottom");f.appendChild(b);if(n.tl||n.tr){i.appendChild(j);X(d,n,l,a,true)}i.appendChild(h);if(n.bl||n.br){i.appendChild(f);X(b,n,l,a,false)}k.appendChild(m);if(jQuery.browser.msie){m.onclick=Q}k.style.overflow="hidden"}function Q(){if(!this.parentNode.onclick){this.parentNode.click()}}function O(c){var b=document.createElement("a");b.id=c.id;b.className=c.className;if(c.onclick){b.href="javascript:";b.onclick=c.onclick}else{jQuery(c).parent("form").each(function(){b.href=this.action});b.onclick=I}var a=document.createTextNode(c.value);b.appendChild(a);c.parentNode.replaceChild(b,c);return b}function I(){jQuery(this).parent("form").each(function(){this.submit()});return false}function R(d,a,b,c){var f=T(d,a,document.createElement("div"));d.appendChild(f);if(a.tl||a.tr){X(d,a,b,c,true)}if(a.bl||a.br){X(d,a,b,c,false)}}function T(j,i,k){var b=jQuery(j);var l;while(l=j.firstChild){k.appendChild(l)}if(j.style.height){var f=parseInt(b.css("height"));k.style.height=f+"px";f+=parseInt(b.css("padding-top"))+parseInt(b.css("padding-bottom"));j.style.height=f+"px"}if(j.style.width){var a=parseInt(b.css("width"));k.style.width=a+"px";a+=parseInt(b.css("padding-left"))+parseInt(b.css("padding-right"));j.style.width=a+"px"}k.style.paddingLeft=b.css("padding-left");k.style.paddingRight=b.css("padding-right");if(i.tl||i.tr){k.style.paddingTop=U(j,i,b.css("padding-top"),true)}else{k.style.paddingTop=b.css("padding-top")}if(i.bl||i.br){k.style.paddingBottom=U(j,i,b.css("padding-bottom"),false)}else{k.style.paddingBottom=b.css("padding-bottom")}j.style.padding=0;return k}function U(f,a,d,c){if(d.indexOf("px")<0){try{console.error("%s padding not in pixels",(c?"top":"bottom"),f)}catch(b){}d=a.sizey+"px"}d=parseInt(d);if(d-a.sizey<0){try{console.error("%s padding is %ipx for %ipx corner:",(c?"top":"bottom"),d,a.sizey,f)}catch(b){}d=a.sizey}return d-a.sizey+"px"}function S(b,a){var c=document.createElement(b);c.style.border="none";c.style.borderCollapse="collapse";c.style.borderSpacing=0;c.style.padding=0;c.style.margin=0;if(a){c.style.verticalAlign=a}return c}function D(b){try{var d=jQuery.css(b,"background-color");if(d.match(/^(transparent|rgba\(0,\s*0,\s*0,\s*0\))$/i)&&b.parentNode){return D(b.parentNode)}if(d==null){return"#ffffff"}if(d.indexOf("rgb")>-1){d=A(d)}if(d.length==4){d=L(d)}return d}catch(a){return"#ffffff"}}function L(a){return"#"+a.substring(1,2)+a.substring(1,2)+a.substring(2,3)+a.substring(2,3)+a.substring(3,4)+a.substring(3,4)}function A(h){var a=255;var d="";var b;var e=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/;var f=e.exec(h);for(b=1;b<4;b++){d+=("0"+parseInt(f[b]).toString(16)).slice(-2)}return"#"+d}function B(b,d){var b=b||"";var c={sizex:5,sizey:5,tl:false,tr:false,bl:false,br:false,webkit:true,mozilla:true,transparent:false};if(d){c.sizex=d.sizex;c.sizey=d.sizey;c.webkit=d.webkit;c.transparent=d.transparent;c.mozilla=d.mozilla}var a=false;var e=false;jQuery.each(b.split(" "),function(f,j){j=j.toLowerCase();var h=parseInt(j);if(h>0&&j==h+"px"){c.sizey=h;if(!a){c.sizex=h}a=true}else{switch(j){case"no-native":c.webkit=c.mozilla=false;break;case"webkit":c.webkit=true;break;case"no-webkit":c.webkit=false;break;case"mozilla":c.mozilla=true;break;case"no-mozilla":c.mozilla=false;break;case"anti-alias":c.transparent=false;break;case"transparent":c.transparent=true;break;case"top":e=c.tl=c.tr=true;break;case"right":e=c.tr=c.br=true;break;case"bottom":e=c.bl=c.br=true;break;case"left":e=c.tl=c.bl=true;break;case"top-left":e=c.tl=true;break;case"top-right":e=c.tr=true;break;case"bottom-left":e=c.bl=true;break;case"bottom-right":e=c.br=true;break}}});if(!e){if(!d){c.tl=c.tr=c.bl=c.br=true}else{c.tl=d.tl;c.tr=d.tr;c.bl=d.bl;c.br=d.br}}return c}function P(f,d,h){var e=Array(parseInt("0x"+f.substring(1,3)),parseInt("0x"+f.substring(3,5)),parseInt("0x"+f.substring(5,7)));var c=Array(parseInt("0x"+d.substring(1,3)),parseInt("0x"+d.substring(3,5)),parseInt("0x"+d.substring(5,7)));r="0"+Math.round(e[0]+(c[0]-e[0])*h).toString(16);g="0"+Math.round(e[1]+(c[1]-e[1])*h).toString(16);d="0"+Math.round(e[2]+(c[2]-e[2])*h).toString(16);return"#"+r.substring(r.length-2)+g.substring(g.length-2)+d.substring(d.length-2)}function X(f,a,b,d,c){if(a.transparent){G(f,a,b,c)}else{J(f,a,b,d,c)}}function J(k,z,p,a,n){var h,f;var l=document.createElement("div");l.style.fontSize="1px";l.style.backgroundColor=p;var b=0;for(h=1;h<=z.sizey;h++){var u,t,q;arc=Math.sqrt(1-Math.pow(1-h/z.sizey,2))*z.sizex;var c=z.sizex-Math.ceil(arc);var w=Math.floor(b);var v=z.sizex-c-w;var o=document.createElement("div");var m=l;o.style.margin="0px "+c+"px";o.style.height="1px";o.style.overflow="hidden";for(f=1;f<=v;f++){if(f==1){if(f==v){u=((arc+b)*0.5)-w}else{t=Math.sqrt(1-Math.pow(1-(c+1)/z.sizex,2))*z.sizey;u=(t-(z.sizey-h))*(arc-w-v+1)*0.5}}else{if(f==v){t=Math.sqrt(1-Math.pow((z.sizex-c-f+1)/z.sizex,2))*z.sizey;u=1-(1-(t-(z.sizey-h)))*(1-(b-w))*0.5}else{q=Math.sqrt(1-Math.pow((z.sizex-c-f)/z.sizex,2))*z.sizey;t=Math.sqrt(1-Math.pow((z.sizex-c-f+1)/z.sizex,2))*z.sizey;u=((t+q)*0.5)-(z.sizey-h)}}H(z,o,m,n,P(p,a,u));m=o;var o=m.cloneNode(false);o.style.margin="0px 1px"}H(z,o,m,n,a);b=arc}if(n){k.insertBefore(l,k.firstChild)}else{k.appendChild(l)}}function H(c,a,e,d,b){if(d&&!c.tl){a.style.marginLeft=0}if(d&&!c.tr){a.style.marginRight=0}if(!d&&!c.bl){a.style.marginLeft=0}if(!d&&!c.br){a.style.marginRight=0}a.style.backgroundColor=b;if(d){e.appendChild(a)}else{e.insertBefore(a,e.firstChild)}}function G(c,o,l,h){var f=document.createElement("div");f.style.fontSize="1px";var a=document.createElement("div");a.style.overflow="hidden";a.style.height="1px";a.style.borderColor=l;a.style.borderStyle="none solid";var m=o.sizex-1;var j=o.sizey-1;if(!j){j=1}for(var b=0;b<o.sizey;b++){var n=m-Math.floor(Math.sqrt(1-Math.pow(1-b/j,2))*m);if(b==2&&o.sizex==6&&o.sizey==6){n=2}var k=a.cloneNode(false);k.style.borderWidth="0 "+n+"px";if(h){k.style.borderWidth="0 "+(o.tr?n:0)+"px 0 "+(o.tl?n:0)+"px"}else{k.style.borderWidth="0 "+(o.br?n:0)+"px 0 "+(o.bl?n:0)+"px"}h?f.appendChild(k):f.insertBefore(k,f.firstChild)}if(h){c.insertBefore(f,c.firstChild)}else{c.appendChild(f)}}};
(function($){
jQuery.fn.pngFix=function(settings){
settings=jQuery.extend({
blankgif:'blank.gif'
},settings);
var ie55=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 5.5")!=-1);
var ie6=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 6.0")!=-1);
if(jQuery.browser.msie&&(ie55||ie6)){
jQuery(this).find("img[src$=.png]").each(function(){
jQuery(this).attr('width',jQuery(this).width());
jQuery(this).attr('height',jQuery(this).height());
var prevStyle='';
var strNewHTML='';
var imgId=(jQuery(this).attr('id'))?'id="'+jQuery(this).attr('id')+'" ':'';
var imgClass=(jQuery(this).attr('class'))?'class="'+jQuery(this).attr('class')+'" ':'';
var imgTitle=(jQuery(this).attr('title'))?'title="'+jQuery(this).attr('title')+'" ':'';
var imgAlt=(jQuery(this).attr('alt'))?'alt="'+jQuery(this).attr('alt')+'" ':'';
var imgAlign=(jQuery(this).attr('align'))?'float:'+jQuery(this).attr('align')+';':'';
var imgHand=(jQuery(this).parent().attr('href'))?'cursor:hand;':'';
if(this.style.border){
prevStyle+='border:'+this.style.border+';';
this.style.border='';
}
if(this.style.padding){
prevStyle+='padding:'+this.style.padding+';';
this.style.padding='';
}
if(this.style.margin){
prevStyle+='margin:'+this.style.margin+';';
this.style.margin='';
}
var imgStyle=(this.style.cssText);
strNewHTML+='<span '+imgId+imgClass+imgTitle+imgAlt;
strNewHTML+='style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;
strNewHTML+='width:'+jQuery(this).width()+'px;'+'height:'+jQuery(this).height()+'px;';
strNewHTML+='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader'+'(src=\''+jQuery(this).attr('src')+'\', sizingMethod=\'scale\');';
strNewHTML+=imgStyle+'"></span>';
if(prevStyle!=''){
strNewHTML='<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:'+jQuery(this).width()+'px;'+'height:'+jQuery(this).height()+'px;'+'">'+strNewHTML+'</span>';
}
jQuery(this).hide();
jQuery(this).after(strNewHTML);
});
jQuery(this).find("*").each(function(){
var bgIMG=jQuery(this).css('background-image');
if(bgIMG.indexOf(".png")!=-1){
var iebg=bgIMG.split('url("')[1].split('")')[0];
jQuery(this).css('background-image','none');
jQuery(this).get(0).runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+iebg+"',sizingMethod='scale')";
}
});
jQuery(this).find("input[src$=.png]").each(function(){
var bgIMG=jQuery(this).attr('src');
jQuery(this).get(0).runtimeStyle.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader'+'(src=\''+bgIMG+'\', sizingMethod=\'scale\');';
jQuery(this).attr('src',settings.blankgif)
});
}
return jQuery;
};
})(jQuery);
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery);
jQuery.extend(jQuery.easing,
{
easeIn:function(x,t,b,c,d){
return jQuery.easing.easeInQuad(x,t,b,c,d);
},
easeOut:function(x,t,b,c,d){
return jQuery.easing.easeOutQuad(x,t,b,c,d);
},
easeInOut:function(x,t,b,c,d){
return jQuery.easing.easeInOutQuad(x,t,b,c,d);
},
expoin:function(x,t,b,c,d){
return jQuery.easing.easeInExpo(x,t,b,c,d);
},
expoout:function(x,t,b,c,d){
return jQuery.easing.easeOutExpo(x,t,b,c,d);
},
expoinout:function(x,t,b,c,d){
return jQuery.easing.easeInOutExpo(x,t,b,c,d);
},
bouncein:function(x,t,b,c,d){
return jQuery.easing.easeInBounce(x,t,b,c,d);
},
bounceout:function(x,t,b,c,d){
return jQuery.easing.easeOutBounce(x,t,b,c,d);
},
bounceinout:function(x,t,b,c,d){
return jQuery.easing.easeInOutBounce(x,t,b,c,d);
},
elasin:function(x,t,b,c,d){
return jQuery.easing.easeInElastic(x,t,b,c,d);
},
elasout:function(x,t,b,c,d){
return jQuery.easing.easeOutElastic(x,t,b,c,d);
},
elasinout:function(x,t,b,c,d){
return jQuery.easing.easeInOutElastic(x,t,b,c,d);
},
backin:function(x,t,b,c,d){
return jQuery.easing.easeInBack(x,t,b,c,d);
},
backout:function(x,t,b,c,d){
return jQuery.easing.easeOutBack(x,t,b,c,d);
},
backinout:function(x,t,b,c,d){
return jQuery.easing.easeInOutBack(x,t,b,c,d);
}
});
;(function($){
var ver='2.65';
if($.support==undefined){
$.support={
opacity:!($.browser.msie)
};
}
function log(){
if(window.console&&window.console.log)
window.console.log('[cycle] '+Array.prototype.join.call(arguments,' '));
};
$.fn.cycle=function(options,arg2){
var o={s:this.selector,c:this.context};
if(this.length==0&&options!='stop'){
if(!$.isReady&&o.s){
log('DOM not ready, queuing slideshow')
$(function(){
$(o.s,o.c).cycle(options,arg2);
});
return this;
}
log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));
return this;
}
return this.each(function(){
options=handleArguments(this,options,arg2);
if(options===false)
return;
if(this.cycleTimeout)
clearTimeout(this.cycleTimeout);
this.cycleTimeout=this.cyclePause=0;
var $cont=$(this);
var $slides=options.slideExpr?$(options.slideExpr,this):$cont.children();
var els=$slides.get();
if(els.length<2){
log('terminating; too few slides: '+els.length);
return;
}
var opts=buildOptions($cont,$slides,els,options,o);
if(opts===false)
return;
if(opts.timeout||opts.continuous)
this.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev)},
opts.continuous?10:opts.timeout+(opts.delay||0));
});
};
function handleArguments(cont,options,arg2){
if(cont.cycleStop==undefined)
cont.cycleStop=0;
if(options===undefined||options===null)
options={};
if(options.constructor==String){
switch(options){
case'stop':
cont.cycleStop++;
if(cont.cycleTimeout)
clearTimeout(cont.cycleTimeout);
cont.cycleTimeout=0;
$(cont).removeData('cycle.opts');
return false;
case'pause':
cont.cyclePause=1;
return false;
case'resume':
cont.cyclePause=0;
if(arg2===true){
options=$(cont).data('cycle.opts');
if(!options){
log('options not found, can not resume');
return false;
}
if(cont.cycleTimeout){
clearTimeout(cont.cycleTimeout);
cont.cycleTimeout=0;
}
go(options.elements,options,1,1);
}
return false;
default:
options={fx:options};
};
}
else if(options.constructor==Number){
var num=options;
options=$(cont).data('cycle.opts');
if(!options){
log('options not found, can not advance slide');
return false;
}
if(num<0||num>=options.elements.length){
log('invalid slide index: '+num);
return false;
}
options.nextSlide=num;
if(cont.cycleTimeout){
clearTimeout(cont.cycleTimeout);
cont.cycleTimeout=0;
}
if(typeof arg2=='string')
options.oneTimeFx=arg2;
go(options.elements,options,1,num>=options.currSlide);
return false;
}
return options;
};
function removeFilter(el,opts){
if(!$.support.opacity&&opts.cleartype&&el.style.filter){
try{el.style.removeAttribute('filter');}
catch(smother){}
}
};
function buildOptions($cont,$slides,els,options,o){
var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});
if(opts.autostop)
opts.countdown=opts.autostopCount||els.length;
var cont=$cont[0];
$cont.data('cycle.opts',opts);
opts.$cont=$cont;
opts.stopCount=cont.cycleStop;
opts.elements=els;
opts.before=opts.before?[opts.before]:[];
opts.after=opts.after?[opts.after]:[];
opts.after.unshift(function(){opts.busy=0;});
if(!$.support.opacity&&opts.cleartype)
opts.after.push(function(){removeFilter(this,opts);});
if(opts.continuous)
opts.after.push(function(){go(els,opts,0,!opts.rev);});
saveOriginalOpts(opts);
if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg)
clearTypeFix($slides);
if($cont.css('position')=='static')
$cont.css('position','relative');
if(opts.width)
$cont.width(opts.width);
if(opts.height&&opts.height!='auto')
$cont.height(opts.height);
if(opts.startingSlide)
opts.startingSlide=parseInt(opts.startingSlide);
if(opts.random){
opts.randomMap=[];
for(var i=0;i<els.length;i++)
opts.randomMap.push(i);
opts.randomMap.sort(function(a,b){return Math.random()-0.5;});
opts.randomIndex=0;
opts.startingSlide=opts.randomMap[0];
}
else if(opts.startingSlide>=els.length)
opts.startingSlide=0;
opts.currSlide=opts.startingSlide=opts.startingSlide||0;
var first=opts.startingSlide;
$slides.css({position:'absolute',top:0,left:0}).hide().each(function(i){
var z=first?i>=first?els.length-(i-first):first-i:els.length-i;
$(this).css('z-index',z)
});
$(els[first]).css('opacity',1).show();
removeFilter(els[first],opts);
if(opts.fit&&opts.width)
$slides.width(opts.width);
if(opts.fit&&opts.height&&opts.height!='auto')
$slides.height(opts.height);
var reshape=opts.containerResize&&!$cont.innerHeight();
if(reshape){
var maxw=0,maxh=0;
for(var i=0;i<els.length;i++){
var $e=$(els[i]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();
if(!w)w=e.offsetWidth;
if(!h)h=e.offsetHeight;
maxw=w>maxw?w:maxw;
maxh=h>maxh?h:maxh;
}
if(maxw>0&&maxh>0)
$cont.css({width:maxw+'px',height:maxh+'px'});
}
if(opts.pause)
$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});
if(supportMultiTransitions(opts)===false)
return false;
if(!opts.multiFx){
var init=$.fn.cycle.transitions[opts.fx];
if($.isFunction(init))
init($cont,$slides,opts);
else if(opts.fx!='custom'&&!opts.multiFx){
log('unknown transition: '+opts.fx,'; slideshow terminating');
return false;
}
}
var requeue=false;
options.requeueAttempts=options.requeueAttempts||0;
$slides.each(function(){
var $el=$(this);
this.cycleH=(opts.fit&&opts.height)?opts.height:$el.height();
this.cycleW=(opts.fit&&opts.width)?opts.width:$el.width();
if($el.is('img')){
var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);
var loadingOp=($.browser.opera&&this.cycleW==42&&this.cycleH==19&&!this.complete);
var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);
if(loadingIE||loadingOp||loadingOther){
if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){
log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ',this.src,this.cycleW,this.cycleH);
setTimeout(function(){$(o.s,o.c).cycle(options)},opts.requeueTimeout);
requeue=true;
return false;
}
else{
log('could not determine size of image: '+this.src,this.cycleW,this.cycleH);
}
}
}
return true;
});
if(requeue)
return false;
opts.cssBefore=opts.cssBefore||{};
opts.animIn=opts.animIn||{};
opts.animOut=opts.animOut||{};
$slides.not(':eq('+first+')').css(opts.cssBefore);
if(opts.cssFirst)
$($slides[first]).css(opts.cssFirst);
if(opts.timeout){
opts.timeout=parseInt(opts.timeout);
if(opts.speed.constructor==String)
opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);
if(!opts.sync)
opts.speed=opts.speed/2;
while((opts.timeout-opts.speed)<250)
opts.timeout+=opts.speed;
}
if(opts.easing)
opts.easeIn=opts.easeOut=opts.easing;
if(!opts.speedIn)
opts.speedIn=opts.speed;
if(!opts.speedOut)
opts.speedOut=opts.speed;
opts.slideCount=els.length;
opts.currSlide=opts.lastSlide=first;
if(opts.random){
opts.nextSlide=opts.currSlide;
if(++opts.randomIndex==els.length)
opts.randomIndex=0;
opts.nextSlide=opts.randomMap[opts.randomIndex];
}
else
opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;
var e0=$slides[first];
if(opts.before.length)
opts.before[0].apply(e0,[e0,e0,opts,true]);
if(opts.after.length>1)
opts.after[1].apply(e0,[e0,e0,opts,true]);
if(opts.next)
$(opts.next).click(function(){return advance(opts,opts.rev?-1:1)});
if(opts.prev)
$(opts.prev).click(function(){return advance(opts,opts.rev?1:-1)});
if(opts.pager)
buildPager(els,opts);
exposeAddSlide(opts,els);
return opts;
};
function saveOriginalOpts(opts){
opts.original={before:[],after:[]};
opts.original.cssBefore=$.extend({},opts.cssBefore);
opts.original.cssAfter=$.extend({},opts.cssAfter);
opts.original.animIn=$.extend({},opts.animIn);
opts.original.animOut=$.extend({},opts.animOut);
$.each(opts.before,function(){opts.original.before.push(this);});
$.each(opts.after,function(){opts.original.after.push(this);});
};
function supportMultiTransitions(opts){
var txs=$.fn.cycle.transitions;
if(opts.fx.indexOf(',')>0){
opts.multiFx=true;
opts.fxs=opts.fx.replace(/\s*/g,'').split(',');
for(var i=0;i<opts.fxs.length;i++){
var fx=opts.fxs[i];
var tx=txs[fx];
if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){
log('discarding unknown transition: ',fx);
opts.fxs.splice(i,1);
i--;
}
}
if(!opts.fxs.length){
log('No valid transitions named; slideshow terminating.');
return false;
}
}
else if(opts.fx=='all'){
opts.multiFx=true;
opts.fxs=[];
for(p in txs){
var tx=txs[p];
if(txs.hasOwnProperty(p)&&$.isFunction(tx))
opts.fxs.push(p);
}
}
if(opts.multiFx&&opts.randomizeEffects){
var r1=Math.floor(Math.random()*20)+30;
for(var i=0;i<r1;i++){
var r2=Math.floor(Math.random()*opts.fxs.length);
opts.fxs.push(opts.fxs.splice(r2,1)[0]);
}
log('randomized fx sequence: ',opts.fxs);
}
return true;
};
function exposeAddSlide(opts,els){
opts.addSlide=function(newSlide,prepend){
var $s=$(newSlide),s=$s[0];
if(!opts.autostopCount)
opts.countdown++;
els[prepend?'unshift':'push'](s);
if(opts.els)
opts.els[prepend?'unshift':'push'](s);
opts.slideCount=els.length;
$s.css('position','absolute');
$s[prepend?'prependTo':'appendTo'](opts.$cont);
if(prepend){
opts.currSlide++;
opts.nextSlide++;
}
if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg)
clearTypeFix($s);
if(opts.fit&&opts.width)
$s.width(opts.width);
if(opts.fit&&opts.height&&opts.height!='auto')
$slides.height(opts.height);
s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();
s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();
$s.css(opts.cssBefore);
if(opts.pager)
$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);
if($.isFunction(opts.onAddSlide))
opts.onAddSlide($s);
else
$s.hide();
};
}
$.fn.cycle.resetState=function(opts,fx){
fx=fx||opts.fx;
opts.before=[];opts.after=[];
opts.cssBefore=$.extend({},opts.original.cssBefore);
opts.cssAfter=$.extend({},opts.original.cssAfter);
opts.animIn=$.extend({},opts.original.animIn);
opts.animOut=$.extend({},opts.original.animOut);
opts.fxFn=null;
$.each(opts.original.before,function(){opts.before.push(this);});
$.each(opts.original.after,function(){opts.after.push(this);});
var init=$.fn.cycle.transitions[fx];
if($.isFunction(init))
init(opts.$cont,$(opts.elements),opts);
};
function go(els,opts,manual,fwd){
if(manual&&opts.busy&&opts.manualTrump){
$(els).stop(true,true);
opts.busy=false;
}
if(opts.busy)
return;
var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];
if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual)
return;
if(!manual&&!p.cyclePause&&
((opts.autostop&&(--opts.countdown<=0))||
(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){
if(opts.end)
opts.end(opts);
return;
}
if(manual||!p.cyclePause){
var fx=opts.fx;
curr.cycleH=curr.cycleH||$(curr).height();
curr.cycleW=curr.cycleW||$(curr).width();
next.cycleH=next.cycleH||$(next).height();
next.cycleW=next.cycleW||$(next).width();
if(opts.multiFx){
if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length)
opts.lastFx=0;
fx=opts.fxs[opts.lastFx];
opts.currFx=fx;
}
if(opts.oneTimeFx){
fx=opts.oneTimeFx;
opts.oneTimeFx=null;
}
$.fn.cycle.resetState(opts,fx);
if(opts.before.length)
$.each(opts.before,function(i,o){
if(p.cycleStop!=opts.stopCount)return;
o.apply(next,[curr,next,opts,fwd]);
});
var after=function(){
$.each(opts.after,function(i,o){
if(p.cycleStop!=opts.stopCount)return;
o.apply(next,[curr,next,opts,fwd]);
});
};
if(opts.nextSlide!=opts.currSlide){
opts.busy=1;
if(opts.fxFn)
opts.fxFn(curr,next,opts,after,fwd);
else if($.isFunction($.fn.cycle[opts.fx]))
$.fn.cycle[opts.fx](curr,next,opts,after);
else
$.fn.cycle.custom(curr,next,opts,after,manual&&opts.fastOnEvent);
}
opts.lastSlide=opts.currSlide;
if(opts.random){
opts.currSlide=opts.nextSlide;
if(++opts.randomIndex==els.length)
opts.randomIndex=0;
opts.nextSlide=opts.randomMap[opts.randomIndex];
}
else{
var roll=(opts.nextSlide+1)==els.length;
opts.nextSlide=roll?0:opts.nextSlide+1;
opts.currSlide=roll?els.length-1:opts.nextSlide-1;
}
if(opts.pager)
$.fn.cycle.updateActivePagerLink(opts.pager,opts.currSlide);
}
var ms=0;
if(opts.timeout&&!opts.continuous)
ms=getTimeout(curr,next,opts,fwd);
else if(opts.continuous&&p.cyclePause)
ms=10;
if(ms>0)
p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev)},ms);
};
$.fn.cycle.updateActivePagerLink=function(pager,currSlide){
$(pager).find('a').removeClass('activeSlide').filter('a:eq('+currSlide+')').addClass('activeSlide');
};
function getTimeout(curr,next,opts,fwd){
if(opts.timeoutFn){
var t=opts.timeoutFn(curr,next,opts,fwd);
if(t!==false)
return t;
}
return opts.timeout;
};
$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};
$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};
function advance(opts,val){
var els=opts.elements;
var p=opts.$cont[0],timeout=p.cycleTimeout;
if(timeout){
clearTimeout(timeout);
p.cycleTimeout=0;
}
if(opts.random&&val<0){
opts.randomIndex--;
if(--opts.randomIndex==-2)
opts.randomIndex=els.length-2;
else if(opts.randomIndex==-1)
opts.randomIndex=els.length-1;
opts.nextSlide=opts.randomMap[opts.randomIndex];
}
else if(opts.random){
if(++opts.randomIndex==els.length)
opts.randomIndex=0;
opts.nextSlide=opts.randomMap[opts.randomIndex];
}
else{
opts.nextSlide=opts.currSlide+val;
if(opts.nextSlide<0){
if(opts.nowrap)return false;
opts.nextSlide=els.length-1;
}
else if(opts.nextSlide>=els.length){
if(opts.nowrap)return false;
opts.nextSlide=0;
}
}
if($.isFunction(opts.prevNextClick))
opts.prevNextClick(val>0,opts.nextSlide,els[opts.nextSlide]);
go(els,opts,1,val>=0);
return false;
};
function buildPager(els,opts){
var $p=$(opts.pager);
$.each(els,function(i,o){
$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
});
$.fn.cycle.updateActivePagerLink(opts.pager,opts.startingSlide);
};
$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){
var a=($.isFunction(opts.pagerAnchorBuilder))
?opts.pagerAnchorBuilder(i,el)
:'<a href="#">'+(i+1)+'</a>';
if(!a)
return;
var $a=$(a);
if($a.parents('body').length==0){
var arr=[];
if($p.length>1){
$p.each(function(){
var $clone=$a.clone(true);
$(this).append($clone);
arr.push($clone);
});
$a=$(arr);
}
else{
$a.appendTo($p);
}
}
$a.bind(opts.pagerEvent,function(){
opts.nextSlide=i;
var p=opts.$cont[0],timeout=p.cycleTimeout;
if(timeout){
clearTimeout(timeout);
p.cycleTimeout=0;
}
if($.isFunction(opts.pagerClick))
opts.pagerClick(opts.nextSlide,els[opts.nextSlide]);
go(els,opts,1,opts.currSlide<i);
return false;
});
if(opts.pauseOnPagerHover)
$a.hover(function(){opts.$cont[0].cyclePause++;},function(){opts.$cont[0].cyclePause--;});
};
$.fn.cycle.hopsFromLast=function(opts,fwd){
var hops,l=opts.lastSlide,c=opts.currSlide;
if(fwd)
hops=c>l?c-l:opts.slideCount-l;
else
hops=c<l?l-c:l+opts.slideCount-c;
return hops;
};
function clearTypeFix($slides){
function hex(s){
s=parseInt(s).toString(16);
return s.length<2?'0'+s:s;
};
function getBg(e){
for(;e&&e.nodeName.toLowerCase()!='html';e=e.parentNode){
var v=$.css(e,'background-color');
if(v.indexOf('rgb')>=0){
var rgb=v.match(/\d+/g);
return'#'+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);
}
if(v&&v!='transparent')
return v;
}
return'#ffffff';
};
$slides.each(function(){$(this).css('background-color',getBg(this));});
};
$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){
$(opts.elements).not(curr).hide();
opts.cssBefore.opacity=1;
opts.cssBefore.display='block';
if(w!==false&&next.cycleW>0)
opts.cssBefore.width=next.cycleW;
if(h!==false&&next.cycleH>0)
opts.cssBefore.height=next.cycleH;
opts.cssAfter=opts.cssAfter||{};
opts.cssAfter.display='none';
$(curr).css('zIndex',opts.slideCount+(rev===true?1:0));
$(next).css('zIndex',opts.slideCount+(rev===true?0:1));
};
$.fn.cycle.custom=function(curr,next,opts,cb,speedOverride){
var $l=$(curr),$n=$(next);
var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;
$n.css(opts.cssBefore);
if(speedOverride){
if(typeof speedOverride=='number')
speedIn=speedOut=speedOverride;
else
speedIn=speedOut=1;
easeIn=easeOut=null;
}
var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb)};
$l.animate(opts.animOut,speedOut,easeOut,function(){
if(opts.cssAfter)$l.css(opts.cssAfter);
if(!opts.sync)fn();
});
if(opts.sync)fn();
};
$.fn.cycle.transitions={
fade:function($cont,$slides,opts){
$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts);
opts.cssBefore.opacity=0;
});
opts.animIn={opacity:1};
opts.animOut={opacity:0};
opts.cssBefore={top:0,left:0};
}
};
$.fn.cycle.ver=function(){return ver;};
$.fn.cycle.defaults={
fx:'fade',
timeout:4000,
timeoutFn:null,
continuous:0,
speed:1000,
speedIn:null,
speedOut:null,
next:null,
prev:null,
prevNextClick:null,
pager:null,
pagerClick:null,
pagerEvent:'click',
pagerAnchorBuilder:null,
before:null,
after:null,
end:null,
easing:null,
easeIn:null,
easeOut:null,
shuffle:null,
animIn:null,
animOut:null,
cssBefore:null,
cssAfter:null,
fxFn:null,
height:'auto',
startingSlide:0,
sync:1,
random:0,
fit:0,
containerResize:1,
pause:0,
pauseOnPagerHover:0,
autostop:0,
autostopCount:0,
delay:0,
slideExpr:null,
cleartype:!$.support.opacity,
nowrap:0,
fastOnEvent:0,
randomizeEffects:1,
rev:0,
manualTrump:true,
requeueOnImageNotLoaded:true,
requeueTimeout:250
};
})(jQuery);
(function($){
$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){
$cont.css('overflow','hidden');
opts.before.push($.fn.cycle.commonReset);
var h=$cont.height();
opts.cssBefore={top:h,left:0};
opts.cssFirst={top:0};
opts.animIn={top:0};
opts.animOut={top:-h};
};
$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){
$cont.css('overflow','hidden');
opts.before.push($.fn.cycle.commonReset);
var h=$cont.height();
opts.cssFirst={top:0};
opts.cssBefore={top:-h,left:0};
opts.animIn={top:0};
opts.animOut={top:h};
};
$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){
$cont.css('overflow','hidden');
opts.before.push($.fn.cycle.commonReset);
var w=$cont.width();
opts.cssFirst={left:0};
opts.cssBefore={left:w,top:0};
opts.animIn={left:0};
opts.animOut={left:0-w};
};
$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){
$cont.css('overflow','hidden');
opts.before.push($.fn.cycle.commonReset);
var w=$cont.width();
opts.cssFirst={left:0};
opts.cssBefore={left:-w,top:0};
opts.animIn={left:0};
opts.animOut={left:w};
};
$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){
$cont.css('overflow','hidden').width();
opts.before.push(function(curr,next,opts,fwd){
$.fn.cycle.commonReset(curr,next,opts);
opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);
opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;
});
opts.cssFirst={left:0};
opts.cssBefore={top:0};
opts.animIn={left:0};
opts.animOut={top:0};
};
$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){
$cont.css('overflow','hidden');
opts.before.push(function(curr,next,opts,fwd){
$.fn.cycle.commonReset(curr,next,opts);
opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);
opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;
});
opts.cssFirst={top:0};
opts.cssBefore={left:0};
opts.animIn={top:0};
opts.animOut={left:0};
};
$.fn.cycle.transitions.slideX=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$(opts.elements).not(curr).hide();
$.fn.cycle.commonReset(curr,next,opts,false,true);
opts.animIn.width=next.cycleW;
});
opts.cssBefore={left:0,top:0,width:0};
opts.animIn={width:'show'};
opts.animOut={width:0};
};
$.fn.cycle.transitions.slideY=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$(opts.elements).not(curr).hide();
$.fn.cycle.commonReset(curr,next,opts,true,false);
opts.animIn.height=next.cycleH;
});
opts.cssBefore={left:0,top:0,height:0};
opts.animIn={height:'show'};
opts.animOut={height:0};
};
$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){
var w=$cont.css('overflow','visible').width();
$slides.css({left:0,top:0});
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,true,true);
});
opts.speed=opts.speed/2;
opts.random=0;
opts.shuffle=opts.shuffle||{left:-w,top:15};
opts.els=[];
for(var i=0;i<$slides.length;i++)
opts.els.push($slides[i]);
for(var i=0;i<opts.currSlide;i++)
opts.els.push(opts.els.shift());
opts.fxFn=function(curr,next,opts,cb,fwd){
var $el=fwd?$(curr):$(next);
$(next).css(opts.cssBefore);
var count=opts.slideCount;
$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){
var hops=$.fn.cycle.hopsFromLast(opts,fwd);
for(var k=0;k<hops;k++)
fwd?opts.els.push(opts.els.shift()):opts.els.unshift(opts.els.pop());
if(fwd)
for(var i=0,len=opts.els.length;i<len;i++)
$(opts.els[i]).css('z-index',len-i+count);
else{
var z=$(curr).css('z-index');
$el.css('z-index',parseInt(z)+1+count);
}
$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){
$(fwd?this:curr).hide();
if(cb)cb();
});
});
};
opts.cssBefore={display:'block',opacity:1,top:0,left:0};
};
$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false);
opts.cssBefore.top=next.cycleH;
opts.animIn.height=next.cycleH;
});
opts.cssFirst={top:0};
opts.cssBefore={left:0,height:0};
opts.animIn={top:0};
opts.animOut={height:0};
};
$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false);
opts.animIn.height=next.cycleH;
opts.animOut.top=curr.cycleH;
});
opts.cssFirst={top:0};
opts.cssBefore={left:0,top:0,height:0};
opts.animOut={height:0};
};
$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true);
opts.cssBefore.left=next.cycleW;
opts.animIn.width=next.cycleW;
});
opts.cssBefore={top:0,width:0};
opts.animIn={left:0};
opts.animOut={width:0};
};
$.fn.cycle.transitions.turnRight=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true);
opts.animIn.width=next.cycleW;
opts.animOut.left=curr.cycleW;
});
opts.cssBefore={top:0,left:0,width:0};
opts.animIn={left:0};
opts.animOut={width:0};
};
$.fn.cycle.transitions.zoom=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,false,true);
opts.cssBefore.top=next.cycleH/2;
opts.cssBefore.left=next.cycleW/2;
opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};
opts.animOut={width:0,height:0,top:curr.cycleH/2,left:curr.cycleW/2};
});
opts.cssFirst={top:0,left:0};
opts.cssBefore={width:0,height:0};
};
$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,false);
opts.cssBefore.left=next.cycleW/2;
opts.cssBefore.top=next.cycleH/2;
opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};
});
opts.cssBefore={width:0,height:0};
opts.animOut={opacity:0};
};
$.fn.cycle.transitions.blindX=function($cont,$slides,opts){
var w=$cont.css('overflow','hidden').width();
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts);
opts.animIn.width=next.cycleW;
opts.animOut.left=curr.cycleW;
});
opts.cssBefore={left:w,top:0};
opts.animIn={left:0};
opts.animOut={left:w};
};
$.fn.cycle.transitions.blindY=function($cont,$slides,opts){
var h=$cont.css('overflow','hidden').height();
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts);
opts.animIn.height=next.cycleH;
opts.animOut.top=curr.cycleH;
});
opts.cssBefore={top:h,left:0};
opts.animIn={top:0};
opts.animOut={top:h};
};
$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){
var h=$cont.css('overflow','hidden').height();
var w=$cont.width();
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts);
opts.animIn.height=next.cycleH;
opts.animOut.top=curr.cycleH;
});
opts.cssBefore={top:h,left:w};
opts.animIn={top:0,left:0};
opts.animOut={top:h,left:w};
};
$.fn.cycle.transitions.growX=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true);
opts.cssBefore.left=this.cycleW/2;
opts.animIn={left:0,width:this.cycleW};
opts.animOut={left:0};
});
opts.cssBefore={width:0,top:0};
};
$.fn.cycle.transitions.growY=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false);
opts.cssBefore.top=this.cycleH/2;
opts.animIn={top:0,height:this.cycleH};
opts.animOut={top:0};
});
opts.cssBefore={height:0,left:0};
};
$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true,true);
opts.cssBefore.left=next.cycleW/2;
opts.animIn={left:0,width:this.cycleW};
opts.animOut={left:curr.cycleW/2,width:0};
});
opts.cssBefore={top:0,width:0};
};
$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false,true);
opts.cssBefore.top=next.cycleH/2;
opts.animIn={top:0,height:next.cycleH};
opts.animOut={top:curr.cycleH/2,height:0};
});
opts.cssBefore={left:0,height:0};
};
$.fn.cycle.transitions.cover=function($cont,$slides,opts){
var d=opts.direction||'left';
var w=$cont.css('overflow','hidden').width();
var h=$cont.height();
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts);
if(d=='right')
opts.cssBefore.left=-w;
else if(d=='up')
opts.cssBefore.top=h;
else if(d=='down')
opts.cssBefore.top=-h;
else
opts.cssBefore.left=w;
});
opts.animIn={left:0,top:0};
opts.animOut={opacity:1};
opts.cssBefore={top:0,left:0};
};
$.fn.cycle.transitions.uncover=function($cont,$slides,opts){
var d=opts.direction||'left';
var w=$cont.css('overflow','hidden').width();
var h=$cont.height();
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,true,true);
if(d=='right')
opts.animOut.left=w;
else if(d=='up')
opts.animOut.top=-h;
else if(d=='down')
opts.animOut.top=h;
else
opts.animOut.left=-w;
});
opts.animIn={left:0,top:0};
opts.animOut={opacity:1};
opts.cssBefore={top:0,left:0};
};
$.fn.cycle.transitions.toss=function($cont,$slides,opts){
var w=$cont.css('overflow','visible').width();
var h=$cont.height();
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,true,true);
if(!opts.animOut.left&&!opts.animOut.top)
opts.animOut={left:w*2,top:-h/2,opacity:0};
else
opts.animOut.opacity=0;
});
opts.cssBefore={left:0,top:0};
opts.animIn={left:0};
};
$.fn.cycle.transitions.wipe=function($cont,$slides,opts){
var w=$cont.css('overflow','hidden').width();
var h=$cont.height();
opts.cssBefore=opts.cssBefore||{};
var clip;
if(opts.clip){
if(/l2r/.test(opts.clip))
clip='rect(0px 0px '+h+'px 0px)';
else if(/r2l/.test(opts.clip))
clip='rect(0px '+w+'px '+h+'px '+w+'px)';
else if(/t2b/.test(opts.clip))
clip='rect(0px '+w+'px 0px 0px)';
else if(/b2t/.test(opts.clip))
clip='rect('+h+'px '+w+'px '+h+'px 0px)';
else if(/zoom/.test(opts.clip)){
var t=parseInt(h/2);
var l=parseInt(w/2);
clip='rect('+t+'px '+l+'px '+t+'px '+l+'px)';
}
}
opts.cssBefore.clip=opts.cssBefore.clip||clip||'rect(0px 0px 0px 0px)';
var d=opts.cssBefore.clip.match(/(\d+)/g);
var t=parseInt(d[0]),r=parseInt(d[1]),b=parseInt(d[2]),l=parseInt(d[3]);
opts.before.push(function(curr,next,opts){
if(curr==next)return;
var $curr=$(curr),$next=$(next);
$.fn.cycle.commonReset(curr,next,opts,true,true,false);
opts.cssAfter.display='block';
var step=1,count=parseInt((opts.speedIn/13))-1;
(function f(){
var tt=t?t-parseInt(step*(t/count)):0;
var ll=l?l-parseInt(step*(l/count)):0;
var bb=b<h?b+parseInt(step*((h-b)/count||1)):h;
var rr=r<w?r+parseInt(step*((w-r)/count||1)):w;
$next.css({clip:'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)'});
(step++<=count)?setTimeout(f,13):$curr.css('display','none');
})();
});
opts.cssBefore={display:'block',opacity:1,top:0,left:0};
opts.animIn={left:0};
opts.animOut={left:0};
};
})(jQuery);