function changeDisplay(source) {
	var targetString = source.getAttribute("controls");
	var targets = targetString.split(",");
	for (var i=0; i<targets.length; i++)
		document.getElementById(targets[i]).style.display = "none";

	var divToDisplay = document.getElementById(source.options[source.selectedIndex].getAttribute("display"));
	divToDisplay.style.display = "block";
}

function billingChangeDisplay(source) {
  changeDisplay(source);

  switch (source.options[source.selectedIndex].value) { // selected schedule
  case "No Bill":
    document.getElementById("initialPrice").value = "0.00";
    document.getElementById("daysFreeRow").style.display = "block";
    document.getElementById("numRecurringPaymentsRow").style.display = "none";
    document.getElementById("numRecurringPayments").value = "0";
    break;
  case "Split Payments":
    document.getElementById("initialPrice").value = "";
    var daysFree = document.getElementById("daysFree").value = "0";
    document.getElementById("daysFreeRow").style.display = "none";
    document.getElementById("numRecurringPaymentsRow").style.display = "block";
    break;
  default:
    document.getElementById("initialPrice").value = "";
    document.getElementById("daysFreeRow").style.display = "block";
    document.getElementById("numRecurringPaymentsRow").style.display = "none";
    document.getElementById("numRecurringPayments").value = "0";
    break;
  }
}

// Bug1053#26 - Begin
function hideAll(source) {
	var targetString = source.getAttribute("controls");
	var targets = targetString.split(",");
	for (var i=0; i<targets.length; i++)
		document.getElementById(targets[i]).style.display = "none";	
}

function changeByBillType(source){
	
	hideAll(source);
	var chkbox;  
	  
	document.getElementById("initialPrice").value = "";
	document.getElementById("numRecurringPayments").value = "";
	document.getElementById("daysFree").value = "";
	document.getElementById("recurringPriceLbl").innerHTML = "Recurring Price";
	document.getElementById("daysFreeLbl").innerHTML = "Billing offset";
	document.getElementById("daysFreeRHelp").innerHTML = "Allow customers to have a Free Trial period, before initial billing";
	  
	switch (source.options[source.selectedIndex].value) { // selected schedule
	case "No Bill":
		document.getElementById("initialPrice").value = "0.00";
		document.getElementById("initialPriceRow").style.display = "block";
	    break;
	    
	case "Split Payments":
		document.getElementById("initialPriceRow").style.display = "block";
		document.getElementById("recurringPriceRow").style.display = "block";
		document.getElementById("numRecurringPaymentsRow").style.display = "block";
	    break;
	    
	case "Monthly": 
		document.getElementById("daysFreeRow").style.display = "block";
		document.getElementById("daysFreeLbl").innerHTML = "Free Trial Period In Days";
		document.getElementById("daysFreeRHelp").innerHTML = "Allow your customers to have a free trial period before monthly billing begins";
		document.getElementById("recurringPriceRow").style.display = "block";
		document.getElementById("recurringPriceLbl").innerHTML = "Monthly Payment";
		document.getElementById("recurringPriceYlyInRow").style.display = "block";
		chkbox = document.getElementById("recurringPriceYlyIn");
		document.getElementById("recurringPriceYlyRow").style.display = chkbox.checked == true ? 'block' : 'none';
		break;
		
	 case "Yearly":
		
		document.getElementById("daysFreeRow").style.display = "block";
		document.getElementById("daysFreeLbl").innerHTML = "Free Trial Period In Days";
		document.getElementById("daysFreeRHelp").innerHTML = "Allow your customers to have a Free Trial period before initial billing";
		document.getElementById("recurringPriceRow").style.display = "block";
		document.getElementById("recurringPriceLbl").innerHTML = "Yearly Payment";
		break;
	
	 case "Twice Every Year":	  
		document.getElementById("initialPriceRow").style.display = "block";
		document.getElementById("daysFreeRow").style.display = "block";
		document.getElementById("recurringPriceRow").style.display = "block";
		break;	
	case "At Point-of-Sale Only":
		document.getElementById("initialPrice").value = "0.00";
		document.getElementById("initialPriceRow").style.display = "block";   
		break;	
	default:
		document.getElementById("initialPrice").value = "0.00";
		document.getElementById("initialPriceRow").style.display = "block";
	    break;
	  }
}
// Bug1053#26 - End

function toggleDisplay(divId, value) {
	document.getElementById(divId).style.display = value;
}

function setAction(action)
{
  document.getElementById("nextAction").value = action;
}


/* WARNING: form.submit()
   onsubmit if declared on the html form is not guaranteed to work 
     if submit is invoked programatically.
   http://www.w3.org/2001/12/DOM-Level-2-issues#i6
   You cannot rely on having an event when invoking the submit() method.
*/
function submitForm(action) {
  var myform = document.forms[0];
  setAction(action);
  myform.submit();
}




function setSelectedValue(listId, value) {
	var list = document.getElementById(listId);
	
	for (var i = 0; i < list.options.length; i++) {
		if (list.options[i].value == value) {
			list.options[i].selected = true;
			break;
		}
	}
}

function toggleCategory(catId) {
	var selectElem = document.getElementById("category" + catId);
	var openArrowElem = document.getElementById("cat-arrow-open-" + catId);
	var closedArrowElem = document.getElementById("cat-arrow-closed-" + catId);
	if (selectElem.style.display == "none") {
		selectElem.style.display = "block";
		openArrowElem.style.display = "block";
		closedArrowElem.style.display = "none";
	}
	else {
		selectElem.style.display = "none";
		openArrowElem.style.display = "none";
		closedArrowElem.style.display = "block";
	}
}

function setSelListLen(listid, len) { 
	var selObj = document.getElementById(listid); 
	selObj.options.length=len;
}

 


