﻿var DefaultImage = 0;
var DefaultAnnual = 0;
var DefaultPlanID = 0;
var FinalPayment = 0;
var IsActive = 0;
var SelectedPlanID = 0;
var HasImageUpgrade = 0;
function CheckSemi(){
    var chk = document.getElementById("chkAnnual");
    chk.checked = false;
    Calculate();
}

function CheckMonthly(){
    var chk = document.getElementById("chkAnnual");
    chk.checked = false;
    Calculate();
}


function CheckAnnual(){
    var chk = document.getElementById("chkMonthly");
    chk.checked = false;
    Calculate();
}

function SetText(control, text){
    var ele = document.getElementById(control);
    if ( ele ) {
        ele.innerHTML = text;
    }
}

function SetClass(control, text){
    var ele = document.getElementById(control);
    if ( ele ) {
        ele.className = text;
        ele.setAttribute("class",text);
    }
}


function SetDefaultCheck(imagehosting, annual, planID, active)
{    
    if ( imagehosting == 1 ) {
        DefaultImage = 1;
        var obj = document.getElementById("chkImageUpgrade");
        if ( obj ) { obj.checked = true; if ( active == 1 ) {obj.disabled = true; } }        
        //SetText("dvchkImageUpgrade", "<img src='/images/icons/tick.png' border=0 alt='Selected' title='Selected' />");
    } 
     
    if ( annual == 1 ) {
        DefaultAnnual = 1;
        var obj = document.getElementById("chkAnnual");
        if ( obj ) { obj.checked = true; }
    }    
    DefaultPlanID = planID;
    IsActive = active;
    
    if ( planID == 14 && active == 1 && imagehosting == 0 && annual == 0 ) {
        var obj = document.getElementById("chkImageUpgrade");
        if ( obj ) { obj.checked = true; }   
        obj = document.getElementById("rdPlan2");
        if ( obj ) { obj.checked = true; }   
    }
    Calculate();
}

function SetCheckOld(imagehosting, annual){
    if ( imagehosting == 1 ) {
        var obj = document.getElementById("chkImageUpgrade");
        if ( obj ) { if ( obj.disabled == false ) { obj.checked = true; } }
    }
    if ( annual == 1 ) {
        var obj = document.getElementById("chkAnnual");
        if ( obj ) { obj.checked = true; }
    }    
}

 function DoValidate() {
    if(!document.getElementById("chkMonthly").checked && !document.getElementById("chkAnnual").checked )
    {
        alert("Please select Annual or Monthly Plan");
        document.getElementById("chkAnnual").focus();
        return false;
    }
    if ( FinalPayment == 0 || SelectedPlanID == 0 ) {
        alert("You have not selected any upgrade.");        
        return false;
    }
    
    var objImg = document.getElementById("imgUpgrade");
    if ( objImg ) {
        objImg.value = HasImageUpgrade;
    }
    return true;
}
         
// JScript File
function Calculate()
{
    HasImageUpgrade = 0;
    var chkPlan = document.getElementById("chkPlan");
    var chkImageUpgrade = document.getElementById("chkImageUpgrade");
    var chkAnnual = document.getElementById("chkAnnual");
    var chkSemiAnnual = document.getElementById("chkSemiAnnual");
    var AnnualSelected = 0 ;
    if ( typeof(DiscountAmountCurrent)  == "undefined" )
        DiscountAmountCurrent  = 0 ;
    
    var DiscountFactor = ( 1 - DiscountAmountCurrent * 0.01 ) ;    
    var selPlan = document.getElementById("selPlan");
    var planAmt = 0, addonAmt = 0, planID = 0;
    var monthlyAmt = 0, semiAmt = 0, annualAmt = 0, annualSave = 0;
    var index = -1;
    var rd ;
    for ( var i = 0, l = arrPlan.length ; i < l ; i++ ) {
        rd = document.getElementById("rdPlan" + i);
        if ( rd ) {
            if ( rd.checked ) {
                planID = rd.value;
                SelectedPlanID = planID;
                index = i;
                i = l;
            }
        }      
    }
    
    var planDetail = "", discountDetail = "", finalSaving = "", finalSavingAmt = 0, finalAmount = 0, avgAmount = 0, period = 1, divideperiod = 1, avgSaving = 0;
    var planSemiPercent, planAnnualPercent, planName, planPercent;
    var hasImageAddon = 0, hasAnnualPlan = 0;
    
    if ( index != -1) {
        if ( arrPlan[index][1].length != 0 && arrPlan[index][1] != 0) {    
            monthlyAmt  = arrPlan[index][0].replace(",","");
            semiAmt = arrPlan[index][1].replace(",","");
            annualAmt = arrPlan[index][2].replace(",","");
            planSemiPercent = arrPlan[index][3];
            planAnnualPercent = arrPlan[index][4];
            planName = arrPlan[index][5]; 
        }     
        planAmt = parseFloat(monthlyAmt);                       
    } else {
        planAmt = 0;
    }
    
    /*
    if ( currentPlanIndex == index ) {
        planAmt = 0;
        annualAmt = 0;
        semiAmt = 0;
        monthlyAmt = 0;    
    }
    */
    if ( (chkImageUpgrade.disabled == false && chkImageUpgrade.checked) || ( chkImageUpgrade.disabled == true && chkAnnual.checked && DefaultAnnual != "1")  ) {
        addonAmt =  parseFloat(arrImageHosting);
        hasImageAddon = 1;
        HasImageUpgrade = 1;
    }

    if ( chkAnnual.disabled == false && chkAnnual.checked )  {
        finalAmount =   parseFloat(annualAmt) + ( parseFloat(addonAmt) * 12 * ((100-parseFloat(planAnnualPercent)) / 100));        
        //finalSavingAmt = ((monthlyAmt + addonAmt) * 12) - finalAmount ;
        planPercent = planAnnualPercent  ;
        divideperiod = 12;
        hasAnnualPlan = 1;
        AnnualSelected = 1;
    } else {
        finalAmount =  ( parseFloat(monthlyAmt) + parseFloat(addonAmt) );        
        //finalSavingAmt = 0;
        planPercent = 0;
        divideperiod = 1;
    } 
    
    monthlyAmt = parseFloat(monthlyAmt);
    
    // Calculate Promo Discount  
    var promoSaveAmt = finalAmount - (finalAmount * DiscountFactor);
    var avgPromosavings = promoSaveAmt / divideperiod;    
    finalAmount = finalAmount * DiscountFactor;
    finalSavingAmt = ((monthlyAmt + addonAmt) * divideperiod) - finalAmount ;
    FinalPayment = finalAmount;
    /*
    if ( parseInt(planID) == parseInt(DefaultPlanID) && 
        (hasImageAddon == DefaultImage || (DefaultImage == 1 && hasImageAddon == 0 ) ) && 
        hasAnnualPlan == DefaultAnnual && IsActive == 1) {
        FinalPayment = 0;   
        HasImageUpgrade = 0;
    }
    */
    
    if ( AnnualSelected == 1 ) {
        annualSave = finalSavingAmt /12 ;
    } else {
        var tmpAmt = parseFloat(annualAmt) + ( parseFloat(addonAmt) * 12 * ((100-parseFloat(planAnnualPercent)) / 100));
        tmpAmt =  tmpAmt * DiscountFactor;
        tmpAmt = ((monthlyAmt + addonAmt) * 12) - tmpAmt;
        annualSave = tmpAmt / 12;
    }
    // End Calculate Promo Discount     
    monthlyTotal = parseFloat(planAmt) + parseFloat(addonAmt);      
    
    avgAmount = finalAmount / divideperiod;    
    avgSaving = monthlyTotal - avgAmount - avgPromosavings;
    SetText("dvPlanAmount", CurrencyPrefix + FormatNumber(planAmt));
    SetText("dvAddOnAmount", CurrencyPrefix + FormatNumber(addonAmt));
    SetText("dvMonthlyAmount", CurrencyPrefix + FormatNumber(monthlyTotal));
    
    if ( avgSaving > 0 ) {
        SetClass("dvDiscountText", "green");
        SetClass("dvDiscountAmount", "green");
        SetText("dvDiscountText", "Discounts @" + planPercent + "%"); 
        SetText("dvDiscountAmount", "(" + CurrencyPrefix + FormatNumber(avgSaving) + ")");
    } else {
        SetClass("dvDiscountText", "");
        SetClass("dvDiscountAmount", "");
        SetText("dvDiscountText", "Discounts ");
        SetText("dvDiscountAmount", CurrencyPrefix + FormatNumber(avgSaving));
    }    
    
    if ( avgPromosavings > 0 ) {
        SetClass("dvPromoDiscountText", "green");
        SetClass("dvPromoDiscountAmount", "green");
        SetText("dvPromoDiscountText", "Promo Discount @" + FormatNumber(DiscountAmountCurrent) + "%"); 
        SetText("dvPromoDiscountAmount", "(" + CurrencyPrefix + FormatNumber(avgPromosavings) + ")");      
    } else {      
        SetClass("dvPromoDiscountText", "");
        SetClass("dvPromoDiscountAmount", "");
        SetText("dvPromoDiscountText", "Promo Discount ");
        SetText("dvPromoDiscountAmount", CurrencyPrefix + FormatNumber(avgPromosavings));   
    } 
    
    if ( String(planName) == "undefined" ) {
        SetText("dvPlanName", "");
    } else {
        if ( planAmt == 0 ) {
            SetText("dvPlanName", "(" + planName + " current)");
        } else {
            SetText("dvPlanName", "(" + planName + ")");
        }
    }
    var dvPlan = document.getElementById("dvPlan" + planID);
    var ExcessText = "";
    if ( dvPlan ) { ExcessText = dvPlan.title; }
    SetText("dvExcess", ExcessText);
    SetText("dvAverageMonthly", CurrencyPrefix +  FormatNumber(avgAmount));
    SetText("dvTotalAmount", "Total Cost -  " + CurrencyPrefix +  FormatNumber(finalAmount));
    SetText("dvTotalSavingAmount", "You saved " + CurrencyPrefix +  FormatNumber(finalSavingAmt) + " on your plan");
    if ( annualSave > 0 ) {        
        SetText("dvAnnualSavingDetail", "A savings of " + CurrencyPrefix + FormatNumber(annualSave) + " per month.");
    } else {
        SetText("dvAnnualSavingDetail", "");
    }
    
    
}

function FormatNumber(num){
    var xnum = num.toString();
    if ( xnum == "NaN" ) { xnum = ""; }
    if ( xnum.length == 0 ) { return "0.00"; }
    var d = xnum.indexOf(".");    
    if ( d == -1) { return xnum + ".00"; }    
    var dplaces = xnum.substring(d);
    var pnum = xnum.substring(0, d);
    
    if ( dplaces.length == 2 ) { return pnum + dplaces + "0"; }
    else { return pnum + "." + dplaces.substring(1,3); }    
}
