/**********************************************************************************************/
var numItems = 0;

// var schools = "<option>school</option>";
// var positions = "<option>position</option>";
// var content_area = "<option>content</option>";

function ajaxManager()
{
    var args = ajaxManager.arguments;
    
    var el_debug = document.getElementById('debug');
    
    switch (args[0])
    {
        case "set_numItems":
            numItems = args[1];
            break;
        case "principal_approval":
            var approval = document.getElementById('approval').value;
            var el = document.getElementById('principalRejectionDiv');
            if (approval == "denied")
            {
               el.innerHTML = "Rejection Reason: <input name=\"principalRejectionReason\" type=\"text\" id=\"principalRejectionReason\" size=\"50\" />";
            }
            else
            {
               el.innerHTML = "";
            }
            break;

        case "select_grade":
            var grade = document.getElementById('grade').value;
            if (grade == "Other")
            {
               document.getElementById('gradeOther').disabled = false;
            }
            else
            {
               document.getElementById('gradeOther').value = "";
               document.getElementById('gradeOther').disabled = true;
            }
            break;
        case "add_item_row":
        
            //el_debug.innerHTML = "Testing: " + numItems;

            numItems++;
            var num = numItems;
               
            var row = document.getElementById('itemTable').insertRow(num);
            var currentVendor = "";
            if (num > 1)
            {
               currentVendor = document.getElementById('item_vendor_' + (num-1)).value;
            }

            var cell1 = '<label><input class="itemEntry" name="item_vendor_' + num + '" type="text" id="item_vendor_' + num + '" size="15" value="' + currentVendor + '" /></label>';
            var cell2 = '<label><input class="itemEntry" name="item_description_' + num + '" type="text" id="item_description_' + num + '" size="30" /></label>';
            var cell3 = '<label><select name="item_content_' + num + '" id="item_content_' + num + '">' +
                          content_area +
                          '</select></label>';
            var cell4 = '<label><input class="itemEntryRight" onBlur="calculateTotals();" name="item_quantity_' + num + '" type="text" id="item_quantity_' + num + '" size="10" /></label>';
            var cell5 = '<label><input class="itemEntryRight" onBlur="calculateTotals();" name="item_cost_' + num + '" type="text" id="item_cost_' + num + '" size="10" /></label>';
            var cell6 = '<label><input class="itemEntryRight" name="item_subtotal_' + num + '" type="text" id="item_subtotal_' + num + '" size="10" /></label>';
            
            row.insertCell(0).innerHTML = cell1;
            row.insertCell(1).innerHTML = cell2;
            row.insertCell(2).innerHTML = cell3;
            row.insertCell(3).innerHTML = cell4;
            row.insertCell(4).innerHTML = cell5;
            row.insertCell(5).innerHTML = cell6;

            var el_count = document.getElementById('item_count');
            el_count.innerHTML = "<input type=hidden name='item_count' value='" + num +"'>";

            document.getElementById('item_subtotal_' + num).disabled = true;

            break;
                       
        case "start_up":
            if (args[1])
               numItems = args[1];
            if (numItems == 0)
               ajaxManager('add_item_row');
            ajaxManager('select_grade');
         
            document.getElementById('budgetTotal').disabled = true;
            calculateTotals();
            break;
    }
}

function updatePrincipal()
{
   var schoolName = document.getElementById('school').value;
   var elPrincipalName = document.getElementById('principalName');
   var elPrincipalEmail = document.getElementById('principalEmail');
   
   if (school_principal_map[schoolName])
     elPrincipalName.value = school_principal_map[schoolName];
   else
     elPrincipalName.value = '';
   
   if (school_email_map[schoolName])
     elPrincipalEmail.value = school_email_map[schoolName];
   else
     elPrincipalEmail.value = '';
}

function calculateTotals()
{
   var total = 0;
   var re = /^\$|,/g;
   
   for (var ii = 1; ii <= numItems; ii++)
   {
      var cost = document.getElementById('item_cost_' + ii).value;
      var cost_value = parseFloat(cost.replace(re, ""));
      var count = parseFloat(document.getElementById('item_quantity_' + ii).value);      
      
      var subtotal = cost_value * count;
      
      if (isNaN(subtotal))
         subtotal = 0;
      
      total += subtotal;
      
      var subtotal_el = document.getElementById('item_subtotal_' + ii);
      subtotal_el.value = '$' + subtotal.toFixed(2);
      subtotal_el.disabled = true;
   }
   
   var tax = document.getElementById('budgetTaxShipping').value;   
   var tax_value = parseFloat(tax.replace(re,""));
   
   if (isNaN(tax_value))
      tax_value = 0;
   
   total += tax_value;
   
   if (isNaN(total))
      total = 0;
   
   document.getElementById('budgetTotal').value = '$' + total.toFixed(2);
}

function stopRKey(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;}
}

document.onkeypress = stopRKey;

/**********************************************************************************************/

