
	var currentDisplay = "";

	// ************************************************************************************************************************
	// Set Action
	function setAction(act){
		// alert(act);

		if(act == "Purchase"){

			x=document.theForm;

			// loop through option checkboxes and get values of the ones checked
			listStart = true;
			coverageList = "";
			coverageListNum = "";

			for (i=0;i<x.OptionID.length;i++){
				if(x.OptionID[i].checked){
					var addToCoverageList = x.OptionID[i].value;
					var setHidNumField = "num" + addToCoverageList + "total";
					// alert(addToCoverageList + " -- " + x.getElementById(setHidNumField).value);
					if(listStart){
						coverageList = addToCoverageList;
						coverageListNum = document.getElementById(setHidNumField).value;
						listStart = false;
					} else {
						coverageList += "," + addToCoverageList;
						coverageListNum += "," + document.getElementById(setHidNumField).value;
					}
				}
			}


			// alert(coverageList);

			// alert("We are ready to Purchase");
			location.href('../PlanCaller.cfm?PID=' + x.PID.value + '&OID=' + coverageList + '&PT=' + x.PT.value + '&State=' + x.stateTitle.value + '&coverageListNum=' + coverageListNum);

		} else {

			currentBtn = 'btn' + currentDisplay;
			btnName = 'btn' + act;

			document.getElementById('faxPrint').style.display = 'none';
			document.getElementById('emailSent').style.display = 'none';

			if(currentDisplay != ""){
				if (currentDisplay != "Purchase") {
					document.getElementById(currentDisplay).style.display = 'none';
				}
				if (act != "Purchase") {
					document.getElementById(act).style.display = '';
				}
				document.getElementById(currentBtn).style.backgroundColor = '';
				document.getElementById(btnName).style.backgroundColor = '#00CC00';
			} else {
				document.getElementById(act).style.display = '';
				document.getElementById(btnName).style.backgroundColor = '#00CC00';
			}

			currentDisplay = act;

		}
	}


	// **************************************************************************************************************************
	//  Validate Form
	function validateForm(){

		// alert(currentDisplay);
		var coverageNum = $('coverageListNum');
				

		if(currentDisplay == "Email"){
			
			// alert(document.theForm.emailAddress.value + " -- " + document.theForm.emailname.value);
			// checks to see if the @ sign is in the email field
			var emailvala = /^.+@/;
			if((!emailvala.test(document.theForm.emailAddress.value ))){
				alert("Please enter an valid email address. \n missing @");
				return false;
			}

			// checks to see if the . and then 2 or 3 characters are at the end.
			var emailvalb = /\..{2,3}$/;
			if((!emailvalb.test(document.theForm.emailAddress.value ))){
				alert("Please enter an valid email address. \n missing extension (.)");
				return false;
			}

		} else if (currentDisplay == "Fax") {

			// var phoneNumberDelimiters = "()-";
			var s = document.theForm.faxNumber.value;
			var newS = "";
			var countS = "";

			for(i=0; i<s.length; i++) {
				var c = s.charAt(i);
				// alert("C: " + c);
				if((c >= 0) || (c <= 9)){

						newS += c + ",";
						countS += c;


				}
			}
			// alert(newS);
			if(!(countS.length == 10 || countS.length == 11)) {
				alert("The phone number is the incorrect length");
				return false;
			}

			document.theForm.faxNumber.value = newS;
			// alert(newS);

		}

		// add CoverageListNum to the form values
		x=document.theForm;
		listStart = true;
		coverageListNum = "";

		if (x.OptionID) {

		for (i=0;i<x.OptionID.length;i++){
			if(x.OptionID[i].checked){
				var addToCoverageList = x.OptionID[i].value;
				var setHidNumField = "num" + addToCoverageList + "total";
				// alert(addToCoverageList + " -- " + x.getElementById(setHidNumField).value);
				if(listStart){
					// alert(setHidNumField + " -- " + document.getElementById(setHidNumField).value);
					coverageListNum = document.getElementById(setHidNumField).value;
					listStart = false;
				} else {
					// alert(setHidNumField + " -- " + document.getElementById(setHidNumField).value);
					coverageListNum += "," + document.getElementById(setHidNumField).value;
				}

			}
		}
		}
		
		coverageNum.value = coverageListNum;


		return true;

	}

	// *****************************************************************************************************
	// Update Coverages
	function updateCoverages(cov,cur) {

		if(cov != ""){
		var coverages = cov.split(",");
		for(var i=0; i<coverages.length; i++){

			var setPRList = "num" + coverages[i] + "PRList";

			// alert(document.getElementById(setPRList).value);
			var prlist = document.getElementById(setPRList).value.split(",");

			var enableSubCoverage = false;

			for (var j=0; j<prlist.length; j++) {
				// alert(prlist[j]);
				if(document.getElementById(prlist[j]).checked){
						enableSubCoverage = true;
						break;
				}
			}


			if(enableSubCoverage == true){
				document.getElementById(coverages[i]).disabled = false;
			} else {
				 if(document.getElementById(coverages[i]).checked == true){
					document.getElementById(coverages[i]).checked = false;
					document.getElementById(coverages[i]).onclick();
				 }
				 document.getElementById(coverages[i]).disabled = true;

			}

		}
		}

	}

	// **********************************************************************************************************
	// Set the Plan Price
	function setPlanPrice(x) {
		alert(x);
		document.all("planPrice").innerHTML = x;
	}


	// ***********************************************************************************************************
	// Set all the Prices.
	function setPrices(x,ID,Qty,from,act) {
		var setTotals;
		var y;
		var currentPrice;
		var pPrice;
		var totPrice;
		var optionTotal;
		var tPrice;

		var setHiddenNum = "num" + ID + "total";
		var setHiddenSel = "num" + ID;
		var frm_optionPrice = $('frm_optionPrice');
		var planPrice = $('planPrice');	
		var frm_totalPrice = $('frm_totalPrice');
		var getHiddenNum = $(setHiddenNum).value;


		if(getHiddenNum != 1 && document.getElementById(ID).checked == false){
			Qty = getHiddenNum;
			$(setHiddenSel).selectedIndex = 0;
			$(setHiddenNum).value = 1;
		}

		y = Math.round(x * Qty);

		currentPrice = frm_optionPrice.value;
		pPrice = planPrice.value;
		totPrice = frm_totalPrice.value;

		if((from != '1')){
			if ($(ID).checked == true) {
				setTotals = true;
			} else {
				setTotals = false;
			}
		} else {
			if(act == '0'){
				setTotals = true;
			} else {
				setTotals = false;
			}
		}

		if(setTotals){
			optionTotal = Math.round((currentPrice*100) + (y*100))/100;
			tPrice = Math.round((pPrice*100) + (optionTotal*100))/100;
		} else {
			optionTotal = Math.round((currentPrice*100) - (y*100))/100;
			tPrice = Math.round((totPrice*100) - (y*100))/100;
		}

		frm_optionPrice.value = optionTotal.toFixed(2);
		$("optionPrices").innerHTML = optionTotal.toFixed(2);

		frm_totalPrice.value = tPrice.toFixed(2);
		$("totalPrice").innerHTML = tPrice.toFixed(2);
	}


	// *********************************************************************************************************************
	// Update Price Num
	function updateNumPrices(m,ID,n) {
		var numAdd;
		var setHiddenNum = "num" + ID + "total";
		// alert(document.getElementById(setHiddenNum).value + " -- " + n);
		getHiddenNum = document.getElementById(setHiddenNum).value;
		// set ID to -1 to minus and 0 add in the setPrices function

		if(n > getHiddenNum){
			numAdd = n - getHiddenNum;
			setPrices(m,ID,numAdd,1,0);
		} else {
			numAdd = getHiddenNum - n;
			setPrices(m,ID,numAdd,1,-1);
		}
		document.getElementById(setHiddenNum).value = n;

	}


	// *************************************************************************************************************************
	// Enable Num Select
	function enableNumSelect(ID) {
		var NumSelect = "num" + ID;
		if(document.getElementById(ID).checked == true){
			document.getElementById(NumSelect).disabled = false;
		} else {
			document.getElementById(NumSelect).disabled = true;
		}
	}


	// **************************************************************************************************************************
	// Print Quote
	function printQuote() {

		// alert(document.getElementById("printRCard").innerHTML);
		var printRCElem = document.getElementById("printQuote");
		var html = printRCElem.innerHTML;

		var printwin = window.open("","printSpecial");
		printwin.document.open();
		printwin.document.write(html);
		printwin.print();
		printwin.document.close();

	}

  // This will disable the other upgrades
  // when Platinum Plus is checked
  function updatePlatinumPlus(pList,ppID) {
    var coverages = pList.split(",");
    for (var i=0; i<coverages.length; i++) {
      if (document.getElementById(ppID).checked == true) {
        document.getElementById(coverages[i]).disabled = true;
        if (document.getElementById(coverages[i]).checked==true) {
          document.getElementById(coverages[i]).checked = false;
          document.getElementById(coverages[i]).onclick();
        }
      } else {
        document.getElementById(coverages[i]).disabled = false;
      }
    }
  }

	function proceedProduct(oform,id,price,displayCRESMessage)
	{
		var okProceed = false;
		if(displayCRESMessage!='YES')
		{
			okProceed = true;
		}
		else
		{
			okProceed= confirm("REMINDER : This product is only available for CRES members.");
		}
		if(okProceed)
		{
			oform.PID.value 			= id;
			oform.planPrice.value	= price;
			oform.submit();
		}
		else
		{
			document.getElementById(id).checked=false;
		}
	}

	function checkResale()		{
		var propertyType = $('pt');
		var marketSegment = $('MarketSegment');

		// if the selectedItem is > 2 (third item) then we need to disable the marketSegment dropdown
		// and set the market segment to 0 (resale)
		// The only items that have available new construction products are the homes under 5000 sq ft and condos/townhouses

		if (propertyType.selectedIndex > 2 || propertyType.selectedIndex == 1 )	{
			marketSegment.disabled = true;
			marketSegment.selectedIndex = 0;
		} else 	{
			marketSegment.disabled = false;
		}
	}
