
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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_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 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_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();
}
addEvent(window,"load",convertTrees);
function addEvent(o,e,f){if(o.addEventListener){o.addEventListener(e,f,true);return true;}else if(o.attachEvent){return o.attachEvent("on"+e,f);}else{return false;}}
function setDefault(name,val){if(typeof(window[name])=="undefined" || window[name]==null){window[name]=val;}}
function expandTree(treeId){var ul = document.getElementById(treeId);if(ul == null){return false;}expandCollapseList(ul,nodeOpenClass);}
function collapseTree(treeId){var ul = document.getElementById(treeId);if(ul == null){return false;}expandCollapseList(ul,nodeClosedClass);}
function expandToItem(treeId,itemId){var ul = document.getElementById(treeId);if(ul == null){return false;}var ret = expandCollapseList(ul,nodeOpenClass,itemId);if(ret){var o = document.getElementById(itemId);if(o.scrollIntoView){o.scrollIntoView(false);}}}
function expandCollapseList(ul,cName,itemId){if(!ul.childNodes || ul.childNodes.length==0){return false;}for(var itemi=0;itemi<ul.childNodes.length;itemi++){var item = ul.childNodes[itemi];if(itemId!=null && item.id==itemId){return true;}if(item.nodeName == "LI"){var subLists = false;for(var sitemi=0;sitemi<item.childNodes.length;sitemi++){var sitem = item.childNodes[sitemi];if(sitem.nodeName=="UL"){subLists = true;var ret = expandCollapseList(sitem,cName,itemId);if(itemId!=null && ret){item.className=cName;return true;}}}if(subLists && itemId==null){item.className = cName;}}}}
function convertTrees(){setDefault("treeClass","mktree");setDefault("nodeClosedClass","liClosed");setDefault("nodeOpenClass","liOpen");setDefault("nodeBulletClass","liBullet");setDefault("nodeLinkClass","bullet");setDefault("preProcessTrees",true);if(preProcessTrees){if(!document.createElement){return;}uls = document.getElementsByTagName("ul");for(var uli=0;uli<uls.length;uli++){var ul=uls[uli];if(ul.nodeName=="UL" && ul.className==treeClass){processList(ul);}}}}
function processList(ul){if(!ul.childNodes || ul.childNodes.length==0){return;}for(var itemi=0;itemi<ul.childNodes.length;itemi++){var item = ul.childNodes[itemi];if(item.nodeName == "LI"){var subLists = false;for(var sitemi=0;sitemi<item.childNodes.length;sitemi++){var sitem = item.childNodes[sitemi];if(sitem.nodeName=="UL"){subLists = true;processList(sitem);}}var s= document.createElement("SPAN");var t= '\u00A0';s.className = nodeLinkClass;if(subLists){if(item.className==null || item.className==""){item.className = nodeClosedClass;}if(item.firstChild.nodeName=="#text"){t = t+item.firstChild.nodeValue;item.removeChild(item.firstChild);}s.onclick = function(){this.parentNode.className =(this.parentNode.className==nodeOpenClass) ? nodeClosedClass : nodeOpenClass;return false;}}else{item.className = nodeBulletClass;s.onclick = function(){return false;}}s.appendChild(document.createTextNode(t));item.insertBefore(s,item.firstChild);}}}



MM_reloadPage(true);


function doValidation(){

 var all_selects   = document.getElementsByTagName('select');
 for (var i = 0, max = all_selects.length; i < max; i++) {
  var MissingOption = false;
  var sel = all_selects[i]; // current element
  var CurrentOption = all_selects[i];
  var SelectedOption = CurrentOption.selectedIndex
  if (CurrentOption.options[SelectedOption].text == "Choose Shipping"){
   MissingOption = true;
   break;
  }
 }
 if (MissingOption == true){
  alert("Please select your shipping option.");
  return false;
 }else{
  return true;
 }
}


function doDefaultPrice(){
	var selectPrice = document.getElementById('shipping').value;
	document.getElementById('selshipcost').value=selectPrice;
	var selectPos = document.getElementById('shipping').selectedIndex;
	
		document.getElementById('fedexShipSelectValue').value=selectPos;
		document.orderform.fedexShipSelectValue.value=selectPos;
}



/*
/////////////////////////////////////////// added 2007-06-05 /////////////////////////////////////////////////
*/


// this function see if there are any of the choose one options and if so gives an alert

function doSelectValidation(){
	//renamed from doValidation to doSelectValidation so as not to screw up the fedex stuff
 var all_selects   = document.getElementsByTagName('select');
 for (var i = 0, max = all_selects.length; i < max; i++) {
  var MissingOption = false;
  var numSelects = max-1; //not critical to function - only used for testing
  var sel = all_selects[i]; // current element
  var CurrentOption = all_selects[i];
  var SelectedOption = CurrentOption.selectedIndex
  if (CurrentOption.options[SelectedOption].text == "Choose One" | CurrentOption.options[SelectedOption].text == "Choose one"){
   MissingOption = true;
   break;
  }
 }
 if (MissingOption == true){
  alert("Please select your options.");
//  alert("Please select your options. There are "+numSelects+" to select.");  //testing alert
  return false;
 }else{
  return true;
 }
}


// this function updates the price of a product dynamically.

function UpdatePrice(){	
	var all_selects   = document.getElementsByTagName('select');

	var url = 'calc.asp?';
	var pars = 'price='+$F('originalPrice');
		pars += '&itemID='+$F('itemID');
		pars += '&options=';
		for (var i = 0, max = all_selects.length; i < max; i++) {
		  var CurrentOption = all_selects[i];
		  var SelectedOption = CurrentOption.value
		pars += SelectedOption+'|';
		 }
	var target = 'totalCost';
	var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars}); 
	var myHighlight = new Effect.Highlight('totalCost', {startcolor:'#FFFFE0'});
	
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

var Catalog = {
	SendCatalog: function(){
		var url = '/assets/javascripts/ajaxhosts/send_catalog/?';
		var pars = $('OrderCatalogForm').serialize();
		var target = 'ajaxmessages';
		var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 10){
				new Insertion.Top('ajaxmessages',transport.responseText);
			}else{
				window.location='/default.asp?pg=ordercatalogdone';
			};
			}
		});
	}
}