﻿window.onload=onresize;
var TravelObject = new Travel();

//Common Utility functions 
//*************************************************************************************************
function onresize()
{
  var height = findPageHeight() - 90;
  document.getElementById("ctl00_ContentPlaceHolder1_iframpan").style.height = height + "px";
}
function findPageHeight(){
    if (!window.opera && (!document.compatMode ||
    document.compatMode=="CSS1Compat")) {
         return document.documentElement.clientHeight;
    }
    else if (document.compatMode && !window.opera) {
        return document.body.clientHeight;
    }
    return zero(self.innerHeight);
    }
    
function formatCurrency(num) {
       num = num.toString().replace(/\$|\,/g,'');
       if(isNaN(num))
       num = "0";
       sign = (num == (num = Math.abs(num)));
       num = Math.floor(num*100+0.50000000001);
       cents = num%100;
       num = Math.floor(num/100).toString();
       if(cents<10)
       cents = "0" + cents;
       for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
       num = num.substring(0,num.length-(4*i+3))+','+
       num.substring(num.length-(4*i+3));
       return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}

function chkNumber(sText)
 {
        var ValidChars = "0123456789.$,";
   var IsNumber=true;
   var Char;
   

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   
  return IsNumber;

 }
 
 
function Price_Factor(ItemCnt,Price,  Band1Num,  Band2Num,  Band2Fact,  Band3Num,  Band3Fact,  Band4Num,  Band4Fact,  BandOverFact)
{
            var functionReturnValue = 0;
            if (ItemCnt <= Band1Num)
            {
                functionReturnValue = ItemCnt * Price;
            }
            else if (ItemCnt <= Band2Num)
            {
                functionReturnValue = (Band1Num * Price + ((ItemCnt - Band1Num) * Price * Band2Fact));
            }
            else if (ItemCnt <= Band3Num)
            {
                functionReturnValue = (Band1Num * Price + (Band2Num - Band1Num) * Price * Band2Fact + ((ItemCnt - Band2Num) * Price * Band3Fact));
            }
            else if (ItemCnt <= Band4Num)
            {
                functionReturnValue = (Band1Num * Price + (Band2Num - Band1Num) * Price * Band2Fact + (Band3Num - Band2Num) * Price * Band3Fact + (ItemCnt - Band3Num) * Price * Band4Fact);
            }
            else if (ItemCnt > Band4Num)
            {
                functionReturnValue = (Band1Num * Price + (Band2Num - Band1Num) * Price * Band2Fact + (Band3Num - Band2Num) * Price * Band3Fact + (Band4Num - Band3Num) * Price * Band4Fact + ((ItemCnt - Band4Num) * Price * BandOverFact));
            }
            return functionReturnValue * 180;
}

function detNumCons(num_days)
{
       if (num_days <= 5)
            {
                return 1;
            }
            else if (num_days > 5 && num_days <= 10)
            {
                return 2;
            }
            else if (num_days > 10)
            {
                return 3;
            }
            return 1;
}



//**************************************************************************************
    
// Travel Stuff
//**************************************************************************************
    function Travel()
    {
        this.msa = "";
        this.airCode = "";
        this.airPort = "";
        this.flightTime = 0.0;
        this.travelTime = 0.0;
        this.travelTotal = 0.0;
        this.airFare = 0.0;
        this.mileage = 0.0;
        this.hotel = 0.0;
        this.car = 0.0;
        this.meals = 0.0;
        this.LoadSelected = LoadSelected;
        
        function LoadSelected(selectedmsa)
        {
        
           var allTravel = document.getElementById("ctl00_ContentPlaceHolder1_txtTravel").value;
           var travelLines = allTravel.split("\n");
           for(i = 0; i < travelLines.length; i++)
           {
           var selectedTravel = travelLines[i].split(",");
             if(selectedmsa == selectedTravel[0])
             {
                
                this.msa = selectedTravel[0];
                this.airCode = selectedTravel[1];
                this.airPort = selectedTravel[2];
                this.flightTime = selectedTravel[3];
                this.travelTime = selectedTravel[4];
                this.travelTotal = selectedTravel[5];
                this.airFare = selectedTravel[6];
                this.mileage = selectedTravel[7];
                this.hotel = selectedTravel[8];
                this.car = selectedTravel[9];
                this.meals = selectedTravel[10];
              }
           }
           
        }
    }
//**************************************************************************************************

function calPrice(field, check_num)
{
       
       if(check_num)
       {
        if(!chkNumber(field.value))
        {
          window.alert("INVALID ONLY NUMBERS ALLOWED");
          field.value = "0";
          field.focus();
          return 0;
         }
       }
       
       
       var selectedMSA = document.getElementById("ctl00_ContentPlaceHolder1_ddlCity").value;
       if(TravelObject.msa != selectedMSA)
       {
         TravelObject.LoadSelected(selectedMSA);
       }
       
       
        var Sub_Total; 
        
        var Site_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumSites").value * (8 * 180);
        
        var AuxSiteSameCity_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumAuxSitesSameCity").value * (8 * 180);
        var AuxSiteVisit_Price = document.getElementById("ctl00_ContentPlaceHolder1_txtAuxSitesVisited").value * (8 * 180);
        var AuxSiteNotVisit_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtAuxSitesNotVisited").value * (2.5 * 180);
        var APP_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumApps").value  * (1 * 180);
        var Depart_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumDepartments").value * (6 * 180);
        var Custom_App_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtCustomApps").value * (3 * 180);
        var NAS_SAN_Price = document.getElementById("ctl00_ContentPlaceHolder1_txtNasSanDev").value * (3 * 180);
   
        
            Sub_Total = Math.round(Site_Price + AuxSiteSameCity_Price + AuxSiteVisit_Price + AuxSiteNotVisit_Price + APP_Price + Depart_Price + Custom_App_Price + NAS_SAN_Price);
        
            var TotalSites = Math.round(document.getElementById("ctl00_ContentPlaceHolder1_txtNumSites").value) + Math.round(document.getElementById("ctl00_ContentPlaceHolder1_txtAuxSitesVisited").value);
		
            var NumConsultantsDel=0;
            var DelDays = 0;
            var DelHotel = 0; 
            var DelAirFare = 0; 
            var DelRental = 0; 
            var DelDining = 0; 
            var DelMileage = 0; 
            var TrvHrsDel = 0;  
            var DlvtTot = 0; 
          
            if( document.getElementById("ctl00_ContentPlaceHolder1_chkOnsiteDlvr").checked) 
            {    
                NumConsultantsDel = 1;
                DelDays = 1;
                DelHotel = Math.round(TravelObject.hotel);
                DelAirFare = Math.round(TravelObject.airFare);
                DelRental = Math.round(TravelObject.car);
                DelDining = Math.round(TravelObject.meals);
                DelMileage = Math.round(0.405 * TravelObject.mileage);
                TrvHrsDel = Math.round(TravelObject.travelTotal);
                DlvrTot = DelHotel + DelAirFare + DelRental + DelDining + DelMileage + TrvHrsDel;
            }
            else
             {   NumConsultantsDel = 1;
                DelDays = 0;
                DelHotel = 0;
                DelAirFare = 0;
                DelRental = 0;
                DelDining = 0;
                DelMileage = 0;
                TrvHrsDel = 350;
                DlvrTot = 350;
						} 
		
		document.getElementById("ctl00_ContentPlaceHolder1_txtAirCode").value = TravelObject.airCode;
		document.getElementById("ctl00_ContentPlaceHolder1_txtAirPort").value = TravelObject.airPort;
		document.getElementById("ctl00_ContentPlaceHolder1_txtMSA").value = TravelObject.MSA;
		
		document.getElementById("ctl00_ContentPlaceHolder1_txtOnSiteDaysDel").value= DelDays;
        document.getElementById("ctl00_ContentPlaceHolder1_txtDEL_Hotel").value= formatCurrency(Math.round(DelHotel) ).replace(".00", "");
       	document.getElementById("ctl00_ContentPlaceHolder1_txtDELAirFare").value= formatCurrency(Math.round(DelAirFare) ).replace(".00", "");
       	document.getElementById("ctl00_ContentPlaceHolder1_txtDELRental").value= formatCurrency(Math.round(DelRental) ).replace(".00", "");
        document.getElementById("ctl00_ContentPlaceHolder1_txtDELDining").value= formatCurrency(Math.round(DelDining) ).replace(".00", "");
        document.getElementById("ctl00_ContentPlaceHolder1_txtDELMileage").value= formatCurrency(Math.round(DelMileage) ).replace(".00", "");
        document.getElementById("ctl00_ContentPlaceHolder1_txtDELLabor").value= formatCurrency(Math.round(TrvHrsDel) ).replace(".00", "");
        document.getElementById("ctl00_ContentPlaceHolder1_txtDELTotal").value= formatCurrency(Math.round(DlvrTot) ).replace(".00", "");
		 
		
         document.getElementById("ctl00_ContentPlaceHolder1_txtDays").value = Math.round(10 + Sub_Total / 1000);
        document.getElementById("ctl00_ContentPlaceHolder1_txtDelivery").value = Math.ceil(document.getElementById("ctl00_ContentPlaceHolder1_txtDays").value / 5);
        var OnSiteDays  = Math.round(Sub_Total / 6120)
        var numCons = detNumCons(OnSiteDays); 
        document.getElementById("ctl00_ContentPlaceHolder1_txtnumConsultants").value = numCons; 
        document.getElementById("ctl00_ContentPlaceHolder1_txtOnSiteDays").value = OnSiteDays;
        document.getElementById("ctl00_ContentPlaceHolder1__txtOnSiteDays").value = Math.round(OnSiteDays / numCons);


           var Labor  = numCons * (TravelObject.travelTotal) * TotalSites;
	    document.getElementById("ctl00_ContentPlaceHolder1_txtDCLabor").value= formatCurrency(Math.round(Labor) ).replace(".00", "");
        var DC_Hotel  = TravelObject.hotel * document.getElementById("ctl00_ContentPlaceHolder1_txtOnSiteDays").value * TotalSites;
        document.getElementById("ctl00_ContentPlaceHolder1_txtDC_Hotel").value= formatCurrency( Math.round(DC_Hotel)).replace(".00", "");
        var DCAirFare  = TravelObject.airFare * numCons * TotalSites;
        document.getElementById("ctl00_ContentPlaceHolder1_txtDCAirFare").value= formatCurrency( Math.round(DCAirFare)).replace(".00", "");
        var car = document.getElementById("ctl00_ContentPlaceHolder1_txtOnSiteDays").value / numCons;
        var DCRental  = TravelObject.car * Math.round(car);
        document.getElementById("ctl00_ContentPlaceHolder1_txtDCRental").value= formatCurrency( Math.round(DCRental)).replace(".00", "");
        var DCDining  = TravelObject.meals * document.getElementById("ctl00_ContentPlaceHolder1_txtOnSiteDays").value * numCons;
        document.getElementById("ctl00_ContentPlaceHolder1_txtDCDining").value= formatCurrency( Math.round(DCDining)).replace(".00", "");
        var DCMileage  = 1 * TravelObject.mileage;
        document.getElementById("ctl00_ContentPlaceHolder1_txtDCMileage").value= formatCurrency( Math.round(DCMileage* TotalSites)).replace(".00", "");
        var DataTot = Math.round(DC_Hotel + DCAirFare + DCRental + DCDining + DCMileage + Labor);
       
        document.getElementById("ctl00_ContentPlaceHolder1_txtTotal").value= formatCurrency(Math.round(DataTot)).replace(".00", "");

        document.getElementById("ctl00_ContentPlaceHolder1_txtLaborST").value = formatCurrency(Math.round(Sub_Total)).replace(".00", "");
        document.getElementById("ctl00_ContentPlaceHolder1_txtChnltoCust").value = formatCurrency(Math.round((Sub_Total + DataTot + DlvrTot)*1.25)).replace(".00", "");
      
      var firstChannel = document.getElementById("ctl00_ContentPlaceHolder1_lstChannel").value;
    }
    
    
    
 function chIframe()
 {
    var Deliverable = document.getElementById("ctl00_ContentPlaceHolder1_lboxDeliverable").value;
        switch(Deliverable)
        {
          case("SOW"):
              document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/SOW Templates/Direct_CDW/Spohn_CDW_SOW_BCP_Phase_1.pdf";
               break;
          case("Collateral"):
              document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/Split/Collateral/Spohn/Fact Sheets/Docs/BCDR Services v.3.1.pdf";
               break;
             case("FAQ"):
                 document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/Split/Collateral/Spohn/Overview/Docs/BCDR FAQ.pdf";
             break;
              case("Questionnaire"):
                  document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/Questionnaire/BCP Questionnaire.doc";
             break;
             case("Definitions"):
                 document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/Definitions/BCP Definitions.pdf";
             break;
          }
 }
