function confirmAction(form, value, message)
{
    saved = form.Action.value ;
    form.Action.value = value;

    if(message && message.length > 0)
    {
        if(confirm(message))
        {
            form.submit();
        }
        else
            form.Action.value = saved ;
    }
    else
    {
        form.submit();
    }
}

function verifyElementError(form, element, valid, errorStr, truncate)
{
    var filter= "";
    var newString = new String();
	var printerror = false;
	
    // this mechanism does not work when there are an array of elements
    // with the same name, as in Network Properties
    //newString = form.elements[element];

    // so use this mechanism instead
    for (k=0;k<form.elements.length;k++)
    {
        e = form.elements[k] ;
        if (e.name == element)
        {
            newString = e ;
            filter="" ;
			printerror = false;
			finished = 0 ;

			// For each char in the string
			//
            for(var i=0; i < newString.value.length; ++i)
            {
				// Get Character
				//
                var c = newString.value.charCodeAt(i);

				var iserror = true;

				// For each character in the valid string
				//
                for(var j=0; j < valid.length; ++j)
                {
					// If the Character is in the string
					//
                    if(c == valid.charCodeAt(j))
                    {
                        filter += String.fromCharCode(c);
						iserror = false;
                        break;
                    }	
                }

				if (iserror == true)
					printerror = true

				if (arguments.length == 5)
				{
                	for(var j=0; j < truncate.length; ++j)
                	{
                    	if(c == truncate.charCodeAt(j))
                    	{
							finished = 1 ;
							break ;
						}
					}
				}

				if (finished == 1)
					break ;
            }
            e.value = filter;
			
			if ((printerror) && (e.value != '') )
			{
				if (errorStr != '')
					alert(errorStr + ' ' + valid);
			}
        }
    }

}

function verifyElement(form, element, valid, truncate)
{
    var filter= "";
    var newString = new String();
	
    // this mechanism does not work when there are an array of elements
    // with the same name, as in Network Properties
    //newString = form.elements[element];

    // so use this mechanism instead
    for (k=0;k<form.elements.length;k++)
    {
        e = form.elements[k] ;
        if (e.name == element)
        {
            newString = e ;
            filter="" ;
			finished = 0 ;

            for(var i=0; i <= newString.value.length; ++i)
            {
                var c = newString.value.charCodeAt(i);

                for(var j=0; j < valid.length; ++j)
                {
                    if(c == valid.charCodeAt(j))
                    {
                        filter += String.fromCharCode(c);
                        break;
                    }
                }

				if (arguments.length == 4)
				{
                	for(var j=0; j < truncate.length; ++j)
                	{
                    	if(c == truncate.charCodeAt(j))
                    	{
							finished = 1 ;
							break ;
						}
					}
				}

				if (finished == 1)
					break ;

            }
            e.value = filter;
        }
    }

}

function verifyEmail(element, errorText)
{
	var valid = false;

	if (!element.value)
		return;

	valid = isEmail(element.value);
	if (!valid)
	{
		alert(errorText);
		element.focus();
	}
}


function verifySymbols(form, element)
{
    var filter= "";
    var newString = new String();
    var valid="";
	
	valid="01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	
    // this mechanism does not work when there are an array of elements
    // with the same name, as in Network Properties
    //newString = form.elements[element];

    // so use this mechanism instead
    for (k=0;k<form.elements.length;k++)
    {
        e = form.elements[k] ;
        if (e.name == element)
        {
            newString = e ;
            filter="" ;

            for(var i=0; i <= newString.value.length; ++i)
            {
                var c = newString.value.charCodeAt(i);

                for(var j=0; j < valid.length; ++j)
                {
                    if(c == valid.charCodeAt(j))
                    {
                        filter += String.fromCharCode(c);
                        break;
                    }
                }
            }
            e.value = filter;
        }
    }

}


function verifyDTMF(element, dtmffrom)
{
	var dtmfObj = new Object();
	var retstr = new String("");
	var retstr2 = new String("");
	var dtmfstr = new String(dtmffrom.value);

	dtmfObj["a"] = 2;	
	dtmfObj["b"] = 2;	
	dtmfObj["c"] = 2;	
	dtmfObj["d"] = 3;	
	dtmfObj["e"] = 3;	
	dtmfObj["f"] = 3;	
	dtmfObj["g"] = 4;	
	dtmfObj["h"] = 4;	
	dtmfObj["i"] = 4;	
	dtmfObj["j"] = 5;	
	dtmfObj["k"] = 5;	
	dtmfObj["l"] = 5;	
	dtmfObj["m"] = 6;	
	dtmfObj["n"] = 6;	
	dtmfObj["o"] = 6;	
	dtmfObj["p"] = 7;	
	dtmfObj["q"] = 7;	
	dtmfObj["r"] = 7;	
	dtmfObj["s"] = 7;	
	dtmfObj["t"] = 8;	
	dtmfObj["u"] = 8;	
	dtmfObj["v"] = 8;	
	dtmfObj["w"] = 8;	
	dtmfObj["x"] = 9;	
	dtmfObj["y"] = 9;	
	dtmfObj["z"] = 9;	
	dtmfObj["A"] = 2;	
	dtmfObj["B"] = 2;	
	dtmfObj["C"] = 2;	
	dtmfObj["D"] = 3;	
	dtmfObj["E"] = 3;	
	dtmfObj["F"] = 3;	
	dtmfObj["G"] = 4;	
	dtmfObj["H"] = 4;	
	dtmfObj["I"] = 4;	
	dtmfObj["J"] = 5;	
	dtmfObj["K"] = 5;	
	dtmfObj["L"] = 5;	
	dtmfObj["M"] = 6;	
	dtmfObj["N"] = 6;	
	dtmfObj["O"] = 6;	
	dtmfObj["P"] = 7;	
	dtmfObj["Q"] = 7;	
	dtmfObj["R"] = 7;	
	dtmfObj["S"] = 7;	
	dtmfObj["T"] = 8;	
	dtmfObj["U"] = 8;	
	dtmfObj["V"] = 8;	
	dtmfObj["W"] = 8;	
	dtmfObj["X"] = 9;	
	dtmfObj["Y"] = 9;	
	dtmfObj["Z"] = 9;	

	len = dtmfstr.length;
	for (i=0; i<len; i++)
	{
		retstr = "";
		c = dtmfstr.charAt(i);
		if (dtmfObj[c])
			retstr = dtmfObj[c];
		retstr2 = retstr2 + retstr;
	}

	element.value = retstr2;
}

function getCookie(name, doc)
{
	var allcookies = doc.cookie;

	if (allcookies == "") return "";

	var start = allcookies.indexOf(name + '=');
	if (start == -1) return "";

	var newstr = allcookies.substring(start, allcookies.length);

	var end = newstr.indexOf(';');
	if (end == -1) end = newstr.length;

	var cookieval = newstr.substring(0, end);
	if (!cookieval) return "";

	cookieval = unescape(cookieval);

	var bits = cookieval.split("=");

	if (!bits[1])
		return ""

	return bits[1];
}
