function countWords(form){
var y=form.value;
var words = 0;
a=y.replace(/\s/g,' ');
a=a.split(' ');
for(z=0; z<a.length; z++){
	if (a[z].length > 0){words++;}
}
return words;
} 
   
function check_ppp_form(form){
  	var doc=document.forms[0]; 
  	var isError=false; var focus=-1;
	//Must supply a name
	if(doc.fname.value=='' && doc.lname.value==''){
		alert("Please supply some sort of name, or we won't know who you are!");
		isError=true; focus=0;
	}	
	var eresult=validateEmail(doc.email.value);
	if(!eresult){
		isError=true; focus=3;
	}
	if(countWords(doc.comment) > 500){
		alert("You have WAY too much to say.  If you want to submit us something for print.  Click the logo in the upper left hand corner.  The one that tells you to submit to us.");
		isError=true; focus=7;
	}
	if (isError) {
            doc.elements.focus(focus);
            //alert(focus);
         }else{doc.submit();} 
}

function validateEmail(TB_clientID){
    var msg = "";
    var successful = true;
    //var TB = document.getElementById(TB_clientID);
    //var address = TB.value;
    var address = TB_clientID; 
    if (address == '') {
        successful = false;
        msg += "Please input email. ";
    }
    //..guard agains invalid characters
    var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
    for (i = 0; i < invalidChars.length; i++)
    {
        if (address.indexOf(invalidChars.charAt(i), 0) > -1)
        {
            msg += "Email address contains invalid characters";
            successful = false;
        }
    }

    //..validate against non ascii code (> 127)
    for (i = 0; i < address.length; i++)
    {
        if (address.charCodeAt(i) > 127) {
            msg += "Email address contains non ascii characters.";
            successful = false;
        }
    }
    var atPos = address.indexOf('@', 0);
    if (atPos == -1)
    {
        msg += "Email address must contain an @";
        successful = false;
    }
    if (atPos == 0) {
        msg += "Email address must not start with @";
        successful = false;
    }
    if (address.indexOf('@', atPos + 1) > -1)
    {
        msg += "Email address must contain only one @";
        successful = false;
    }
    if (address.indexOf('.', atPos) == -1)
    {
        msg += "Email address must contain a period in the domain name.";
        successful = false;
    } 
    if (address.indexOf('@.', 0) != -1)
    {
        msg += "Period must not immediately follow @ in email address.";
        successful = false;
    }
    if (address.indexOf('.@', 0) != -1)
    {
        msg += "Period must not immediately precede @ in email address.";
        successful = false;
    }
    if (address.indexOf('..', 0) != -1) {
        msg += "Two periods must not be adjacent in email address.";
        successful = false;
    }
    var suffix = address.substring(address.lastIndexOf('.') + 1);
    alert(msg);
    return successful;
  }


// Copyright 2006-2007 javascript-array.com

var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 
