/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie=function(b,j,m){if(typeof j!="undefined"){m=m||{};if(j===null){j="";m.expires=-1}var e="";if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString)){var f;if(typeof m.expires=="number"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e="; expires="+f.toUTCString()}var l=m.path?"; path="+(m.path):"";var g=m.domain?"; domain="+(m.domain):"";var a=m.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var k=document.cookie.split(";");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};

/* 
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(E){E.fn.drag=function(L,K,J){if(K){this.bind("dragstart",L)}if(J){this.bind("dragend",J)}return !L?this.trigger("drag"):this.bind("drag",K?K:L)};var A=E.event,B=A.special,F=B.drag={not:":input",distance:0,which:1,dragging:false,setup:function(J){J=E.extend({distance:F.distance,which:F.which,not:F.not},J||{});J.distance=I(J.distance);A.add(this,"mousedown",H,J);if(this.attachEvent){this.attachEvent("ondragstart",D)}},teardown:function(){A.remove(this,"mousedown",H);if(this===F.dragging){F.dragging=F.proxy=false}G(this,true);if(this.detachEvent){this.detachEvent("ondragstart",D)}}};B.dragstart=B.dragend={setup:function(){},teardown:function(){}};function H(L){var K=this,J,M=L.data||{};if(M.elem){K=L.dragTarget=M.elem;L.dragProxy=F.proxy||K;L.cursorOffsetX=M.pageX-M.left;L.cursorOffsetY=M.pageY-M.top;L.offsetX=L.pageX-L.cursorOffsetX;L.offsetY=L.pageY-L.cursorOffsetY}else{if(F.dragging||(M.which>0&&L.which!=M.which)||E(L.target).is(M.not)){return }}switch(L.type){case"mousedown":E.extend(M,E(K).offset(),{elem:K,target:L.target,pageX:L.pageX,pageY:L.pageY});A.add(document,"mousemove mouseup",H,M);G(K,false);F.dragging=null;return false;case !F.dragging&&"mousemove":if(I(L.pageX-M.pageX)+I(L.pageY-M.pageY)<M.distance){break}L.target=M.target;J=C(L,"dragstart",K);if(J!==false){F.dragging=K;F.proxy=L.dragProxy=E(J||K)[0]}case"mousemove":if(F.dragging){J=C(L,"drag",K);if(B.drop){B.drop.allowed=(J!==false);B.drop.handler(L)}if(J!==false){break}L.type="mouseup"}case"mouseup":A.remove(document,"mousemove mouseup",H);if(F.dragging){if(B.drop){B.drop.handler(L)}C(L,"dragend",K)}G(K,true);F.dragging=F.proxy=M.elem=false;break}return true}function C(M,K,L){M.type=K;var J=E.event.handle.call(L,M);return J===false?false:J||M.result}function I(J){return Math.pow(J,2)}function D(){return(F.dragging===false)}function G(K,J){if(!K){return }K.unselectable=J?"off":"on";K.onselectstart=function(){return J};if(K.style){K.style.MozUserSelect=J?"":"none"}}})(jQuery);


/*
 * jQuery sztable.colsizable plugin
 * Version 1.0 (03-MAR-2011)
 * @requires jQuery v1.3.2 or later (http://jquery.com)
 * @requires jquery.event.drag-1.4.js (http://blog.threedubmedia.com/2008/08/eventspecialdrag.html)
 *
 * Based on kiketable.colsizable plugin
 * Author: http://bs.by/
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
(function(a){a.fn.sztable_colsizable=function(b){b=a.extend({},a.fn.sztable_colsizable.defaults,b);b.dragProxy=(b.dragProxy==="line")?false:true;b.cookies=b.cookies&&!!jQuery.cookie;this.filter("table:not(."+b.namespace+")").addClass(b.namespace).each(function(g){b.renderTime=new Date().getTime();var j=this,i=a(this),l=i.attr("id"),k=j.getElementsByTagName("col"),n=i.find(".sztable-max"),d=null,m=j.cellSpacing*k.length+2,h=l;if(!l){b.cookies=false}c();function c(){var o=0;a.each(k,function(q){var p=parseInt(this.style.width);if(isNaN(p)||p<b.minWidth){p=b.defaultWidth;this.style.width=p+"px"}o+=p});j.style.width=o+m+"px"}a(window).resize(function(){var p=parseInt(j.style.width);var r=i.offset();var t=a(window).width()-r.left-2-b.rightPadding;var s=t-p;if(n){var o=n[0].sizeHandler.wtd_cur;var p=parseInt(n[0].style.width);var q=p+s;if(q<o){q=o}n[0].style.width=q+"px";c()}else{}});k.length&&a(b.dragCells,this).each(function(o){this.onselectstart=function(){return false};this.unselectable="on";a(this).css("-moz-user-select","none");if(a(this).hasClass("sztable-noresize")){return}if(!a(this).hasClass("sztable-th")){a(this).addClass("sztable-th").wrapInner('<div class="sztable-th-text"></div>').wrapInner('<div class="sztable-wrapper"></div>')}a('<div class="'+b.classHandler+'" title="'+b.title+'"></div>').appendTo(this).each(function(){this.td=this.parentNode;this.$td=a(this.td);this.col=k[this.td.cellIndex];this.cellIndex=this.td.cellIndex;this.col.sizeHandler=this;if(this.td.title){this.title+=" '"+this.td.title+"'"}this.wtd_cur=parseInt(this.col.style.width);this.wtd_last=this.wtd_cur;if(b.cookies){this.cookieWidthCur=h+"_"+o;this.cookieWidthLast=this.cookieWidthCur+"0";var p=a.cookie(this.cookieWidthCur);var q=a.cookie(this.cookieWidthLast);if(p!=null){this.col.style.width=p+"px";this.wtd_cur=p;this.wtd_last=q;c()}}f(this)}).dblclick(function(){var q=this.wtd_cur==b.minWidth;var p=parseInt(this.col.style.width);if(q){this.wtd_cur=this.wtd_last}else{this.wtd_cur=b.minWidth}this.col.style.width=this.wtd_cur+"px";if(!b.fixWidth){c()}a(this).trigger("minimized");if(b.cookies){a.cookie(this.cookieWidthCur,this.wtd_cur);a.cookie(this.cookieWidthLast,this.wtd_last)}}).bind("dragstart",function(q){this.cell_width=parseInt(this.col.style.width);this.table_width=parseInt(j.style.width);this.start_x=q.pageX;var p=a(q.currentTarget).offset();this.diff=p.left-this.start_x+a(this).width();this.d2=this.start_x-this.cell_width+b.minWidth;if(d){d.remove();d=null}d=a(this).clone().appendTo(this.td).css("opacity",b.dragOpacity).css((b.dragProxy)?{top:this.$td.offset().top,left:this.$td.offset().left,width:this.cell_width}:{top:this.$td.offset().top,left:q.pageX+this.diff}).removeClass(b.classHandler).addClass((b.dragProxy)?b.classDragArea:b.classDragLine).height(i.height());e(this,false);return d}).bind("drag",function(r){var p=r.pageX;if(p-this.d2>=0&&p!=this.start_x){var q=this.cell_width+p-this.start_x;if(!b.dragProxy){r.dragProxy.style.left=p+this.diff+"px"}else{r.dragProxy.style.width=q+"px"}if(b.dragMove){this.col.style.width=q+"px";this.wtd_cur=q;this.wtd_last=q;if(!b.fixWidth){c()}}}}).bind("dragend",function(r){var p=r.pageX;if(p!=this.start_x){if(p-this.d2<0){p=this.d2}var q=this.cell_width+p-this.start_x;this.col.style.width=q+"px";this.wtd_cur=q;this.wtd_last=q;if(!b.fixWidth){c()}}if(d){d.remove();d=null}a(this).trigger("minimized");if(b.cookies){a.cookie(this.cookieWidthCur,this.wtd_cur);a.cookie(this.cookieWidthLast,this.wtd_last)}}).bind("minimized",function(p){f(this)})});function f(o){if(parseInt(o.col.style.width)<=b.minWidth){a(o.col).addClass(b.classMinimized);e(o,true)}else{if(a(o.col).hasClass(b.classMinimized)){a(o.col).removeClass(b.classMinimized);e(o,false)}}}function e(o,q){var p=o.cellIndex;i.find("td").each(function(){if((this.cellIndex||this.cellIndex===0)&&this.cellIndex==p){if(!this.spanFixed&&a.browser.msie){a(this).wrapInner("<span></span>");this.spanFixed=true}if(q){a(this).addClass(b.classMinimized)}else{a(this).removeClass(b.classMinimized)}}})}a(window).trigger("resize");b.renderTime=new Date().getTime()-b.renderTime;b.onLoad()});return this};a.fn.sztable_colsizable.defaults={dragCells:"tr:first > *",dragMove:true,dragProxy:"line",dragOpacity:0.3,minWidth:12,defaultWidth:200,rightPadding:20,fixWidth:false,namespace:"sztable-colsizable",classHandler:"sztable-colsizable-handler",classDragLine:"sztable-colsizable-dragLine",classDragArea:"sztable-colsizable-dragArea",classMinimized:"sztable-colsizable-minimized",title:"Расширить/Сузить колонку",renderTime:0,cookies:false,onLoad:function(){}}})(jQuery);
