var NS4 =(document.layers)?true:false;
var IE4 =(document.all)?true:false;
var NS6 =(document.getElementById)?true:false;

var oBag00 = new OptionCollection(); //bagtype
var oBag01 = new OptionCollection(); //bagsize -> bagtype
var oBag02 = new OptionCollection(); //baglip -> bagsize
var oBag03 = new OptionCollection(); //bagcolor -> bagsize
var oBag04 = new OptionCollection(); //bagcarton -> bagsize
oBag01.Add("xx1","[Select a bag size]","a1");
oBag01.Add("xx2","[Select a bag size]","b1");
oBag01.Add("xx3","[Select a bag size]","c1");
oBag01.Add("xx4","[Select a bag size]","d1");
oBag01.Add("xx5","[Select a bag size]","p1");
oBag01.Add("r1","[                 ]","reset");
oBag02.Add("r2","[ ]","reset");
oBag03.Add("r3","[                 ]","reset");
oBag04.Add("r4","[                 ]","reset");

//decobbbags
oBag00.Add("a1","Deco Bubble Bag","decobb");
oBag01.Add("aa1","Portfolio [12.75 x 9.25]","a1");
oBag01.Add("aa2","CD-DVD [7 x 5.75]","a1");
oBag02.Add("aaa1",'2"',"aa1");
oBag02.Add("aaa2",'2"',"aa2");
oBag03.Add("aaaa00","[Select a color]","aa1");
oBag03.Add("aaaa01","Gold","aa1");
oBag03.Add("aaaa02","Blue","aa1");
oBag03.Add("aaaa03","Black","aa1");
oBag03.Add("aaaa04","Silver Translucent","aa1");
oBag03.Add("aaaa05","Silver Opaque","aa1");
oBag03.Add("aaaa10","[Select a color]","aa2");
oBag03.Add("aaaa11","Gold","aa2");
oBag03.Add("aaaa12","Blue","aa2");
oBag03.Add("aaaa13","Black","aa2");
oBag03.Add("aaaa14","Silver Translucent","aa2");
oBag03.Add("aaaa15","Silver Opaque","aa2");
oBag04.Add("100.0","100 x","aa1");
oBag04.Add("200.1","200 x","aa2");
//decobags
oBag00.Add("b1","Deco Bags","deco");
oBag01.Add("bb1","Brochure [10 x 13]","b1");
oBag01.Add("bb2","Folder [12 x 9]","b1");
oBag01.Add("bb3","Mid-Size [9.5 x 6.25]","b1");
oBag01.Add("bb4","Postcard [6 x 8]","b1");
oBag01.Add("bb5","Letter [9.5 x 4.125]","b1");
oBag02.Add("bbb00",'2"',"bb1");
oBag02.Add("bbb10",'2"',"bb2");
oBag02.Add("bbb20",'1"',"bb3");
oBag02.Add("bbb30",'1"',"bb4");
oBag02.Add("bbb40",'1"',"bb5");
oBag03.Add("bbbb01","Silver Translucent","bb1");
oBag03.Add("bbbb10","[Select a color]","bb2");
oBag03.Add("bbbb11","Gold","bb2");
oBag03.Add("bbbb12","Blue","bb2");
oBag03.Add("bbbb13","Green","bb2");
oBag03.Add("bbbb14","Red","bb2");
oBag03.Add("bbbb15","Purple","bb2");
oBag03.Add("bbbb16","Silver Translucent","bb2");
oBag03.Add("bbbb17","Silver Opaque","bb2");
oBag03.Add("bbbb20","[Select a color]","bb3");
oBag03.Add("bbbb21","Gold","bb3");
oBag03.Add("bbbb22","Blue","bb3");
oBag03.Add("bbbb23","Green","bb3");
oBag03.Add("bbbb24","Red","bb3");
oBag03.Add("bbbb25","Purple","bb3");
oBag03.Add("bbbb26","Silver Translucent","bb3");
oBag03.Add("bbbb27","Silver Opaque","bb3");
oBag03.Add("bbbb30","Silver Translucent","bb4");
oBag03.Add("bbbb40","[Select a color]","bb5");
oBag03.Add("bbbb41","Gold","bb5");
oBag03.Add("bbbb42","Blue","bb5");
oBag03.Add("bbbb43","Green","bb5");
oBag03.Add("bbbb44","Red","bb5");
oBag03.Add("bbbb45","Purple","bb5");
oBag03.Add("bbbb46","Silver Translucent","bb5");
oBag03.Add("bbbb47","Silver Opaque","bb5");
oBag04.Add("1000.01","1,000 x","bb1");
oBag04.Add("1000.02","1,000 x","bb2");
oBag04.Add("1000.03","1,000 x","bb3");
oBag04.Add("1000.04","1,000 x","bb4");
oBag04.Add("1000.05","1,000 x","bb5");
//holographic
oBag00.Add("d1","Holographic","holo");
oBag01.Add("dd1","Standard [9.5 x 5.75]","d1");
oBag02.Add("ddd1","NA","dd1");
oBag03.Add("dddd00","Stars","dd1");
oBag04.Add("0500.21","500 x","dd1");
//Bargain Bags
oBag00.Add("p1","Bargain Bags","limited");
oBag01.Add("pa1","Lavendard Star[9.5 x 5.75]","p1");
oBag01.Add("pa2","Mearl Translucent Lace[8 x 6]","p1");
oBag01.Add("pa3","Silver Opaque Lace[8 x 6]","p1");
oBag01.Add("pa4","Gold Pen[1.75 x 6.25]","p1");
oBag01.Add("pa5","Red Pen[1.75 x 6.25]","p1");
oBag01.Add("pa6","Silver Pen [2 x 6]","p1");
oBag01.Add("pa7","Blue Translucent[9.5 x 6.25]","p1");
oBag01.Add("pa8","Orange Opaque[9.5 x 6.25]","p1");
oBag02.Add("paa1",'1"',"pa1");
oBag02.Add("paa2",'1"',"pa2");
oBag02.Add("paa3",'1"',"pa3");
oBag02.Add("paa4",'1"',"pa4");
oBag02.Add("paa5",'1"',"pa5");
oBag02.Add("paa6",'1"',"pa6");
oBag02.Add("paa7",'1"',"pa7");
oBag02.Add("paa8",'1"',"pa8");
oBag03.Add("paaa00","[Select a color]","pa0");
oBag03.Add("paaa01","Star","pa1");
oBag03.Add("paaa02","Mearl","pa2");
oBag03.Add("paaa03","Silver","pa3");
oBag03.Add("paaa04","Gold","pa4");
oBag03.Add("paaa05","Red","pa5");
oBag03.Add("paaa06","Silver","pa6");
oBag03.Add("paaa07","Blue","pa7");
oBag03.Add("paaa08","Orange","pa8");
oBag04.Add("0050.31","50 x","pa1");
oBag04.Add("0050.32","50 x","pa2");
oBag04.Add("0050.33","50 x","pa3");
oBag04.Add("0200.34","200 x","pa4");
oBag04.Add("0200.35","200 x","pa5");
oBag04.Add("0200.36","200 x","pa6");
oBag04.Add("0050.37","50 x","pa7");
oBag04.Add("0050.38","50 x","pa8");




var oCus00 = new OptionCollection(); //bagtype
var oCus02 = new OptionCollection(); //baglip -> bagsize
var oCus03 = new OptionCollection(); //bagcolor -> bagsize
var oCus04 = new OptionCollection(); //bagcarton -> bagsize
oCus00.Add("m1","Deco Bubble Bags","decobb");
oCus00.Add("m2","Deco Bags","deco");

oCus02.Add("r2","[ ]","reset");
oCus03.Add("r3","[                 ]","reset");
oCus04.Add("r4","[                 ]","reset");
//custom lip size
oCus02.Add("mm01",'1"',"m1");
oCus02.Add("mm02",'2"',"m1");
oCus02.Add("mm11",'1"',"m2");
oCus02.Add("mm12",'2"',"m2");
//custom colors
oCus03.Add("mmm10","[Select a color]","m1");
oCus03.Add("mmm11","Gold","m1");
oCus03.Add("mmm12","Blue","m1");
oCus03.Add("mmm13","Green","m1");
oCus03.Add("mmm14","Red","m1");
oCus03.Add("mmm15","Purple","m1");
oCus03.Add("mmm16","Silver Translucent","m1");
oCus03.Add("mmm17","Silver Opaque","m1");
oCus03.Add("mmm20","[Select a color]","m2");
oCus03.Add("mmm21","Gold","m2");
oCus03.Add("mmm22","Blue","m2");
oCus03.Add("mmm23","Green","m2");
oCus03.Add("mmm24","Red","m2");
oCus03.Add("mmm25","Purple","m2");
oCus03.Add("mmm26","Silver Translucent","m2");
oCus03.Add("mmm27","Silver Opaque","m2");
//carton qtys
oCus04.Add("0100.001","100 x","m1");
oCus04.Add("1000.002","1,000 x","m2");
//------------------------------------------------------------------------------------------------------------

function UpdateInput(szInput,szForm,olist){
var minqty = "min qty";
if(olist==0) minqty = "min qty+";
else if (olist=="m1") minqty = "QTY 5,000 +";
else if (olist=="m2") minqty = "";
else if (olist=="m3") minqty = "";
else if (olist=="p1") minqty = "BAGS";
else minqty = "there is a min qty";
if(IE4) {document.all.item(szInput).value=minqty;}
else if(NS4 || NS6){eval('document.' + szForm + '.' + szInput).value=minqty;}
}
//------------------------------------------------------------------------------------------------------------

function UpdateSelect(szSelect,szForm,szParent,olist){
if(IE4) {addOptions(document.all.item(szSelect),olist,szParent);}
else if(NS4 || NS6){addOptions(eval('document.' + szForm + '.' + szSelect),olist,szParent);}
}
//------------------------------------------------------------------------------------------------------------

function OptionCollection(){
this.length=0;
this.items = new Object();
this.Add=insertEntry
}
//------------------------------------------------------------------------------------------------------------

function _struct(child,childcaption,parent){
this.child = child;
this.childcaption = childcaption;
this.parent	= parent;
}
//------------------------------------------------------------------------------------------------------------

function _addobject(child,childcaption,parent){
var obj = new _struct();
obj.child = child;
obj.childcaption = childcaption;
obj.parent = parent;
return(obj);
}
//------------------------------------------------------------------------------------------------------------

function insertEntry(child,childcaption,parent){
	if(child.length > 0 ){
		for(var i=0;i<this.length;i++)
			if(this.items[i].child == child)
				return;
		this.items[this.length++] = _addobject(child,childcaption,parent);
	}
}
//------------------------------------------------------------------------------------------------------------

function clearSelect(oSelect){
var iCount=0;
if(!oSelect) return;
if(IE4){iCount = oSelect.options.length;}
else if(NS4 || NS6){iCount = oSelect.options.length;}

for(var i=0;i<iCount;i++){
	if(IE4)
		oSelect.options.remove(0);
	else if(NS4 || NS6)
		oSelect.options[0]=null;
}
}
//------------------------------------------------------------------------------------------------------------

function addOptions(oSelect,olist,parent){
//addToList(listField, newText, newValue)
	var elOption
	var idxSelect=0

	//check arguments.
	if((!olist) || (!oSelect))return
	if(parent.length <=	0) 	return

	//now looop through all the list items only entering relevant options.
	clearSelect(oSelect)

	//add a blank list
	//elBlankOption = new Option();
	//elBlankOption.text = "";
	//if(NS4) oSelect.options[0] = elBlankOption
	//else if(IE4) oSelect.options.add(elBlankOption,0)
	//elBlankOption.value = ""
	for(var i=0;i<olist.length;i++){
		//only the child entries of the parent
//		if(olist.items[i].parent == parent){
//		    addToList(oSelect,olist.items[i].childcaption,olist.items[i].child)
//			}
		if(olist.items[i].parent == parent){
			elOption = new Option()
			//now IE and NS have a different way to handle object creation.
			if(IE4){
				elOption.value = olist.items[i].child
				elOption.text = olist.items[i].childcaption
				oSelect.options.add(elOption,idxSelect)
			}else if(NS4 || NS6){
				elOption.value = olist.items[i].child
				elOption.text = olist.items[i].childcaption
				oSelect.options[idxSelect] = elOption
			}
			idxSelect++
			delete(elOption)
       }
   }
}
//------------------------------------------------------------------------------------------------------------

function clearOptions(szSelect,szForm){
if(szSelect.length <= 0 || szForm.length <=0)
	alert("error:clearOption must pass arguments");
if(IE4)
clearSelect(document.all.item(szSelect));
else if(NS4)
clearSelect(eval('document.' + szForm + '.' + szSelect));
}
//------------------------------------------------------------------------------------------------------------

function listAllOptions(szSelect,szForm,olist){
	var elOption;
	var idxSelect=0;
	var oSelect = new Object();

	//check arguments.
	if(!olist)return;

	if(IE4)
		 oSelect = document.all.item(szSelect);
	else if(NS4 || NS6)
		 oSelect = eval('document.' + szForm + '.' + szSelect);

	if(!oSelect)return;

	//now looop through all the list items entering all
	clearSelect(oSelect);
	for(var i=0;i<olist.length;i++){
		elOption = new Option();
		//now IE and NS have a different way to handle object creation.
		if(NS4 || NS6){
			elOption.value = olist.items[i].child
			elOption.text = olist.items[i].childcaption
			oSelect.options[idxSelect] = elOption
		}else if(IE4){
			elOption.value = olist.items[i].child
			elOption.text = olist.items[i].childcaption
			oSelect.options.add(elOption,idxSelect)
		}
		idxSelect++;
		delete(elOption);
	}
}
//------------------------------------------------------------------------------------------------------------

function addSTDRFQ()
{
  var RFQorder="";
  var fld00 = document.formRFQ.bagtype.value;
  var fld01 = document.formRFQ.bagsize.value;
  var fld02 = document.formRFQ.baglip.value;
  var fld03 = document.formRFQ.bagcolor.value;
  var fld04 = document.formRFQ.bagcarton.value;
  var fld05 = document.formRFQ.bagqty.value;
  var olist ="";
  var feeler="";
  var oQTY = Math.floor(fld04 - 0);
  var xqty = (fld05 - 0);
  if (xqty == 0){xqty = 1;}
  oQTY = (xqty * oQTY);
  oQTY = " "+oQTY;
  for (var n=oQTY.length;n<9;n++){
       if (n==8){ oQTY += " ";} else {oQTY += " ";}
	   }
  RFQorder=oQTY;
  var fldsize=0;
  var errFlag="no";
  if (fld01.substr(0,2) == "xx" || fld01.substr(0,4) == "[..." || fld01 == "r1" || oQTY == 0){errFlag = "+- Please select a bag type for the RFQ -+";
     if(IE4) {document.all.item('orderline').value=errFlag;}
     else if(NS4 || NS6){document.formRFQ.orderline.value=errFlag;}
  }else{
  for(var x=0;x<4;x++){
     if (x==0){olist = oBag00; feeler = fld00; fldsize=18;}
	 else if (x==1){olist = oBag01; feeler = fld01; fldsize=25;}
	 else if (x==2){olist = oBag02; feeler = fld02; fldsize=4;}
	 else if (x==3){olist = oBag03; feeler = fld03; fldsize=18;}
	 else if (x==4){olist = oBag04; feeler = fld04; fldsize=22;}
     for(var i=0;i<olist.length;i++){
	    if (olist.items[i].child == feeler){
		    RFQorder += olist.items[i].childcaption;
			for (var n=olist.items[i].childcaption.length;n<fldsize;n++){
			    if (n==(fldsize-1)){RFQorder += " ";}else{RFQorder += " ";}
				}
			break;
		}
	 }
  }
  } //end error check
  if (errFlag=="no"){
    if(IE4) {document.all.item('orderline').value="+----------------request added-----------------+";}
    else if(NS4 || NS6){document.formRFQ.orderline.value="+----------------request added-----------------+";}
    if(IE4) {addToList(document.all.item('orderRFQ'),RFQorder,RFQorder);}
    else if(NS4 || NS6){addToList(document.formRFQ.orderRFQ,RFQorder,RFQorder);}
  }

}
//------------------------------------------------------------------------------------------------------------

function addCUSRFQ()
{
  var RFQorder="";
  var fld00 = document.formRFQ.custype.value;
  var fld01 = "[" + document.formRFQ.cusA.value + " x " + document.formRFQ.cusB.value + "]" ;
  var fld02 = document.formRFQ.cuslip.value;
  var fld03 = document.formRFQ.cuscolor.value;
  var fld04 = document.formRFQ.cuscarton.value;
  var fld05 = document.formRFQ.cusqty.value;
  var fld06 = 0;
  var olist ="";
  var feeler="";
  if (fld00 == "m1" || fld00 == "m3" ){fld06 = 5000}
  var oQTY = Math.floor(fld04 - 0);
  var xqty = (fld05 - 0);
  if (xqty == 0 && fld06 == 0){xqty = 1;}
  oQTY = ((xqty * oQTY)+fld06);
  oQTY = " "+oQTY;
  for (var n=oQTY.length;n<9;n++){
       if (n==8){ oQTY += " ";} else {oQTY += " ";}
	   }
  RFQorder=oQTY;

  var fldsize=0;
  var errFlag="no";
  if (fld01 == "[ x ]"){errFlag = "+- Please enter custom bag demensions for the RFQ -+";}
  if (oQTY.substr(0,4) == " NaN"){errFlag = ">- Please reselect MACPAC custom Bag Type for RFQ -<";}
  if (errFlag != "no"){
     if(IE4) {document.all.item('orderline').value=errFlag;}
     else if(NS4 || NS6){document.formRFQ.orderline.value=errFlag;}
  }else{
  for(var x=0;x<4;x++){
     if (x==0){olist = oCus00; feeler = fld00; fldsize=18;}
	 else if (x==1){olist = "none"; feeler = fld01; fldsize=25;}
	 else if (x==2){olist = oCus02; feeler = fld02; fldsize=4;}
	 else if (x==3){olist = oCus03; feeler = fld03; fldsize=18;}
	 else if (x==4){olist = oCus04; feeler = fld04; fldsize=22;}
     for(var i=0;i<olist.length;i++){
	    if (x==1){
		    RFQorder += fld01;
			for (var n=fld01.length;n<fldsize;n++){
			    if (n==(fldsize-1)){RFQorder += " ";}else{RFQorder += " ";}
				}
			break;
	    }else if (olist.items[i].child == feeler){
		    RFQorder += olist.items[i].childcaption;
			for (var n=olist.items[i].childcaption.length;n<fldsize;n++){
			    if (n==(fldsize-1)){RFQorder += " ";}else{RFQorder += " ";}
				}
			break;
		}
	 }
  }
  }//end error check
  if (errFlag=="no"){
    if(IE4) {document.all.item('orderline').value="+----------------request added-----------------+";}
    else if(NS4 || NS6){document.formRFQ.orderline.value="+----------------request added-----------------+";}
    if(IE4) {addToList(document.all.item('orderRFQ'),RFQorder,RFQorder);}
    else if(NS4 || NS6){addToList(document.formRFQ.orderRFQ,RFQorder,RFQorder);}
  }

}
//------------------------------------------------------------------------------------------------------------

function addToList(listField, newText, newValue) {
   if ( ( newValue == "" ) || ( newText == "" ) ) {
      alert("You cannot add blank values!");
   } else {
      var len = listField.length++; // Increase the size of list and return the size
	  if(IE4){
      listField.options[len].value = newValue;
      listField.options[len].text = newText;
	  } else if (NS4 || NS6) {
      listField.options[len].value = newValue;
      listField.options[len].text = newText;
	  }
      listField.selectedIndex = 0; // Highlight the one just entered (shows the user that it was entered)
   } // Ends the check to see if the value entered on the form is empty
}
function removeFromList(listField) {
   var errFlag="no";
   var selected = listField.selectedIndex;
   if (selected == -1 || selected == 0) {errFlag = "x- please select(highlight) an Item to remove -x";}
   if (errFlag != "no"){
     if(IE4) {document.all.item('orderline').value=errFlag;}
     else if(NS4 || NS6){document.formRFQ.orderline.value=errFlag;}
   } else {  // Build arrays with the text and values to remain
     listField.options[selected] = null;
     if(IE4) {document.all.item('orderline').value="x----------------request removed----------------x";}
     else if(NS4 || NS6){document.formRFQ.orderline.value="x----------------request removed----------------x";}
   }
}
function selectAll(cbList,bSelect) {
      for (var i=0; i<cbList.length; i++)
      cbList[i].selected = cbList[i].checked = bSelect
}
