﻿var div = document.createElement("div");
var event = null;
function getCalendarPicker(reload,year,month,input,input_enddate,input_starttime,lang) {
//    if (e) {
//        event = e;
//    }
//    if (event) {
//        cancelBubbleEvent(event);
//    }
    if (month>12) {
        month = 1;
        year++;
    }
    if (month<1) {
        month = 12;
        year--;
    }

    var obj = document.getElementById(input);

    var checkResult = obj.value.split(".");
    d = new Date(checkResult[2], checkResult[1], checkResult[0]);
    if (d == "Invalid Date") {
        d = new Date();
        obj.value = Right("00" + d.getDate(), 2) + "." + Right("00" + parseInt(d.getMonth() + 1), 2) + "." + d.getFullYear();
    }

    var obj2 = '';
    var event_obj2 = '';
    if(document.getElementById(input_enddate)) { 
        obj2 = document.getElementById(input_enddate).value;
        event_obj2 = 'document.getElementById(\'' + input_enddate + '\').value = this.id;';
    }

    var mySplitResult = obj.value.split(".");
    var weekday_datum = '';
    var int_firstDayOfMonth = '';
    var int_lastDayOfMonth = '';
    var nextMonth = '';
    var prevMonth = ''; 
    var final_month = '';
    var final_year = '';
    var spliResult_day = mySplitResult[0];
    var spliResult_month = mySplitResult[1];
    var spliResult_year = mySplitResult[2];
    var nextYear = 0;
    var prevYear = 0;
    if(Left(spliResult_day,1)=="0") spliResult_day = spliResult_day.replace("0","");
    if(Left(spliResult_month,1)=="0") spliResult_month = spliResult_month.replace("0","");
    if(reload==1)
    {
        int_firstDayOfMonth = Number(1);
        int_lastDayOfMonth = Number(getLastDayOfMonth(spliResult_year,Number(spliResult_month)));
        nextMonth = (Number(spliResult_month) + 1);
        prevMonth = (Number(spliResult_month) - 1); 
        final_month = spliResult_month;
        final_year = spliResult_year;
        nextYear = final_year;
        prevYear = final_year;
        weekday_datum = new Date(final_month + '/1/' + final_year)
    }else{
        int_firstDayOfMonth = Number(1);
        int_lastDayOfMonth = Number(getLastDayOfMonth(year,Number(month)));
        nextMonth = (Number(month) + 1);
        prevMonth = (Number(month) - 1); 
        final_month = month;
        final_year = year;
        nextYear = final_year;
        prevYear = final_year;
        weekday_datum = new Date(final_month + '/1/' + final_year)
    }
    var weekday = weekday_datum.getDay();
    if(nextMonth>12) {
        nextMonth = 1;
        nextYear=Number(parseInt(nextYear)+1);
    }
    if(prevMonth<1) {
        prevMonth = 12;
        prevYear=Number(parseInt(prevYear)-1);
    }
    if (weekday==0){ weekday = 7;}
    
    var finish_date = '';
    var myDate = '';
    myDate = new Date(final_year + ',' + final_month + ',' + int_lastDayOfMonth)
    myDate.setDate(myDate.getDate() + 1);
    var fi_date = new Date(myDate);
    finish_date = Right("00" + fi_date.getDate(),2) + '.' + Right("00" + Number(fi_date.getMonth()+1),2) + '.' + fi_date.getFullYear();

    var event_date2 = '';
    var i = 0;
    var cnt = 1;
    var out = '';
    var m_names_0 = new Array("","Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
    var m_names_1 = new Array("","January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var d_names_0 = new Array("MO", "DI", "MI", "DO", "FR", "SA", "SO");
    var d_names_1 = new Array("MO", "TU", "WE", "TH", "FR", "SA", "SU");
    var d_name = 0;
    var m_name = 0;
    switch (lang) {
        case 0: m_name = m_names_0;d_name = d_names_0;
            break;
        case 1: m_name = m_names_1;d_name = d_names_1;
            break;
        default: m_name = m_names_0;d_name = d_names_0;
    }
    //if(document.getElementById("div_month")) document.getElementsByTagName("body")[0].removeChild("div_month");
    div.id = 'div_month';
    div.className = 'global_date_picker';
    div.style.left = Number(getPosition(obj).x) + 'px';
    div.style.top = Number(getPosition(obj).y + 30) + 'px';
    div.style.zIndex = "9999";
    div.innerHTML = "";

    var d;
    var div_inner = document.createElement("div");

    //out += '<div class="inner">';
    d = document.createElement("div");
    d.className = "close IS_30_n";
    d.onclick = function () { 
        document.getElementById('div_month').style.display = 'none';
    }
    div_inner.appendChild(d);


    d = document.createElement("div");
    d.className = "clearBoth";
    div_inner.appendChild(d);

    d = document.createElement("div");
    d.className = "prev IS_30_n";
    d.onclick = function (e) {
        getCalendarPicker(0, prevYear, prevMonth, input, input_enddate, input_starttime, lang);
    }
    div_inner.appendChild(d);

    d = document.createElement("div");
    d.className = "headline";
    d.innerHTML = m_name[final_month] + ', ' + final_year;
    div_inner.appendChild(d);

    d = document.createElement("div");
    d.className = "next IS_30_n";
    d.onclick = function (e) {
        getCalendarPicker(0, nextYear, nextMonth, input, input_enddate, input_starttime, lang);
    }
    div_inner.appendChild(d);

    d = document.createElement("div");
    d.className = "clearBoth";
    div_inner.appendChild(d);

    for (var ii = 0; ii<7; ii++) {
        d = document.createElement("div");
        d.className = "day_names";
        d.innerHTML = d_name[ii];
        div_inner.appendChild(d);
    }

    d = document.createElement("div");
    d.className = "clearBoth";
    div_inner.appendChild(d);
    
    for(i=0;i<weekday-1;i++)
    {
        d = document.createElement("div");
        d.className = "space";
        div_inner.appendChild(d);
    }
    
    for(i=int_firstDayOfMonth;i<=int_lastDayOfMonth;i++)
    {
        event_date2 = '';
        if(document.getElementById(input_starttime))
        {
            
            if(i==int_lastDayOfMonth && Left(document.getElementById(input_starttime).value,2)==23)
            {
                event_date2 = 'document.getElementById(\'' + input_enddate + '\').value = \'' + finish_date +  '\';';
            }            
        }

        if(spliResult_day==i && spliResult_month == final_month && spliResult_year == final_year)
        {
            d = document.createElement("div");
            d.className = "days_active";
            d.id = Right("00" + i, 2) + '.' + Right("00" + final_month, 2) + '.' + final_year;
            d.innerHTML = Right('00' + i,2);
            d.onclick = function (e) {
                //event_obj2
                eval(event_obj2);
                document.getElementById(input).value = this.id;
                document.getElementById('div_month').style.display = 'none';
                eval(event_date2);
            }
            div_inner.appendChild(d);
            
        }else{
            d = document.createElement("div");
            d.className = "days";
            d.id = Right("00" + i, 2) + '.' + Right("00" + final_month, 2) + '.' + final_year;
            d.innerHTML = Right('00' + i, 2);
            d.onclick = function () {
                eval(event_obj2);
                document.getElementById(input).value = this.id;
                document.getElementById('div_month').style.display = 'none';
                eval(event_date2);
            }
            div_inner.appendChild(d);
        }
        if(cnt % 7) {
        }else{ 
            d = document.createElement("div");
            d.className = "clearLeft";
            div_inner.appendChild(d);
        };    
        
        if(cnt<7 && Number(cnt+weekday-1)==7) {
            d = document.createElement("div");
            d.className = "clearLeft";
            div_inner.appendChild(d);
            cnt = Number(weekday-1 + i);
        }
                
        cnt++; 
    }
    d = document.createElement("div");
    d.className = "clearBoth";
    div_inner.appendChild(d);

    div.style.display = "block";
    
    div_inner.className = "inner";
    div.appendChild(div_inner);
    document.getElementsByTagName("body")[0].appendChild(div);
    
}

function getTimePicker(reload,input,input_endtime,input_enddate,input_startdate)
{
    var obj = document.getElementById(input);
    var obj2 = '';
    var event_obj2 = '';  
    var input_enddate2 = '';
    var mySplitResult = '';
    var spliResult_day = '';
    var spliResult_month = '';
    var spliResult_year = '';
    var myDate = '';  
    var finish_date = '';
    var mySplitResult = obj.value.split(":");
    var i = 0;
    var cnt = 1;
    var out = '';
    var time = 0;
    if(document.getElementById(input_startdate) && document.getElementById(input_enddate))
    {
        input_enddate2 = document.getElementById(input_startdate);
        mySplitResult = input_enddate2.value.split(".");
        spliResult_day = mySplitResult[0];
        spliResult_month = mySplitResult[1];
        spliResult_year = mySplitResult[2];
        if(Left(spliResult_day,1)=="0") spliResult_day = spliResult_day.replace("0","");
        if(Left(spliResult_month,1)=="0") spliResult_month = spliResult_month.replace("0","");
        myDate = new Date(spliResult_year + ',' + spliResult_month + ',' + spliResult_day)
        myDate.setDate(myDate.getDate() + 1);
        var fi_date = new Date(myDate);
        finish_date = Right("00" + fi_date.getDate(),2) + '.' + Right("00" + Number(fi_date.getMonth()+1),2) + '.' + fi_date.getFullYear();
    }  
   
    div.id = 'div_time';
    div.className = 'global_time_picker';
    div.style.left = Number(getPosition(obj).x) + 'px';
    div.style.top = Number(getPosition(obj).y + 30) + 'px';
    
    
    out += '<div class="inner">';   
    for(i=1;i<=23;i++)
    { 
        time = Number(i+1);
        event_obj2 = '';
        if(time>23) {
            time = 0;
            if(document.getElementById(input_endtime)) event_obj2 = 'document.getElementById(\'' + input_enddate + '\').value = \'' + finish_date +  '\';';
        }

        if(Right("00" + mySplitResult[0],2) + ':' + Right("00" + mySplitResult[1],2)==Right("00" + i, 2) + ':' + '00')
        {
            if(document.getElementById(input_endtime)) { 
                event_obj2 = 'document.getElementById(\'' + input_endtime + '\').value = \'' + Right("00" + time,2) + ':00' +  '\';' + event_obj2 + '';
            }
            out += '<div class="row_active" id="' + Right("00" + i, 2) + ':' + '00" onclick="javascript:document.getElementById(\'div_time\').style.display = \'none\';document.getElementById(\'' + input + '\').value = this.id;' + event_obj2 + '">' + Right("00" + i, 2) + ':' + '00</div>';
        }else{
            if(document.getElementById(input_endtime)) { 
                event_obj2 = 'document.getElementById(\'' + input_endtime + '\').value = \'' + Right("00" + time,2) + ':00' +  '\';' + event_obj2 + '';
            }
            out += '<div class="row" id="' + Right("00" + i, 2) + ':' + '00" onclick="javascript:document.getElementById(\'div_time\').style.display = \'none\';document.getElementById(\'' + input + '\').value = this.id;' + event_obj2 + '">' + Right("00" + i, 2) + ':' + '00</div>';
        }
        
        if(Right("00" + mySplitResult[0],2) + ':' + Right("30" + mySplitResult[1],2)==Right("00" + i, 2) + ':' + '30')
        {
            if(document.getElementById(input_endtime)) { 
                event_obj2 = 'document.getElementById(\'' + input_endtime + '\').value = \'' + Right("00" + time,2) + ':30' +  '\';' + event_obj2 + '';
            }
            out += '<div class="row_active" id="' + Right("00" + i, 2) + ':' + '30" onclick="javascript:document.getElementById(\'div_time\').style.display = \'none\';document.getElementById(\'' + input + '\').value = this.id;' + event_obj2 + '">' + Right("00" + i, 2) + ':' + '30</div>';
        }else{
            if(document.getElementById(input_endtime)) { 
                event_obj2 = 'document.getElementById(\'' + input_endtime + '\').value = \'' + Right("00" + time,2) + ':30' +  '\';' + event_obj2 + '';
            }
            out += '<div class="row" id="' + Right("00" + i, 2) + ':' + '30" onclick="javascript:document.getElementById(\'div_time\').style.display = \'none\';document.getElementById(\'' + input + '\').value = this.id;' + event_obj2 + '">' + Right("00" + i, 2) + ':' + '30</div>';
        }
        cnt++;
    }
    out += '    <div style="clear:both;"></div>';
    out += '</div>';
    
    div.style.display = (div.style.display=='block'?'none':'block');
    div.innerHTML = out;
    
    document.getElementsByTagName("body")[0].appendChild(div);
    if(document.getElementById(Right("00" + mySplitResult[0],2) + ':' + Right("00" + mySplitResult[1],2)))
    {
        var active = document.getElementById(Right("00" + mySplitResult[0],2) + ':' + Right("00" + mySplitResult[1],2));
        active = Number(active.offsetTop - 65);
        document.getElementById('div_time').scrollTop = active;    
    }

}


function getPosition(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    position = new Object();
    position.x = curleft;
    position.y = curtop;
    return position;
}


function getCalendarListView(div_calendar, div_navigator, tag, monat, jahr) {
    var aktuellerTag = new Date(jahr + ',' + monat + ',' + tag);
    aktuellerTag.setDate(aktuellerTag.getDate());
    
    var HeutePlusEinenTag = new Date(jahr + ',' + monat + ',' + tag);
    HeutePlusEinenTag.setDate(HeutePlusEinenTag.getDate() + 1);

    var HeuteMinusEinenTag = new Date(jahr + ',' + monat + ',' + tag);
    HeuteMinusEinenTag.setDate(HeuteMinusEinenTag.getDate() - 1);


    var fi_aktuellerTag = new Date(aktuellerTag);
    var fi_HeutePlusEinenTag = new Date(HeutePlusEinenTag);
    var fi_HeuteMinusEinenTag = new Date(HeuteMinusEinenTag);

    var tag2 = fi_aktuellerTag.getDate();
    var monat2 = (fi_aktuellerTag.getMonth()+1);
    var jahr2 = fi_aktuellerTag.getFullYear();


    var finishDivID = Right('00' + tag2, 2) + Right('00' + monat2, 2) + Right('0000' + jahr2, 4);
    var str_aktuellerTag = Right('00' + tag2, 2) + '.' + Right('00' + monat2, 2) + '.' + Right('0000' + jahr2, 4);
    var out = '';
    out += '<div>';
    out += "    <a onclick=\"javascript:getCalendarListView('" + div_calendar + "','" + div_navigator + "','" + fi_HeuteMinusEinenTag.getDate() + "','" + (fi_HeuteMinusEinenTag.getMonth()+1) + "','" + fi_HeuteMinusEinenTag.getFullYear() + "');removeElement('" + div_calendar + "', 'newDate');removeElement('div_content', 'newDateTooltip');\">nach hinten</a>";
    out += "    <a onclick=\"javascript:getCalendarListView('" + div_calendar + "','" + div_navigator + "','" + fi_HeutePlusEinenTag.getDate() + "','" + (fi_HeutePlusEinenTag.getMonth() + 1) + "','" + fi_HeutePlusEinenTag.getFullYear() + "');removeElement('" + div_calendar + "', 'newDate');removeElement('div_content', 'newDateTooltip');\">nach vorne</a>";
    out += '    <span id="span_fi_date">' + str_aktuellerTag + '</span>';
    out += '</div>';

    if (document.getElementById(div_navigator)) document.getElementById(div_navigator).innerHTML = out;

    if (document.getElementById('json_dates')) {
        var dates = eval("(" + document.getElementById('json_dates').innerHTML + ")");
        div_calendar.innerHTML = '';
        if (dates.dates[0].id!=undefined) {
            for (var i = 0; i < dates.dates.length; i++) {
                if (str_aktuellerTag == dates.dates[i].date) {
                    buildHTMLDate(dates.dates[i].divID, dates.dates[i].dateID, dates.dates[i].starttime, dates.dates[i].endtime, dates.dates[i].subject, dates.dates[i].width, dates.dates[i].height, dates.dates[i].marginTop, dates.dates[i].marginLeft, dates.dates[i].zIndex);
                } else {
                    alert(dates.dates[i].divID + dates.dates[i].dateID);
                    removeElement(div_calendar, dates.dates[i].divID + dates.dates[i].dateID);
                }
            }
        }
    }
}


function buildHTMLDate(divID, DateID, from, till, subject, width, height, marginTop, marginLeft, zIndex) {
    leftForTooltip = parseInt(Number(marginLeft) + 25);
    topForTooltip = parseInt(Number(marginTop) - 110);
    var newDIV = document.createElement('div');
    newDIV.setAttribute("id", divID + DateID);
    newDIV.setAttribute("onclick", "alert('" + divID + DateID + "');showDateInfos('" + divID + DateID + "','" + subject + "','" + DateID + "','" + from + "','" + till + "','" + topForTooltip + "','" + leftForTooltip + "',event)")
    var out = '';
    out += '    <div style="margin-top:' + marginTop + 'px;margin-left:' + marginLeft + '%; width:' + width + '%;z-index:' + zIndex + ';font-size:11px;position:absolute;" id="dateID_' + DateID + '">';
    out += '        <dl id="date_dl_' + DateID + '" style="margin-top:0;height:' + height + 'px;position:relative;background-color:#ccc;">';
    out += '            <div id="date_from_till_subject_' + DateID + '">' + from + '-' + till + '&nbsp;' + subject + '</div>';
    out += '            <div style="width:10px;background-color:red;position:absolute;bottom:0;" onmousedown="doDown(\'date_dl_' + DateID + '\',\'dateID_' + DateID + '\')"><a>xxx</a></div>';
    out += '        </dl>';
    out += '    </div>';
    newDIV.innerHTML = out;

    var div_calendar = document.getElementById('div_calendar_dates');
    div_calendar.appendChild(newDIV);
}

function showDateInfos(divID,subject,DateID, from, till, marginTop, marginLeft, e) {
    cancelBubbleEvent(e);

    removeElement('div_calendar_dates', 'newDate');
    buildHTMLDatetooltip('newDateTooltip', divID, marginTop, '03.11.2010', from, till, '03.11.2010', marginLeft, DateID, subject);
}


//function cancelBubbleEvent(e) {
//    if (!e) var e = window.event;
//    e.cancelBubble = true;
//    if (e.stopPropagation) e.stopPropagation();
//}


function buildHTMLDatetooltip(parentDivID, divID, marginTop, fi_date, from, till, fi_date_for_save, marginLeft, DateID, subject) {
    removeElement('div_content', 'newDateTooltip');
    var newdivToolTip = document.createElement('div');
    newdivToolTip.setAttribute("id", "newDateTooltip");
    newdivToolTip.setAttribute("style", "margin-left:" + marginLeft + "%;width:200px;height:200px;background-color:#ccc;margin-top:" + (marginTop - 500) + "px;position:absolute;z-index:9999;");
    var out = '';
    out += '    <div><a onclick="removeElement(\'div_calendar_dates\',\'newDate\');removeElement(\'div_content\',\'newDateTooltip\');return false;">X</a></div>';
    out += '    <div>WANN: <span id="save_date">' + fi_date + '</span>, <span id="time_from">' + from + '</span>-<span id="time_till">' + till + '</span></div>';
    out += '    <div>Was <input type="text" value="' + subject  + '" id="tx_newDate_what" /></div>';
    out += "    <input type=\"button\" value=\"speichern\" id=\"tx_newDate_save\" onclick=\"saveDate('/_Module/Dates/saveDateNew.aspx','U=108&tx_headline=' + encodeURIComponent(document.getElementById('tx_newDate_what').value) + '&tx_starttime=' + document.getElementById('time_from').innerHTML + '&tx_endtime=' + document.getElementById('time_till').innerHTML + '&tx_date=' + '" + fi_date_for_save + "' + '&dateID=' + '" + DateID + "' + '');removeElement('div_calendar_dates',\'newDate\');removeElement(\'div_content\',\'newDateTooltip\');\"  /><br />";
    out += "    <input type=\"button\" value=\"löschen\" id=\"tx_newDate_save\" onclick=\"saveDate('/_Module/Dates/saveDateNew.aspx','U=108&del=1&tx_date=' + '" + fi_date_for_save + "' + '&dateID=' + '" + DateID + "' + '');removeElement('div_calendar_dates',\'" + divID + "\');removeElement(\'div_content\',\'newDateTooltip\');\"  /><br />";
    newdivToolTip.innerHTML = out;
    var div_content = document.getElementById('div_content');
    div_content.appendChild(newdivToolTip);
}

//------------------------
//------RELOAD-DATES------
//------------------------

function reloadDates(str_dates) {
    var dates = eval("(" + str_dates + ")");

    //CREATE NEW DIV

    
    //-------------------------------------------
    //---------CREATE NEW DIV FOR NEW DATE-------
    //-------------------------------------------
    if (document.getElementById(dates.newDate[0].id)) {
    } else {
        if(dates.newDate[0].divID!=undefined)
            buildHTMLDate(dates.newDate[0].divID, dates.newDate[0].dateID, dates.newDate[0].starttime, dates.newDate[0].endtime, dates.newDate[0].subject, dates.newDate[0].width, dates.newDate[0].height, dates.newDate[0].marginTop, dates.newDate[0].marginLeft, dates.newDate[0].zIndex);
    }



    //dates.newDate[0].id);
    for (var i = 0; i < dates.dates.length; i++) {
        if (document.getElementById(dates.dates[i].id)) {
            document.getElementById(dates.dates[i].id).style.width = dates.dates[i].width + '%';
            document.getElementById(dates.dates[i].id).style.marginLeft = dates.dates[i].marginLeft + '%';
            document.getElementById(dates.dates[i].id).style.height = dates.dates[i].height + 'px';
            document.getElementById('date_from_till_subject_' + dates.dates[i].dateID).innerHTML = dates.dates[i].starttime + '-' + dates.dates[i].endtime + '&nbsp;' + dates.dates[i].subject;
            
        }
    }

}

function getCalendardates(div, finishDivID) {
    if (document.getElementById(div)) {
        var content = '';
        var childDivs = document.getElementById(div).childNodes;
        for (var i = 0; i < childDivs.length; i++) {
            if (Left(childDivs[i].id, 8) == finishDivID) {
                enablediv(childDivs[i].id);
            } else {
                if (document.getElementById(childDivs[i].id)) disablediv(childDivs[i].id); 
            }
        }
    }
}

var from = 0;
var till = 0;

function insertNewDate(div, e) {
    if (document.getElementById(div)) {
        removeElement(div, 'newDate');
        removeElement('div_content', 'newDateTooltip');
        var marginTop = parseInt(e.clientY - document.getElementById(div).offsetTop);
        //marginTop = 0;
        marginTop = marginTop - (marginTop % 20);
        if (marginTop < 0) marginTop = 0;
        if (marginTop > 340) marginTop = 340;
        from = (marginTop / 20) + 6;
        till = (from + 1);
        var div_calendar = document.getElementById(div);

        var tx_from_till = Right("00" + from, 2) + ':00 - ' + Right("00" + till, 2) + ':00';
        var tx_from_for_save = Right("00" + from, 2) + ':00';
        var tx_till_for_save = Right("00" + till, 2) + ':00';
        //-------------------------------------------
        //---------CREATE NEW DIV FOR NEW DATE-------
        //-------------------------------------------
        var newDateInnerHTML = '';
        var newdiv = document.createElement('div');
        newdiv.setAttribute("id", "newDate");
        newdiv.setAttribute("style", "width:100%;margin-top:" + marginTop + "px;position:absolute;z-index:9999;");
        newDateInnerHTML += '<dl id="newDate_dl" style="margin-top:0;position:relative;height:20px;background-color:#ccc;">';
        newDateInnerHTML += '   <div id="newDate_from_till">' + tx_from_till + '</div>';
        newDateInnerHTML += '   <div style="width:10px;background-color:red;position:absolute;bottom:0;" onmousedown="doDown(\'newDate_dl\',\'newDate\')"><a>xxx</a></div>';
        newDateInnerHTML += '</dl>';
        newdiv.innerHTML = newDateInnerHTML;
        div_calendar.appendChild(newdiv);


        //-------------------------------------------
        //---------TOOLTIP FOR NEW DATE--------------
        //-------------------------------------------
        var fi_date = '';
        var fi_date_for_save = '';
        if (document.getElementById('span_fi_date')) {
            fi_date = document.getElementById('span_fi_date').innerHTML;
            fi_date_for_save = document.getElementById('span_fi_date').innerHTML;
        }

        buildHTMLDatetooltip('newDateTooltip', 'newDateTooltip_inner', marginTop, fi_date, tx_from_for_save, tx_till_for_save, fi_date_for_save,'50',0,'');
    }
}



function getLastDayOfMonth(year,month)
{
    return new Date(year, month, 0).getDate();
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}


var resizeObj = null;
var resizeObjDiv = null;

document.onmousemove = doMove;
document.onmouseup = doUp;
document.onselectstart = doMark;

function doMark() {
    return false;
}

function doDown(newDate_dl, newDate) {
    resizeObj = document.getElementById(newDate_dl);
    resizeObjDiv = document.getElementById(newDate);
}

function doUp() {
    //alert(resizeObj);
    if (document.getElementById('newDate_from_till')) {
        if (resizeObj!=null) {
            var newTime = document.getElementById('newDate_from_till');
            var newFrom = Left(newTime.innerHTML, 2);
            var newTill = resizeObj.style.height;
            newTill = newTill.replace("px", "");
            newTill = parseInt(((newTill) / 20));
            newTill = parseInt(Number(newFrom) + newTill);

            till = newTill;
            from = newFrom;

            var tx_from_for_save = Right("00" + newFrom, 2) + ':00';
            var tx_till_for_save = Right("00" + newTill, 2) + ':00';

            document.getElementById('time_from').innerHTML = tx_from_for_save;
            document.getElementById('time_till').innerHTML = tx_till_for_save;
            newTime.innerHTML = newFrom + ':00 - ' + newTill + ':00';

            //alert(resizeObj);
            //if (resizeObj.id != "newDate_dl") {
            //    saveDate('/_Module/Dates/saveDateNew.aspx', 'U=108&tx_starttime=' + tx_from_for_save + '&tx_endtime=' + tx_till_for_save + '&dateID=' + DateID + '');
            //}
        }
    }
    resizeObj = null;
}

function doMove(e) {
    var el, xPos, yPos, str, xMin, yMin;
    cancelBubbleEvent(e);
    if (resizeObj != null && resizeObjDiv != null) {
        var newHeight = parseInt(e.clientY - document.getElementById('div_calendar_dates').offsetTop - resizeObjDiv.offsetTop);
        newHeight = newHeight - (newHeight % 20);
        if (newHeight < 20) newHeight = 20;
        if (newHeight > (360 - resizeObjDiv.offsetTop)) newHeight = (360 - resizeObjDiv.offsetTop);
        resizeObj.style.height = newHeight + "px";

       
        if (document.selection) 
            document.selection.empty();
        else 
            window.getSelection().removeAllRanges();
    }
}


var calendarPicker = (function () {
    this.options = null;
    this.object = null;
    this.objectEnddate = null;
    this.year = 2012;
    this.month = 2;
    this.init = function () {
        if (this.object == null || this.object == undefined) return false;
        var par = this.object.parentNode;
        var icon = document.createElement("i");
        icon.className = "dib IS_18 IS_18_Calendar vat hover";
        icon.setAttribute("style", "margin-right:5px;margin-top:7px;");
        par.insertBefore(icon, par.firstChild);

        var year = this.year;
        var month = this.month;
        var id = this.object.id;
        var textbox = this.object;
        var idEnddate = id;
        if (this.objectEnddate != null) idEnddate = this.objectEnddate.id;
        function pick() {
            textbox.focus();
            getCalendarPicker(1, year, month, id, idEnddate, 'xx', 0);
        }
        this.object.onclick = pick;
        icon.onclick = pick;

        document.onclick = function (e) {
            e = e || window.event;
            var element = e.target || e.srcElement;
            if (element.id != "" && element.id != "input_startdate" && element.id != "input_enddate") {
                disablediv("div_month");
            }
        }
    }

});




