/**
* Dependencies: 
* - Tigra Slider Control (version by mark)
* - visualize.jQuery plugin
*/ 
	
					
var slider_ini = {
    'b_vertical' : false,
    'b_watch': true,
    'n_controlWidth': 229,
    'n_controlHeight': 1,
    'n_sliderWidth': 11,
    'n_sliderHeight': 6,
    'n_pathLeft' : 1,
    'n_pathTop' : -6,
    'n_pathLength' : 216,
    's_imgControl': 'themes/redmap/images/ROI/slider_bar.jpg',
    's_imgSlider': 'themes/redmap/images/ROI/slider_icon.jpg',
    'n_zIndex': 999
}

function inputConfig(){
    return {
        's_form' : 0,
        's_name': '',
        'n_minValue' : 0,
        'n_maxValue' : 100,
        'n_value' : 0,
        'n_step' : 1,
        'f_callback' : ''    
    };
}

var ples_in1 = new inputConfig();
var ples_in4 = new inputConfig();
var ples_in5 = new inputConfig();

ples_in1.s_name = 'ples_in1';
ples_in4.s_name = 'ples_in4';
ples_in5.s_name = 'ples_in5';

ples_in1.f_callback = 'showBPResults()';
ples_in4.f_callback = 'showBPResults()';
ples_in5.f_callback = 'showBPResults()';

// Max Input Values
ples_in1.n_maxValue = 50;
ples_in4.n_maxValue = 100; // 100%
ples_in5.n_maxValue = 100; // 100%
                     
ples_in1.n_step = 1;
ples_in4.n_step = 1;
ples_in5.n_step = 1;

krjs = {
    vis_props: {type:'line', width: 280},
    vis_container_obj: $('#graph-container'),
    shout: function(){
        $('.visualize-line').remove();
        $('table').visualize(krjs.vis_props);        
        return true;
    }
}

$(function(){
    $('table').visualize(krjs.vis_props);
    $('table').addClass('accessHide');//hide table
    $('input[type=text]').each(function(){            
            $(this).attr('readonly', 'readonly');
        });            
    $('select[name=ples_in2], input[name=ples_in6], input[name=ples_in3]').change(function(){
        showBPResults();
    });
})

// Assumptions
RM = {
    var1: 8000, // Pages per filing cabinet
    var2: 1.5, // Pages per document
    var3: 45000, // Average wage of administrator
    var4: 55000, // Average wage of office worker    
    var5: 0.5, // Average time to file a document (mins)    
    var6: 3, // Average time to locate a document (mins)
    var7: 240, // average time to find a lost document (mins)
    var8: 5, // Average monthly cost of archiving service (per box)    
    var9: 750, // # of pages in an archive box
    var10: 1, // Amount of time taken to archive a document (mins)
    var11: 0.25, // time to file in Redmap (mins)
    var12: 0.5, // time to search in Redmap (mins)    
    var13: 60 // time to populate Circulate CD (mins)
}

function UserInputs() {
    return {
        in1 : 0,
        in2 : 0,
        in3 : 0,
        in4 : 0,
        in5 : 0,
        in6 : 0
    };
}

function showBPResults() {
    gc_inputs = new UserInputs();
    gc_inputs.in1 = $('input[name='+ ples_in1.s_name +']').val();
    gc_inputs.in2 = $('select[name=ples_in2]').val();
    gc_inputs.in3 = $('input[name=ples_in3]:checked').val();
    gc_inputs.in4 = $('input[name='+ ples_in4.s_name +']').val();
    gc_inputs.in5 = $('input[name='+ ples_in5.s_name +']').val();
    gc_inputs.in6 = $('input[name=ples_in6]:checked').val();
    var cc = calcCurrentCost(gc_inputs);
    var rc = calcRedmapCost(gc_inputs, cc);
 /*   $('table td#cc_yr1').text(cc);        
    $('table td#cc_yr2').text(cc + (cc * 0.2));        
    $('table td#cc_yr3').text(cc + (cc * 0.4));        
    $('table td#cc_yr4').text(cc + (cc * 0.8));        
    $('table td#cc_yr5').text(cc + (cc * 1.6));        
    $('table td#rc_yr1').text(rc);        
    $('table td#rc_yr2').text(rc);        
    $('table td#rc_yr3').text(rc);        
    $('table td#rc_yr4').text(rc);        
    $('table td#rc_yr5').text(rc);
    krjs.shout();*/
	second = cc + (cc * 0.2);
	third = cc + (cc * 0.4);
	fourth = cc + (cc * 0.8);
	fifth = cc + (cc * 1.6);
				
	var softwareCost = cc > 45000 ? 15000 : 3000 ;
	var succeeding = rc - softwareCost;
	var strXML = "<graph caption='5 Year Results'  hovercapbg='FFECAA' hovercapborder='F47E00' formatNumberScale='0' numberPrefix=\"$\" decimalPrecision='0' showvalues='0' numdivlines='3' numVdivlines='0' yaxisminvalue='0' rotateNames='1'><categories><category name='First Year'/><category name='Second Year'/><category name='Third Year'/><category name='Fourth Year'/><category name='Fifth Year'/></categories><dataset seriesName='Current Cost' color='1D8BD1' anchorBorderColor='1D8BD1' anchorBgColor='1D8BD1'><set value='" + cc + "'/><set value='" + second    + "'/><set value='" + third    + "'/><set value='" + fourth    + "'/><set value='" + fifth   + "'/></dataset><dataset seriesName='Redmap Cost' color='ff0000' anchorBorderColor='ff0000' anchorBgColor='ff0000'><set value='" + rc + "'/><set value='" + succeeding  + "'/><set value='" + succeeding  + "'/><set value='" + succeeding   + "'/><set value='" + succeeding   + "'/></dataset></graph>";
	

	var chart1 = new FusionCharts("themes/redmap/swf/FCF_MSLine.swf", "roichart", "385", "279", "0", "0");
	chart1.setDataXML(strXML);
	chart1.render("roichart");
  krjs.shout();
}

function calcCurrentCost(inputs) {
    var in2 = inputs.in2==0?1:inputs.in2;
    var in4 = inputs.in4 / 100;
    var in5 = inputs.in5 / 100;
    var docFiling = (inputs.in1 * RM.var1 / in2) * (RM.var5 / 60) * (RM.var3 / 52 / 40);
    var docSearch = (in4 * RM.var3 + in5 * RM.var4) + (1 * RM.var7 / 60 * (RM.var3/52/40) * 12);
    var docArchive = (inputs.in1 * RM.var1 / in2) * (RM.var10 / 60) * (RM.var3/52/40);
    var storageCost = ( (inputs.in1 * RM.var1) / in2 / RM.var9 ) * (RM.var8 * 12);
                                              
    //alert(docFiling +'  '+ docSearch +'  '+ docArchive +'  '+ storageCost);    
    return docFiling + docSearch + docArchive + storageCost;
}

function calcRedmapCost(inputs, cc) {
    var in2 = inputs.in2==0?1:inputs.in2;
    var in4 = inputs.in4 / 100;
    var in5 = inputs.in5 / 100;
    
    var docFiling = (inputs.in1 * RM.var1 / in2) * (RM.var11 / 60) * (RM.var3 / 52 / 40);
    var docSearch = ( (8 * 5 * 52 * ( (in4 + in5) / 2) ) * 60 ) / RM.var6 * RM.var12;
    var docArchive = inputs.in1 * RM.var1 / in2 * 60 / 700000 * RM.var13 / 60 * (RM.var3/52/40);
    var storageCost = in2 * in4 * inputs.in1 / 60 * (RM.var4/52/40) * 12;
    var softwareCost = cc > 45000 ? 15000 : 3000 ;
    
    //alert(docFiling +'  '+ docSearch +'  '+ docArchive +'  '+ storageCost +'  '+ softwareCost );    
    return docFiling + docSearch + docArchive + storageCost + softwareCost;
}