function e(id) {
		return document.getElementById(id)?document.getElementById(id):false;
	}

function getDivHeight(id) {
	$element_height = document.getElementById( id ).offsetHeight;
	
	return $element_height;
}

//Get cookie routine by Shelley Powers 
function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    // if cookie exists
    if (offset != -1) { 
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(";", offset);
      // set index of end of cookie value
      if (end == -1) end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
  return returnvalue;
}

//FUNCTION FOR THE MAIL FIELD CHECKER

function validate_form(obj,field_array)
{
	//alert('validating form');
	var field_len = field_array.length;
	for(var i=0;i<field_len;i++)
	{
		var field_info = field_array[i];
		var field_id = field_info[0];
		var field_title = field_info[1];
		var field_datatype = field_info[2];
		
		if(field_datatype=='email')
		{
			if(!testEmail(obj,field_id))
			{
				showEmailError(field_title);
				fieldFocus(obj, field_id);
				return false;
			}
		}else if(field_datatype=='string')
		{		
			field_minlength = field_info[3];
			if(!testString(obj,field_id,field_minlength))
			{
				showStringError(field_title, field_minlength);
				fieldFocus(obj, field_id);
				return false;
			}			
		}else if(field_datatype=='combo')
		{
			if(!testCombo(obj,field_id))
			{
				showComboError(field_title);
				fieldFocus(obj, field_id);
				return false;
			}			
		}		
	}
	return true;
}

function fieldFocus(obj, field)
{
	obj[field].focus();
	//obj[field].style.border="1px solid red";
}

function testString(obj,field,minLen)
{
	var val = obj[field].value;
	if(val.length < minLen)
	{
		return false;
	}else{
		return true;
	}
}

function testCombo(obj,field)
{
	var val = obj[field].value;
	if(val=='')
	{
		return false;
	}else{
		return true;
	}
}
function testEmail(obj,field)
{

	var val = obj[field].value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(val))
	{
		return true;
	}else{
		return false;
	}
}

function showEmailError(field)
{
	alert("Invalid email in '" + field + "' field, please fix and re-submit.");
	return false;
}
function showStringError(field,minLen)
{
	alert("Invalid entry in '" + field + "' field, must be at least "+ minLen+" characters in length, please fix and re-submit.");
	return false;
}
function showComboError(field)
{
	alert("Please select item in '" + field + "'.");
	return false;
}
function showError(field)
{
	alert("Invalid entry in '" + field + "' field, please fix and re-submit.");
	return false;
}