function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

sfHover = function() { 
  var sfEls = document.getElementById("nav").getElementsByTagName("LI");
  for (var i=0; i<sfEls.length; i++) {
	  sfEls[i].onmouseover=function() {
	    this.className+=" sfhover";
    }
    sfEls[i].onmouseout=function() {
    this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
    }
  }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

	function checkForm(theForm) {
		var why = "";
		why += isEmpty(theForm.name.value);
		//why += (isEmpty(theForm.name.value)) ? "empty form name" : "";
		why += checkEmail(theForm.email.value);
		why += checkPhone(theForm.phone.value);
		if (why != "") {
			alert(why);
			return false;
		}
		return true;
	}
	// check for either an email address or phone number

function checkBoth (strng, strng2) {
var error="";
    if (strng == "" && strng2 == "") {
       error = "Please enter either a phone number or an email address.\n";
    }
    else if (strng != "") {
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(strng))) { 
	    error = "Please enter a valid email address.\n";
	}
	else {
	//test email for illegal characters
	       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
        	if (strng.match(illegalChars)) {
	          error = "The email address contains illegal characters.\n";
	       }
	}
    }
    else if (strng2 != "") {
	var stripped = strng2.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) {
	    error = "The phone number contains illegal characters.";
	}
	if (stripped.length < 10) {
		error = "The phone number is the wrong length. Make sure you included an area code.\n";
	}
    }
return error;    
}

// email

function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "You didn't enter an email address.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}


// phone number - strip out delimiters and check for 10 digits

function checkPhone (strng) {
var error = "";
if (strng == "") {
   error = "You didn't enter a phone number.\n";
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "The phone number contains illegal characters.";
  
    }
return error;
}


// password - between 6-8 chars, uppercase, lowercase, and numeral

function checkPassword (strng) {
var error = "";
if (strng == "") {
   error = "You didn't enter a password.\n";
}

    var illegalChars = /[\W_]/; // allow only letters and numbers
    
    if ((strng.length < 6) || (strng.length > 8)) {
       error = "The password is the wrong length.\n";
    }
    else if (illegalChars.test(strng)) {
      error = "The password contains illegal characters.\n";
    } 
    else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
       error = "The password must contain at least one uppercase letter, one lowercase letter, and one numeral.\n";
    }  
return error;    
}    


// username - 4-10 chars, uc, lc, and underscore only.

function checkUsername (strng) {
var error = "";
if (strng == "") {
   error = "You didn't enter a username.\n";
}


    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if ((strng.length < 4) || (strng.length > 10)) {
       error = "The username is the wrong length.\n";
    }
    else if (illegalChars.test(strng)) {
    error = "The username contains illegal characters.\n";
    } 
return error;
}       


// non-empty textbox

function isEmpty(strng) {
var error = "";
  if (strng.length == 0) {
     error = "Please enter your name\n"
  }
return error;	  
}

// was textbox altered

function isDifferent(strng) {
var error = ""; 
  if (strng != "Can\'t touch this!") {
     error = "You altered the inviolate text area.\n";
  }
return error;
}

// exactly one radio button is chosen

function checkRadio(checkvalue) {
var error = "";
   if (!(checkvalue)) {
       error = "Please check a radio button.\n";
    }
return error;
}

// valid selector from dropdown list

function checkDropdown(choice) {
var error = "";
    if (choice == 0) {
    error = "You didn't choose an option from the drop-down list.\n";
    }    
return error;
}    


function preloadImages() { 
	cssjsmenu('servicesDropDown')
	if( document.getElementById('navbar') ) {
		var kill = document.getElementById('hoverJS');
		kill.disabled = true;
	}

	if(document.images) {
		img1 = new Image();
		img1.src = "images/nav/nav_home_over.gif";
	
		//img2 = new Image();
		//img2.src = "images/nav/nav_services_over.gif";
	
		img3 = new Image();
		img3.src = "images/nav/nav_quote_over.gif";
	
		img4 = new Image();
		img4.src = "images/nav/nav_contact_over.gif";
	}
}




function closeEditorWarning() {
    // Bail if one of the submits was clicked
    if (!show_warning) return

    return navigation_warning
}
window.onbeforeunload = closeEditorWarning

if (document.referrer.match('google')) {
    show_warning = true;
}

function addListener(element, type, expression, bubbling) {  
    bubbling = bubbling || false;  
  
    if(window.addEventListener)    { // Standard  
        element.addEventListener(type, expression, bubbling);  
        return true;  
    } else if(window.attachEvent) { // IE  
        element.attachEvent('on' + type, expression);  
        return true;  
    } else return false;  
}  
  
//This is what I want to do whenever someone clicks on the page  
function handleClick(evt) {  
    //Get the clicket element  
    var tg = (window.event) ? evt.srcElement : evt.target;  
    //If it is an A element  
    if(tg.nodeName == 'A'){  
        show_warning = false;
        //And it is not an internal link  
    }  
}  
  
//Add the click listener to the document  
addListener(document, 'click', handleClick);  






