﻿// JScript File
    var popUp;

function OpenPopupPage (pageUrl)
{
    popUp=window.open(pageUrl,'popupcal', 'width=300,height=450,left=200,top=250,toolbar=yes'); 
}

function roundNumber(rnum) {
	var rlength = 2; // The number of decimal places to round to
	if (rnum > 8191 && rnum < 10485) {
		rnum = rnum-5000;
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		newnumber = newnumber+5000;
	} else {
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
	}
	return newnumber;
}


function NumericCheck(object)
{
    if (isNaN(parseFloat(document.getElementById(object).value))== true)
    {
        alert("Value must be numeric!");
        document.getElementById(object).value = "0";
        document.getElementById(object).focus();
        return;
    }
}


function getCookieValue( name )
{
    var c = document.cookie;
    var begin = c.indexOf( name );
    if( begin < 0 ) return( "" );
    begin += name.length + 1;
    var end = c.indexOf( ";", begin );
    if( end == -1 ) end = c.length;
    return( c.slice( begin, end ) );
}

function ClearRateFields()
{
    document.getElementById("txtUmbRate").value = "";
    document.getElementById("txtPAYERate").value = "";
}
function CalculateRates()
{
    var dblNIER = parseFloat(getCookieValue("NIER"));
    var ChargeRate = document.getElementById("txtChargeRate").value;
    var Margin = document.getElementById("txtMargin").value;
    var MarginType = document.getElementById("drpMarginType").value;
    var CISUmbrellaRate = 0;
     
    if (isNaN(parseFloat(ChargeRate))== true)
    {
        alert("The charge rate must be numeric!");
        ClearRateFields()
        return;
    }
 
    if (isNaN(parseFloat(Margin))== true)
    {
        alert("The margin must be numeric!");
        ClearRateFields()
        //Margin.focus();
        document.getElementById("txtMargin").value = "";
        document.getElementById("txtMargin").focus();
        return;
    }
    
   try    
   { 
      if (Margin != "")
        {
        switch( MarginType )
            {
                case "%":
                CISUmbrellaRate = ChargeRate * ((100 - Margin)/100);
                break;
                
                case "£":
                CISUmbrellaRate = ChargeRate - Margin;
                break;
            }
        document.getElementById("txtUmbRate").value = roundNumber(CISUmbrellaRate);
        CalculatePAYERates(CISUmbrellaRate, dblNIER);
        }
    else
        {
        alert("You must specify a margin")
        document.getElementById("txtMargin").focus();
        document.getElementById("txtUmbRate").value = "";
        document.getElementById("txtPAYERate").value = "";
        }
   }
    
   catch (exception)
   {
    alert(exception);
   }

}

function CalculatePAYERates(CISUmbrellaRate, dblNIER)
{
    
    var decNIERPay = 0;
    var decAgencyEffectivePayRate = 0;
    
    //calculate the employer's N.I. 
    decNIERPay = (CISUmbrellaRate * dblNIER);

    //calculate the PAYE agency effective pay rate
    decAgencyEffectivePayRate = CISUmbrellaRate - decNIERPay;
    document.getElementById("txtPAYERate").value = roundNumber(decAgencyEffectivePayRate);
}

function CalculateGP()
{
    var decMarginAdjusted = 0;
    var decHours = 0;
    var decAgencyEffectivePayRate = 0;

    decAgencyEffectivePayRate = parseFloat(document.getElementById("txtPAYERate").value);
    decMarginAdjusted = parseFloat(document.getElementById("txtUmbRate").value);
    decHours = parseFloat(document.getElementById("txtHours").value);

    document.getElementById("txtUmbGP").value = roundNumber(decMarginAdjusted * decHours);
    document.getElementById("txtAgencyGP").value = roundNumber(decAgencyEffectivePayRate * decHours);

}

//function SetControlValue(controlID, newDate, isPostBack)
function SetControlValue(controlID)
{
    //popUp.close();
    document.forms[0].elements[controlID].value=document.getElementById("CISUmbrellaGrossPay").value;
    __doPostBack(controlID,'');
}



