/* Accordion */
(function($){$.fn.extend({accordion:function(){return this.each(function(){if($(this).data('accordiated'))return false;$.each($(this).find('ul, li>div'),function(){$(this).data('accordiated',true);$(this).hide()});$.each($(this).find('h3:not(.foo)'),function(){$(this).click(function(e){activate(e.target);return void(0)})});var active=false;if($(this).find('li.current'))active=$(this).find('li.current h3')[0];if(active){activate(active,'toggle','parents');$(active).parents().show()}function activate(el,effect,parents){$(el)[(parents||'parent')]('li').toggleClass('active').siblings().removeClass('active').children('ul, div').slideUp('fast');$(el).siblings('ul, div')[(effect||'slideToggle')]((!effect)?'fast':null)}})}})})(jQuery);
/*! 
jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)  
Liscensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
*/
;(function($){$.fn.drag=function(fn1,fn2,fn3){if(fn2)this.bind('dragstart',fn1);if(fn3)this.bind('dragend',fn3);return!fn1?this.trigger('drag'):this.bind('drag',fn2?fn2:fn1)};var $event=$.event,$special=$event.special,drag=$special.drag={not:':input',distance:0,which:1,dragging:false,setup:function(data){data=$.extend({distance:drag.distance,which:drag.which,not:drag.not},data||{});data.distance=squared(data.distance);$event.add(this,"mousedown",handler,data);if(this.attachEvent)this.attachEvent("ondragstart",dontStart)},teardown:function(){$event.remove(this,"mousedown",handler);if(this===drag.dragging)drag.dragging=drag.proxy=false;selectable(this,true);if(this.detachEvent)this.detachEvent("ondragstart",dontStart)}};$special.dragstart=$special.dragend={setup:function(){},teardown:function(){}};function handler(event){var elem=this,returned,data=event.data||{};if(data.elem){elem=event.dragTarget=data.elem;event.dragProxy=drag.proxy||elem;event.cursorOffsetX=data.pageX-data.left;event.cursorOffsetY=data.pageY-data.top;event.offsetX=event.pageX-event.cursorOffsetX;event.offsetY=event.pageY-event.cursorOffsetY}else if(drag.dragging||(data.which>0&&event.which!=data.which)||$(event.target).is(data.not))return;switch(event.type){case'mousedown':$.extend(data,$(elem).offset(),{elem:elem,target:event.target,pageX:event.pageX,pageY:event.pageY});$event.add(document,"mousemove mouseup",handler,data);selectable(elem,false);drag.dragging=null;return false;case!drag.dragging&&'mousemove':if(squared(event.pageX-data.pageX)+squared(event.pageY-data.pageY)<data.distance)break;event.target=data.target;returned=hijack(event,"dragstart",elem);if(returned!==false){drag.dragging=elem;drag.proxy=event.dragProxy=$(returned||elem)[0]}case'mousemove':if(drag.dragging){returned=hijack(event,"drag",elem);if($special.drop){$special.drop.allowed=(returned!==false);$special.drop.handler(event)}if(returned!==false)break;event.type="mouseup"}case'mouseup':$event.remove(document,"mousemove mouseup",handler);if(drag.dragging){if($special.drop)$special.drop.handler(event);hijack(event,"dragend",elem)}selectable(elem,true);drag.dragging=drag.proxy=data.elem=false;break}return true};function hijack(event,type,elem){event.type=type;var result=$.event.handle.call(elem,event);return result===false?false:result||event.result};function squared(value){return Math.pow(value,2)};function dontStart(){return(drag.dragging===false)};function selectable(elem,bool){if(!elem)return;elem.unselectable=bool?"off":"on";elem.onselectstart=function(){return bool};if(elem.style)elem.style.MozUserSelect=bool?"":"none"}})(jQuery);
/* Highlight */
jQuery.fn.highlight=function(pat){function innerHighlight(node,pat){var skip=0;if(node.nodeType==3){var pos=node.data.toUpperCase().indexOf(pat);if(pos>=0){var spannode=document.createElement('span');spannode.className='yel';var middlebit=node.splitText(pos);var endbit=middlebit.splitText(pat.length);var middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);skip=1}}else if(node.nodeType==1&&node.childNodes&&!/(script|style)/i.test(node.tagName)){for(var i=0;i<node.childNodes.length;++i){i+=innerHighlight(node.childNodes[i],pat)}}return skip}return this.each(function(){innerHighlight(this,pat.toUpperCase())})};

/* Double click */
(function($){$.fn.fixClick=function(click,dblclick){return this.each(function(){var app=this;this.click=click;this.dblclick=dblclick;this.firstClick=false;this.timer=null;this.delay=300;$(this).click(function(e){var ins=this;this.e=e;app.firstClick==false?app.timer=setTimeout(function(){app.click(ins.e);app.firstClick=false},app.delay):'';app.firstClick=true}).dblclick(function(e){clearTimeout(app.timer);app.firstClick=false;app.dblclick(e)})})}})(jQuery);

/* Submit form */
(function($){$.fn.submit=function(funct,precall){return this.each(function(){var f=$(this);var a=[];for(var i=0,max=f[0].elements.length;i<max;i++){var el=f[0].elements[i];var n=el.name;var v=$(el).val();if(!n)continue;if($(el).is('input[type=checkbox]')){if($(el).is(':checked'))v=true;else v=false}else if($(el).is('input[type=radio]:not(:checked)')){continue}a.push({name:n,value:v})}precall;if(f.attr('method')=='post')$.post(f.attr('action'),a,funct);else $.get(f.attr('action'),a,funct);return false})}})(jQuery);