﻿
function getDiffDatesFormat(strDate1,strDate2) 
{
	var date1 = Date.parse(strDate1);
	var date2 = Date.parse(strDate2);
	
	var difference = date2 - date1;
	
	difference = difference/1000/60/60/24;
	return Math.round(difference);
}

function CalculateParkingCost()
{
    var chargeDays  = 0;
    var baseCost    = 0;
    var netCost     = 0;    

    var datDepart;
    var datReturn;

    var datDepartString;
    var datReturnString;

    var lstDepartDay; 
    var lstDepartMonth;
    var lstDepartYear;

    lstDepartDay = document.getElementById('ctl00_cplMainContent_lstDepartureDay');
    lstDepartMonth = document.getElementById('ctl00_cplMainContent_lstDepartureMonth');                
    lstDepartYear = document.getElementById('ctl00_cplMainContent_lstDepartureYear');                
       
    var intDepartDay; 
    var intDepartMonth;
    var strDepartMonth;
    var intDepartYear;
                
    intDepartDay = lstDepartDay[lstDepartDay.selectedIndex].value;
    intDepartMonth = lstDepartMonth[lstDepartMonth.selectedIndex].value;
    strDepartMonth = lstDepartMonth[lstDepartMonth.selectedIndex].text;
    intDepartYear = lstDepartYear[lstDepartYear.selectedIndex].value;

    var lstReturnDay; 
    var lstReturnMonth;
    var lstReturnYear;

    lstReturnDay = document.getElementById('ctl00_cplMainContent_lstReturnDay');
    lstReturnMonth = document.getElementById('ctl00_cplMainContent_lstReturnMonth');
    lstReturnYear = document.getElementById('ctl00_cplMainContent_lstReturnYear');
       
    var intReturnDay; 
    var intReturnMonth;
    var strReturnMonth;
    var intReturnYear;

    intReturnDay = lstReturnDay[lstReturnDay.selectedIndex].value;
    intReturnMonth = lstReturnMonth[lstReturnMonth.selectedIndex].value;
    strReturnMonth = lstReturnMonth[lstReturnMonth.selectedIndex].text;
    intReturnYear = lstReturnYear[lstReturnYear.selectedIndex].value;

    datDepartString = strDepartMonth + ' ' + intDepartDay + ', ' + intDepartYear;
    datReturnString = strReturnMonth + ' ' + intReturnDay + ', ' + intReturnYear;

    datDepart = intDepartDay + '/' + intDepartMonth + '/' + intDepartYear;
    datReturn = intReturnDay + '/' + intReturnMonth + '/' + intReturnYear;

    var strParkType;
    var radParkTypeUndercover;
    var radParkTypeOutdoor;        

    radParkTypeUndercover = document.getElementById('ctl00_cplMainContent_radParkingUndercover');
    radParkTypeOutdoor = document.getElementById('ctl00_cplMainContent_radParkingOutdoor');

    if (isDate(datDepart) && isDate(datReturn))
    {          
        chargeDays = getDiffDatesFormat(datDepartString,datReturnString);
        chargeDays = chargeDays + 1;
    }
  
    if (chargeDays != 0 && (radParkTypeUndercover.checked == true || radParkTypeOutdoor.checked == true))
    {
        if (radParkTypeUndercover.checked == true)
        {
            if (chargeDays >= arrUndercoverRates.length - 1)
            {
                baseCost = arrUndercoverRates[arrUndercoverRates.length -2];
                baseCost = baseCost + arrUndercoverRates[arrUndercoverRates.length -1] * (chargeDays - (arrUndercoverRates.length-2));                    
            }
            else
            {
                baseCost = arrUndercoverRates[chargeDays];
            }
        }
        else
        {
            if (chargeDays >= arrOutdoorRates.length - 1)
            {
                baseCost = arrOutdoorRates[arrOutdoorRates.length -2];
                baseCost = baseCost + arrOutdoorRates[arrOutdoorRates.length -1] * (chargeDays - (arrOutdoorRates.length-2));                    
            }
            else
            {
                baseCost = arrOutdoorRates[chargeDays];
            }
        }                    
    }
        
    if (baseCost != 0)
    {
        netCost = baseCost;
    } 
        
    if (isNaN(netCost))
    {
        netCost = 0;
    }
            
    lstCarType = document.getElementById('ctl00_cplMainContent_lstCarType');
    
    if (lstCarType != null)
    {
        var intParkCost;

        intParkCost = lstCarType[lstCarType.selectedIndex].value;
        
        intParkCost = intParkCost.substring(intParkCost.indexOf(',') + 1);
        
        netCost = netCost * intParkCost;
    }
    else
    {
        lstCarMake = document.getElementById('ctl00_cplMainContent_lstCarMake');
        
        var intParkCost;

        intParkCost = lstCarMake[lstCarMake.selectedIndex].value;
        
        if (intParkCost != "-1,1")
        {
            intParkCost = intParkCost.substring(intParkCost.indexOf(',') + 1);
        
            intParkCost = intParkCost.substring(intParkCost.indexOf(',') + 1);
        
            netCost = netCost * intParkCost;
        }
    }
        
    return netCost;     
}

