var selectBoxesShown = true;

/**
 * Hide all the select boxes on a specific page, used for overlay in explorer
 */
function hideAllSelectBoxes( )
{
    if ( !selectBoxesShown ) return;
    var boxes = document.getElementsByTagName( 'SELECT' );
    for ( i = 0; i < boxes.length; i++ )
        boxes[i].style.visibility = 'hidden';
    selectBoxesShown = false;
}

/**
 * Show all the select boxes on a specific page, used for overlay in explorer
 */
function showAllSelectBoxes( )
{
    if ( selectBoxesShown ) return;
    var boxes = document.getElementsByTagName( 'SELECT' );
    for ( i = 0; i < boxes.length; i++ )
        boxes[i].style.visibility = 'visible';
    selectBoxesShown = true;
}


/**
 * Add hooks to all the textfields of this form
 *
 * @param formname the name of the form
 */
function addFormHooks( formname )
{
    var form = document.getElementById( formname );
    if ( form == null )
        alert( "form.js: couldn't find form: " + formname );

    for ( i = 0; i < form.elements.length; i++ )
    {
        if (    form.elements[i].type == 'text'
             || form.elements[i].type == 'password'
             || form.elements[i].type == 'textarea'
           )
        {
            // remember old function
            var oldfunction = form.elements[i].onfocus;

            // add onfocus function
            var newfunction = function()
                {
                    var fn = this.form.name;
                    var fb = document.getElementById( fn+"feedback" );
                    if ( fb != null )
                        fb.style.visibility = 'hidden';
                };

            // add both functions if needed
            if ( typeof form.elements[i].onfocus != 'function' )
            {
                form.elements[i].onfocus = newfunction;
            }
        }
    }
}

function findPos ( elName ) {
	obj = document.getElementById( elName );
	var curleft = curtop = 0;

	if (obj.offsetParent) {

	do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);

	return [curleft,curtop];
}
}

