var debug = false;

function bindPrice()
{
	var stockCode = getRadioControlValue('stockcode');
	var selectedStockCode = getControlByID('selectedstockcode');
	var prevStockCode = getControlByID('prevstockcode');
	
	if (prevStockCode.length == 0)
	{
	    prevStockCode.value = selectedStockCode;
	}
	
	if (debug){
		alert(stockCode);
		alert('selectedStockCode = ' + selectedStockCode.value);
		alert('prevstockcode = ' + prevStockCode.value);
	}
	
	chgUsers();

	var employeesControl = getControlByID('employees');
		
	if (stockCode == '144400')
	{
		clearEmployees();
		employeesControl.disabled = true;
	}
	else if (stockCode == '144600')
	{
		if (employeesControl.disabled)
		{
			bindEmployees();
			employeesControl.disabled = false;
		}
	}
	
	var quantity = getQuantity();
	var users = getSelectControlValue('users', 0);
	var companies = getSelectControlValue('companies', 0);
	var employees = getSelectControlValue('employees', 0);
	var evalString = 'p_' + stockCode + '_' + users + '_' + companies + '_' + employees;
	var sageCover = getRadioControlValue('sagecover');
	var price = 0;
	var sageCoverPrice = 0;

	if (stockCode == '144400')
	{
		hideTasCover();
	}
	else if (stockCode == '144700')
	{
		showTasCover();
	}
		
	if (debug)
		alert(evalString);
		
	price = eval(evalString);
	
	if (debug)
		alert('Price = ' + price);
		
	if (sageCover == 'scv' || sageCover == 'scv2')
	{
		evalString = sageCover + '_' + stockCode + '_' + users + '_' + companies + '_' + employees;

		if (debug)
			alert(evalString);
		
		sageCoverPrice = eval(evalString);
		
		if (debug)
			alert('SageCoverPrice = ' + sageCoverPrice);
	}

	var total = parseFloat(quantity) * (parseFloat(price) + parseFloat(sageCoverPrice));
	
	total = Math.round(100 * total) / 100;

	if (debug)
		alert('Total = ' + total);

	var selectedUnitNetControl = getControlByID('selectedunitnet');
	selectedUnitNetControl.value = price;
	var selectedSageCoverUnitNetControl = getControlByID('selectedsagecoverunitnet');
	selectedSageCoverUnitNetControl.value = sageCoverPrice;

	bindTotalPrice(total);
}

function clearEmployees()
{
	removeSelectOptions('employees');
	appendSelectOption('employees', '0', '0');
}

function bindEmployees()
{
	removeSelectOptions('employees');
	appendSelectOption('employees', '5', '5');
	appendSelectOption('employees', '15', '15');
}

function chgUsers()
{
    var userControl = document.getElementById('users');
    var selectedStockCode = getControlByID('selectedstockcode');
    var prevStockCode = getControlByID('prevstockcode');

    if (debug)
			alert('chgUsers selectedStockCode = ' + selectedStockCode.value);
    
    if (selectedStockCode.value != prevStockCode.value)
    {
        prevStockCode.value = selectedStockCode.value;
    
        if (userControl != null)
        { 
            var stockCode = selectedStockCode.value;
        
            if (stockCode == '145200' 
				|| stockCode == '145201'
				|| stockCode == '145202'
				|| stockCode == '145203')
	        {
		        removeUserOptions();
        		
                //add 1,5 and 10 users
                appendUserOption('Single computer', '1');
                appendUserOption('5', '5');
                appendUserOption('10', '10');
            }
            else if (stockCode == '145700'
				|| stockCode == '145701'
				|| stockCode == '145702'
				|| stockCode == '145703')
	        {
		        removeUserOptions();
        		
                //add 1,5 and 10 users
                appendUserOption('10', '10');
                appendUserOption('15', '15');
                appendUserOption('20', '20');
                appendUserOption('25', '25');
                appendUserOption('30', '30');
                appendUserOption('35', '35');
                appendUserOption('40', '40');
                appendUserOption('45', '45');
                appendUserOption('50', '50');
                appendUserOption('Unlimited', '9999');
            }
        }
    }
}

function removeUserOptions()
{
    var userControl = document.getElementById('users');
    var i;

    //REMOVE all users
    for (i = userControl.length - 1; i >=0; i--) 
    {
        userControl.remove(i);       
    }
}

function appendUserOption(optionText, optionValue)
{
  var optNew = document.createElement('option');
  optNew.text = optionText;
  optNew.value = optionValue;
  
  var userControl = document.getElementById('users');
 
  try {
    userControl.add(optNew, null);
  }
  catch(ex) {
    userControl.add(optNew); 
  }
}

function removeSelectOptions(elementID)
{
    var selectControl = document.getElementById(elementID);
    var i;

    //REMOVE all users
    for (i = selectControl.length - 1; i >=0; i--) 
    {
        selectControl.remove(i);       
    }
}

function appendSelectOption(elementID, optionText, optionValue)
{
  var optNew = document.createElement('option');
  optNew.text = optionText;
  optNew.value = optionValue;
  
  var selectControl = document.getElementById(elementID);
 
  try {
    selectControl.add(optNew, null);
  }
  catch(ex) {
    selectControl.add(optNew); 
  }
}
