function checkRequired(form,name,displayname,buffer)
{
    var el = form.elements[name];
    if ( el == null ){
       alert("element name:" + name + " not found");
    }
    else {
        var value = trim(el.value);
        if ( value.length == 0 ){
           buffer+= displayname + " is required\n";
        }
    }
    return buffer;
}

function compareLength (form, name1, name2, buffer)
{
    var el1 = form.elements[name1];
    var el2 = form.elements[name2];
    if ( el1 == null || el2 == null ){
    	alert("element name:" + name1 + "or " + name2 + " not found");
    }
    else {
    	var value1 = trim(el1.value);
    	var value2 = trim(el2.value);
    	if ( value1 != value2 )
    	{
    		buffer+="The two password fields must be equal";
    	}
    }
    return buffer;
}

/* type is lt or gt pertaining to whether we check for less than or greater than */
function checkLength(form,name,displayname,flength,ctype,buffer)
{
    var el = form.elements[name];
    if ( el == null ){
	alert("element name:" + name + " not found");
    }
    else {
     	var value = trim(el.value);
	if (ctype == "gt")
	{
		if ( value.length > flength )
		{
			buffer+= displayname + " must not exceed " + flength + "characters long\n";
		}
	} 
	else {
		if ( value.length < flength )
		{
			buffer+= displayname + " must be at least " + flength + "characters long\n";
		}
	}
    }
    return buffer;
}

function checkSelected(form,name,displayname,buffer)
{
    var el = form.elements[name];
    if ( el == null ){
       alert("element name:" + name + " not found");
    }
    else {
  		var index = el.selectedIndex;
		if ( index == -1 ){
           buffer+= "You must select a value for " + displayname + "\n";
    	}
    }
    return buffer;
}

function trim(val)
{
   return val.replace(/^\s+|\s+$/, '');
}





// this function refreshes the current page
function refresh()
{
    window.location.reload( false );
}

// this function gets the cookie, if it exists
function Get_Cookie( name ) {
	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}



/*
only the first 2 parameters are required, the cookie name, the cookie
value. Cookie time is in milliseconds, so the below expires will make the 
number you pass in the Set_Cookie function call the number of days the cookie
lasts, if you want it to be hours or minutes, just get rid of 24 and 60.

Generally you don't need to worry about domain, path or secure for most applications
so unless you need that, leave those parameters blank in the function call.
*/
function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	// if the expires variable is set, make the correct expires time, the
	// current script below will set it for x number of days, to make it
	// for hours, delete * 24, for minutes, delete * 60 * 24
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	//alert( 'today ' + today.toGMTString() );// this is for testing purpose only
	var expires_date = new Date( today.getTime() + (expires) );
	//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
	refresh();
}


// this deletes the cookie when called
function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
	refresh();
}

