    function positionLayers() {
        var iDays = arrDates.length;
        createTime();
        for (var i = 0; i < arrDates.length; i++) {
            createColumns(i, iDays);
        }
        var intTotalSimColumns = 0;var iTmp = 0;
        for (var i = 0; i < arrItems.length; i++) {
            if (iTmp != arrItems[i][0]) intTotalSimColumns += arrItems[i][1];
            iTmp = arrItems[i][0];
        }
        for (var i = 0; i < arrItems.length; i++) {
            createLayers(i, iDays, intTotalSimColumns);
        }
    }


    function createTime() {
        var objWrapper = document.getElementById("calendarWrapper");
        var objColumn = document.createElement("div");
        objColumn.id = "ColumnTime";
        var objTop = document.createElement("div");
        objTop.className = "calendarTop";
        objColumn.appendChild(objTop);
        for (i = intGlobalStart; i <= intGlobalEnd; i++) {
            var strTime;
            strTime = i < 10 ? "0" + i + ".00" : i + ".00";
            var objTime = document.createElement("div");
            objTime.className = "time";
            objTime.innerHTML = strTime;
            objColumn.appendChild(objTime);
        }
        objWrapper.appendChild(objColumn);
    }


    function createColumns(intId, iDays) {
        var objWrapper = document.getElementById("calendarWrapper");
        var objColumn = document.createElement("div");
        var objTop = document.createElement("div");
        objColumn.id = "Column" + (intId + 1);
        objColumn.style.width = "0px";
        objWrapper.appendChild(objColumn);
        objTop.className = "calendarTop";
        objTop.innerHTML = arrDates[intId];
        objColumn.appendChild(objTop);
    }

    function createLayers(intId, iDays, intTotalSimColumns) {
        var objParent = document.getElementById("Column" + arrItems[intId][0]);
        var objElement = document.createElement("div");
        var objSpan = document.createElement("span");
        var objLink = document.createElement("a");
        objLink.innerHTML = arrItems[intId][7];
        objLink.href = arrItems[intId][9];

        var strClassName = "";
        objElement.id = "div" + intId;
        objSpan.className = "duration";
        objSpan.appendChild(objLink);
        objSpan.innerHTML += "<br />" + arrItems[intId][6];

        var intWidth = parseInt((755/intTotalSimColumns)) -1;
        objElement.style.width =  intWidth-2 + "px";
        objParent.style.width = (intWidth*arrItems[intId][1]) + (arrItems[intId][1]) + "px";

        objElement.className = "item " + arrItems[intId][3] + strClassName;
        objElement.style.left = getLeft(intTotalSimColumns, arrItems[intId][2], iDays);
        objElement.style.top = getYpos(arrItems[intId][4]);
        objElement.style.height = getHeight(arrItems[intId][4], arrItems[intId][5]);
        objElement.appendChild(objSpan);
        objParent.appendChild(objElement);
    }

    function alterBaloon() {
        showBaloon(this.id);
    }
		
    function openEventItem() {
        var strId = this.id;
        var intId = strId.replace("div", "");
        intId = parseInt(intId);
        var strFunction = arrItems[intId][9];
        var strNew = strFunction.replace("javascript:z(","");
        strNew = strNew.replace(");","");
        var arrArg = strNew.split(",");
        z(arrArg[0], arrArg[1], arrArg[2]);
   }
		
    function getLeft(intColumns, intColumn, iDays) {
        if(intColumn == 0) intColumn = 1;
        return ((parseInt((755/intColumns)) * (intColumn-1))) + "px";
    }


    function hideBaloon() {
        var obj = document.getElementById("balloon");
        if (!obj) {
            return;
        }
        obj.style.display = obj.style.display == "block" ? "none" : "block";
    }


    function getHeight(strStart, strEnd) {
        var arrStart = strStart.split(":");
        var arrEnd = strEnd.split(":");
        if(arrStart.length == 1 && arrEnd.length == 1) 
        {
              var arrStart = strStart.split(".");
              var arrEnd = strEnd.split(".");
        }
        var intStart = parseInt(formatHours(arrStart[0]));
        var intEnd = parseInt(formatHours(arrEnd[0]));
        var intLength = intEnd - intStart;
        var intHeigth = 0;
        switch (intLength) {
          case 1:
            intHeigth = 28;
            break;
          case 2:
            intHeigth = 61;
            break;
          case 3:
            intHeigth = 94;
            break;
          case 4:
            intHeigth = 127;
            break;
          case 5:
            intHeigth = 160;
            break;
          case 6:
            intHeigth = 193;
            break;
          case 7:
            intHeigth = 226;
            break;
          case 8:
            intHeigth = 259;
            break;
          case 9:
            intHeigth = 292;
            break;
          case 10:
            intHeigth = 325;
            break;
          case 11:
            intHeigth = 358;
            break;
          case 12:
            intHeigth = 391;
            break;
          case 13:
            intHeigth = 424;
            break;
          case 14:
            intHeigth = 457;
            break;
          default:;
        }
        intStart = parseInt(formatHours(arrStart[1]));
        intEnd = parseInt(formatHours(arrEnd[1]));
        intLength = intEnd - intStart;
        switch (intLength) {
          case 0:
            intAddition = 0;
            break;
          case 15:
            intAddition = 8;
            break;
          case 30:
            intAddition = 16;
            break;
          case 45:
            intAddition = 24;
            break;
          case -15:
            intAddition = -24;
            break;
          case -30:
            intAddition = -16;
            break;
          case -45:
            intAddition = -8;
            break;
          default:
            intAddition = 0;
            break;
        }
        return intHeigth + intAddition + "px";
    }


    function formatHours(str) {
        if (str.indexOf("0") == 0) {
            return str.substring(1);
        } else {
            return str;
        }
    }


    function getYpos(strStart) {
        var arr = strStart.split(":");
        if(arr.length == 1) arr = strStart.split(".");
        var intTop = 0;
        var intAddition = 0;
        var intDiff = intGlobalStart - 7;
        switch (arr[0]) {
          case "07":
            intTop = 25;
            break;
          case "08":
            intTop = 58;
            break;
          case "09":
            intTop = 91;
            break;
          case "10":
            intTop = 124;
            break;
          case "11":
            intTop = 157;
            break;
          case "12":
            intTop = 190;
            break;
          case "13":
            intTop = 223;
            break;
          case "14":
            intTop = 256;
            break;
          case "15":
            intTop = 289;
            break;
          case "16":
            intTop = 322;
            break;
          case "17":
            intTop = 355;
            break;
          case "18":
            intTop = 388;
            break;
          case "19":
            intTop = 421;
            break;
          case "20":
            intTop = 454;
            break;
          default:;
        }
        intTop -= intDiff * 33;
        switch (arr[1]) {
          case "00":
            intAddition = 0;
            break;
          case "15":
            intAddition = 8;
            break;
          case "30":
            intAddition = 16;
            break;
          case "45":
            intAddition = 24;
            break;
          default:
            intAddition = 0;
            break;
        }
        intTop += intAddition;
        return intTop + "px";
    }


    function glob() {
        var intDiff = intGlobalStart - 7;
        return intDiff;
    }


    function showBaloon(intId) {
        var objDiv = document.getElementById("div" + intId);
        var obj = document.getElementById("balloon");
        if (!obj) {
            return;
        }
        var objWrapper = document.getElementById("calendarWrapper");
        var objParent = objDiv.parentNode;
        var parentX = objParent.offsetLeft;
        var parentY = objParent.offsetTop;
        var xPos = parseInt(parentX) + parseInt(objDiv.style.left);
        var yPos = parseInt(parentY) + parseInt(objDiv.style.top);
        if (objDiv.offsetLeft + parentX < getWindowSize().x / 2 - objDiv.clientWidth) {
            obj.className = "leftBalloon";
        } else {
            obj.className = "rightBalloon";
            xPos -= 360;
        }
        obj.innerHTML = "<h4 class=\"" + arrItems[intId][3] + "\">" + arrItems[intId][7] + "</h4><p>" + arrItems[intId][8] + "</p>";
        obj.style.zindex = 10;
        obj.style.left = xPos + "px";
        obj.style.top = yPos - 140 + "px";
        obj.style.display = "block";
    }


    function putToFront() {
        var obj = document.getElementById("balloon");
        obj.style.zindex = 1;
    }


    function getWindowSize() {
        var x, y;
        var objRet = new Object;
        if (self.innerHeight) {
            x = self.innerWidth;
            y = self.innerHeight;
        } else if (document.documentElement &&
            document.documentElement.clientHeight) {
            x = document.documentElement.clientWidth;
            y = document.documentElement.clientHeight;
        } else if (document.body) {
            x = document.body.clientWidth;
            y = document.body.clientHeight;
        }
        objRet.x = x;
        objRet.y = y;
        return objRet;
    }


    function addEvent(obj, type, fn) {
        if (!document.getElementById) {
            return;
        }
        if (obj.addEventListener) {
            obj.addEventListener(type, fn, false);
        } else if (obj.attachEvent) {
            obj["e" + type + fn] = fn;
            obj[type + fn] = function () {obj["e" + type + fn](window.event);};
            obj.attachEvent("on" + type, obj[type + fn]);
        }
    }


    function findPosX(obj) {
        var curleft = 0;
        if (obj.offsetParent) {
            while (1) {
                curleft += obj.offsetLeft;
                if (!obj.offsetParent) {
                    break;
                }
                obj = obj.offsetParent;
            }
        } else if (obj.x) {
            curleft += obj.x;
        }
        return curleft;
    }


    function findPosY(obj) {
        var curtop = 0;
        if (obj.offsetParent) {
            while (1) {
                curtop += obj.offsetTop;
                if (!obj.offsetParent) {
                    break;
                }
                obj = obj.offsetParent;
            }
        } else if (obj.y) {
            curtop += obj.y;
        }
        return curtop;
    }


    function positionDropLayer() {
        var oDiv = document.getElementById("siteSelect");
        var oUl = document.getElementById("dropItemList");
        if (oUl) {
            oUl.parentNode.style.left = findPosX(oDiv) + "px";
            oUl.parentNode.style.top = 14 + findPosY(oDiv) + "px";
        }
    }


    function alterWtExpand(obj) {
        obj.className = obj.className == "expandedTop" ? "flatTop" : "expandedTop";
        var objLayers = obj.parentNode.getElementsByTagName("DIV")
        objLayers[4].style.overflow = "visible";
    }



    function displayBridge() {
        var objBridge = document.getElementById("signInBridge");
        var obj = document.getElementById("signInArea");
        var objBridgeMiddle = document.getElementById("bridgeMiddle");
        var layWidth = obj.offsetWidth;
        var iTop = checkIE6() == true ? 15 : 17;
        objBridgeMiddle.style.width = layWidth + "px";
        objBridge.style.width = layWidth + 14 + "px";
        objBridge.style.left = findPosX(obj) - 7 + "px";
        objBridge.style.top = findPosY(obj) + iTop + "px";
        objBridge.style.display = "block";
    }




    function hideBridge() {
        var objBridge = document.getElementById("signInBridge");
        objBridge.style.display = "none";
    }



    function checkIE6() {
        if (navigator.appName == "Microsoft Internet Explorer" &&
            parseFloat(navigator.appVersion.match(/MSIE\s(\d+\.\d+)/)[1]) < 7) {
            return true;
        } else {
            return false;
        }
    }




