/*
  jQuery utils - 0.6.4
  http://code.google.com/p/jquery-utils/

  (c) Maxime Haineault <haineault@gmail.com> 
  http://haineault.com

  MIT License (http://www.opensource.org/licenses/mit-license.php

*/
(function($){$.extend($.expr[':'],{icontains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").toLowerCase().indexOf(m[3].toLowerCase())>=0;}});$.iterators={getText:function(){return $(this).text();},parseInt:function(v){return parseInt(v,10);}};$.extend({keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38},redirect:function(url){window.location.href=url;return url;},stop:function(e,preventDefault,stopPropagation){if(preventDefault){e.preventDefault();}if(stopPropagation){e.stopPropagation();}return preventDefault&&false||true;},basename:function(path){var t=path.split('/');return t[t.length]===''&&s||t.slice(0,t.length).join('/');},filename:function(path){return path.split('/').pop();},filesizeformat:function(bytes,suffixes){var b=parseInt(bytes,10);var s=suffixes||['byte','bytes','KB','MB','GB'];if(isNaN(b)||b===0){return'0 '+s[0];}if(b==1){return'1 '+s[0];}if(b<1024){return b.toFixed(2)+' '+s[1];}if(b<1048576){return(b/1024).toFixed(2)+' '+s[2];}if(b<1073741824){return(b/1048576).toFixed(2)+' '+s[3];}else{return(b/1073741824).toFixed(2)+' '+s[4];}},fileExtension:function(s){var tokens=s.split('.');return tokens[tokens.length-1]||false;},isString:function(o){return typeof(o)=='string'&&true||false;},isRegExp:function(o){return o&&o.constructor.toString().indexOf('RegExp()')!=-1||false;},isArray:function(o){if(!o){return false;}return Object.prototype.toString.apply(o.constructor.prototype)==='[object Array]';},toCurrency:function(i){i=parseFloat(i,10).toFixed(2);return(i=='NaN')?'0.00':i;},pxToEm:function(i,settings){settings=jQuery.extend({scope:'body',reverse:false},settings);var pxVal=(i==='')?0:parseFloat(i);var scopeVal;var getWindowWidth=function(){var de=document.documentElement;return self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;};if(settings.scope=='body'&&$.browser.msie&&(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(1)>0.0){var calcFontSize=function(){return(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(3)*16;};scopeVal=calcFontSize();}else{scopeVal=parseFloat(jQuery(settings.scope).css("font-size"));}var result=(settings.reverse===true)?(pxVal*scopeVal).toFixed(2)+'px':(pxVal/scopeVal).toFixed(2)+'em';return result;}});$.extend($.fn,{selectRange:function(start,end){if($(this).get(0).createTextRange){var range=$(this).get(0).createTextRange();range.collapse(true);range.moveEnd('character',end);range.moveStart('character',start);range.select();}else if($(this).get(0).setSelectionRange){$(this).bind('focus',function(e){e.preventDefault();}).get(0).setSelectionRange(start,end);}return $(this);},equalHeights:function(px){$(this).each(function(){var currentTallest=0;$(this).children().each(function(i){if($(this).height()>currentTallest){currentTallest=$(this).height();}});if(!px||!$.pxToEm){currentTallest=$.pxToEm(currentTallest);}if($.browser.msie&&$.browser.version==6.0){$(this).children().css({'height':currentTallest});}$(this).children().css({'min-height':currentTallest});});return this;},delay:function(time,callback){jQuery.fx.step.delay=function(){};return this.animate({delay:1},time,callback);}});})(jQuery);(function($){var strings={strConversion:{__repr:function(i){switch(this.__getType(i)){case'array':case'date':case'number':return i.toString();case'object':var o=[];for(x=0;x<i.length;i++){o.push(i+': '+this.__repr(i[x]));}return o.join(', ');case'string':return i;default:return i;}},__getType:function(i){if(!i||!i.constructor){return typeof(i);}var match=i.constructor.toString().match(/Array|Number|String|Object|Date/);return match&&match[0].toLowerCase()||typeof(i);},__pad:function(str,l,s,t){var p=s||' ';var o=str;if(l-str.length>0){o=new Array(Math.ceil(l/p.length)).join(p).substr(0,t=!t?l:t==1?0:Math.ceil(l/2))+str+p.substr(0,l-t);}return o;},__getInput:function(arg,args){var key=arg.getKey();switch(this.__getType(args)){case'object':var keys=key.split('.');var obj=args;for(var subkey=0;subkey<keys.length;subkey++){obj=obj[keys[subkey]];}if(typeof(obj)!='undefined'){if(strings.strConversion.__getType(obj)=='array'){return arg.getFormat().match(/\.\*/)&&obj[1]||obj;}return obj;}else{}break;case'array':key=parseInt(key,10);if(arg.getFormat().match(/\.\*/)&&typeof args[key+1]!='undefined'){return args[key+1];}else if(typeof args[key]!='undefined'){return args[key];}else{return key;}break;}return'{'+key+'}';},__formatToken:function(token,args){var arg=new Argument(token,args);return strings.strConversion[arg.getFormat().slice(-1)](this.__getInput(arg,args),arg);},d:function(input,arg){var o=parseInt(input,10);var p=arg.getPaddingLength();if(p){return this.__pad(o.toString(),p,arg.getPaddingString(),0);}else{return o;}},i:function(input,args){return this.d(input,args);},o:function(input,arg){var o=input.toString(8);if(arg.isAlternate()){o=this.__pad(o,o.length+1,'0',0);}return this.__pad(o,arg.getPaddingLength(),arg.getPaddingString(),0);},u:function(input,args){return Math.abs(this.d(input,args));},x:function(input,arg){var o=parseInt(input,10).toString(16);o=this.__pad(o,arg.getPaddingLength(),arg.getPaddingString(),0);return arg.isAlternate()?'0x'+o:o;},X:function(input,arg){return this.x(input,arg).toUpperCase();},e:function(input,arg){return parseFloat(input,10).toExponential(arg.getPrecision());},E:function(input,arg){return this.e(input,arg).toUpperCase();},f:function(input,arg){return this.__pad(parseFloat(input,10).toFixed(arg.getPrecision()),arg.getPaddingLength(),arg.getPaddingString(),0);},F:function(input,args){return this.f(input,args);},g:function(input,arg){var o=parseFloat(input,10);return(o.toString().length>6)?Math.round(o.toExponential(arg.getPrecision())):o;},G:function(input,args){return this.g(input,args);},c:function(input,args){var match=input.match(/\w|\d/);return match&&match[0]||'';},r:function(input,args){return this.__repr(input);},s:function(input,args){return input.toString&&input.toString()||''+input;}},format:function(str,args){var end=0;var start=0;var match=false;var buffer=[];var token='';var tmp=(str||'').split('');for(start=0;start<tmp.length;start++){if(tmp[start]=='{'&&tmp[start+1]!='{'){end=str.indexOf('}',start);token=tmp.slice(start+1,end).join('');buffer.push(strings.strConversion.__formatToken(token,(typeof arguments[1]!='object')?arguments2Array(arguments,2):args||[]));}else if(start>end||buffer.length<1){buffer.push(tmp[start]);}}return(buffer.length>1)?buffer.join(''):buffer[0];},calc:function(str,args){return eval(format(str,args));},repeat:function(s,n){return new Array(n+1).join(s);},UTF8encode:function(s){return unescape(encodeURIComponent(s));},UTF8decode:function(s){return decodeURIComponent(escape(s));},tpl:function(){var out='';if(!arguments[1]){out=this[arguments[0]];}else if($.isArray(arguments[1])){out=this[arguments[0]]=arguments[1].join('');}else if(typeof(arguments[1])=='object'){out=$.format(this[arguments[0]],arguments[1]);}return $(out);}};var Argument=function(arg,args){this.__arg=arg;this.__args=args;this.__max_precision=parseFloat('1.'+(new Array(32)).join('1'),10).toString().length-3;this.__def_precision=6;this.getString=function(){return this.__arg;};this.getKey=function(){return this.__arg.split(':')[0];};this.getFormat=function(){var match=this.getString().split(':');return(match&&match[1])?match[1]:'s';};this.getPrecision=function(){var match=this.getFormat().match(/\.(\d+|\*)/g);if(!match){return this.__def_precision;}else{match=match[0].slice(1);if(match!='*'){return parseInt(match,10);}else if(strings.strConversion.__getType(this.__args)=='array'){return this.__args[1]&&this.__args[0]||this.__def_precision;}else if(strings.strConversion.__getType(this.__args)=='object'){return this.__args[this.getKey()]&&this.__args[this.getKey()][0]||this.__def_precision;}else{return this.__def_precision;}}};this.getPaddingLength=function(){var match=false;if(this.isAlternate()){match=this.getString().match(/0?#0?(\d+)/);if(match&&match[1]){return parseInt(match[1],10);}}match=this.getString().match(/(0|\.)(\d+|\*)/g);return match&&parseInt(match[0].slice(1),10)||0;};this.getPaddingString=function(){var o='';if(this.isAlternate()){o=' ';}if(this.getFormat().match(/#0|0#|^0|\.\d+/)){o='0';}return o;};this.getFlags=function(){var match=this.getString().matc(/^(0|\#|\-|\+|\s)+/);return match&&match[0].split('')||[];};this.isAlternate=function(){return!!this.getFormat().match(/^0?#/);};};var arguments2Array=function(args,shift){var o=[];for(l=args.length,x=(shift||0)-1;x<l;x++){o.push(args[x]);}return o;};$.extend(strings);})(jQuery);(function($){var dummy=function(i){return i;};var truthiness=function(i){return!!i;};$.extend({all:function(object,iterator){var output=true;var iterator=iterator||truthiness;$.each(object,function(idx,i){if(!iterator(i)){output=false;}});return output;},any:function(object,iterator){var output=false;var iterator=iterator||truthiness;$.each(object,function(idx,i){return iterator(i)&&!(output=true)||true;});return output;},detect:function(object,iterator){var output=false;var iterator=iterator||truthiness;$.each(object,function(idx,i){if(iterator(i)){output=i;return false;}});return output;},eachSlice:function(object,size,iterator){var index=-size,slices=[];while((index+=size)<object.length){slices.push($.map(object.slice(index,index+size),iterator||dummy));}return slices;},inject:function(object,acc,iterator){$.each(object,function(idx,val){acc=iterator(acc,val,idx);});return acc;},invoke:function(object,method,args){$.each(object,function(){if($.isFunction(method)){method.apply(object,args);}else if($.isFunction(window[method])){window[method].apply(object,args);}});return object;},max:function(object,iterator){var output=false;$.each(object,function(idx,val){var rs=(iterator||dummy)(val,idx);if(!output||rs>output){output=rs;}});return output;},min:function(object,iterator){var output=false;$.each(object,function(idx,val){var rs=(iterator||dummy)(val,idx);if(!output||rs<output){output=rs;}});return output;},partition:function(object,iterator){var trues=[],falses=[];$.each(object,function(idx,val){((iterator||truthiness)(val,idx)?trues:falses).push(val);});return[trues,falses];},pluck:function(object,property,iterator){var output=[];var iterator=iterator||dummy;$.each(object,function(){output.push(iterator(this[property]));});return output;},reject:function(object,iterator){return $.select(object,(iterator||function(i){return!i;}));},select:function(object,iterator){var output=[];var iterator=iterator||truthiness;$.each(object,function(idx,i){if(iterator(i)){output.push(i);}});return output;},sum:function(object,iterator){var iterator=iterator||function(i){return parseInt(i,10)};var t=0;$.each(object,function(){var v=iterator(this);if(!isNaN(v)){t=t+v;}});return t;},zip:function(object,object2,iterator){var output=[];var iterator=iterator||dummy;$.each(object,function(idx,i){if(object2[idx]){output.push([i,object2[idx]]);}});return output;},randomize:function(object){var i=object.length;if(i==0)return false;while(--i){var j=Math.floor(Math.random()*(i+1));var tempi=object[i];var tempj=object[j];object[i]=tempj;object[j]=tempi;}return object;},range:function(){if(!arguments.length){return[];}var min,max,step;if(arguments.length==1){min=0;max=arguments[0]-1;step=1;}else{min=arguments[0];max=arguments[1]-1;step=arguments[2]||1;}if(step<0&&min>=max){step*=-1;var tmp=min;min=max;max=tmp;min+=((max-min)%step);}var a=[];for(var i=min;i<=max;i+=step){a.push(i);}return a;}});$.extend($.fn,{all:function(iterator){return $.all(this,iterator);},any:function(iterator){return $.any(this,iterator);},pluck:function(property,iterator){return $.pluck(this,property,iterator);},detect:function(iterator){return $($.detect(this,iterator));},eachSlice:function(size,iterator){return $.eachSlice(this,size,iterator);},select:function(iterator){return $.findAll(this,iterator);},sum:function(iterator){var iterator=iterator||function(i){return parseFloat($(i).val()||$(i).text(),10);};return $.sum(this,iterator);}});})(jQuery);(function($){$.widget('ui.dropslide',$.extend({},$.ui.mouse,{getter:'showLevel showNextLevel getSelection',_init:function(){var widget=this;var next=this.element.next();this.wrapper=next.hasClass('ui-dropslide')&&next||this.options.tree;this.element.bind(this.options.trigger+'.dropslide',function(){widget.show();});this.wrapper.addClass('ui-reset ui-component').data('dropslide',this).css({width:this.options.width}).find('li, li ol li').bind('mouseover.dropslide',function(e){$(this).siblings().removeClass('hover').find('ol').hide().end().find('span').removeClass('ui-hover-state').end();$(this).find('ol').show().end().addClass('hover').children(0).addClass('ui-hover-state');widget.showNextLevel();}).bind('click.dropslide',function(e){$(widget.element).triggerHandler('dropslideclick',[e,widget],widget.options.click);$(widget.element).triggerHandler('select',[e,widget],widget.options.select);}).end().find('ol').bind('mousemove.dropslide',function(e){return widget._redraw();}).addClass('ui-widget ui-helper-clearfix ui-helper-reset').hide().end().find('span').addClass('ui-state-default ui-corner-all');this._redraw();},showLevel:function(id){var ols=this.wrapper.find('ol');var ds=this;if(id==0){ols.eq(0).css('left',this.element.position().left);this.wrapper.css('top',ds.element.position().top+ds.element.height()+ds.options.top);this.wrapper.css('z-index',1000);}setTimeout(function(){ols.removeClass('active').eq(id).addClass('active').show(ds.options.animSpeed);},ds.options.showDelay);},showNextLevel:function(){this.wrapper.find('ol.active').removeClass('active').next('ol').addClass('active').show(this.options.animSpeed);},getSelection:function(level){return level&&this.wrapper.find('ol').eq(level).find('li span.ui-hover-state')||$.makeArray(this.wrapper.find('span.ui-hover-state').map($.iterators.getText));},_redraw:function(){var prevLI,prevOL,nextOL,pos=false;var offset=this.element.position().left+this.options.left;var ols=$(this.wrapper).find('ol');$(this.wrapper).css({top:this.element.position().top+this.element.height()+this.options.top,left:this.element.position().left});ols.each(function(i){prevOL=$(this).prevAll('ol:visible:first');try{if(prevOL.get(0)){prevLI=prevOL.find('li.hover, li:first').eq(0);$(this).css('margin-left',prevLI.position().left);}}catch(e){};});},show:function(e){this.showLevel(0);},hide:function(){var widget=this;setTimeout(function(){widget.wrapper.find('ol').hide();},widget.options.hideDelay);},activate:function(e){this.element.focus();this.show(this.options.animSpeed);},destroy:function(e){this.wrapper.remove();}}));$.ui.dropslide.defaults={tree:false,trigger:'mouseover',top:6,left:0,showDelay:0,hideDelay:0,animSpeed:0,select:function(){},click:function(e,ui){ui.hide();}};})(jQuery);(function($){$.widget('ui.timepickr',{_init:function(){var menu=this._buildMenu();var element=this.element;element.data('timepickr.initialValue',element.val());menu.insertAfter(this.element);element.addClass('ui-timepickr').dropslide(this.options.dropslide).bind('select',this.select);element.blur(function(e){$(this).dropslide('hide');$(this).val($(this).data('timepickr.initialValue'));});if(this.options.val){element.val(this.options.val);}if(this.options.handle){$(this.options.handle).click(function(){$(element).dropslide('show');});}if(this.options.resetOnBlur){menu.find('li > span').bind('mousedown.timepickr',function(){$(element).data('timepickr.initialValue',$(element).val());});}if(this.options.updateLive){menu.find('li').bind('mouseover.timepickr',function(){$(element).timepickr('update');});}var hrs=menu.find('ol:eq(1)').find('li:first').addClass('hover').find('span').addClass('ui-hover-state').end().end();var min=menu.find('ol:eq(2)').find('li:first').addClass('hover').find('span').addClass('ui-hover-state').end().end();var sec=menu.find('ol:eq(3)').find('li:first').addClass('hover').find('span').addClass('ui-hover-state').end().end();if(this.options.convention===24){var day=menu.find('ol:eq(0) li:eq(0)');var night=menu.find('ol:eq(0) li:eq(1)');var dayHours=hrs.find('li').slice(0,12);var nightHours=hrs.find('li').slice(12,24);var index=0;var selectHr=function(id){hrs.find('li').removeClass('hover');hrs.find('span').removeClass('ui-hover-state');hrs.find('li').eq(id).addClass('hover').find('span').addClass('ui-hover-state')};day.mouseover(function(){nightHours.hide();dayHours.show(0);index=hrs.find('li.hover').data('id')||hrs.find('li:first').data('id');selectHr(index>11&&index-12||index);element.dropslide('redraw');});night.mouseover(function(){dayHours.hide();nightHours.show(0);index=hrs.find('li.hover').data('id')||hrs.find('li:first').data('id');selectHr(index<12&&index+12||index);element.dropslide('redraw');});}element.dropslide('redraw');element.data('timepickr',this);},update:function(){var frmt=this.options.convention===24&&'format24'||'format12';var val={h:this.getValue('hour'),m:this.getValue('minute'),s:this.getValue('second'),prefix:this.getValue('prefix'),suffix:this.getValue('suffix')};var o=$.format(this.options[frmt],val);$(this.element).val(o);},select:function(e){var dropslide=$(this).data('dropslide');$(dropslide.element).timepickr('update');e.stopPropagation();},getHour:function(){return this.getValue('hour');},getMinute:function(){return this.getValue('minute');},getSecond:function(){return this.getValue('second');},getValue:function(type){return $('.ui-timepickr.'+type+'.hover',this.element.next()).text();},activate:function(){this.element.dropslide('activate');},destroy:function(){this.element.dropslide('destroy');},_createButton:function(i,format,className){var o=format&&$.format(format,i)||i;var cn=className&&'ui-timepickr '+className||'ui-timepickr';return $('<li />').addClass(cn).data('id',i).append($('<span />').text(o));},_createRow:function(range,format,className){var row=$('<ol class="ui-timepickr" />');var button=this._createButton;$.each(range,function(idx,val){row.append(button(val,format||false,className||false));});return row;},_getRanges12:function(){var o=[],opt=this.options;if(opt.hours){o.push(this._createRow($.range(1,13),'{0:0.2d}','hour'));}if(opt.minutes){o.push(this._createRow(opt.rangeMin,'{0:0.2d}','minute'));}if(opt.seconds){o.push(this._createRow(opt.rangeSec,'{0:0.2d}','second'));}if(opt.suffix){o.push(this._createRow(opt.suffix,false,'suffix'));}return o;},_getRanges24:function(){var o=[],opt=this.options;o.push(this._createRow(opt.prefix,false,'prefix'));if(opt.hours){o.push(this._createRow($.range(0,24),'{0:0.2d}','hour'));}if(opt.minutes){o.push(this._createRow(opt.rangeMin,'{0:0.2d}','minute'));}if(opt.seconds){o.push(this._createRow(opt.rangeSec,'{0:0.2d}','second'));}return o;},_buildMenu:function(){var menu=$('<span class="ui-reset ui-dropslide ui-component" />');var ranges=this.options.convention===24&&this._getRanges24()||this._getRanges12();$.each(ranges,function(idx,val){menu.append(val);});return menu;}});$.ui.timepickr.defaults={convention:24,dropslide:{trigger:'focus'},format12:'{h:02.d}:{m:02.d} {suffix:s}',format24:'{h:02.d}:{m:02.d}',handle:false,hours:true,minutes:true,seconds:false,prefix:['am','pm'],suffix:['am','pm'],rangeMin:['00','15','30','45'],rangeSec:['00','15','30','45'],updateLive:true,resetOnBlur:true,val:false};})(jQuery);