

function hoverThis(el, toggle, currentClass) {

    if (toggle=="on") {
        el.className = currentClass + " hoverOption";
    } else {
        el.className = currentClass;
    }
}

function hoverID(objID, toggle, currentClass) {

    var el = document.getElementById(objID);
    
    if (toggle == "on") {
        el.className = currentClass + " hoverOption";
    } else {
        el.className = currentClass;
    }
}

function swapPhoto(objID,newPhotoPath) {
 
  changeSrc = eval('document.getElementById(objID).setAttribute("src",newPhotoPath)'); 
  
} 

function submitOnEnter(keyEvent) {
    if ((keyEvent.which ? keyEvent.which : keyEvent.keyCode) == 13) {
        //stop the event we captured...
        keyEvent.returnValue = false;
        keyEvent.cancel = true; 
        document.forms[0].submit();
    }
}

function getCurrentValue(inputID) {
    //grab the current value in the input field
    return document.getElementById(inputID).value;
}

function setCurrentValue(inputID, newValue) {
    //set the new value in the input field
    document.getElementById(inputID).value = newValue;
}

function setFocus(objID, toggle) {
    var element = document.getElementById(objID);
    if (element != null) {
        if (toggle == 'on') {
            element.focus();
        } else {
            element.blur();
        }
    }
}

function scrollViewable(objID, doAlignTop) {
    document.getElementById(objID).scrollIntoView(doAlignTop);
}



function setCaretPosition(objID, caretPos) {
    var el = document.getElementById(objID);

    if (el != null) {
        if (el.createTextRange != null) {
            var range = el.createTextRange();
            range.move('character', caretPos);
            //range.collapse(); ??
            range.select();
        }
        else {
            if (el.selectionStart != null) {
                el.focus();
                el.setSelectionRange(caretPos, caretPos);
            }
            else
                el.focus();
        }
    }
}

function toggleLayer(objID, toggle) {
    var element = document.getElementById(objID);

    if (element != null) {
        //if we want to hide the layer
        if (toggle == 'hide') {
            document.getElementById(objID).style.visibility = "hidden";
            //otherwise we want to show it
        } else {
            document.getElementById(objID).style.visibility = "visible";
        }
    }
}


function positionItem (targetID, itemID, offsetX, offsetY, offsetZ) {
    var targetElement;
    var targetX  = 0;
    var targetY  = 0;
    var targetZ  = 0;
    var newX     = 0;
    var newY     = 0;
    var newZ = 0;
    var itemElement = document.getElementById(itemID);
    
    targetElement = document.getElementById(targetID);
    
    //determine location of parent item
    targetX = getPageOffsetLeft(targetElement);
    targetY = getPageOffsetTop(targetElement);
    targetZ = targetElement.style.zIndex;
    
    newX = targetX + offsetX;
    newY = targetY + offsetY;
    newZ = targetZ + offsetZ;

    if (itemElement != null) {
        itemElement.style.left   = newX + "px";
        itemElement.style.top    = newY + "px";
        itemElement.style.zIndex = newZ;
    }
    
}


function getPageOffsetLeft(el) {
    var x;
    
    x = el.offsetLeft;
    
    // recurse if necessary...
    if (el.offsetParent != null) {
        x += getPageOffsetLeft(el.offsetParent);
    }
    
    return x;
}

function getPageOffsetTop(el) {
    var y;
    
    y = el.offsetTop;
    
    // recurse if necessary...
    if (el.offsetParent != null) {
        y += getPageOffsetTop(el.offsetParent);
    }
    
    return y;
}