﻿// JScript File
window.onload=onresize;
var TravelObject = new Travel();

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 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;
}

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);
}

// 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 Site_Price = document.getElementById("ctl00_ContentPlaceHolder1_txtNumSites").value * (15 * 180);

            var Svrs_Price = (Math.sqrt(document.getElementById("ctl00_ContentPlaceHolder1_txtNumSvrs").value) + 1) * (5 * 180);
         
            var Employee_Price = document.getElementById("ctl00_ContentPlaceHolder1_txtNumEmp").value * 0;

            var Routers_Price = (Math.sqrt(document.getElementById("ctl00_ContentPlaceHolder1_txtNumRouters").value) + 1) * 180;
            
            var FW_IDS_Price = (Math.sqrt(document.getElementById("ctl00_ContentPlaceHolder1_txtNumFWandIDS").value) + 1) * (5 * 180);
            
            var Wrkstn_Price = (Math.sqrt(document.getElementById("ctl00_ContentPlaceHolder1_txtNumWkstn").value) + 1) * 180;
            
            var wireless_Price = (Math.sqrt(document.getElementById("ctl00_ContentPlaceHolder1_txtWireless").value) + 1) * (5 * 180);
             

            var AuxSiteSameCity_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumAuxSitesSameCity").value * (10 * 180);
            var AuxSiteVisit_Price = document.getElementById("ctl00_ContentPlaceHolder1_txtAuxSitesVisited").value * (10 * 180);
            var AuxSiteNotVisit_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtAuxSitesNotVisited").value * (0.25 * 180);
      
            var db_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumDb").value * (7.5 * 180);

            var Apps_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumApps").value * (7.5 * 180);

            var websites_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumWebSites").value * (7.5 * 180);

            var tran_method_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumTrans").value * 0;

            var procs_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtnumProcMethod").value * (5 * 180);

            var streams_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumStreams").value * (5 * 180);

            var source_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtNumSource").value * (5 * 180);

            var tran_func_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtTranFunc").value * (5 * 180);

            var upconn_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtUpConn").value * (5 * 180);

            var lob_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txtLob").value * (10 * 180);

            var outsource_Price  = document.getElementById("ctl00_ContentPlaceHolder1_txt3party").value * (1.5 * 180);

            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", "");
	        var SubTotal = Math.round(Site_Price + AuxSiteVisit_Price + AuxSiteNotVisit_Price  + AuxSiteSameCity_Price + Svrs_Price + Routers_Price + FW_IDS_Price + Wrkstn_Price + wireless_Price + db_Price + Apps_Price + websites_Price + procs_Price + streams_Price + source_Price + tran_func_Price + upconn_Price + lob_Price + outsource_Price + tran_method_Price);
	        //Kim check to see if this is correct PCI regular price GAP = Sub Total * 3
	        var Sub_Total = 0;
	        switch( GetAttributeValue(window.location.search.substring(1), "Type", '&', '='))
            {
                    case("PCI"):
                       Sub_Total = SubTotal * 3;
                    break;
                    case("GAP"):
                        Sub_Total = SubTotal;
                    break
            }
            

            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 TotalSites = Math.round(document.getElementById("ctl00_ContentPlaceHolder1_txtNumSites").value) + Math.round(document.getElementById("ctl00_ContentPlaceHolder1_txtAuxSitesVisited").value);

        var OnSiteDays  = Math.round(1+Sub_Total / 9000);
        document.getElementById("ctl00_ContentPlaceHolder1_txtOnSiteDays").value = OnSiteDays;

        var numCons = DetNumCons(OnSiteDays); 
        document.getElementById("ctl00_ContentPlaceHolder1__txtOnSiteDays").value = OnSiteDays / numCons;
        document.getElementById("ctl00_ContentPlaceHolder1_txtnumConsultants").value = 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  = 0.405 * 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(DataTot).replace(".00", "");
      
	        document.getElementById("ctl00_ContentPlaceHolder1_txtLaborST").value = formatCurrency(Sub_Total).replace(".00", "");
            document.getElementById("ctl00_ContentPlaceHolder1_txtChnltoCust").value = formatCurrency(Math.round((Sub_Total + DataTot + DlvrTot)*1.25)).replace(".00", "");
           // document.getElementById("ctl00_ContentPlaceHolder1_txtSphtoChnl").value = formatCurrency( Math.round(Sub_Total + Labor + TrvHrsDel)).replace(".00", "");
           // document.getElementById( "ctl00_ContentPlaceHolder1_txtSphtoCust").value = formatCurrency(Math.round(Sub_Total + Labor + TrvHrsDel)).replace(".00", "");
           // document.getElementById("ctl00_ContentPlaceHolder1_txtSpohntoChnl").value = formatCurrency( Math.round(Sub_Total + DataTot + DlvrTot)).replace(".00", "");
           // document.getElementById( "ctl00_ContentPlaceHolder1_txtSpohntoCust").value = formatCurrency(Math.round(Sub_Total + DataTot + DlvrTot)).replace(".00", "");
          

            document.getElementById("ctl00_ContentPlaceHolder1_txtTotal").value = formatCurrency( Math.round(DataTot)).replace(".00", "");
        
          var firstChannel = document.getElementById("ctl00_ContentPlaceHolder1_lstChannel").value;
        
        //ShowPrice(firstChannel);
       
         }
        
        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;
        }
 /*       function ShowPrice(type)
{
              switch( type)
              {
                case("AT&T NDO"):
                    document.getElementById("ctl00_ContentPlaceHolder1_txtSpohntoChnl").value = "";
                    document.getElementById("ctl00_ContentPlaceHolder1_txtSpohntoCust").value = "";
                     document.getElementById("ctl00_ContentPlaceHolder1_lblChnltoCust").disabled = false;
                     document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoChnl").disabled = true;
                    document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoCust").disabled = true;
                     break;
                case("AT&T NI"):
                    document.getElementById("ctl00_ContentPlaceHolder1_txtChnltoCust").value = "";
                    document.getElementById("ctl00_ContentPlaceHolder1_txtSpohntoCust").value = "";
                    document.getElementById("ctl00_ContentPlaceHolder1_lblChnltoCust").disabled = true;
                    document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoChnl").disabled = false;
                    document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoCust").disabled = true;
                     break;
             case("CDW"):
                    document.getElementById("ctl00_ContentPlaceHolder1_txtSpohntoChnl").value = "";
                    document.getElementById("ctl00_ContentPlaceHolder1_txtSpohntoCust").value = "";
                     document.getElementById("ctl00_ContentPlaceHolder1_lblChnltoCust").disabled = false;
                     document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoChnl").disabled = true;
                    document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoCust").disabled = true; 
                    break;
                case("Spohn Direct"):
                     document.getElementById("ctl00_ContentPlaceHolder1_txtChnltoCust").value = "";
                     document.getElementById("ctl00_ContentPlaceHolder1_txtSpohntoChnl").value = "";
                     document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoCust").disabled = false;
                     document.getElementById("ctl00_ContentPlaceHolder1_lblChnltoCust").disabled = true;
                     document.getElementById("ctl00_ContentPlaceHolder1_lblSphtoChnl").disabled = true;
                 break;
               break;
              }
 } */
         
 function chIframe()
 {
    
    var firstChannel = document.getElementById("ctl00_ContentPlaceHolder1_lstChannel").value;
    var Deliverable = document.getElementById("ctl00_ContentPlaceHolder1_lboxDeliverable").value;
    switch( GetAttributeValue(window.location.search.substring(1), "Type", '&', '='))
        {
    case("PCI"):
    switch(Deliverable)
    {
       case("Collateral"):
        switch(firstChannel)
        {
            case("AT&T NI"): 
                document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Split/Collateral/Spohn/Fact Sheets/Docs/NetAUDIT CISP Security Assessment v2.2.pdf";
                break;
            case("AT&T NDO"):
                document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Split/Collateral/Spohn/Fact Sheets/Docs/NetAUDIT CISP Security Assessment v2.2.pdf";
                break;
            case("CDW"):
            case("Spohn Direct"):
                document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Split/Collateral/Spohn/Fact Sheets/Docs/NetAUDIT CISP Security Assessment v2.2.pdf";
                break;
        }
        break;
        case("SOW"):
            switch(firstChannel)
            {
                case("AT&T NDO"): 
                    document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/SOW Templates/ATT NDO/Master_SOW_ACE_SAPCI_04_2007.pdf";
                    break;
                case("AT&T NI"):
                    document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/SOW Templates/ATT NI/ATT NI PCI Compliance Template v 1.0 NEW FORMAT.pdf";
                    break;
                case("CDW"):
                case("Spohn Direct"):
                    document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/SOW Templates/Direct_CDW/PCI Validation ROC SOW-C v 1 - NEW.pdf";
                    break;
        }
             case("Questionnaire"):
             document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Questionnaire/PCI Questionnaire.doc";
             break;
//             case("Definitions"):
//             document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Definitions/BCP Definitions.pdf";
//             break;     
      
        break;
        
                   
    }
    break;
    case("GAP"):
    switch(Deliverable)
    {
       case("Collateral"):
        switch(firstChannel)
        {
            case("AT&T NI"): 
                document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Split/Collateral/Spohn/Fact Sheets/Docs/NetAUDIT CISP Security Assessment v2.2.pdf";
                break;
            case("AT&T NDO"):
                document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Split/Collateral/Spohn/Fact Sheets/Docs/NetAUDIT CISP Security Assessment v2.2.pdf";
                break;
            case("CDW"):
            case("Spohn Direct"):
                document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Split/Collateral/Spohn/Fact Sheets/Docs/NetAUDIT CISP Security Assessment v2.2.pdf";
                break;
        }
        break;
        case("SOW"):
            switch(firstChannel)
            {
                case("AT&T NDO"): 
                    document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/SOW Templates/ATT NDO/Master_SOW_ACE_SAPCI_04_2007.pdf";
                    break;
                case("AT&T NI"):
                    document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src = "./documents/Sales Info/SOW Templates/ATT NI/ATT NI PCI Gap Analysis Template 1.0 NEW FORMAT.pdf";
                    break;
                case("CDW"):
                case("Spohn Direct"):
                    document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/SOW Templates/Direct_CDW/PCI Gap Analysis SOW-  v 1.0 NEW.pdf";
                    break;
        }
        break;
             case("Questionnaire"):
             document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Questionnaire/PCI Questionnaire.doc";
             break;
//             case("Definitions"):
//             document.getElementById('ctl00_ContentPlaceHolder1_pdfDoc').src ="./documents/Sales Info/Definitions/BCP Definitions.pdf";
//             break;     
      
        
                   
    }
    break
    }
 }
 
 function chkNumber(sText)
 {
        var ValidChars = "0123456789.$,";
   var IsNumber=true;
   var Char;
   

 
   for (i = 0; i < sText.length && IsNumber ; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   
  return IsNumber;

 }
 
  function GetAttributeValue(attribList, attribName, firstDelim, secondDelim) {
 var attribNameLowerCase = attribName.toLowerCase();
 if (attribList) {
  var attribArr = attribList.split(firstDelim);
  for (var i = 0, loopCnt = attribArr.length; i < loopCnt; i++) {
   var nameValueArr = attribArr[i].split(secondDelim);
   for (var j = 0, loopCnt2 = nameValueArr.length; j < loopCnt2; j++) {
    if (nameValueArr[0].toLowerCase().replace(/\s/g, '') == attribNameLowerCase && loopCnt2 > 1) {
     return nameValueArr[1];
    }
   }
  }
 }
}
