﻿var isValid = true;
                
jQuery(document).ready(function($){

    // Slider
    $('#slider').slider({
        range: "min",
        values: 10,
        min: 5,
        max: 30,
		value: 20,
        animate: true,
        slide: function(event, ui) {
            $('#pAmount').html(ui.value + '%');
            calculate(ui.value);
        }
    });
    
    $("#inpSalary").blur(function(){
        calculate($('#slider').slider("value"));
    }); 


	 $("#inpR").blur(function(){
        calculate($('#slider').slider("value"));
    }); 




    $('#pAmount').html($('#slider').slider("value") + '%');

    $('#inpSalary').focusout(function(){
        if($(this).val().length <= 0){
            $(this).val('£');
        }
    });

    $('#calculateBtn').click(function(){
        isValid = true;
    
        calculate($('#slider').slider("value"));
    
        return false;
    });
    
     $('#inpSalary').val("£30000")
    calculate($('#slider').slider("value"));

});

function calculate(agencyfee) {
    // Get values
    var inpSalary = $('#inpSalary').val().replace(",", "");
    var inpAgency = agencyfee;
    var agencyFee = 0;
    var wrPrice = 1;
    var wrSaving = 0;
	var inpR = $('#inpR').val().replace(",", "");
    
    // Remove £
    inpSalary = inpSalary.replace("£", "");

    // Validate form
    validateNumeric('inpSalary');
                            
    // Process form
    if(isValid){
        if(inpSalary == "" || parseFloat(inpSalary) < 10000){ 
            inpSalary = 10000; 
            $('#inpSalary').val(inpSalary.toString());
        }

        agencyFee = (inpSalary / 100) * inpAgency * inpR;
        
        if(inpSalary <= 19999){
            wrPrice = 700;
        } else if(inpSalary >= 20000 && inpSalary <= 49999){
            wrPrice = 700;
        } else if(inpSalary >= 50000){
            wrPrice = 700;
        }
        
        wrSaving = (agencyFee) - (wrPrice) ;

        // Display values
        $('#agencyFee').html("&pound;" + CommaFormatted(CurrencyFormatted(agencyFee)));
        $('#wrPrice').html("&pound;" + wrPrice);
        $('#wrSaving').html("&pound;" + CommaFormatted(CurrencyFormatted(wrSaving)));

        // Refresh Cufon
        Cufon.replace('p.csc-small');
        Cufon.replace('p.csc-large');

    }
}
                    
function validateNumeric(fieldName){
    var jField = jQuery('#' + fieldName);
    var _string = removeSpaces(jField.val());
    
    _string = _string.replace(",", "");
    _string = _string.replace("£", "");
	                    	
    if(isNaN(_string) || _string.length <= 0){
        isValid = false;
        jField.addClass('csc-form-item-error');			
    } else {
        jField.removeClass('csc-form-item-error');		
    }
}

function removeSpaces(_string) {
    return _string.split(' ').join('');
} 

function CurrencyFormatted(amount){
    var i = parseFloat(amount);
    if(isNaN(i)) { i = 0.00; }
    var minus = '';
    if(i < 0) { minus = '-'; }
    i = Math.abs(i);
    i = parseInt((i + .005) * 100);
    i = i / 100;
    s = new String(i);
    if(s.indexOf('.') < 0) { s += '.'; }
    if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
    s = minus + s;
    return s;
}

function CommaFormatted(amount){
    var delimiter = ",";
    
   
    if (amount.indexOf(".",0) < 0) amount = amount + '.';
    
         
    var a = amount.split('.');
    var d = a[1];
    var i = parseInt(a[0]);
    if(isNaN(i)) { return ''; }
    var minus = '';
    if(i < 0) { minus = '-'; }
    i = Math.abs(i);
    var n = new String(i);
    var a = [];
    while(n.length > 3)
    {
        var nn = n.substr(n.length-3);
        a.unshift(nn);
        n = n.substr(0,n.length-3);
    }
    if(n.length > 0) { a.unshift(n); }
    n = a.join(delimiter);
    if(d.length < 1) { amount = n; }
    else { amount = n + '.' + d; }
    amount = minus + amount;
    return amount;
}
