/*
 * jQuery UI 1.7.3
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||(function(c){
    var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);
    c.ui={
        version:"1.7.3",
        plugin:{
            add:function(k,l,n){
                var m=c.ui[k].prototype;
                for(var j in n){
                    m.plugins[j]=m.plugins[j]||[];
                    m.plugins[j].push([l,n[j]])
                    }
                },
        call:function(j,l,k){
            var n=j.plugins[l];
            if(!n||!j.element[0].parentNode){
                return
            }
            for(var m=0;m<n.length;m++){
                if(j.options[n[m][0]]){
                    n[m][1].apply(j.element,k)
                    }
                }
            }
    },
contains:function(k,j){
    return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)
    },
hasScroll:function(m,k){
    if(c(m).css("overflow")=="hidden"){
        return false
        }
        var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;
    if(m[j]>0){
        return true
        }
        m[j]=1;
    l=(m[j]>0);
    m[j]=0;
    return l
    },
isOverAxis:function(k,j,l){
    return(k>j)&&(k<(j+l))
    },
isOver:function(o,k,n,m,j,l){
    return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)
    },
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
}
};

if(d){
    var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;
    c.attr=function(k,j,l){
        var m=l!==undefined;
        return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))
        };

    c.fn.removeAttr=function(j){
        return(a.test(j)?this.each(function(){
            this.removeAttributeNS(h,j.replace(a,""))
            }):e.call(this,j))
        }
    }
c.fn.extend({
    remove:function(j,k){
        return this.each(function(){
            if(!k){
                if(!j||c.filter(j,[this]).length){
                    c("*",this).add(this).each(function(){
                        c(this).triggerHandler("remove")
                        })
                    }
                }
            return i.call(c(this),j,k)
            })
    },
enableSelection:function(){
    return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")
    },
disableSelection:function(){
    return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){
        return false
        })
    },
scrollParent:function(){
    var j;
    if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){
        j=this.parents().filter(function(){
            return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))
            }).eq(0)
        }else{
        j=this.parents().filter(function(){
            return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))
            }).eq(0)
        }
        return(/fixed/).test(this.css("position"))||!j.length?c(document):j
    }
});
c.extend(c.expr[":"],{
    data:function(l,k,j){
        return !!c.data(l,j[3])
        },
    focusable:function(k){
        var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");
        return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length
        },
    tabbable:function(k){
        var j=c.attr(k,"tabindex");
        return(isNaN(j)||j>=0)&&c(k).is(":focusable")
        }
    });
function g(m,n,o,l){
    function k(q){
        var p=c[m][n][q]||[];
        return(typeof p=="string"?p.split(/,?\s+/):p)
        }
        var j=k("getter");
    if(l.length==1&&typeof l[0]=="string"){
        j=j.concat(k("getterSetter"))
        }
        return(c.inArray(o,j)!=-1)
    }
    c.widget=function(k,j){
    var l=k.split(".")[0];
    k=k.split(".")[1];
    c.fn[k]=function(p){
        var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);
        if(n&&p.substring(0,1)=="_"){
            return this
            }
            if(n&&g(l,k,p,o)){
            var m=c.data(this[0],k);
            return(m?m[p].apply(m,o):undefined)
            }
            return this.each(function(){
            var q=c.data(this,k);
            (!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());
            (q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))
            })
        };

    c[l]=c[l]||{};

    c[l][k]=function(o,n){
        var m=this;
        this.namespace=l;
        this.widgetName=k;
        this.widgetEventPrefix=c[l][k].eventPrefix||k;
        this.widgetBaseClass=l+"-"+k;
        this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);
        this.element=c(o).bind("setData."+k,function(q,p,r){
            if(q.target==o){
                return m._setData(p,r)
                }
            }).bind("getData."+k,function(q,p){
        if(q.target==o){
            return m._getData(p)
            }
        }).bind("remove",function(){
    return m.destroy()
    })
};

c[l][k].prototype=c.extend({},c.widget.prototype,j);
c[l][k].getterSetter="option"
};

c.widget.prototype={
    _init:function(){},
    destroy:function(){
        this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")
        },
    option:function(l,m){
        var k=l,j=this;
        if(typeof l=="string"){
            if(m===undefined){
                return this._getData(l)
                }
                k={};

            k[l]=m
            }
            c.each(k,function(n,o){
            j._setData(n,o)
            })
        },
    _getData:function(j){
        return this.options[j]
        },
    _setData:function(j,k){
        this.options[j]=k;
        if(j=="disabled"){
            this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)
            }
        },
enable:function(){
    this._setData("disabled",false)
    },
disable:function(){
    this._setData("disabled",true)
    },
_trigger:function(l,m,n){
    var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);
    m=c.Event(m);
    m.type=j;
    if(m.originalEvent){
        for(var k=c.event.props.length,o;k;){
            o=c.event.props[--k];
            m[o]=m.originalEvent[o]
            }
        }
        this.element.trigger(m,n);
return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())
}
};

c.widget.defaults={
    disabled:false
};

c.ui.mouse={
    _mouseInit:function(){
        var j=this;
        this.element.bind("mousedown."+this.widgetName,function(k){
            return j._mouseDown(k)
            }).bind("click."+this.widgetName,function(k){
            if(j._preventClickEvent){
                j._preventClickEvent=false;
                k.stopImmediatePropagation();
                return false
                }
            });
    if(c.browser.msie){
        this._mouseUnselectable=this.element.attr("unselectable");
        this.element.attr("unselectable","on")
        }
        this.started=false
    },
_mouseDestroy:function(){
    this.element.unbind("."+this.widgetName);
    (c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))
    },
_mouseDown:function(l){
    l.originalEvent=l.originalEvent||{};

    if(l.originalEvent.mouseHandled){
        return
    }(this._mouseStarted&&this._mouseUp(l));
    this._mouseDownEvent=l;
    var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);
    if(!m||j||!this._mouseCapture(l)){
        return true
        }
        this.mouseDelayMet=!this.options.delay;
    if(!this.mouseDelayMet){
        this._mouseDelayTimer=setTimeout(function(){
            k.mouseDelayMet=true
            },this.options.delay)
        }
        if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){
        this._mouseStarted=(this._mouseStart(l)!==false);
        if(!this._mouseStarted){
            l.preventDefault();
            return true
            }
        }
    this._mouseMoveDelegate=function(n){
    return k._mouseMove(n)
    };

this._mouseUpDelegate=function(n){
    return k._mouseUp(n)
    };

c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);
(c.browser.safari||l.preventDefault());
l.originalEvent.mouseHandled=true;
return true
},
_mouseMove:function(j){
    if(c.browser.msie&&!j.button){
        return this._mouseUp(j)
        }
        if(this._mouseStarted){
        this._mouseDrag(j);
        return j.preventDefault()
        }
        if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){
        this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);
        (this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))
        }
        return !this._mouseStarted
    },
_mouseUp:function(j){
    c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);
    if(this._mouseStarted){
        this._mouseStarted=false;
        this._preventClickEvent=(j.target==this._mouseDownEvent.target);
        this._mouseStop(j)
        }
        return false
    },
_mouseDistanceMet:function(j){
    return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)
    },
_mouseDelayMet:function(j){
    return this.mouseDelayMet
    },
_mouseStart:function(j){},
_mouseDrag:function(j){},
_mouseStop:function(j){},
_mouseCapture:function(j){
    return true
    }
};

c.ui.mouse.defaults={
    cancel:null,
    distance:1,
    delay:0
}
})(jQuery);
;/*
 * jQuery UI Datepicker 1.7.3
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *	ui.core.js
 */
(function($){
    $.extend($.ui,{
        datepicker:{
            version:"1.7.3"
        }
    });
var PROP_NAME="datepicker";
function Datepicker(){
    this.debug=false;
    this._curInst=null;
    this._keyEvent=false;
    this._disabledInputs=[];
    this._datepickerShowing=false;
    this._inDialog=false;
    this._mainDivId="ui-datepicker-div";
    this._inlineClass="ui-datepicker-inline";
    this._appendClass="ui-datepicker-append";
    this._triggerClass="ui-datepicker-trigger";
    this._dialogClass="ui-datepicker-dialog";
    this._disableClass="ui-datepicker-disabled";
    this._unselectableClass="ui-datepicker-unselectable";
    this._currentClass="ui-datepicker-current-day";
    this._dayOverClass="ui-datepicker-days-cell-over";
    this.regional=[];
    this.regional[""]={
        closeText:"Done",
        prevText:"Prev",
        nextText:"Next",
        currentText:"Today",
        monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],
        monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],
        dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
        dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],
        dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],
        dateFormat:"mm/dd/yy",
        firstDay:0,
        isRTL:false
    };

    this._defaults={
        showOn:"focus",
        showAnim:"show",
        showOptions:{},
        defaultDate:null,
        appendText:"",
        buttonText:"...",
        buttonImage:"",
        buttonImageOnly:false,
        hideIfNoPrevNext:false,
        navigationAsDateFormat:false,
        gotoCurrent:false,
        changeMonth:false,
        changeYear:false,
        showMonthAfterYear:false,
        yearRange:"-10:+10",
        showOtherMonths:false,
        calculateWeek:this.iso8601Week,
        shortYearCutoff:"+10",
        minDate:null,
        maxDate:null,
        duration:"normal",
        beforeShowDay:null,
        beforeShow:null,
        onSelect:null,
        onChangeMonthYear:null,
        onClose:null,
        numberOfMonths:1,
        showCurrentAtPos:0,
        stepMonths:1,
        stepBigMonths:12,
        altField:"",
        altFormat:"",
        constrainInput:true,
        showButtonPanel:false
    };

    $.extend(this._defaults,this.regional[""]);
    this.dpDiv=$('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')
    }
    $.extend(Datepicker.prototype,{
    markerClassName:"hasDatepicker",
    log:function(){
        if(this.debug){
            console.log.apply("",arguments)
            }
        },
setDefaults:function(settings){
    extendRemove(this._defaults,settings||{});
    return this
    },
_attachDatepicker:function(target,settings){
    var inlineSettings=null;
    for(var attrName in this._defaults){
        var attrValue=target.getAttribute("date:"+attrName);
        if(attrValue){
            inlineSettings=inlineSettings||{};

            try{
                inlineSettings[attrName]=eval(attrValue)
                }catch(err){
                inlineSettings[attrName]=attrValue
                }
            }
    }
        var nodeName=target.nodeName.toLowerCase();
    var inline=(nodeName=="div"||nodeName=="span");
    if(!target.id){
    target.id="dp"+(++this.uuid)
    }
    var inst=this._newInst($(target),inline);
    inst.settings=$.extend({},settings||{},inlineSettings||{});
    if(nodeName=="input"){
    this._connectDatepicker(target,inst)
    }else{
    if(inline){
        this._inlineDatepicker(target,inst)
        }
    }
},
_newInst:function(target,inline){
    var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");
    return{
        id:id,
        input:target,
        selectedDay:0,
        selectedMonth:0,
        selectedYear:0,
        drawMonth:0,
        drawYear:0,
        inline:inline,
        dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))
        }
    },
_connectDatepicker:function(target,inst){
    var input=$(target);
    inst.append=$([]);
    inst.trigger=$([]);
    if(input.hasClass(this.markerClassName)){
        return
    }
    var appendText=this._get(inst,"appendText");
    var isRTL=this._get(inst,"isRTL");
    if(appendText){
        inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");
        input[isRTL?"before":"after"](inst.append)
        }
        var showOn=this._get(inst,"showOn");
    if(showOn=="focus"||showOn=="both"){
        input.focus(this._showDatepicker)
        }
        if(showOn=="button"||showOn=="both"){
        var buttonText=this._get(inst,"buttonText");
        var buttonImage=this._get(inst,"buttonImage");
        inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({
            src:buttonImage,
            alt:buttonText,
            title:buttonText
        }):$('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("<img/>").attr({
            src:buttonImage,
            alt:buttonText,
            title:buttonText
        })));
        input[isRTL?"before":"after"](inst.trigger);
        inst.trigger.click(function(){
            if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){
                $.datepicker._hideDatepicker()
                }else{
                $.datepicker._showDatepicker(target)
                }
                return false
            })
        }
        input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){
        inst.settings[key]=value
        }).bind("getData.datepicker",function(event,key){
        return this._get(inst,key)
        });
    $.data(target,PROP_NAME,inst)
    },
_inlineDatepicker:function(target,inst){
    var divSpan=$(target);
    if(divSpan.hasClass(this.markerClassName)){
        return
    }
    divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){
        inst.settings[key]=value
        }).bind("getData.datepicker",function(event,key){
        return this._get(inst,key)
        });
    $.data(target,PROP_NAME,inst);
    this._setDate(inst,this._getDefaultDate(inst));
    this._updateDatepicker(inst);
    this._updateAlternate(inst)
    },
_dialogDatepicker:function(input,dateText,onSelect,settings,pos){
    var inst=this._dialogInst;
    if(!inst){
        var id="dp"+(++this.uuid);
        this._dialogInput=$('<input type="text" id="'+id+'" size="1" style="position: absolute; top: -100px;"/>');
        this._dialogInput.keydown(this._doKeyDown);
        $("body").append(this._dialogInput);
        inst=this._dialogInst=this._newInst(this._dialogInput,false);
        inst.settings={};

        $.data(this._dialogInput[0],PROP_NAME,inst)
        }
        extendRemove(inst.settings,settings||{});
    this._dialogInput.val(dateText);
    this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);
    if(!this._pos){
        var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;
        var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;
        var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;
        var scrollY=document.documentElement.scrollTop||document.body.scrollTop;
        this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]
        }
        this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");
    inst.settings.onSelect=onSelect;
    this._inDialog=true;
    this.dpDiv.addClass(this._dialogClass);
    this._showDatepicker(this._dialogInput[0]);
    if($.blockUI){
        $.blockUI(this.dpDiv)
        }
        $.data(this._dialogInput[0],PROP_NAME,inst);
    return this
    },
_destroyDatepicker:function(target){
    var $target=$(target);
    var inst=$.data(target,PROP_NAME);
    if(!$target.hasClass(this.markerClassName)){
        return
    }
    var nodeName=target.nodeName.toLowerCase();
    $.removeData(target,PROP_NAME);
    if(nodeName=="input"){
        inst.append.remove();
        inst.trigger.remove();
        $target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)
        }else{
        if(nodeName=="div"||nodeName=="span"){
            $target.removeClass(this.markerClassName).empty()
            }
        }
},
_enableDatepicker:function(target){
    var $target=$(target);
    var inst=$.data(target,PROP_NAME);
    if(!$target.hasClass(this.markerClassName)){
        return
    }
    var nodeName=target.nodeName.toLowerCase();
    if(nodeName=="input"){
        target.disabled=false;
        inst.trigger.filter("button").each(function(){
            this.disabled=false
            }).end().filter("img").css({
            opacity:"1.0",
            cursor:""
        })
        }else{
        if(nodeName=="div"||nodeName=="span"){
            var inline=$target.children("."+this._inlineClass);
            inline.children().removeClass("ui-state-disabled")
            }
        }
    this._disabledInputs=$.map(this._disabledInputs,function(value){
    return(value==target?null:value)
    })
},
_disableDatepicker:function(target){
    var $target=$(target);
    var inst=$.data(target,PROP_NAME);
    if(!$target.hasClass(this.markerClassName)){
        return
    }
    var nodeName=target.nodeName.toLowerCase();
    if(nodeName=="input"){
        target.disabled=true;
        inst.trigger.filter("button").each(function(){
            this.disabled=true
            }).end().filter("img").css({
            opacity:"0.5",
            cursor:"default"
        })
        }else{
        if(nodeName=="div"||nodeName=="span"){
            var inline=$target.children("."+this._inlineClass);
            inline.children().addClass("ui-state-disabled")
            }
        }
    this._disabledInputs=$.map(this._disabledInputs,function(value){
    return(value==target?null:value)
    });
this._disabledInputs[this._disabledInputs.length]=target
},
_isDisabledDatepicker:function(target){
    if(!target){
        return false
        }
        for(var i=0;i<this._disabledInputs.length;i++){
        if(this._disabledInputs[i]==target){
            return true
            }
        }
    return false
},
_getInst:function(target){
    try{
        return $.data(target,PROP_NAME)
        }catch(err){
        throw"Missing instance data for this datepicker"
        }
    },
_optionDatepicker:function(target,name,value){
    var inst=this._getInst(target);
    if(arguments.length==2&&typeof name=="string"){
        return(name=="defaults"?$.extend({},$.datepicker._defaults):(inst?(name=="all"?$.extend({},inst.settings):this._get(inst,name)):null))
        }
        var settings=name||{};

    if(typeof name=="string"){
        settings={};

        settings[name]=value
        }
        if(inst){
        if(this._curInst==inst){
            this._hideDatepicker(null)
            }
            var date=this._getDateDatepicker(target);
        extendRemove(inst.settings,settings);
        this._setDateDatepicker(target,date);
        this._updateDatepicker(inst)
        }
    },
_changeDatepicker:function(target,name,value){
    this._optionDatepicker(target,name,value)
    },
_refreshDatepicker:function(target){
    var inst=this._getInst(target);
    if(inst){
        this._updateDatepicker(inst)
        }
    },
_setDateDatepicker:function(target,date,endDate){
    var inst=this._getInst(target);
    if(inst){
        this._setDate(inst,date,endDate);
        this._updateDatepicker(inst);
        this._updateAlternate(inst)
        }
    },
_getDateDatepicker:function(target){
    var inst=this._getInst(target);
    if(inst&&!inst.inline){
        this._setDateFromField(inst)
        }
        return(inst?this._getDate(inst):null)
    },
_doKeyDown:function(event){
    var inst=$.datepicker._getInst(event.target);
    var handled=true;
    var isRTL=inst.dpDiv.is(".ui-datepicker-rtl");
    inst._keyEvent=true;
    if($.datepicker._datepickerShowing){
        switch(event.keyCode){
            case 9:
                $.datepicker._hideDatepicker(null,"");
                break;
            case 13:
                var sel=$("td."+$.datepicker._dayOverClass+", td."+$.datepicker._currentClass,inst.dpDiv);
                if(sel[0]){
                $.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])
                }else{
                $.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"))
                }
                return false;
            break;
            case 27:
                $.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"));
                break;
            case 33:
                $.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M");
                break;
            case 34:
                $.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M");
                break;
            case 35:
                if(event.ctrlKey||event.metaKey){
                $.datepicker._clearDate(event.target)
                }
                handled=event.ctrlKey||event.metaKey;
            break;
            case 36:
                if(event.ctrlKey||event.metaKey){
                $.datepicker._gotoToday(event.target)
                }
                handled=event.ctrlKey||event.metaKey;
            break;
            case 37:
                if(event.ctrlKey||event.metaKey){
                $.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D")
                }
                handled=event.ctrlKey||event.metaKey;
            if(event.originalEvent.altKey){
                $.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M")
                }
                break;
            case 38:
                if(event.ctrlKey||event.metaKey){
                $.datepicker._adjustDate(event.target,-7,"D")
                }
                handled=event.ctrlKey||event.metaKey;
            break;
            case 39:
                if(event.ctrlKey||event.metaKey){
                $.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D")
                }
                handled=event.ctrlKey||event.metaKey;
            if(event.originalEvent.altKey){
                $.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M")
                }
                break;
            case 40:
                if(event.ctrlKey||event.metaKey){
                $.datepicker._adjustDate(event.target,+7,"D")
                }
                handled=event.ctrlKey||event.metaKey;
            break;
            default:
                handled=false
                }
            }else{
    if(event.keyCode==36&&event.ctrlKey){
        $.datepicker._showDatepicker(this)
        }else{
        handled=false
        }
    }
if(handled){
    event.preventDefault();
    event.stopPropagation()
    }
},
_doKeyPress:function(event){
    var inst=$.datepicker._getInst(event.target);
    if($.datepicker._get(inst,"constrainInput")){
        var chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));
        var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);
        return event.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)
        }
    },
_showDatepicker:function(input){
    input=input.target||input;
    if(input.nodeName.toLowerCase()!="input"){
        input=$("input",input.parentNode)[0]
        }
        if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){
        return
    }
    var inst=$.datepicker._getInst(input);
    var beforeShow=$.datepicker._get(inst,"beforeShow");
    extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));
    $.datepicker._hideDatepicker(null,"");
    $.datepicker._lastInput=input;
    $.datepicker._setDateFromField(inst);
    if($.datepicker._inDialog){
        input.value=""
        }
        if(!$.datepicker._pos){
        $.datepicker._pos=$.datepicker._findPos(input);
        $.datepicker._pos[1]+=input.offsetHeight
        }
        var isFixed=false;
    $(input).parents().each(function(){
        isFixed|=$(this).css("position")=="fixed";
        return !isFixed
        });
    if(isFixed&&$.browser.opera){
        $.datepicker._pos[0]-=document.documentElement.scrollLeft;
        $.datepicker._pos[1]-=document.documentElement.scrollTop
        }
        var offset={
        left:$.datepicker._pos[0],
        top:$.datepicker._pos[1]
        };

    $.datepicker._pos=null;
    inst.rangeStart=null;
    inst.dpDiv.css({
        position:"absolute",
        display:"block",
        top:"-1000px"
    });
    $.datepicker._updateDatepicker(inst);
    offset=$.datepicker._checkOffset(inst,offset,isFixed);
    inst.dpDiv.css({
        position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),
        display:"none",
        left:offset.left+"px",
        top:offset.top+"px"
        });
    if(!inst.inline){
        var showAnim=$.datepicker._get(inst,"showAnim")||"show";
        var duration=$.datepicker._get(inst,"duration");
        var postProcess=function(){
            $.datepicker._datepickerShowing=true;
            if($.browser.msie&&parseInt($.browser.version,10)<7){
                $("iframe.ui-datepicker-cover").css({
                    width:inst.dpDiv.width()+4,
                    height:inst.dpDiv.height()+4
                    })
                }
            };

    if($.effects&&$.effects[showAnim]){
        inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)
        }else{
        inst.dpDiv[showAnim](duration,postProcess)
        }
        if(duration==""){
        postProcess()
        }
        if(inst.input[0].type!="hidden"){
        inst.input[0].focus()
        }
        $.datepicker._curInst=inst
    }
},
_updateDatepicker:function(inst){
    var dims={
        width:inst.dpDiv.width()+4,
        height:inst.dpDiv.height()+4
        };

    var self=this;
    inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({
        width:dims.width,
        height:dims.height
        }).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){
        $(this).removeClass("ui-state-hover");
        if(this.className.indexOf("ui-datepicker-prev")!=-1){
            $(this).removeClass("ui-datepicker-prev-hover")
            }
            if(this.className.indexOf("ui-datepicker-next")!=-1){
            $(this).removeClass("ui-datepicker-next-hover")
            }
        }).bind("mouseover",function(){
    if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){
        $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
        $(this).addClass("ui-state-hover");
        if(this.className.indexOf("ui-datepicker-prev")!=-1){
            $(this).addClass("ui-datepicker-prev-hover")
            }
            if(this.className.indexOf("ui-datepicker-next")!=-1){
            $(this).addClass("ui-datepicker-next-hover")
            }
        }
}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();
var numMonths=this._getNumberOfMonths(inst);
var cols=numMonths[1];
var width=17;
if(cols>1){
    inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")
    }else{
    inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")
    }
    inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");
inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");
if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){
    $(inst.input[0]).focus()
    }
},
_checkOffset:function(inst,offset,isFixed){
    var dpWidth=inst.dpDiv.outerWidth();
    var dpHeight=inst.dpDiv.outerHeight();
    var inputWidth=inst.input?inst.input.outerWidth():0;
    var inputHeight=inst.input?inst.input.outerHeight():0;
    var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();
    var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();
    offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);
    offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;
    offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;
    offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;
    offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;
    return offset
    },
_findPos:function(obj){
    while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){
        obj=obj.nextSibling
        }
        var position=$(obj).offset();
    return[position.left,position.top]
    },
_hideDatepicker:function(input,duration){
    var inst=this._curInst;
    if(!inst||(input&&inst!=$.data(input,PROP_NAME))){
        return
    }
    if(inst.stayOpen){
        this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))
        }
        inst.stayOpen=false;
    if(this._datepickerShowing){
        duration=(duration!=null?duration:this._get(inst,"duration"));
        var showAnim=this._get(inst,"showAnim");
        var postProcess=function(){
            $.datepicker._tidyDialog(inst)
            };

        if(duration!=""&&$.effects&&$.effects[showAnim]){
            inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)
            }else{
            inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)
            }
            if(duration==""){
            this._tidyDialog(inst)
            }
            var onClose=this._get(inst,"onClose");
        if(onClose){
            onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])
            }
            this._datepickerShowing=false;
        this._lastInput=null;
        if(this._inDialog){
            this._dialogInput.css({
                position:"absolute",
                left:"0",
                top:"-100px"
            });
            if($.blockUI){
                $.unblockUI();
                $("body").append(this.dpDiv)
                }
            }
        this._inDialog=false
    }
    this._curInst=null
},
_tidyDialog:function(inst){
    inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
    },
_checkExternalClick:function(event){
    if(!$.datepicker._curInst){
        return
    }
    var $target=$(event.target);
    if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){
        $.datepicker._hideDatepicker(null,"")
        }
    },
_adjustDate:function(id,offset,period){
    var target=$(id);
    var inst=this._getInst(target[0]);
    if(this._isDisabledDatepicker(target[0])){
        return
    }
    this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);
    this._updateDatepicker(inst)
    },
_gotoToday:function(id){
    var target=$(id);
    var inst=this._getInst(target[0]);
    if(this._get(inst,"gotoCurrent")&&inst.currentDay){
        inst.selectedDay=inst.currentDay;
        inst.drawMonth=inst.selectedMonth=inst.currentMonth;
        inst.drawYear=inst.selectedYear=inst.currentYear
        }else{
        var date=new Date();
        inst.selectedDay=date.getDate();
        inst.drawMonth=inst.selectedMonth=date.getMonth();
        inst.drawYear=inst.selectedYear=date.getFullYear()
        }
        this._notifyChange(inst);
    this._adjustDate(target)
    },
_selectMonthYear:function(id,select,period){
    var target=$(id);
    var inst=this._getInst(target[0]);
    inst._selectingMonthYear=false;
    inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);
    this._notifyChange(inst);
    this._adjustDate(target)
    },
_clickMonthYear:function(id){
    var target=$(id);
    var inst=this._getInst(target[0]);
    if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){
        inst.input[0].focus()
        }
        inst._selectingMonthYear=!inst._selectingMonthYear
    },
_selectDay:function(id,month,year,td){
    var target=$(id);
    if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){
        return
    }
    var inst=this._getInst(target[0]);
    inst.selectedDay=inst.currentDay=$("a",td).html();
    inst.selectedMonth=inst.currentMonth=month;
    inst.selectedYear=inst.currentYear=year;
    if(inst.stayOpen){
        inst.endDay=inst.endMonth=inst.endYear=null
        }
        this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));
    if(inst.stayOpen){
        inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));
        this._updateDatepicker(inst)
        }
    },
_clearDate:function(id){
    var target=$(id);
    var inst=this._getInst(target[0]);
    inst.stayOpen=false;
    inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;
    this._selectDate(target,"")
    },
_selectDate:function(id,dateStr){
    var target=$(id);
    var inst=this._getInst(target[0]);
    dateStr=(dateStr!=null?dateStr:this._formatDate(inst));
    if(inst.input){
        inst.input.val(dateStr)
        }
        this._updateAlternate(inst);
    var onSelect=this._get(inst,"onSelect");
    if(onSelect){
        onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])
        }else{
        if(inst.input){
            inst.input.trigger("change")
            }
        }
    if(inst.inline){
    this._updateDatepicker(inst)
    }else{
    if(!inst.stayOpen){
        this._hideDatepicker(null,this._get(inst,"duration"));
        this._lastInput=inst.input[0];
        if(typeof(inst.input[0])!="object"){
            inst.input[0].focus()
            }
            this._lastInput=null
        }
    }
},
_updateAlternate:function(inst){
    var altField=this._get(inst,"altField");
    if(altField){
        var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");
        var date=this._getDate(inst);
        dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));
        $(altField).each(function(){
            $(this).val(dateStr)
            })
        }
    },
noWeekends:function(date){
    var day=date.getDay();
    return[(day>0&&day<6),""]
    },
iso8601Week:function(date){
    var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());
    var firstMon=new Date(checkDate.getFullYear(),1-1,4);
    var firstDay=firstMon.getDay()||7;
    firstMon.setDate(firstMon.getDate()+1-firstDay);
    if(firstDay<4&&checkDate<firstMon){
        checkDate.setDate(checkDate.getDate()-3);
        return $.datepicker.iso8601Week(checkDate)
        }else{
        if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){
            firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;
            if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){
                return 1
                }
            }
    }
return Math.floor(((checkDate-firstMon)/86400000)/7)+1
},
parseDate:function(format,value,settings){
    if(format==null||value==null){
        throw"Invalid arguments"
        }
        value=(typeof value=="object"?value.toString():value+"");
    if(value==""){
        return null
        }
        var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;
    var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;
    var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;
    var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;
    var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;
    var year=-1;
    var month=-1;
    var day=-1;
    var doy=-1;
    var literal=false;
    var lookAhead=function(match){
        var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);
        if(matches){
            iFormat++
        }
        return matches
        };

    var getNumber=function(match){
        lookAhead(match);
        var origSize=(match=="@"?14:(match=="y"?4:(match=="o"?3:2)));
        var size=origSize;
        var num=0;
        while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){
            num=num*10+parseInt(value.charAt(iValue++),10);
            size--
        }
        if(size==origSize){
            throw"Missing number at position "+iValue
            }
            return num
        };

    var getName=function(match,shortNames,longNames){
        var names=(lookAhead(match)?longNames:shortNames);
        var size=0;
        for(var j=0;j<names.length;j++){
            size=Math.max(size,names[j].length)
            }
            var name="";
        var iInit=iValue;
        while(size>0&&iValue<value.length){
            name+=value.charAt(iValue++);
            for(var i=0;i<names.length;i++){
                if(name==names[i]){
                    return i+1
                    }
                }
            size--
    }
    throw"Unknown name at position "+iInit
    };

var checkLiteral=function(){
    if(value.charAt(iValue)!=format.charAt(iFormat)){
        throw"Unexpected literal at position "+iValue
        }
        iValue++
};

var iValue=0;
for(var iFormat=0;iFormat<format.length;iFormat++){
    if(literal){
        if(format.charAt(iFormat)=="'"&&!lookAhead("'")){
            literal=false
            }else{
            checkLiteral()
            }
        }else{
    switch(format.charAt(iFormat)){
        case"d":
            day=getNumber("d");
            break;
        case"D":
            getName("D",dayNamesShort,dayNames);
            break;
        case"o":
            doy=getNumber("o");
            break;
        case"m":
            month=getNumber("m");
            break;
        case"M":
            month=getName("M",monthNamesShort,monthNames);
            break;
        case"y":
            year=getNumber("y");
            break;
        case"@":
            var date=new Date(getNumber("@"));
            year=date.getFullYear();
            month=date.getMonth()+1;
            day=date.getDate();
            break;
        case"'":
            if(lookAhead("'")){
            checkLiteral()
            }else{
            literal=true
            }
            break;
        default:
            checkLiteral()
            }
        }
}
if(year==-1){
    year=new Date().getFullYear()
    }else{
    if(year<100){
        year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)
        }
    }
if(doy>-1){
    month=1;
    day=doy;
    do{
        var dim=this._getDaysInMonth(year,month-1);
        if(day<=dim){
            break
        }
        month++;
        day-=dim
        }while(true)
}
var date=this._daylightSavingAdjust(new Date(year,month-1,day));
if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){
    throw"Invalid date"
    }
    return date
},
ATOM:"yy-mm-dd",
COOKIE:"D, dd M yy",
ISO_8601:"yy-mm-dd",
RFC_822:"D, d M y",
RFC_850:"DD, dd-M-y",
RFC_1036:"D, d M y",
RFC_1123:"D, d M yy",
RFC_2822:"D, d M yy",
RSS:"D, d M y",
TIMESTAMP:"@",
W3C:"yy-mm-dd",
formatDate:function(format,date,settings){
    if(!date){
        return""
        }
        var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;
    var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;
    var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;
    var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;
    var lookAhead=function(match){
        var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);
        if(matches){
            iFormat++
        }
        return matches
        };

    var formatNumber=function(match,value,len){
        var num=""+value;
        if(lookAhead(match)){
            while(num.length<len){
                num="0"+num
                }
            }
        return num
    };

var formatName=function(match,value,shortNames,longNames){
    return(lookAhead(match)?longNames[value]:shortNames[value])
    };

var output="";
var literal=false;
if(date){
    for(var iFormat=0;iFormat<format.length;iFormat++){
        if(literal){
            if(format.charAt(iFormat)=="'"&&!lookAhead("'")){
                literal=false
                }else{
                output+=format.charAt(iFormat)
                }
            }else{
        switch(format.charAt(iFormat)){
            case"d":
                output+=formatNumber("d",date.getDate(),2);
                break;
            case"D":
                output+=formatName("D",date.getDay(),dayNamesShort,dayNames);
                break;
            case"o":
                var doy=date.getDate();
                for(var m=date.getMonth()-1;m>=0;m--){
                doy+=this._getDaysInMonth(date.getFullYear(),m)
                }
                output+=formatNumber("o",doy,3);
                break;
            case"m":
                output+=formatNumber("m",date.getMonth()+1,2);
                break;
            case"M":
                output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);
                break;
            case"y":
                output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);
                break;
            case"@":
                output+=date.getTime();
                break;
            case"'":
                if(lookAhead("'")){
                output+="'"
                }else{
                literal=true
                }
                break;
            default:
                output+=format.charAt(iFormat)
                }
            }
    }
}
return output
},
_possibleChars:function(format){
    var chars="";
    var literal=false;
    for(var iFormat=0;iFormat<format.length;iFormat++){
        if(literal){
            if(format.charAt(iFormat)=="'"&&!lookAhead("'")){
                literal=false
                }else{
                chars+=format.charAt(iFormat)
                }
            }else{
        switch(format.charAt(iFormat)){
            case"d":case"m":case"y":case"@":
                chars+="0123456789";
                break;
            case"D":case"M":
                return null;
            case"'":
                if(lookAhead("'")){
                chars+="'"
                }else{
                literal=true
                }
                break;
            default:
                chars+=format.charAt(iFormat)
                }
            }
    }
return chars
},
_get:function(inst,name){
    return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]
    },
_setDateFromField:function(inst){
    var dateFormat=this._get(inst,"dateFormat");
    var dates=inst.input?inst.input.val():null;
    inst.endDay=inst.endMonth=inst.endYear=null;
    var date=defaultDate=this._getDefaultDate(inst);
    var settings=this._getFormatConfig(inst);
    try{
        date=this.parseDate(dateFormat,dates,settings)||defaultDate
        }catch(event){
        this.log(event);
        date=defaultDate
        }
        inst.selectedDay=date.getDate();
    inst.drawMonth=inst.selectedMonth=date.getMonth();
    inst.drawYear=inst.selectedYear=date.getFullYear();
    inst.currentDay=(dates?date.getDate():0);
    inst.currentMonth=(dates?date.getMonth():0);
    inst.currentYear=(dates?date.getFullYear():0);
    this._adjustInstDate(inst)
    },
_getDefaultDate:function(inst){
    var date=this._determineDate(this._get(inst,"defaultDate"),new Date());
    var minDate=this._getMinMaxDate(inst,"min",true);
    var maxDate=this._getMinMaxDate(inst,"max");
    date=(minDate&&date<minDate?minDate:date);
    date=(maxDate&&date>maxDate?maxDate:date);
    return date
    },
_determineDate:function(date,defaultDate){
    var offsetNumeric=function(offset){
        var date=new Date();
        date.setDate(date.getDate()+offset);
        return date
        };

    var offsetString=function(offset,getDaysInMonth){
        var date=new Date();
        var year=date.getFullYear();
        var month=date.getMonth();
        var day=date.getDate();
        var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;
        var matches=pattern.exec(offset);
        while(matches){
            switch(matches[2]||"d"){
                case"d":case"D":
                    day+=parseInt(matches[1],10);
                    break;
                case"w":case"W":
                    day+=parseInt(matches[1],10)*7;
                    break;
                case"m":case"M":
                    month+=parseInt(matches[1],10);
                    day=Math.min(day,getDaysInMonth(year,month));
                    break;
                case"y":case"Y":
                    year+=parseInt(matches[1],10);
                    day=Math.min(day,getDaysInMonth(year,month));
                    break
                    }
                    matches=pattern.exec(offset)
            }
            return new Date(year,month,day)
        };

    date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));
    date=(date&&date.toString()=="Invalid Date"?defaultDate:date);
    if(date){
        date.setHours(0);
        date.setMinutes(0);
        date.setSeconds(0);
        date.setMilliseconds(0)
        }
        return this._daylightSavingAdjust(date)
    },
_daylightSavingAdjust:function(date){
    if(!date){
        return null
        }
        date.setHours(date.getHours()>12?date.getHours()+2:0);
    return date
    },
_setDate:function(inst,date,endDate){
    var clear=!(date);
    var origMonth=inst.selectedMonth;
    var origYear=inst.selectedYear;
    date=this._determineDate(date,new Date());
    inst.selectedDay=inst.currentDay=date.getDate();
    inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();
    inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();
    if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){
        this._notifyChange(inst)
        }
        this._adjustInstDate(inst);
    if(inst.input){
        inst.input.val(clear?"":this._formatDate(inst))
        }
    },
_getDate:function(inst){
    var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
    return startDate
    },
_generateHTML:function(inst){
    var today=new Date();
    today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));
    var isRTL=this._get(inst,"isRTL");
    var showButtonPanel=this._get(inst,"showButtonPanel");
    var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");
    var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");
    var numMonths=this._getNumberOfMonths(inst);
    var showCurrentAtPos=this._get(inst,"showCurrentAtPos");
    var stepMonths=this._get(inst,"stepMonths");
    var stepBigMonths=this._get(inst,"stepBigMonths");
    var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);
    var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
    var minDate=this._getMinMaxDate(inst,"min",true);
    var maxDate=this._getMinMaxDate(inst,"max");
    var drawMonth=inst.drawMonth-showCurrentAtPos;
    var drawYear=inst.drawYear;
    if(drawMonth<0){
        drawMonth+=12;
        drawYear--
    }
    if(maxDate){
        var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));
        maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);
        while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){
            drawMonth--;
            if(drawMonth<0){
                drawMonth=11;
                drawYear--
            }
        }
    }
inst.drawMonth=drawMonth;
inst.drawYear=drawYear;
var prevText=this._get(inst,"prevText");
prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));
var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', -"+stepMonths+", 'M');\" title=\""+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>"));
var nextText=this._get(inst,"nextText");
nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));
var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', +"+stepMonths+", 'M');\" title=\""+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>"));
var currentText=this._get(inst,"currentText");
var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);
currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));
var controls=(!inst.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">'+this._get(inst,"closeText")+"</button>":"");
var buttonPanel=(showButtonPanel)?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#'+inst.id+"');\">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";
var firstDay=parseInt(this._get(inst,"firstDay"),10);
firstDay=(isNaN(firstDay)?0:firstDay);
var dayNames=this._get(inst,"dayNames");
var dayNamesShort=this._get(inst,"dayNamesShort");
var dayNamesMin=this._get(inst,"dayNamesMin");
var monthNames=this._get(inst,"monthNames");
var monthNamesShort=this._get(inst,"monthNamesShort");
var beforeShowDay=this._get(inst,"beforeShowDay");
var showOtherMonths=this._get(inst,"showOtherMonths");
var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;
var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;
var defaultDate=this._getDefaultDate(inst);
var html="";
for(var row=0;row<numMonths[0];row++){
    var group="";
    for(var col=0;col<numMonths[1];col++){
        var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));
        var cornerClass=" ui-corner-all";
        var calender="";
        if(isMultiMonth){
            calender+='<div class="ui-datepicker-group ui-datepicker-group-';
            switch(col){
                case 0:
                    calender+="first";
                    cornerClass=" ui-corner-"+(isRTL?"right":"left");
                    break;
                case numMonths[1]-1:
                    calender+="last";
                    cornerClass=" ui-corner-"+(isRTL?"left":"right");
                    break;
                default:
                    calender+="middle";
                    cornerClass="";
                    break
                    }
                    calender+='">'
            }
            calender+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+cornerClass+'">'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'</div><table class="ui-datepicker-calendar"><thead><tr>';
        var thead="";
        for(var dow=0;dow<7;dow++){
            var day=(dow+firstDay)%7;
            thead+="<th"+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+dayNames[day]+'">'+dayNamesMin[day]+"</span></th>"
            }
            calender+=thead+"</tr></thead><tbody>";
        var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);
        if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){
            inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)
            }
            var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;
        var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));
        var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));
        for(var dRow=0;dRow<numRows;dRow++){
            calender+="<tr>";
            var tbody="";
            for(var dow=0;dow<7;dow++){
                var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);
                var otherMonth=(printDate.getMonth()!=drawMonth);
                var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);
                tbody+='<td class="'+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():"&#xa0;"):(unselectable?'<span class="ui-state-default">'+printDate.getDate()+"</span>":'<a class="ui-state-default'+(printDate.getTime()==today.getTime()?" ui-state-highlight":"")+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+"</a>"))+"</td>";
                printDate.setDate(printDate.getDate()+1);
                printDate=this._daylightSavingAdjust(printDate)
                }
                calender+=tbody+"</tr>"
            }
            drawMonth++;
        if(drawMonth>11){
            drawMonth=0;
            drawYear++
        }
        calender+="</tbody></table>"+(isMultiMonth?"</div>"+((numMonths[0]>0&&col==numMonths[1]-1)?'<div class="ui-datepicker-row-break"></div>':""):"");
        group+=calender
        }
        html+=group
    }
    html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");
inst._keyEvent=false;
return html
},
_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){
    minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);
    var changeMonth=this._get(inst,"changeMonth");
    var changeYear=this._get(inst,"changeYear");
    var showMonthAfterYear=this._get(inst,"showMonthAfterYear");
    var html='<div class="ui-datepicker-title">';
    var monthHtml="";
    if(secondary||!changeMonth){
        monthHtml+='<span class="ui-datepicker-month">'+monthNames[drawMonth]+"</span> "
        }else{
        var inMinYear=(minDate&&minDate.getFullYear()==drawYear);
        var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);
        monthHtml+='<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";
        for(var month=0;month<12;month++){
            if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){
                monthHtml+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNamesShort[month]+"</option>"
                }
            }
        monthHtml+="</select>"
    }
    if(!showMonthAfterYear){
    html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?"&#xa0;":"")
    }
    if(secondary||!changeYear){
    html+='<span class="ui-datepicker-year">'+drawYear+"</span>"
    }else{
    var years=this._get(inst,"yearRange").split(":");
    var year=0;
    var endYear=0;
    if(years.length!=2){
        year=drawYear-10;
        endYear=drawYear+10
        }else{
        if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){
            year=drawYear+parseInt(years[0],10);
            endYear=drawYear+parseInt(years[1],10)
            }else{
            year=parseInt(years[0],10);
            endYear=parseInt(years[1],10)
            }
        }
    year=(minDate?Math.max(year,minDate.getFullYear()):year);
endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);
html+='<select class="ui-datepicker-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";
for(;year<=endYear;year++){
    html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"
    }
    html+="</select>"
}
if(showMonthAfterYear){
    html+=(secondary||changeMonth||changeYear?"&#xa0;":"")+monthHtml
    }
    html+="</div>";
return html
},
_adjustInstDate:function(inst,offset,period){
    var year=inst.drawYear+(period=="Y"?offset:0);
    var month=inst.drawMonth+(period=="M"?offset:0);
    var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);
    var date=this._daylightSavingAdjust(new Date(year,month,day));
    var minDate=this._getMinMaxDate(inst,"min",true);
    var maxDate=this._getMinMaxDate(inst,"max");
    date=(minDate&&date<minDate?minDate:date);
    date=(maxDate&&date>maxDate?maxDate:date);
    inst.selectedDay=date.getDate();
    inst.drawMonth=inst.selectedMonth=date.getMonth();
    inst.drawYear=inst.selectedYear=date.getFullYear();
    if(period=="M"||period=="Y"){
        this._notifyChange(inst)
        }
    },
_notifyChange:function(inst){
    var onChange=this._get(inst,"onChangeMonthYear");
    if(onChange){
        onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])
        }
    },
_getNumberOfMonths:function(inst){
    var numMonths=this._get(inst,"numberOfMonths");
    return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))
    },
_getMinMaxDate:function(inst,minMax,checkRange){
    var date=this._determineDate(this._get(inst,minMax+"Date"),null);
    return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))
    },
_getDaysInMonth:function(year,month){
    return 32-new Date(year,month,32).getDate()
    },
_getFirstDayOfMonth:function(year,month){
    return new Date(year,month,1).getDay()
    },
_canAdjustMonth:function(inst,offset,curYear,curMonth){
    var numMonths=this._getNumberOfMonths(inst);
    var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));
    if(offset<0){
        date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))
        }
        return this._isInRange(inst,date)
    },
_isInRange:function(inst,date){
    var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));
    newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);
    var minDate=newMinDate||this._getMinMaxDate(inst,"min");
    var maxDate=this._getMinMaxDate(inst,"max");
    return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))
    },
_getFormatConfig:function(inst){
    var shortYearCutoff=this._get(inst,"shortYearCutoff");
    shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));
    return{
        shortYearCutoff:shortYearCutoff,
        dayNamesShort:this._get(inst,"dayNamesShort"),
        dayNames:this._get(inst,"dayNames"),
        monthNamesShort:this._get(inst,"monthNamesShort"),
        monthNames:this._get(inst,"monthNames")
        }
    },
_formatDate:function(inst,day,month,year){
    if(!day){
        inst.currentDay=inst.selectedDay;
        inst.currentMonth=inst.selectedMonth;
        inst.currentYear=inst.selectedYear
        }
        var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
    return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))
    }
});
function extendRemove(target,props){
    $.extend(target,props);
    for(var name in props){
        if(props[name]==null||props[name]==undefined){
            target[name]=props[name]
            }
        }
    return target
}
function isArray(a){
    return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))
    }
    $.fn.datepicker=function(options){
    if(!$.datepicker.initialized){
        $(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);
        $.datepicker.initialized=true
        }
        var otherArgs=Array.prototype.slice.call(arguments,1);
    if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){
        return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))
        }
        if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){
        return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))
        }
        return this.each(function(){
        typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)
        })
    };

$.datepicker=new Datepicker();
$.datepicker.initialized=false;
$.datepicker.uuid=new Date().getTime();
$.datepicker.version="1.7.3";
window.DP_jQuery=$
})(jQuery);
;

function pobierzDateKKCD(tag,godz,min,sek){

    var i,j,selected;
    
    var godzina = '<select id="'+tag+'-godz">';
    for(i = 0; i < 24; i++){
        if(i < 10){
            j = '0'+i;
        }else{
            j = i;
        }
        if(tag == 'old' && godz == j){
            selected = 'selected="selected"';
        }else{
            selected = '';
        }
        godzina += '<option '+selected+' value="'+j+'">'+j+'</option>';
    }
    godzina += '</select>';

    var minuta = '<select id="'+tag+'-min">';
    for(i = 0; i < 60; i++){
        if(i < 10){
            j = '0'+i;
        }else{
            j = i;
        }
        if(tag == 'old' && min == j){
            selected = 'selected="selected"';
        }else{
            selected = '';
        }
        minuta += '<option '+selected+' value="'+j+'">'+j+'</option>';
    }
    minuta += '</select>';

    var sekunda = '<select id="'+tag+'-sek">';
    for(i = 0; i < 60; i++){
        if(i < 10){
            j = '0'+i;
        }else{
            j = i;
        }
        if(tag == 'old' && sek == j){
            selected = 'selected="selected"';
        }else{
            selected = '';
        }
        sekunda += '<option '+selected+' value="'+j+'">'+j+'</option>';
    }
    sekunda += '</select>';

    return godzina +'h:'+ minuta +'m:'+ sekunda +'s';
}

function addCount(){
    jQuery('#count-edit').hide();
    jQuery('#count-add').fadeIn("fast");
    jQuery('#kkcd-wstaw-czas').html(pobierzDateKKCD('new'));
}

function saveCount(){

    var error = 0;

    var nazwa = jQuery('#nazwa').val();
    var naglowek = jQuery('#naglowek').val();
    var data = jQuery('#data').val();

    if(nazwa == ''){
        error = 1;
    }

    if(naglowek == ''){
        error = 1;
    }

    if(data == ''){
        error = 1;
    }

    var godzina = jQuery('#new-godz').val();
    var minuta = jQuery('#new-min').val();
    var sekunda = jQuery('#new-sek').val();

    data = data+' '+godzina+':'+minuta+':'+sekunda;

    if(error == 0){

        var wiadomosc = {
            action : 'add_count_kkcd',
            nazwa : nazwa,
            naglowek : naglowek,
            data : data
        };

        jQuery('#add-loading').show();
        jQuery.post(ajaxurl,wiadomosc,function(html){

            jQuery('#add-loading').hide();
            var dane = html.split('|||');

            if(dane[0] == 1){
                
                jQuery('#info').html(dane[1]);
                setTimeout("jQuery('#info').html(' ');",3000);
                jQuery('#kkcd-table').append(dane[3]);
                closeDiv('count-add');

            }else if(dane[0] == 0){
                jQuery('#info').html(dane[1]);
                setTimeout("jQuery('#info').html(' ');",3000);
            }
        });

        
    }else{
        alert("Wszystkie pola muszą być wypełnione!");
    }
}

function editSaveCount(){

    var error = 0;

    var id = jQuery('#id_e').val();
    var nazwa = jQuery('#nazwa_e').val();
    var naglowek = jQuery('#naglowek_e').val();
    var data = jQuery('#data_e').val();

    if(nazwa == ''){
        error = 1;
    }

    if(naglowek == ''){
        error = 1;
    }

    if(data == ''){
        error = 1;
    }

    var godzina = jQuery('#old-godz').val();
    var minuta = jQuery('#old-min').val();
    var sekunda = jQuery('#old-sek').val();

    data = data+' '+godzina+':'+minuta+':'+sekunda;

    if(error == 0){

        var wiadomosc = {
            action : 'edit_count_kkcd',
            id : id,
            nazwa : nazwa,
            naglowek : naglowek,
            data : data
        };

        jQuery('#add-loader').show();
        jQuery.post(ajaxurl,wiadomosc,function(html){

            jQuery('#add-loader').hide();
            var dane = html.split('|||');

            if(dane[0] == 1){

                jQuery('#info').html(dane[1]);
                setTimeout("jQuery('#info').html(' ');",3000);
                jQuery('#kkcd-row-'+id).remove();
                jQuery('#kkcd-table').append(dane[2]);
                closeDiv('count-edit');

            }else if(dane[0] == 0){
                jQuery('#info').html(dane[1]);
                setTimeout("jQuery('#info').html(' ');",3000);
            }
        });
    }else{
        alert("Wszystkie pola muszą być wypełnione!");
    }
}

function editCount(id,nazwa,naglowek,data,godz,min,sek){

    jQuery('#count-add').hide();
    jQuery('#count-edit').fadeIn("fast",function(){
        jQuery('#id_e').val(id);
        jQuery('#nazwa_e').val(nazwa);
        jQuery('#naglowek_e').val(naglowek);
        jQuery('#data_e').val(data);
        jQuery('#kkcd-wstaw-czas-edit').html(pobierzDateKKCD('old',godz,min,sek));
    });
    
}

function delCount(id){

    if(confirm("Are you sure?")){
        jQuery.post(ajaxurl,{
            action : 'del_count_kkcd',
            id : id
        },function(html){

            var dane = html.split('|||');

            if(dane[0] == 1){

                jQuery('#kkcd-row-'+id).remove();

            }

            jQuery('#info').html(dane[1]);
            setTimeout("jQuery('#info').html(' ');",3000);
        });

    }
}

function naprawaCzasu(id){
    s = '';
    if(id < 10){
        id = '0' + id;
    }
    return id;
}

function startCount(){

    var elem = jQuery('.kkcount-down');

    for(var i = 0; i<elem.length; i++){

        var now = new Date();
        now = Math.floor(now.getTime() / 1000);
        
        var wydarzenie = elem.eq(i).attr('time');
        
        var count = wydarzenie - now;

        if(count <= 0){

            elem.eq(i).html('---');

        }else if(count <= 24*60*60){

            var sekundy = naprawaCzasu(count % 60);
            count = Math.floor(count/60);
            var minuty = naprawaCzasu(count % 60);
            count = Math.floor(count/60);
            var godziny = naprawaCzasu(count % 24);
            count = Math.floor(count/24);
            var dni = count;

            elem.eq(i).css({
                'color':'#cf0000'
            });
            if(dni == 1){
                elem.eq(i).children('.kkcd-day-text').show();
                elem.eq(i).children('.kkcd-days-text').hide();
            }else{
                elem.eq(i).children('.kkcd-day-text').hide();
                elem.eq(i).children('.kkcd-days-text').show();
            }
            elem.eq(i).children('.kkc-dni').html(dni);
            elem.eq(i).children('.kkc-godz').html(godziny);
            elem.eq(i).children('.kkc-min').html(minuty);
            elem.eq(i).children('.kkc-sec').html(sekundy);
        }else{
            
            var sekundy = naprawaCzasu(count % 60);
            count = Math.floor(count/60);
            var minuty = naprawaCzasu(count % 60);
            count = Math.floor(count/60);
            var godziny = naprawaCzasu(count % 24);
            count = Math.floor(count/24);
            var dni = count;

            if(dni == 1){
                elem.eq(i).children('.kkcd-day-text').show();
                elem.eq(i).children('.kkcd-days-text').hide();
            }else{
                elem.eq(i).children('.kkcd-day-text').hide();
                elem.eq(i).children('.kkcd-days-text').show();
            }

            elem.eq(i).children('.kkc-dni').html(dni);
            elem.eq(i).children('.kkc-godz').html(godziny);
            elem.eq(i).children('.kkc-min').html(minuty);
            elem.eq(i).children('.kkc-sec').html(sekundy);
        }

    }
    setTimeout(function(){
        startCount();
    }, 1000);
}

function zmienStatus(id){

    var wiadomosc = {
        action : 'zmien_status_kkcd',
        id : id
    };
    jQuery('#loader-status-'+id).show();
    jQuery.post(ajaxurl,wiadomosc,function(html){

        jQuery('#loader-status-'+id).hide();
        if(html == 10){
            jQuery('#kkc-status-'+id).attr({
                'src':'../wp-content/plugins/kkcountdown/images/nieaktywny.png'
            });
        }else if(html == 20){
            jQuery('#kkc-status-'+id).attr({
                'src':'../wp-content/plugins/kkcountdown/images/aktywny.png'
            });
        }else{
            jQuery('#info').html('<div style="background: #ffd9d9; margin:20px; padding: 10px; border-top: 1px #bb0000 solid; border-bottom: 1px #bb0000 solid;">BŁĄD: Status nie został zmieniony.</div>');
            //setTimeout('window.location.reload()', 2000);
        }
    });

}

function closeDiv(id){
    jQuery('#'+id).fadeOut("fast");
}

function kkcdSaveSettings(){

    var days;
    var kolor = jQuery('#kkcd-kolor').val();
    var kolor_doba = jQuery('#kkcd-kolor-24').val();
    var text_doba = jQuery('#kkcd-text-1-day').val();
    var text = jQuery('#kkcd-text-days').val();
    var count_class = jQuery('#kkcd-class').val();
    
    if(jQuery('#kkcd-display-days').attr('checked') == true){
        days = '1';
    }else{
        days = '0';
    }

    var wiadomosc = {
        action : 'settings_kkcd',
        kolor : kolor,
        kolor_doba : kolor_doba,
        text_doba : text_doba,
        text : text,
        days : days,
        count_class : count_class
    };

    jQuery('#save-loading').show();
    jQuery.post(ajaxurl,wiadomosc,function(html){

        var dane = html.split('|||');
        jQuery('#save-loading').hide();
        jQuery('#info').html(dane[0]);
        setTimeout("jQuery('#info').html(' ');",3000);
    });

}

jQuery(document).ready(function(){
    startCount();
    jQuery('.date-picker').datepicker({
        dateFormat: 'yy-mm-dd'
    });
});