function ClearField(name, str, form, doc){
	if (doc.forms[form].elements[name].value == str){
	doc.forms[form].elements[name].value = '';
	} else if (str == ''){
	doc.forms[form].elements[name].value = '';
	}
	return true;
}


function isNumOrChar(InString) {
	if(InString.length!=1){
		return (false);
	}
        InString=InString.toLowerCase();
		RefString="1234567890abcdefghijklmnopqrstuvwxyz.'-";
        
		if (RefString.indexOf (InString, 0)==-1){
			return (false);
		}

	return (true);
}

function checkIsNumorChar(theField) {
	theField.value = theField.value.replace(/ /g,"");
	fldValue = theField.value;  
          
	for (var i = 0; i <fldValue.length;  i++) 
	{
		var ch = fldValue.substring(i,i+1);
        	var ret = isNumOrChar(ch);
		if (ret == 0)
		{
			alert("You must enter a valid value in this field.");
            		theField.focus();
			//theField.select();
			return;
        	}
	}
}	

function isNum(InString) {
	if(InString.length!=1){
		return (false);
	}
        InString=InString.toLowerCase();
		RefString="1234567890-()";
        
		if (RefString.indexOf (InString, 0)==-1){
			return (false);
		}

	return (true);
}

function checkPhone(theField) {
	theField.value = theField.value.replace(/ /g,"-");
	fldValue = theField.value;  
          
	for (var i = 0; i <fldValue.length;  i++) {
		var ch = fldValue.substring(i,i+1);
        var ret = isNum(ch);
		if (ret == 0){
			alert("You must enter a valid value in this field.");
            theField.focus();
			//theField.blur();
			theField.select();
			return;
        }
	}
}		
	
	function isEmail(str) {
 	     var supported = 0;
		  if (window.RegExp) {
		    var tempStr = "a";
		    var tempReg = new RegExp(tempStr);
		    if (tempReg.test(tempStr)) supported = 1;
		  }
		  if (!supported) 
		    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		  return (!r1.test(str) && r2.test(str)); 
	}
	


function checkEmail(field){
		if (!isEmail(field.value)) {
			alert("Please enter a valid email address.");
			field.focus();
			//field.blur();
			field.select();
			return;
		}
	}	
	
	var submitcount=0;
 // check field on required and type
	function submitForm() {
		var f = document.Subscribe;
		if (f.i_pnmgiven.value == "") {
			alert("Please enter your first name.");
			f.i_pnmgiven.focus();
			return ;
		}
		else if (f.i_pnmfamily.value == "") {
			alert("Please enter your last name.");
			f.i_pnmfamily.focus();
			return ;
		}
		else if (!isEmail(f.i_emailgeneric.value)) {
			alert("Please enter a valid email address.");
			f.i_emailgeneric.focus();
			return;
		}
		else if (f.i_hmpostcde.value == "") {
			alert("Please enter your zipcode.");
			f.i_hmpostcde.focus();
			return;
		}		
		else {
		// submit the form
		if (submitcount < 1) {
      		submitcount++;
      	} else {
      		alert("This form has already been submitted.  Thanks!");
      		return;
      	}
 		f.submit();
  	}
 }
  
function placeFocus() {
if (document.forms.length > 0) {
var field = document.forms[0];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
document.forms[0].reset(field.elements[i]);
document.forms[0].elements[i].blur();
document.forms[0].elements[i].focus();
document.forms[0].elements[i].select();
break;
         }
      }
   }
}