
//  При клике в поле логина, пароля и поиска текст-подсказка должна пропадать.
//  Если ничего не введено, а фокус потерян, надпись должна возвращаться.
function switchInputValue(inputObj, inputValue, eventName) {

    if (inputObj.value == inputValue && eventName == 'focus') {
        inputObj.value = '';
    }
    else if (inputObj.value == '') {
        inputObj.value = inputValue;
    }
}



function switchInputPasswordValue(inputObj, inputValue, eventName) {

    if (eventName == 'focus' && inputObj.value == '') {
        inputObj.className = 'sm';
    }
    else if (inputObj.value == '') {
        inputObj.className = 'passwordBg sm';
    }
}


function obj(id) {
    return document.getElementById(id);
}


/*
В ранних версиях IE возникает такая проблема, что при использовании DIV слоев на странице,
select box всегда находится сверху. Поэтому здесь были введены функции скрывающие select при появлении
над ним слоя.	
*/


// Скрыть перекрываемые элементы переданные в параметрах функции
function HideCoveredDDLs() {

    for (h = 0; h < arguments.length; h++) {

        var oDiv = document.getElementById(arguments[h]);
        var colS = document.all.tags("SELECT");
        if (colS != null) {
            for (i = 0; i < colS.length; i++) {
                if (OBJIsUnderDiv(colS[i], oDiv)) { colS[i].style.visibility = "hidden"; }
            }
        }

    }
}

// Находится ли select под данным объектом
function OBJIsUnderDiv(oOBJ, oDiv) {
    var oX1 = findPosX(oOBJ); //oLeft1  
    var oX2 = oX1 + oOBJ.offsetWidth; //oLeft2  
    var oY1 = findPosY(oOBJ); //oTop1  
    var oY2 = oY1 + oOBJ.offsetHeight; //oTop2  
    var dX1 = findPosX(oDiv); //dLeft1  
    var dX2 = dX1 + oDiv.offsetWidth; //dLeft2  
    var dY1 = findPosY(oDiv); //dTop1  
    var dY2 = dY1 + oDiv.offsetHeight; //dTop2  


    if (oX1 >= dX1 && oX1 <= dX2 && oY1 >= dY1 && oY1 <= dY2)
        return true;
    if (oX2 >= dX1 && oX2 <= dX2 && oY2 >= dY1 && oY2 <= dY2)
        return true;
    return false;
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

// Показать все скрытые select
function ShowHiddenDDLs() {
    var colS = document.all.tags("SELECT");
    if (colS != null) {
        for (i = 0; i < colS.length; i++)
            colS[i].style.visibility = "inherit";
    }
}
