﻿function hideError() {
	document.getElementById("errorBox").style.visibility = "hidden";
}

function getPageID()
{
    return randomString();
}

//***************************************************
// string functions                                
//***************************************************
function trim(str)
{
	// trim leading and ending spaces in a string
	while (str.charAt(str.length - 1) == " ")
		str = str.substring(0, str.length - 1);

	while (str.charAt(0) == " ")
		str = str.substring(1, str.length);

	return str;
}

function randomString() 
{
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
	var string_length = 8;
	var s = '';
	
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		s += chars.substring(rnum, rnum+1);
	}
	
	return s;
}

function addEvent(sEventType, sListener, sEventTarget) {
    // sEventType: onclick, onblur, onmouseover,...
    // sListener: javascript function (without parentheses)
    // sEventTarget: optional, default is document

    var s = "";

    if (sEventTarget == null) sEventTarget = "document";

    if (window.addEventListener) {
        // DOM method for binding an event
        if (sEventType.toLowerCase().substr(0, 2) == "on") {
            sEventType = sEventType.substr(2); // remove on from event type
        }

        s = sEventTarget + ".addEventListener('" + sEventType + "', " + sListener + ", false)";
    }
    else if (window.attachEvent) {
        // IE exclusive method for binding an event
        s = sEventTarget + ".attachEvent('" + sEventType + "', " + sListener + ")";
    }
    else if (document.getElementById) {
        // Support older browsers
        s = sEventTarget + "." + sEventType + " = " + sListener;
    }

    eval(s);
}

function clearEvent(sEventType, sListener, sEventTarget) {
    var s = "";

    if (sEventTarget == null) sEventTarget = "document";

    if (window.addEventListener) {
        // DOM method for detaching an event
        if (sEventType.toLowerCase().substr(0, 2) == "on") {
            sEventType = sEventType.substr(2);
        }

        s = sEventTarget + ".removeEventListener('" + sEventType + "', " + sListener + ", false)";
    }
    else if (window.attachEvent) {
        // IE exclusive method for detaching an event
        s = sEventTarget + ".detachEvent('" + sEventType + "', " + sListener + ")";
    }
    else if (document.getElementById) {
        // Support older modern browsers
        s = sEventTarget + "." + sEventType + " = ''";
    }

    eval(s);
}
