// the following browser sniff code is excerpted from ...

// Ultimate client-side JavaScript client sniff. 
// (C) Netscape Communications 1999.  Permission granted to reuse and distribute. 
// Revised 17 May 99 to add is_nav5up and is_ie5up (see below). 
// Revised May 2002 to support Netscape 6 by Ted O'Brien ted@data-maps.com
// convert all characters to lowercase to simplify testing
	if (document.getElementById) {
	ns6 = true;
	} else {
	ns6 = false;
	}
    var agt=navigator.userAgent.toLowerCase()

    // *** BROWSER VERSION ***
    var is_major = parseInt(navigator.appVersion); 
    var is_minor = parseFloat(navigator.appVersion); 

    var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) 
                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) 
                && (agt.indexOf('webtv')==-1)); 
    var is_nav2 = (is_nav && (is_major == 2)); 
    var is_nav4up = (is_nav && (is_major >= 4 && is_major < 5)); 
    var is_nav6up = (is_nav && ns6);
    var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) || 
                          (agt.indexOf("; nav") != -1)) ); 
    var is_ie   = (agt.indexOf("msie") != -1); 
    var is_ie4  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")==-1) ); 
    var is_ie4up  = (is_ie  && (is_major >= 4)); 
    
    // *** PLATFORM ***
    var is_mac    = (agt.indexOf("mac")!=-1);
    var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );

//set global variables
var topNav = new Array("nav_home_manton","nav_products","nav_crafts","nav_about_cork","nav_about_manton","nav_contact");
var leftNav = new Array("lnav_products","lnav_custom","lnav_handles","lnav_sheetsrolls","lnav_special","lnav_stoppers","lnav_underlayment");
var leftNavCrafts = new Array("lnav_crafts_dog","lnav_crafts_train","lnav_crafts_totem");
var prodDropNav = new Array("menu_prod_products","menu_prod_custom","menu_prod_handles","menu_prod_sheetsrolls","menu_prod_special","menu_prod_stoppers","menu_prod_underlayment");
var craftsDropNav = new Array("menu_crafts_train","menu_crafts_dog","menu_crafts_totem");
	var graphicLinks=new Array("home_title_rolls","home_title_cork");
	var popupClose=new Array("popup_close","popup_close2");
var this_page="";

var theImages =new Array();
var layoutWidth=750;
var layoutDisplacement=0;
var yDisplacement=134;


// intialize rollover images
//
function updateDisplacement(){
	if(is_ie){
		var bWidth=document.body.clientWidth
		}else{
		var bWidth=window.innerWidth
		}
	if(bWidth>layoutWidth){
		layoutDisplacement=parseInt((bWidth-layoutWidth)/2);
		}else{
			layoutDisplacement=0;
	}
	return layoutDisplacement;
}
//initialize pages with menu
function initHome(){
	loadImages(topNav,'images/nav/');
	if(!is_mac){
	loadImages(prodDropNav,'images/dropdown/');
	loadImages(craftsDropNav,'images/dropdown/');
	initMenu('products',87);
	initMenu('crafts',191);
	window.onresize=initHome;
	}
	}

// show/hide floating menus

function showMenu(menu){
 if(!is_mac){
	document.getElementById(menu).style.display='inline';//show the menu
	if(document.getElementById('nav_'+menu)){changeImage('nav_'+menu,'_over');}	//if menu is related to nav item, highlight nav item
	}
}
	
function hideMenu(menu){
 if(!is_mac){
	document.getElementById(menu).style.display='none';//hide menu
	if(document.getElementById('nav_'+menu)){
		if(menu!=this_page){
			changeImage('nav_'+menu,'');
			}
		}//if menu is related to nav item, fade nav item
		}
	}	

//initialize product pages
function init(){
	loadImages(topNav,"images/nav/");
	loadImages(leftNav,"images/lnav/");
 if(!is_mac){
	loadImages(prodDropNav,'images/dropdown/');
	loadImages(craftsDropNav,'images/dropdown/');
	initMenu('products',0);
	initMenu('crafts',104);
	window.onresize=initHome;
	}
	}

function initMenu(menu,xPos){
	document.getElementById(menu).style.left=xPos+updateDisplacement();
	}


// preload images for subnavigation
//

function loadImages(navArray,theImagesPath){
	// ignore browsers without image array
	if (document.images) { 
		// create on and off state objects in theImages for each member of thePages
		for(i = 0; i < navArray.length; i++) {
			theImages[navArray[i]] = new Image();
			theImages[navArray[i]].src = theImagesPath + navArray[i] + ".gif";
			theImages[navArray[i]+"_over"] = new Image();
			theImages[navArray[i]+"_over"].src = theImagesPath + navArray[i] + "_over.gif";
		}
	}
}

// image swapping script for setting titles
//

function changeImage(imgName, state) {
	// ignore browsers without image array
	if (document.images && theImages[imgName+state]) {
				document.images[imgName].src = theImages[imgName + state].src;
	} 
}

function CSFixFct() {
	var d = document; var w = window;
	if (d.cs.csFix.w != w.innerWidth || d.cs.csFix.h != w.innerHeight) {
		d.location = d.location; }
}

function CSNSFix() { 
	var d = document; var w = window;
//	if ((navigator.appName == 'Netscape') && (navigator.appVersion.substring(2,3) < 7)) {
	if ((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) >=4)) {
		if (typeof d.cs == 'undefined') { 
			d.cs = new Object;
			d.cs.csFix = new Object; 
		} else if (CSIsFrame (w) == true) CSFixFct();
		d.cs.csFix.w = w.innerWidth;
		d.cs.csFix.h = w.innerHeight; 
		window.onresize = CSFixFct;
	  }
}

function CSIsFrame (window) {
	var rootWindow = window.parent;
	if (rootWindow == 'undefined') return false;
	for (i = 0; i < rootWindow.frames.length; i++)
		if (window == rootWindow.frames[i]) return true;
	return false;
}
		
// global window open script or case studies, pressreleases, and the directions popup window
//

function newWindow(url,name) {
		window.open( url,name,"width=600px,height=600px,menubar=no,status=no,toolbar=no,scrollbars=yes,resizable=yes");
		}
	
//validation

function valForm(theForm){

   //check if the e-mail is valid
   if (!validEmail(theForm.Email.value)) {
   alert("Please enter a valid Email address.")
   theForm.Email.focus();
   return(false);
   }
   
	if (theForm.csz.value == ""){
	alert("Please enter your City, State, Zip.");
	theForm.csz.focus();
	return(false);
	}
return(true);
}


//ensure e-mail is valid
function validEmail(email) {
        invalidChars = "\|/:,;"
        if (email == "") {
        return(false);
        }
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i)
		if (email.indexOf(badChar,0) != -1) {
			return(false);
		}
	}
	atPos = email.indexOf("@",1)
	if (atPos == -1) {
		return(false);
	}
	if (email.indexOf("@",atPos+1) != -1) {
		return(false);
	}
	periodPos = email.indexOf(".",atPos)
	if (periodPos == -1) {
		return(false);
	}
	if (periodPos+3 > email.length)	{
		return(false);
	}
	return(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 rollover(img_name, img_src) {
	basehref = '../images/dropdown/';
	document[img_name].src = basehref + img_name + img_src + '.gif';
	}


function changeImage(imgName, state) {
	if (document.images && theImages[imgName+state]) {
		document.images[imgName].src = theImages[imgName + state].src;
		} 
	}

