//
// This runs when the form is loaded. 
//
function df2_form_load(moduleId,TabstripId)
{
    // re-calculate
    df2_calculate(moduleId ); 
    
    
    // reset the padding 
    var Tabstrip = document.getElementById(  'XModTabPages_' + TabstripId ) ; 
    if (Tabstrip && Tabstrip.style && Tabstrip.style.paddingLeft)
        Tabstrip.style.paddingLeft= "0px";
    if (Tabstrip && Tabstrip.style && Tabstrip.style.paddingBottom)
        Tabstrip.style.paddingBottom= "0px";

    var pkgTitleId = 'current_package_title';
    var pkgTitle = document.getElementById( pkgTitleId ) ;
    pkgTitle.innerHTML = "Subscribe to SKY Sport The Magazine";
}
  
 

/*
--------------------------------------------------------------
This is the javascript file for handling the XMOD transitions 
- There is conditional logic here:
    Rule #0. If Platinum is selected, sport does not need to be
    Rule #1. If Platinum is selected, sport does not need to be
    Rule #2. If SKY Sport and SKY Movies are selected, SKYWatch is free
    Rule #2. If PLatninum Sport and SKY Movies are selected, SKYWatch is free
    
--------------------------------------------------------------
*/

function df2_package_click(e,elementName,moduleId)
{
    if (e)
    {
        var targetObject = e.target || e.srcElement;
        if (targetObject.id.match(elementName))
        {
            var ckPackageName = eval('XModForm'+moduleId+'.cklPackages');
            // calculate the cost 
            if (targetObject.type == 'checkbox')
            {
                switch (targetObject.id)
                {
                    // --------------------------------------
                    // Platinum Sports or SKY Sports [Rule #1]
                    // --------------------------------------                    
                    case ckPackageName+'_2':  
                        if (targetObject.checked)
                        {
                            var ckPlatinumPackageName = ckPackageName+'_3';
                            var ckPlatinumPackage = document.getElementById( ckPlatinumPackageName ) ; 
                            ckPlatinumPackage.checked= false;                     
                        }
                    break; 
                    case ckPackageName+'_3':  
                        if (targetObject.checked)
                        {
                            // check to see if sports is selected (either or)
                            var ckSportsPackageName = ckPackageName+'_2'; // sports
                            var ckSportsPackage = document.getElementById( ckSportsPackageName ) ; 
                            if (ckSportsPackage.checked) 
                            {
                               ckSportsPackage.checked= false;
                               alert('If you choose the Platinum package, you do not require the SKY Sports package.'); 
                            }
                        }
                    break;
                    
                    // --------------------------------------                    
                    // default - do nothing
                    // --------------------------------------                    
                    default: 
                }
	// check the packages if they are required
	var packageChecker = document.getElementById(eval('XModForm'+moduleId+'.hdnPackagesFlag'))
	if (packageChecker){
		if (targetObject.checked){
			packageChecker.value = packageChecker.value + targetObject.id;
		}
		else{
			packageChecker.value = packageChecker.value.replace(targetObject.id,'');
		}
	}
	

                // --------------------------------------                    
                // default - just calculate 
                // --------------------------------------                    
                df2_calculate(moduleId);
            }
        }
    }
}

 


/*
 * This functions is called when one of the Optional Extras button is 
 * clicked
 */
function df2_extras_click (e,elementName,moduleId)
{
    if (e)
    {
        var targetObject = e.target || e.srcElement;
        
        if (targetObject.id.match(elementName))
        {
            // calculate the cost 
            if (targetObject.type == 'checkbox')
            {
                df2_calculate(moduleId);
            }
        }
    }
}

/*
 * This functions is called when one of the Additional Decoder radio 
 * buttons is clicked
 */
function df2_decoder_click (e,elementName,moduleId)
{
    if (e)
    {
        var targetObject = e.target || e.srcElement;
        
        if (targetObject.id.match(elementName))
        {
            // calculate the cost 
            if (targetObject.type == 'radio')
            {
                df2_calculate(moduleId);
            }
        }
    }
}


/*
 * This functions is called when one of the MY SKY items is 
 * is clicked
 */
function df2_mysky_click (e,elementName,moduleId)
{
    if (e)
    {
        var targetObject = e.target || e.srcElement;
        
        if (targetObject.id.match(elementName))
        {
            // calculate the cost 
            if (targetObject.type == 'radio')
            {
                df2_calculate(moduleId);
            }
        }
    }
}
  

/*
 * This functions updates "on-the-fly" the cost 
 * of the GET SKY packages 
 */
function df2_calculate(moduleId)
{
    var fisrtmonthdis = 0.0;
    var baseCost = 0.0; 
    var monthlyCost = 0.0; 
    var extrasCost = 0.0; 
    var discount = 0.0; 
    var ckPackageName = eval('XModForm'+moduleId+'.cklPackages');
    var cklNumPackages = eval('XModForm'+moduleId+'.cklNumPackages');
    var hdnPkgDiscountId = eval('XModForm'+moduleId+'.hdnPkgDiscount');

    var hdnPkgDiscount = document.getElementById( hdnPkgDiscountId ) ; 
    if (hdnPkgDiscount)
        discount = hdnPkgDiscount.value; 

    
    var spnTotalPriceName =  'total_price';

    var NumPackages = document.getElementById(cklNumPackages).value; 
    var PricingMessage  =''; 
    // calculate pacakges
    var dfi = 0;
    var selectedPackages = new Array(NumPackages);
    for (dfi=0;dfi <NumPackages ;dfi++)
    {
        var ckPackage  = document.getElementById(ckPackageName+'_'+dfi);
        if (ckPackage && ckPackage.checked)
        {
            selectedPackages[dfi] = 1; 
            // get the cost 
            var hdnPackageCostName = eval('XModForm'+moduleId+'.hdnPackages_'+dfi);
            var hdnPackageCost  = document.getElementById(hdnPackageCostName);
            if (hdnPackageCost){
		
                monthlyCost  += parseFloat(hdnPackageCost.value);
		if(dfi==1){ //sport maginze
			fisrtmonthdis = 0
	        PricingMessage += '<br/><span style="color:red"></span>'
                // No pricing message for present
		PricingMessage = '';		 
		}
	     }
        }
    }
     // check if SKYWatch should be free... 
    //
    //var selectedPackageMathNumber = 0
    //for (dfi=1;dfi <NumPackages ;dfi++){
    //        if (selectedPackages[dfi] == 1){
    //            selectedPackageMathNumber += Math.pow(2,dfi);
    //        }; 
    //}
    
   // if ( selectedPackageMathNumber == Math.pow(2,2)+Math.pow(2,4) ||
//	 selectedPackageMathNumber == Math.pow(2,3)+Math.pow(2,4) ||
//        selectedPackageMathNumber == Math.pow(2,2)+Math.pow(2,4)+Math.pow(2,8) ||
//        selectedPackageMathNumber == Math.pow(2,3)+Math.pow(2,4)+Math.pow(2,7)+Math.pow(2,8)+Math.pow(2,6)+Math.pow(2,9)+Math.pow(2,5) )
    if ( (selectedPackages[2]==1 && selectedPackages[4]==1) ||  
	 (selectedPackages[3]==1 && selectedPackages[4]==1)
	)
    {
	
        // get the SKYWatch price 
        var hdnPkgSKYWatchPriceID = eval('XModForm'+moduleId+'.hdnPackages_0'); // sky watch is the first package
        var hdnPkgSKYWatchPrice = document.getElementById(hdnPkgSKYWatchPriceID);
    
        if (hdnPkgSKYWatchPrice)
        {
            var SKYWATCHCheckbox  = document.getElementById(ckPackageName+'_0');
            SKYWATCHCheckbox.checked = true;
            var SKYWatchPrice = hdnPkgSKYWatchPrice.value;
            monthlyCost  -= parseFloat(SKYWatchPrice);
	        PricingMessage += '<br/><span style="color:red">SKYWATCH is complimentary</span>'	
        }
    }
    // calculate Extras 
    var NumExtras = 3; 
    var extrasCost = 0.0; 
    var dfj = 0; 
    for (dfj=0;dfj <NumExtras ;dfj++)
    {
        var ckExtrasName  = eval('XModForm'+moduleId+'.ckExtras'+dfj);
        var ckExtra = document.getElementById(ckExtrasName+'_0');
        if (ckExtra && ckExtra.checked)
        {
            // setup cost
            var hdnExtraCostSetupName = eval('XModForm'+moduleId+'.hdnExtrasSetup'+dfj);
            var hdnExtraCostSetup = document.getElementById(hdnExtraCostSetupName);
            if (hdnExtraCostSetup) 
                baseCost  += parseFloat(hdnExtraCostSetup.value);  
            // addition Charge
            var hdnExtraChargeName = eval('XModForm'+moduleId+'.hdnExtrasCharge'+dfj);
            var hdnExtraCharge = document.getElementById(hdnExtraChargeName);
            if (hdnExtraCharge) 
                extrasCost  += parseFloat(hdnExtraCharge.value);      
            // monthly  cost
            var hdnExtraCostName = eval('XModForm'+moduleId+'.hdnExtras'+dfj);
            var hdnExtraCost = document.getElementById(hdnExtraCostName);
            if (hdnExtraCost) 
                monthlyCost  += parseFloat(hdnExtraCost.value);            
        }
    }
    
    // calculate the decoder cost 
    var NumDecoders = 3; 
    var decodersCost = 0.0; 
    var dfk=0;
    for (dfk=0;dfk <NumDecoders ;dfk++)
    {
        var ckDecodersName  = eval('XModForm'+moduleId+'.ckAddDecoder');
        var ckDecoder = document.getElementById(ckDecodersName+'_'+dfk);
        if (ckDecoder && ckDecoder.checked)
        {
            // setup cost  
            var hdnDecodersSetupName  = eval('XModForm'+moduleId+'.hdnDecoderSetup'+dfk);
            var hdnDecoderSetupCost = document.getElementById(hdnDecodersSetupName);
            // monthly  cost
            var hdnDecoderCostName = eval('XModForm'+moduleId+'.hdnDecoders'+dfk);
            var hdnDecoderCost = document.getElementById(hdnDecoderCostName);
            if (hdnDecoderCost && hdnDecoderSetupCost && hdnDecoderCost.value > 0) 
            {
                baseCost   += parseFloat(hdnDecoderSetupCost.value);   
                monthlyCost  += parseFloat(hdnDecoderCost.value);   
                break; 
            }    
        }
    }
    
    // calculate the MY SKY cost 
    var myskyCost = 0.0; 
    var dfp=0;
    var ckMySkyName  = eval('XModForm'+moduleId + '.ckAddMySKY');
    var ckmysky1 = document.getElementById(ckMySkyName+'_'+1);
    var ckmysky2 = document.getElementById(ckMySkyName+'_'+2);
    if (ckmysky1 && ckmysky1.checked)
    {
        extrasCost   += 599;
        monthlyCost  += 0;
    } 
    else if (ckmysky2 && ckmysky2.checked)
    {
        extrasCost   += 599;
        monthlyCost  += 25;
    } 
    
    // apply the discount, but only to the baseCost
    baseCost -= (discount*baseCost);
    
    // update the total price 
    var spnTotalPrice = document.getElementById(spnTotalPriceName);
    
    if (spnTotalPrice) 
    {
        var totalCost = baseCost + monthlyCost + extrasCost; 
        spnTotalPrice.innerHTML = 
                '<table width="100%"  border="0" cellspacing="0" cellpadding="4" class="xmodForm_content"> ' +

				'  <tr>' +
				'	<td>Joining Fee:</td>' +
				'	<td><div class="xmodForms_pkg_prices">$'+baseCost.toFixed(2) + '</div></td>' +
				'  </tr>' +
				'  <tr>' +
				'	<td>Optional Extras:</td>' +
				'	<td><div class="xmodForms_pkg_prices">$'+ extrasCost.toFixed(2) + '</div></td>' +
				'  </tr>' +
				'  <tr>' +
				'	<td>First Month:</td>' +
				'	<td><div class="xmodForms_pkg_prices">$'+ (monthlyCost-fisrtmonthdis).toFixed(2) + '</div></td>' +
				'  </tr>' +
				' <tr>' +
				'	<td width="56%">In the next month, your package will increase by:</td>' +
				'	<td><div class="xmodForms_pkg_prices">$'+ (totalCost.toFixed(2)) + '</div></td>' +
				'  </tr>' +
				'  <tr>' +
				'	<td colspan="2">&nbsp;</td>' +
				'  </tr>' +
				'  <tr>' +
				'	<td>Subsequent months will increase by:</td>' +
				'	<td><div class="xmodForms_pkg_prices">$'+ (monthlyCost.toFixed(2)) + '</div></td>' +
				'  </tr>' +
				'  <tr>' +
				'	<td colspan="2">&nbsp;</td>' +
				'  </tr>  ' +
				'  <tr>' +
				'	<td colspan="2">' + PricingMessage + '</td>' +
				'  </tr>    ' +	
				'</table>' 
    }

    
    // write it 
    return baseCost + monthlyCost;
}


function df2_tandc_click (e,elementName,moduleId)
{
    if (e)
    {
        var targetObject = e.target || e.srcElement;
        
        if (targetObject.id.match(elementName))
        {
            // show the name field
            if (targetObject.type == 'checkbox')
            {
                var RDFlagElemName = eval('XModForm'+moduleId+'.hdnRdFlag') ;
                var RDFlagElem =  document.getElementById(RDFlagElemName); 
                if (RDFlagElem)
                {
                    if (targetObject.checked)
                        RDFlagElem.value =  "1";
                    else
                        RDFlagElem.value =  "";
                }
            }
        }
    }
}