function imageSwap(id, newsrc) 
{
	document.images[id].src=newsrc;
}

function imageSwapAlt(id, newsrc, newalt) 
{
	document.images[id].src=newsrc;
	document.images[id].alt=newalt;
	var desc=document.getElementById("picDesc");
	if(desc){desc.innerHTML = newalt;}
}

sfHover = function() {

	var sfEls = document.getElementById("hnav").getElementsByTagName("li");
	if (!sfEls) {
	    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 submenuHighlight(id)
{
    var menuitem = document.getElementById(id);
    if (menuitem) {
        menuitem.className = "submenuon";   
    }   
}

function displayListExpander(id)
{
    var img = document.getElementById(id + "_img");
    var ul = document.getElementById(id + "_ul");
    var ulList = document.getElementById("productlist");
    
    if(img) {
        img.className="expand";
        img.src="images/plus_sign.gif"; 
    }
    if(ul) {
        //ul.className="hide";
        ul.style.display="none";
    }
    
    if(ulList) {
        if(ulList.style.display != "none") 
            ulList.style.display = "none";
    }
}

function toggleList(id)
{
    var img = document.getElementById(id + "_img");
    var ul = document.getElementById(id + "_ul");
    
    if(img && ul) {
        if(img.className=="expand") {
            img.className="contract";
            img.src="images/minus_sign.gif";
            //ul.className="";
            ul.style.display="block";
        }
        else {
            img.className="expand";
            img.src="images/plus_sign.gif";   
            //ul.className="hide";     
            ul.style.display="none";
        }
    }

}

function validateContactInfo()
{
	var valid=true;
	var msg="Please correct the following:\r\n\r\n";
	var obj;
	var zipRegExp=/\d{5}(-d{4})?/;
	var phoneRegExp=/\d{3}-\d{3}-\d{4}/;
	var emailRegExp=/\S+@\S+\.\S{2,4}/;
	
	obj=document.getElementById("txtname");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle"
			msg=msg+"Please input your name.\r\n"
			valid=false;
		}
		else obj.className="validstyle";
	}

	obj=document.getElementById("txtaddress1");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle"
			msg=msg+"Please input your address.\r\n"
			valid=false;
		}
		else obj.className="validstyle";
	}
		

	obj=document.getElementById("txtcity");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle"
			msg=msg+"Please input your city.\r\n"
			valid=false;
		}
		else obj.className="validstyle";
	}

	obj=document.getElementById("ddlstate");
	if(obj)
	{	
		var divstate=document.getElementById("divstate");
		if(!obj.options[obj.selectedIndex].value)
		{
			divstate.className="errorstyle"
			msg=msg+"Please select your state.\r\n"
			valid=false;
		}
		else divstate.className="validstyle";
	}

	obj=document.getElementById("txtzip");
	if(obj)
	{	
		if(!zipRegExp.exec(obj.value))
		{
			obj.className="errorstyle"
			msg=msg+"Please input your zip code in the\r\nformat (xxxxx) or (xxxxx-xxxx).\r\n"
			valid=false;
		}
		else obj.className="validstyle";
	}

	obj=document.getElementById("txtphone");
	if(obj)
	{	
		if(!phoneRegExp.exec(obj.value))
		{
			obj.className="errorstyle"
			msg=msg+"Please input your phone number in the\r\nformat (xxx-xxx-xxxx).\r\n"
			valid=false;
		}
		else obj.className="validstyle";
	}

	obj=document.getElementById("txtemail");
	if(obj)
	{	
		if(!emailRegExp.exec(obj.value))
		{
			obj.className="errorstyle"
			msg=msg+"Please input your e-mail address.\r\n"
			valid=false;
		}
		else obj.className="validstyle";
	}

	obj=document.getElementById("txtmessage");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle"
			msg=msg+"Please input your questions or comments.\r\n"
			valid=false;
		}
		else obj.className="validstyle";
	}
	if(!valid)
	    alert(msg);
	return valid;
}

function validateContactInfo2()
//displays error messages inline instead of in an alert box
{
	var valid=true;
	var obj;
	var msg="<span class='errorhdr'>Please correct the following:</span><br/><br/>";
	var errormessage=document.getElementById("errormessage");
	var zipRegExp=/(^\d{5}$)|(^\d{5}\-\d{4}$)/;
	var phoneRegExp=/\d{3}-\d{3}-\d{4}/;
	var emailRegExp=/\S+@\S+\.\S{2,4}/;
	
	obj=document.getElementById("txtname");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle"
            msg=msg+="Please input your name<br/>";		
			valid=false;
		}
		else {
		    obj.className="validstyle";
		}
	}

	obj=document.getElementById("txtaddress1");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle"
            msg=msg+"Please input your address<br/>";	
			valid=false;
		}
		else {
		    obj.className="validstyle";
		}
	}
		

	obj=document.getElementById("txtcity");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle"
            msg=msg+="Please input your city<br/>";
			valid=false;
		}
		else {
		    obj.className="validstyle";  
		}
	}

	obj=document.getElementById("ddlstate");
	if(obj)
	{	
		var divstate=document.getElementById("divstate");
		if(!obj.options[obj.selectedIndex].value)
		{
			divstate.className="errorstyle"
            msg=msg+="Please select your state<br/>";
			valid=false;
		}
		else {
		    divstate.className="validstyle";
		}
	}

	obj=document.getElementById("txtzip");
	if(obj)
	{	
		if(!zipRegExp.exec(obj.value))
		{
			obj.className="errorstyle"
            msg=msg+="Please input your zip code in the\r\nformat (xxxxx) or (xxxxx-xxxx)<br/>";
			valid=false;
		}
		else {
		    obj.className="validstyle";
		}
	}

	obj=document.getElementById("txtphone");
	if(obj)
	{	
		if(!phoneRegExp.exec(obj.value))
		{
			obj.className="errorstyle"
            msg=msg+="Please input your phone number in the\r\nformat (xxx-xxx-xxxx)<br/>";
			valid=false;
		}
		else {
		    obj.className="validstyle";
		}
	}

	obj=document.getElementById("txtemail");
	if(obj)
	{	
		if(!emailRegExp.exec(obj.value))
		{
			obj.className="errorstyle"
            msg=msg+="Please input your e-mail address in the format (name@domain.com)<br/>";
			valid=false;
		}
		else {
		    obj.className="validstyle";
		}
	}

	obj=document.getElementById("txtmessage");
	if(obj)
	{	
		if(!obj.value)
		{
			obj.className="errorstyle";
            msg=msg+="Please input your questions and/or comments<br/>";
			valid=false;
		}
		else {
		    obj.className="validstyle";      
		}
    }
    
    if(!valid){
        if(errormessage) {
            errormessage.className="errorMsg";
            errormessage.innerHTML=msg;
        }   
    }
    else {
        if(errormessage) {
            errormessage.className="validMsg";
        }
    }
	return valid;
}

function clearForm() {
	var obj;
	var errormessage=document.getElementById("errormessage");
    if(errormessage) {
        errormessage.className="validMsg";
    }	
	
	obj=document.getElementById("txtname");
	if(obj) {	
		obj.value = "";
		obj.className="validstyle";  
	}

	obj=document.getElementById("txtbname");
	if(obj) {	
		obj.value = "";
	}
	
	obj=document.getElementById("txtaddress1");
	if(obj) {	
		obj.value = "";
		obj.className="validstyle";  
	}
	
	obj=document.getElementById("txtaddress2");
	if(obj) {	
		obj.value = "";
	}
		
	obj=document.getElementById("txtcity");
	if(obj) {	
		obj.value = "";
		obj.className="validstyle";  
	}

	obj=document.getElementById("ddlstate");
	if(obj) {	
		obj.selectedIndex = 0;
		var divstate=document.getElementById("divstate");
		if(divstate)
		    divstate.className="validstyle";  
	}

	obj=document.getElementById("txtzip");
	if(obj) {	
		obj.value = "";
		obj.className="validstyle";  
	}

	obj=document.getElementById("txtphone");
	if(obj) {	
		obj.value = "";
		obj.className="validstyle";  
	}

	obj=document.getElementById("txtemail");
	if(obj) {	
		obj.value = "";
		obj.className="validstyle";  
	}

	obj=document.getElementById("txtmessage");
	if(obj) {	
		obj.value = "";
		obj.className="validstyle";  
	}
}

