﻿window.onload = function(){init();};

var styCardPrice = 22;

function init(){
  var totalSpans=[];
  var o = document.getElementById('insuranceContent') || document.getElementById('styCardContent');
  if (o&&getElementsByClassName('validation','span').length > 0){
    updateTotals();      
    if (o.id == 'insuranceContent') attachEventsToSelect(o); 
  };
};

function attachEventsToSelect(_parent){
  if (_parent){
    var oSelects = _parent.getElementsByTagName('select');
    if (oSelects&&oSelects.length > 0){
      for(var i=0;i<oSelects.length;i++){
        oSelects[i].onchange = updateTotals;      
      };    
    };
  };
};

function getElementsByClassName(_name,_type){
  var r=[];
  var re=new RegExp('(^|\\s)' + _name + '(\\s|$)');  
  var e=document.getElementsByTagName(_type || '*');
  for (var j=0;j<e.length;j++){        
   if (re.test(e[j].className)) r.push(e[j]);
  };  
  return r;
};

function updateTotals(){  
  var totals = getElementsByClassName('totalCost','div');
  if (totals.length > 0){
    var iTotalAmount=0;
    var amounts = document.getElementsByTagName('select');    
    if (amounts&&amounts.length > 0){
      if (isNaN(amounts[0].options[0].value)){
        iTotalAmount = amounts.length * styCardPrice;
      }else{
        for (var i=0;i<amounts.length;i++){
          iTotalAmount += parseInt(amounts[i].options[amounts[i].selectedIndex].value);    
        };   
      };
    };          
    for (var i=0;i<totals.length;i++){
      totals[i].style.display = 'block';
      totalSpans=totals[i].getElementsByTagName('span');
      if (totalSpans.length > 0) totalSpans[0].innerHTML = '$' + iTotalAmount;
    };             
  };     
};

