// JavaScript Document
<!--
function validateForm(frm){

	   if(!isRequired(frm.fname,"FIRST NAME is required."))
	 		return false;

       if(!isRequired(frm.lname,"LAST NAME is required."))
	 		return false;

       //if(!isRequired(frm.company,"COMPANY NAME is required."))
	 //		return false;
		
		if(!isRequired(frm.phone,"PHONE NUMBER is required."))
	 		return false;
			
		if(frm.phone.value != '' && !isNumeric(frm.phone,"NUMERIC format required."))
	 		return false;

		if(!isRequired(frm.email,"EMAIL is required."))
	 		return false;

		if(frm.email.value != '' && !isEmail(frm.email,"EMAIL format incorrect."))
	 		return false;
			
		if(!isRequired(frm.business,"TYPE OF BUSINESS is required."))
	 		return false;
		
		if(!isReqSel(frm.service,"TYPE OF SERVICE is required."))
	 		return false;
	}

// checks whether string is numeric or not.
function isNumeric(obj,s){
	if(isEmpty(obj.value) | isNaN(obj.value)){
			selfocobj(obj, s)
			return false;
		}
	return true;
}

// checks whether string is Date or not.
function isDate(obj,s){
	if(isEmpty(obj.value)){
		selfocobj(obj, s)
		return false;
	}
	var re_date = /^(\d+)\-(\d+)\-(\d+)$/;
	if (!re_date.exec(obj.value)){
		selfocobj(obj, s)
		return false;
	}
	return true;
}
// checks whether string is Date or not.
function isDateTime(obj,s){
	if(isEmpty(obj.value)){
		selfocobj(obj, s)
		return false;
	}
	var re_date = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/;
	if (!re_date.exec(obj.value)){
		selfocobj(obj, s)
		return false;
	}
	return true;
}

// checks whether string is empty or not
function isRequired(obj, s){
	if(isEmpty(obj.value)){
		selfocobj(obj, s)
		return false;
	}
	return true;
}

// checks whether string is empty or not
function isRequiredFT(obj, s){
	if(isEmpty(obj.value)){
		alert(s);
		return false;
	}
	return true;
}

// checks whether select string is empty or not
function isReqSel(obj, s){
	if(isEmpty(obj[obj.selectedIndex].value)){
		alert(s);
        obj.focus();
		return false;
	}
	return true;
}

// checks whether multi-select string is empty or not
function isReqSelMulti(obj, s){
    valsel=0;
	for (x = 0; x < obj.options.length; x++) {
		if (obj.options[x].selected == true) {
          valsel=1;
		}
	}
	if(valsel == 0){
		alert(s);
        obj.focus();
		return false;
	}
	return true;
}


// checks whether text area exceeds max length
function isTooLong(obj, n, s){
	if(obj.value.length > n){
		alert(s);
		return false;
	}
	return true;
}

// checks whether text area exceeds max length
function isTooLongFormatted(obj, n, s){
contents = obj.value.replace(/<(.+?)>/g, '');//Don't count HTML tags 
contents = contents.replace(/&nbsp;/g, '');//Count nbsp; as one keystroke
contents = contents.replace(/\n/g, '');
contents = contents.replace(/\r/g, '');
contents = (contents.replace(/^\W+/,'')).replace(/\W+$/,'');

//alert(contents.length);
//alert(contents);
//alert(contents.charAt(119));
//alert(contents.charAt(120));
//alert(contents.charAt(121));
	if(contents.length-1 > n){
		alert(s);
		return false;
	}
	return true;
}

// checks whether item is checked
function isReqChecked(obj, s){
   var bolSelected = false;
    for (i=0;i<obj.length;i++){
          if(obj[i].checked){
                    bolSelected = true;
                    break;
          }
     }     
	if(!bolSelected){
		alert(s);
        obj[0].focus();
		return false;
	}
	return true;
}


//Select and focus on object.
function selfocobj(obj, str){
		alert(str);
		obj.select();
		obj.focus();
}


// Check whether string s is empty.
function isEmpty(s)
{  
	return ((s == null) || (s.length == 0)||s.charAt(0) == ' ')
}

// isEmail (STRING s [, BOOLEAN emptyOK])
function isEmail (obj, s) {   
	var reEmail = /^.+\@.+\..+$/
	if (isEmpty(obj.value) || !reEmail.test(obj.value)) {
	    selfocobj(obj, s)
		return false;
	  }
	return true;
}

// isImage (STRING s [, BOOLEAN emptyOK])
function isImage (obj, s) {   
	var reImage = /^\S+\.(gif|jpg)$/
	if (!isEmpty(obj.value) && !reImage.test(obj.value)) {
	    selfocobj(obj, s)
		return false;
	  }
	return true;
}


function checkMaxLength (textarea, evt, maxLength) {
  if (textarea.selected && evt.shiftKey) 
    // ignore shift click for select
    return true;
  var allowKey = false;
  if (textarea.selected && textarea.selectedLength > 0)
    allowKey = true;
  else {
    var keyCode = document.layers ? evt.which : evt.keyCode;
    if (keyCode < 47 && keyCode != 13)
      allowKey = true;
    else           
      allowKey = textarea.value.length < maxLength;
  }
  textarea.selected = false;
  return allowKey;
}

function updatecnt (textarea, evt, tracker, maxLength) {
  var keyCode = document.layers ? evt.which : evt.keyCode;
  tracker.value=textarea.value.length;
  if (tracker.value > maxLength)
  {
    if (keyCode < 47 && keyCode != 13)
{}
else {
  alert("Maximum character limit exceeded.  You will not be able to submit the form until the problem is corrected.");
}
  }
}

function storeSelection (field) {
  if (document.all) {
    field.selected = true;
    field.selectedLength = 
      field.createTextRange ?
        document.selection.createRange().text.length : 1;
  }
}


function unselect (field) {
	for (x = 0; x < field.options.length; x++) {
		if (field.options[x].value == "") {
			field.options[x].selected = false;
		}
	}
}

