/*********************
  JavaScript Document
 *********************/

/* ---------------------------
   Pop up window ... centered
 ----------------------------*/

function popMe(mypage,myname,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
win = window.open(mypage,myname,settings)
}


function sendMailTo(name, company, domain, subject, body) {
	   locationstring = 'mai' + 'lto:' + name + '@' + company + '.' + domain + "?subject=" + escape(subject) + "&body=" + escape(body);
	   window.location.replace(locationstring);
   }
   
   
 /* ---------------------------
   Varify Email
 ----------------------------*/
function signUpCheck(form){        
	var FirstName = new String(form.FirstName.value);
   if (FirstName==''){
   alert("You must enter your first name");
   form.FirstName.focus();
   form.FirstName.select();
   return false;
   }
   var LastName = new String(form.LastName.value);
   if (LastName==''){
   alert("You must enter your last name");
   form.LastName.focus();
   form.LastName.select();
   return false;
   }
   
	var Email = new String(form.Email.value);
	if ((Email.indexOf("@") == -1) || (Email.indexOf(".") == -1) || (Email.length < 4))
        {
        alert("You must specify a valid e-mail address.");
        form.Email.focus();
        form.Email.select();
        return false;
	}
	var Address = new String(form.Address.value);
   if (Address==''){
   alert("You must enter your address");
   form.Address.focus();
   form.Address.select();
   return false;
   }
   var City = new String(form.City.value);
   if (City==''){
   alert("You must enter your city");
   form.City.focus();
   form.City.select();
   return false;
   }
	var StateProv = new String(form.StateProv.selectedIndex);
   if (StateProv==0){
   alert("You must enter your state/prov");
   form.StateProv.focus();
   return false;
   }
   var PostalCode = new String(form.PostalCode.value);
   if (PostalCode==''){
   alert("You must enter your postal code");
   form.PostalCode.focus();
   form.PostalCode.select();
   return false;
   }
   var Country = new String(form.Country.selectedIndex);
   if (Country==0){
   alert("You must enter your country");
   form.Country.focus();
   return false;
   }
 
   
}  

function requestCheck(form){        
	var FirstName = new String(form.FirstName.value);
   if (FirstName==''){
   alert("You must enter your first name");
   form.FirstName.focus();
   form.FirstName.select();
   return false;
   }
   var LastName = new String(form.LastName.value);
   if (LastName==''){
   alert("You must enter your last name");
   form.LastName.focus();
   form.LastName.select();
   return false;
   }
   var Address1 = new String(form.Address1.value);
   if (Address1==''){
   alert("You must enter your address");
   form.Address1.focus();
   form.Address1.select();
   return false;
   }
   var City = new String(form.City.value);
   if (City==''){
   alert("You must enter your city");
   form.City.focus();
   form.City.select();
   return false;
   }
	var StateProv = new String(form.StateProv.selectedIndex);
   if (StateProv==0){
   alert("You must enter your state/prov");
   form.StateProv.focus();
   return false;
   }
   var PostalCode = new String(form.PostalCode.value);
   if (PostalCode==''){
   alert("You must enter your postal code");
   form.PostalCode.focus();
   form.PostalCode.select();
   return false;
   }
   var Country = new String(form.Country.selectedIndex);
   if (Country==0){
   alert("You must enter your country");
   form.Country.focus();
   return false;
   }
 	var Email = new String(form.Email.value);
	if ((Email.indexOf("@") == -1) || (Email.indexOf(".") == -1) || (Email.length < 4))
        {
        alert("You must specify a valid e-mail address.");
        form.Email.focus();
        form.Email.select();
        return false;
	}
   var productReqs = new String(form.productReqs.value);
   if (productReqs==''){
   alert("You must enter the products you would like more information on");
   form.productReqs.focus();
   form.productReqs.select();
   return false;
   }
}  


/* ---------------------------
   Change Product Image
 ----------------------------*/
function ChangeImage(mainImage) {
    document.getElementById('imgMain').src = mainImage;
    return null;
}


/* ---------------------------
   Smooth Scroll Back to Top
 ----------------------------*/

function backToTop() {
    var x1 = x2 = x3 = 0;
    var y1 = y2 = y3 = 0;

    if (document.documentElement) {
        x1 = document.documentElement.scrollLeft || 0;
        y1 = document.documentElement.scrollTop || 0;
    }

    if (document.body) {
        x2 = document.body.scrollLeft || 0;
        y2 = document.body.scrollTop || 0;
    }

    x3 = window.scrollX || 0;
    y3 = window.scrollY || 0;

    var x = Math.max(x1, Math.max(x2, x3));
    var y = Math.max(y1, Math.max(y2, y3));

    window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

    if (x > 0 || y > 0) {
        window.setTimeout("backToTop()", 25);
    }
}


/* --------------------------------------------
  Extra stuff to enable nav hovers in IE/Win 
 --------------------------------------------*/
sfHover = function() {
	var sfEls = document.getElementById("mainNav").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);



dnHover = function() {
	var sfEls = document.getElementsByClassName("designerInner");
	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", dnHover);









function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}



function getPageSize() {
	        
	     var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		
		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth; 
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = xScroll;		
		} else {
			pageWidth = windowWidth;
		}

		return [pageWidth,pageHeight];
	}
