/**************************************************************** 
* This contains the arrays and functions used in the Order Forms
*
* Author: Mike Mengarelli
* Author: Neeraj Kumar
*****************************************************************/
var nameList = new Array(33);
nameList[0]= '';
nameList[1]= 'Kraft® Process Cheese';
nameList[2]= 'Kraft® Pasteurized Specialty Cheese';
//nameList[2]= 'Kraft® Processed Specialty Cheese';
nameList[3]= 'Kraft® Modified Melt Process Cheese';
nameList[4]= 'Kraft® Natural Cheese';
nameList[5]= 'Kraft® Soft Cheese';
nameList[6]= 'Kraft® Italian-Style Grated Cheese';
nameList[7]= 'Kraft® Cheese Powders';
nameList[8]= 'Kraft® Dairy Flavors';
nameList[9]= 'Kraft® Dry Cheese Sauce Mixes';
nameList[10]= 'Kraft® Woodfired Grill Flavors®';
nameList[11]= 'Kraft® Grill Flavors®';
nameList[12]= 'Kraft® Enhanced Grill Flavors®';
nameList[13]= 'Kraft® Roast and Rotisserie Flavors';
nameList[14]= 'Kraft® Fried and Sautéed Flavors';
nameList[15]= 'Kraft® Flavors of Cuisine';
nameList[16]= 'Kraft® Cuisines of the WorldTM';
nameList[17]= 'Kraft® Vegetarian Flavors';
nameList[18]= 'Kraft® Meat Flavors';
nameList[19]= 'Baker\'s® Gem® Desiccated Coconut';
nameList[20]= 'Baker\'s® Golden Toasted Coconut';
nameList[21]= 'Baker\'s® Angel Flake® & Tender Fresh® Coconut';
nameList[22]= 'Baker\'s® Creamed Coconut and Coconut Concentrate';
nameList[23]= 'Baker\'s® Spray Dried Coconut Powder';
nameList[24]= 'Kraft® Marshmallows';
nameList[25]= 'Kraft® Caramel';
nameList[26]= 'Kraft® Oreo® Products';
nameList[27]= 'Nabisco® Cookie & Cracker / Kraft® Dessert Ingredients';
nameList[28]= 'Grey Poupon® Mustards';
nameList[29]= 'Barbecue Sauce';
nameList[30]= 'A.1.® Steak Sauce';
nameList[31]= 'Salad Dressings';
nameList[32]= 'Other Ingredient Products';
//
var valueList = new Array(33);
valueList[0]= '';
valueList[1]= 'orderSamples/processCheeseForm.jsp?content=processCheeseOrder&tab=5';
valueList[2]= 'orderSamples/processedSpecialtyCheeseForm.jsp?content=processedSpecialtyCheeseOrder&tab=5';
valueList[3]= 'orderSamples/modifiedMeltProcessCheeseForm.jsp?content=modifiedMeltProcessCheeseOrder&tab=5';
valueList[4]= 'orderSamples/naturalCheeseForm.jsp?content=naturalCheeseOrder&tab=5';
valueList[5]= 'orderSamples/softCheeseForm.jsp?content=softCheeseOrder&tab=5';
valueList[6]= 'orderSamples/italianStyleGratedCheeseForm.jsp?content=italian-styleGratedCheeseOrder&tab=5';
valueList[7]= 'orderSamples/cheesePowdersForm.jsp?content=cheesePowdersOrder&tab=5';
valueList[8]= 'orderSamples/dairyFlavorsForm.jsp?content=dairyFlavorsOrder&tab=5';
valueList[9]= 'orderSamples/dryCheeseSauceMixesForm.jsp?content=dryCheeseSauceMixesOrder&tab=5';
valueList[10]= 'orderSamples/woodfiredGrillFlavorsForm.jsp?content=woodfiredGrillFlavorsOrder&tab=5';
valueList[11]= 'orderSamples/grillFlavorsForm.jsp?content=grillFlavorsOrder&tab=5';
valueList[12]= 'orderSamples/enhancedGrillFlavorsForm.jsp?content=enhancedGrillFlavorsOrder&tab=5';
valueList[13]= 'orderSamples/roastAndRotisserieFlavorsForm.jsp?content=roastAndRotisserieFlavorsOrder&tab=5';
valueList[14]= 'orderSamples/friedAndSauteedFlavorsForm.jsp?content=friedAndSauteedFlavorsOrder&tab=5';
valueList[15]= 'orderSamples/flavorsOfCuisineForm.jsp?content=flavorsOfCuisineOrder&tab=5';
valueList[16]= 'orderSamples/cuisinesOfTheWorldForm.jsp?content=cuisinesOfTheWorldOrder&tab=5';
valueList[17]= 'orderSamples/vegetarianFlavorsForm.jsp?content=vegetarianFlavorsOrder&tab=5';
valueList[18]= 'orderSamples/meatFlavorsForm.jsp?content=meatFlavorsOrder&tab=5';
valueList[19]= 'orderSamples/dessicatedCoconutForm.jsp?content=dessicatedCoconutOrder&tab=5';
valueList[20]= 'orderSamples/goldenToastedCoconutForm.jsp?content=goldenToastedCoconutOrder&tab=5';
valueList[21]= 'orderSamples/angelFlakeAndTenderFreshCoconutForm.jsp?content=angelFlakeAndTenderFreshCoconutOrder&tab=5';
valueList[22]= 'orderSamples/creamedCoconutForm.jsp?content=creamedCoconutOrder&tab=5';
valueList[23]= 'orderSamples/sprayDriedCoconutForm.jsp?content=sprayDriedCoconutOrder&tab=5';
valueList[24]= 'orderSamples/marshmallowForm.jsp?content=marshmallowOrder&tab=5';
valueList[25]= 'orderSamples/caramelForm.jsp?content=caramelOrder&tab=5';
valueList[26]= 'orderSamples/oreoForm.jsp?content=oreoOrder&tab=5';
valueList[27]= 'orderSamples/chipsAhoyForm.jsp?content=chipsAhoyOrder&tab=5';
valueList[28]= 'orderSamples/greyPouponForm.jsp?content=greyPouponOrder&tab=5';
valueList[29]= 'orderSamples/barbecueSauceForm.jsp?content=barbecueSauceOrder&tab=5';
valueList[30]= 'orderSamples/a1SteakSauceForm.jsp?content=a1SteakSauceOrder&tab=5';
valueList[31]= 'orderSamples/saladDressingsForm.jsp?content=saladDressingsOrder&tab=5';
valueList[32]= 'orderSamples/otherIngredientSolutionsForm.jsp?content=otherIngredientSolutionsOrder&tab=5';
/*
* Builds the entire selectPage List.
*/ 
function buildProdDescList() {
        var list = document.OrderSamplesForm.selectPage.options;
	list.length = 33;
	
	for (i = 0 ; i < 33; i ++) {
		list.options[i] = new Option(nameList[i],valueList[i],false,false);
	}
}
/*
* Builds the entire selectPage List.
*/ 
function buildProdDescList(form) {
        var list = form.selectPage.options;
	list.length = 33;
	
	for (var i = 0 ; i < list.length; i ++) {
		form.selectPage.options[i].text = nameList[i];
		form.selectPage.options[i].value = valueList[i];
	}
}

/*
* Builds the entire selectPage List.
*/ 
function buildProdDescSelectedList(form, selIndex) {
      var numDesc = "";
      var list = form.selectPage.options;
	list.length = 33;
      var num = 0;

      if ( (selIndex >0) && (selIndex <= 9) ) { 
          num = 1;
          numDesc = "CheeseSolutions";
      } else if ((selIndex >9) && (selIndex <= 18) ) { 
          num = 2;
          numDesc = "SavoryFlavors";
      } else if ((selIndex >18) && (selIndex <= 27)) { 
          num = 3;
          numDesc = "SweetIngredients";
      } else if ((selIndex >27) && (selIndex <= 31)) { 
          num = 4;
          numDesc = "Enhancers";
      } else if ((selIndex == 32)) { 
          num = 5;
          numDesc = "OtherProducts";
      } 


      form.ProdCat.value = "" + numDesc;

      form.ProdDescNbr.value = "" + selIndex;

      resetSelectPageListNew(num, form, selIndex) ;

      
      //alert("In buildProdDescSelectedList " + form + " " + selIndex);
	
	//for (var i = 0 ; i < list.length; i ++) {
	//	form.selectPage.options[i].text = nameList[i];
	//	form.selectPage.options[i].value = valueList[i];
      //      if (selIndex == i) form.selectPage.options[i].selected = true;
	//}
    
}

/*
* Reloads the selectPage given which selectCategory the user chooses
*/
function reloadProdDescList(form) {
	var val = form.selectCategory.options[form.selectCategory.selectedIndex].value			
      var numDesc = "";
      
	if (val == "../orderSamples/main.jsp?content=cheeseSolutionsOrder&tab=5"){
	    resetSelectPageList(form.selectCategory.selectedIndex, form);		
          numDesc = "CheeseSolutions";
      }
	else if (val == "../orderSamples/main.jsp?content=savoryFlavorsOrder&tab=5"){
	    resetSelectPageList(form.selectCategory.selectedIndex, form);	
          numDesc = "SavoryFlavors";
      }
	else if (val == "../orderSamples/main.jsp?content=sweetIngredientsOrder&tab=5"){
	    resetSelectPageList(form.selectCategory.selectedIndex, form);
          numDesc = "SweetIngredients";
      }
	else if (val == "../orderSamples/main.jsp?content=enhancersOrder&tab=5"){
		resetSelectPageList(form.selectCategory.selectedIndex, form);	
            numDesc = "Enhancers";
      }
	else if (val == "../orderSamples/main.jsp?content=otherProductsOrder&tab=5"){
	    resetSelectPageList(form.selectCategory.selectedIndex, form);	
          numDesc = "OtherProducts";
      }
   
      form.ProdCat.value = "" + numDesc;

}
/*
* Resets prod select drop down
*/
function resetSelectPageList(num, form) {
	form.selectPage.options.length=0;

	switch (num) {
		case 1: {
			form.selectPage.options.length=10;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=valueList[0];
			for (i = 1; i < 10; i ++) {
				form.selectPage.options[i].text=nameList[i];
				form.selectPage.options[i].value=valueList[i];
			}
			break;
		}
		case 2: {
			form.selectPage.options.length=10;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 10; i ++) {
				form.selectPage.options[i].text=nameList[i+9];
				form.selectPage.options[i].value=valueList[i+9];
			}
			break;
		}
		case 3: {
			form.selectPage.options.length=10;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 10; i ++) {
				form.selectPage.options[i].text=nameList[i+18];
				form.selectPage.options[i].value=valueList[i+18];
			}
			break;
		}
		case 4: {
			form.selectPage.options.length=5;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 5; i ++) {
				form.selectPage.options[i].text=nameList[i+27];
				form.selectPage.options[i].value=valueList[i+27];
			}
			break;
		}
		case 5: {
			form.selectPage.options.length=2;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 2; i ++) {
				form.selectPage.options[i].text=nameList[i+31];
				form.selectPage.options[i].value=valueList[i+31];
			}
			break;
		}
	}
}

function resetProdDescNbr(form){
   var valIndex = form.selectPage.selectedIndex;	
   var valData = form.selectPage[valIndex].value;
   var i = 0;
   for ( i = 1; i < 33; i++){
      if (valueList[i] == valData ) break;
   }
   form.ProdDescNbr.value = i;
   //alert("in resetProdDescNbr, valIndex='" + valIndex + "', prodDescNbr='" + i + "' ");
}

// resetSelectPageListNew(num, form, prodDescNbr) new function to 
// get the selected list
function resetSelectPageListNew(num, form, prodDescNbr) {

	form.selectPage.options.length=0;

	switch (num) {
		case 1: {
			form.selectPage.options.length=10;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=valueList[0];
			for (i = 1; i < 10; i ++) {
				form.selectPage.options[i].text=nameList[i];
				form.selectPage.options[i].value=valueList[i];
                        if (prodDescNbr == i) form.selectPage.options[i].selected = true; 
			}
			break;
		}
		case 2: {
			form.selectPage.options.length=10;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 10; i ++) {
				form.selectPage.options[i].text=nameList[i+9];
				form.selectPage.options[i].value=valueList[i+9];
                        if (prodDescNbr == i+9) form.selectPage.options[i].selected = true;
			}
			break;
		}
		case 3: {
			form.selectPage.options.length=10;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 10; i ++) {
				form.selectPage.options[i].text=nameList[i+18];
				form.selectPage.options[i].value=valueList[i+18];
                        if (prodDescNbr == i+18) form.selectPage.options[i].selected = true;
			}
			break;
		}
		case 4: {
			form.selectPage.options.length=5;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 5; i ++) {
				form.selectPage.options[i].text=nameList[i+27];
				form.selectPage.options[i].value=valueList[i+27];
                        if (prodDescNbr == i+27) form.selectPage.options[i].selected = true;
			}
			break;
		}
		case 5: {
			form.selectPage.options.length=2;
			form.selectPage.options[0].text=nameList[0];
			form.selectPage.options[0].value=nameList[0];
			for (i = 1; i < 2; i ++) {
				form.selectPage.options[i].text=nameList[i+31];
				form.selectPage.options[i].value=valueList[i+31];
                        if (prodDescNbr == i+31) form.selectPage.options[i].selected = true;
			}
			break;
		}
	}
}
// end of resetSelectPageListNew(num, form, prodDescNbr) 
/*
* Checks if email is null
*/
function submitEmailForm(form) {   
  var email = form.EMAIL.value;
  if (email == '') {
    alert('You must enter an email address.');
    return false;
  } else {
      form.submit();
  }
}  
/*
* Performs form submission 
*/
function submitForm(form) {   
   if(validateUserInfoForm(form)) {
      form.submit();
   } else {
      return false;
   }
}  
/*
* Checks if minimum fields exist
*/
 
function checkForNull(form) {
	
}
/*
* Checks if minimum fields exist
*/
function validateUserInfoForm(form) {

  var email = form.EMAIL.value;
  var prodDesc = form.selectPage.value;
	var name = form.NAME.value;
	var title = form.TITLE.value;
	var company = form.COMPANY.value;
	var address1 = form.ADDRESS1.value;
	var city = form.CITY.value;
	var state = form.STATE.value;
	var zip = form.ZIP.value;
	var country = form.COUNTRY.value;
	var telephone = form.TELEPHONE.value;
	

  if (email == '') {
    alert('You must enter an email address.');
		form.EMAIL.focus();
    return false;
  } else if (!isEmail(email)) {
    alert('You must enter a valid email address.');
       form.EMAIL.focus();
    return false;
  } else if (name == '') {
    alert("Please Enter a Name!");
    form.NAME.focus();
    return false;
  } else if(title == '') {
    alert("Please Enter a Title!");
    form.TITLE.focus();
    return false;
  }	else if(company == '') {
    alert("Please Enter a Comapny Name!");
    form.COMPANY.focus();
    return false;
  }	else if(address1 == '') {
    alert("Please Enter an Address!");
    form.ADDRESS1.focus();
    return false;
  }	else if(city == '') {
    alert("Please Enter a City!");
    form.CITY.focus();
    return false;
  //}	else if(state == '') {
  //  alert("Please Select a State!");
  //  form.STATE.focus();
  //  return false;
  }	else if(zip == '') {
    alert("Please Enter a Zip!");
    form.ZIP.focus();
    return false;
  //}     else if(country == '') {
  //  alert("Please Enter a Country!");
  //  form.COUNTRY.focus();
  //  return false;
  }	else if(telephone == '') {
    alert("Please Enter a Telephone Number!");
    form.TELEPHONE.focus();
    return false;
  }	else if (prodDesc == '') {
    alert('You must select a product description.');
		form.selectPage.focus();
    return false;
  }	
	else {
    return true;
  } 	
}
	
/*
* isEmail (STRING s [, BOOLEAN emptyOK])
* 
* Email address must be of form a@b.c ... in other words:
* 1. There must be at least one character before the @
* 2. There must be at least one character before and after the .
* 3. The characters @ and . are both required
*/
function isEmail (s)
{    
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) 
	return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) 
    	return false;
    else
    	return true;
}