﻿var DefaultImage = 0;
var DefaultWDIY = 0;
var DefaultAnnual = 0;
var DefaultPlanID = 0;
var FinalPayment = 0;
var IsActive = 0;
var SelectedPlanID = 0;
var HasImageUpgrade = 0;
var HasWDIYUpgrade = 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)
{
    SetDefaultCheck(imagehosting, 0, annual, planID, active)
}


function SetDefaultCheck(imagehosting, wdiy, 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 ( wdiy == 1 ) {
        DefaultWDIY = 1;
        var obj = document.getElementById("chkWDIYUpgrade");
        if ( obj ) { obj.checked = true; if ( active == 1 ) {obj.disabled = true; } }        
    } 
     
    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 && wdiy == 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 )
    {
        if ( typeof(JS_PLEASE_SELECT_ANNUAL_MONTHLY_PLAN) == "undefined" ){ JS_PLEASE_SELECT_ANNUAL_MONTHLY_PLAN = "Please select Annual or Monthly Plan"; }        
        alert(JS_PLEASE_SELECT_ANNUAL_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;
    }
    var objImg = document.getElementById("WDIYUpgrade");
    if ( objImg ) {
        objImg.value = HasWDIYUpgrade;
    }
    
    return true;
}
         
// JScript File
function Calculate()
{
    HasImageUpgrade = 0;
    HasWDIYUpgrade = 0;
    var chkPlan = document.getElementById("chkPlan");
    var chkImageUpgrade = document.getElementById("chkImageUpgrade");
    var chkWDIYUpgrade = document.getElementById("chkWDIYUpgrade");
    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, addonWDIYAmt= 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, hasWDIYAddon = 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]; 
        }
        monthlyAmt = monthlyAmt.replace(",","");
        planAmt = parseFloat(monthlyAmt);                       
    } else {
        planAmt = 0;
    }    
    if ( chkAnnual.disabled == false && chkAnnual.checked )  {
        hasAnnualPlan = 1;
    }
    if ( parseInt(planID) == parseInt(DefaultPlanID) && IsActive == 1 && hasAnnualPlan == 0) { // ( && hasAnnualPlan == DefaultAnnual)
        planAmt = 0;       
        monthlyAmt = 0;
        annualAmt = 0;
    }


    if ( (chkImageUpgrade.disabled == false && chkImageUpgrade.checked) || 
        ( chkImageUpgrade.disabled == true)  ) {// (&& chkAnnual.checked && DefaultAnnual != "1") )  ) {        
        addonAmt =  parseFloat(arrImageHosting);
        hasImageAddon = 1;
        HasImageUpgrade = 1;
    }
    
    if ( chkWDIYUpgrade ) {
        var objTmp = document.getElementById("dvWDIY");
        if ( objTmp ) {
            objTmp.style.display = "block";
        }
    
        if ( (chkWDIYUpgrade.disabled == false && chkWDIYUpgrade.checked) || 
        ( chkWDIYUpgrade.disabled == true && chkAnnual.checked && DefaultAnnual != "1")  ) {            
            addonWDIYAmt = parseFloat(arrWDIY);            
            hasWDIYAddon = 1;
            HasWDIYUpgrade = 1;
        }
    }
    
    var objTmp = document.getElementById("dvImage");
    if ( objTmp ) {
        objTmp.style.display = ( chkImageUpgrade.checked ) ? "block":"none";
    }
    
    var objTmp = document.getElementById("dvWDIY");
    if ( objTmp && chkWDIYUpgrade ) {
        objTmp.style.display = ( chkWDIYUpgrade.checked ) ? "block":"none";
    }
    
    
    if ( chkAnnual.disabled == false && chkAnnual.checked )  {         
        planAnnualPercent = planAnnualPercent.replace(",","");
        finalAmount =   parseFloat(annualAmt) + ( parseFloat(addonAmt + addonWDIYAmt) * 12 * ((100-parseFloat(planAnnualPercent)) / 100));        
    
        //finalSavingAmt = ((monthlyAmt + addonAmt) * 12) - finalAmount ;
        planPercent = planAnnualPercent  ;
        divideperiod = 12;
        hasAnnualPlan = 1;
        AnnualSelected = 1;
    } else {
        monthlyAmt = monthlyAmt.replace(",","");
        
        finalAmount =  ( parseFloat(monthlyAmt) + parseFloat(addonAmt + addonWDIYAmt) );        
        //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 + addonWDIYAmt) * divideperiod) - finalAmount ;
    FinalPayment = finalAmount;
    
    
    if ( AnnualSelected == 1 ) {
        annualSave = finalSavingAmt /12 ;
    } else {        
        var tmpAmt = parseFloat(annualAmt) + ( parseFloat(addonAmt + addonWDIYAmt) * 12 * ((100-parseFloat(planAnnualPercent)) / 100));
        tmpAmt =  tmpAmt * DiscountFactor;
        tmpAmt = ((monthlyAmt + addonAmt + addonWDIYAmt) * 12)  - tmpAmt;
        annualSave = tmpAmt / 12;
    }
    // End Calculate Promo Discount     
    monthlyTotal = parseFloat(planAmt) + parseFloat(addonAmt + addonWDIYAmt);      
    
    avgAmount = finalAmount / divideperiod;    
    avgSaving = monthlyTotal - avgAmount - avgPromosavings;
    SetText("dvPlanAmount", FormatNumber(CurrencyPrefix ,planAmt));
    SetText("dvAddOnAmount", FormatNumber(CurrencyPrefix, addonAmt));
    SetText("dvWDIYAmount", FormatNumber(CurrencyPrefix, addonWDIYAmt));
    SetText("dvMonthlyAmount", FormatNumber(CurrencyPrefix, monthlyTotal));
    
    if ( avgSaving > 0 ) {
        SetClass("dvDiscountText", "green");
        SetClass("dvDiscountAmount", "green");
        SetText("dvDiscountText", lngDiscounts + " @" + planPercent + "%"); 
        SetText("dvDiscountAmount", "(" + FormatNumber(CurrencyPrefix, avgSaving) + ")");
    } else {
        SetClass("dvDiscountText", "");
        SetClass("dvDiscountAmount", "");
        SetText("dvDiscountText", lngDiscounts + " ");
        SetText("dvDiscountAmount", FormatNumber(CurrencyPrefix, avgSaving));
    }    
    
    if ( typeof(lngPromoDiscounts)  == "undefined" ) {
        lngPromoDiscounts = "Promo Discount";
    }
    
    
    if ( avgPromosavings > 0 ) {
        SetClass("dvPromoDiscountText", "green");
        SetClass("dvPromoDiscountAmount", "green");
        SetText("dvPromoDiscountText", lngPromoDiscounts + " @" + FormatNumber("", DiscountAmountCurrent) + "%"); 
        SetText("dvPromoDiscountAmount", "(" + FormatNumber(CurrencyPrefix, avgPromosavings) + ")");      
    } else {      
        SetClass("dvPromoDiscountText", "");
        SetClass("dvPromoDiscountAmount", "");
        SetText("dvPromoDiscountText", lngPromoDiscounts + " ");
        SetText("dvPromoDiscountAmount",  FormatNumber(CurrencyPrefix, avgPromosavings));   
    } 
    
    if ( String(planName) == "undefined" ) {
        SetText("dvPlanName", "");
    } else {
        if ( planAmt == 0 ) {
            SetText("dvPlanName", "(" + planName + ")");
        } else {
            SetText("dvPlanName", "(" + planName + ")");
        }
    }
    var dvPlan = document.getElementById("dvPlan" + planID);
    var ExcessText = "";
    if ( dvPlan ) { ExcessText = dvPlan.title; }
    SetText("dvExcess", ExcessText);
    SetText("dvAverageMonthly", FormatNumber(CurrencyPrefix, avgAmount));
    SetText("dvTotalAmount", lngTotalCost + " -  " + FormatNumber(CurrencyPrefix, finalAmount));
    SetText("dvTotalSavingAmount", lngYouSaved.replace("$", FormatNumber(CurrencyPrefix, finalSavingAmt)));
    //"You saved " + CurrencyPrefix +  FormatNumber(finalSavingAmt) + " on your plan");
    if ( annualSave > 0 ) {        
        SetText("dvAnnualSavingDetail", lngASavings.replace("$" , FormatNumber(CurrencyPrefix, annualSave)));
    } else {
        SetText("dvAnnualSavingDetail", "");
    }
}

function FormatNumber(CurrencyPrefix, num){
    var xnum = num.toString();
    if ( xnum == "NaN" ) { xnum = ""; }
    if ( xnum.length == 0 ) { return SetCurrency(CurrencyPrefix, "0.00"); }
    var d = xnum.indexOf(".");    
    if ( d == -1) { return SetCurrency(CurrencyPrefix,xnum + ".00"); }    
    var dplaces = xnum.substring(d);
    var pnum = xnum.substring(0, d);
    
    if ( dplaces.length == 2 ) { return SetCurrency(CurrencyPrefix, pnum + dplaces + "0"); }
    else { return SetCurrency(CurrencyPrefix, pnum + "." + dplaces.substring(1,3)); }    
}

function SetCurrency(CurrencyPrefix, num){
    var retVal = "";
    if ( CurrencyPrefix == "JPY" ) {
        retVal = num.replace(".0000","");        
        if (retVal.indexOf(".") != -1 && retVal.substring(retVal.length - 2 ) == "00")
        {            
            retVal = retVal.substring(0, retVal.length - 2);
        }        
        if (retVal.substring(retVal.length - 1) == ".")
        {
            retVal = retVal.substring(0, retVal.length - 1);
        }
        retVal = addCommas ( retVal );        
        retVal = retVal + "円";
    } else {
        retVal = CurrencyPrefix + num;
    }
    return retVal;
}

function addCommas(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

