function addEvent(elm, evType, fn, useCapture) {
	try {
		var oldevent = eval("elm.on"+evType);
		if(typeof(oldevent) != 'function') {
			eval("elm.on"+evType+"=fn;") ;
		} else {
			eval("elm.on"+evType+"=function(){oldevent();fn();}");
		}
	} catch(e) {
		return; 
	}
	return;
}
var StateManager = EXANIMO.managers.StateManager;
var calc_form, adv_form, submit_button, app_checks; 
var checked_items = "", total_running, total_start, total_start_lf = 1;
allitems = new Array(); 
// kitchen 	
allitems['dishwasher'] =          { defaults: {rw: "700", start: "1500"}, percents : {critical:10,	occasional:1}, app_name : "Dishwasher"	};
allitems['refrigerator'] =        { defaults: {rw: "500", start: "2000"}, percents : {critical:25,	occasional:25}, app_name : "Refrigerator"	};
allitems['garbage_disposal'] =    { defaults: {rw: "200", start: "450"}, percents : {critical:10,	occasional:1}, app_name : "Garbage Disposal"	};
allitems['microwave_oven'] =      { defaults: {rw: "1200", start: "1200"}, percents : {critical:25,	occasional:5}, app_name : "Microwave Oven"	};
allitems['range'] =               { defaults: {rw: "2000", start: "2000"}, percents : {critical:25,	occasional:10}	, app_name : 'Range (per 8" element)'};
allitems['water_heater'] =        { defaults: {rw: "4500", start: "4500"}, percents : {critical:25,	occasional:10}	, app_name : "Water Heater (Electric)"};
allitems['coffee_maker'] =        { defaults: {rw: "1500", start: "1500"}, percents : {critical:25,	occasional:2}	, app_name : "Coffee Maker"};
allitems['toaster_oven'] =        { defaults: {rw: "1200", start: "1200"}, percents : {critical:25,	occasional:1}, app_name : "Toaster Oven"	};
allitems['stand_alone_freezer'] = { defaults: {rw: "500", start: "1500"}, percents : {critical:25,	occasional:25}, app_name : "Stand-Alone Freezer"	};
// entertainment	
allitems['stereo'] =              { defaults: {rw: "200", start: "200"}, percents : {critical:100,	occasional:20}, app_name : "Stereo"	};
allitems['radio'] =               { defaults: {rw: "50", start: "50"}, percents : {critical:100,	occasional:20}, app_name : "Radio"	};
allitems['tv'] =                  { defaults: {rw: "500", start: "500"}, percents : {critical:100,	occasional:25}	, app_name : "TV"};
allitems['pc'] =                  { defaults: {rw: "700", start: "700"}, percents : {critical:100,	occasional:20}	, app_name : "Personal Computer"};
// Heating and Air Conditioning
allitems['furnace_fan'] =         { defaults: {rw: "750", start: "2000"}, percents : {critical:30,	occasional:30}, app_name : "Furnace Fan"	};	
allitems['electric_blanket'] =    { defaults: {rw: "500", start: "500"}, percents : {critical:33,	occasional:5}, app_name : "Electric Blanket"	};
allitems['electric_heat_strips'] ={ defaults: {rw: "1500", start: "1500"}, percents : {critical:50,	occasional:5}, app_name : "Electric Heat Strips"	};	
allitems['humidifier'] =          { defaults: {rw: "80", start: "100"}, percents : {critical:75,	occasional:5}, app_name : "Humidifier"	};	
allitems['dehumidifier'] =        { defaults: {rw: "1000", start: "1200"}, percents : {critical:50,	occasional:5}, app_name : "Dehumidifier"	};	
allitems['fan'] =                 { defaults: {rw: "250", start: "300"}, percents : {critical:100,	occasional:5}, app_name : "Fan"	};	
allitems['room_ac'] =             { defaults: {rw: "1200", start: "2200"}, percents : {critical:75,	occasional:5}, app_name : "Room Air Conditioner"	};
allitems['central_ac'] =          { defaults: {rw: "5500", start: "7150"}, percents : {critical:75,	occasional:75}	, app_name : "Central Air Conditioner"};
// Laundry and Cleaning
allitems['vacuum_cleaner'] =      { defaults: {rw: "900", start: "1100"}, percents : {critical:50,	occasional:5}, app_name : "Vacuum Cleaner"	};	
allitems['iron'] =                { defaults: {rw: "1200", start: "1200"}, percents : {critical:50,	occasional:5}, app_name : "Iron"	};	
allitems['dryer_electric'] =      { defaults: {rw: "5000", start: "6000"}, percents : {critical:75,	occasional:5}, app_name : "Dryer (Electric)"	};	
allitems['dryer_gas'] =           { defaults: {rw: "500", start: "900"}, percents : {critical:75,	occasional:5}, app_name : "Dryer (Gas)"	};	
allitems['washer'] =              { defaults: {rw: "700", start: "1300"}, percents : {critical:75,	occasional:5}, app_name : "Washer"	};
// Misc
allitems['sump_pump'] =           { defaults: {rw: "1000", start: "2000"}, percents : {critical:50,	occasional:5}, app_name : "Sump Pump"	};
allitems['well_pump'] =           { defaults: {rw: "750", start: "1500"}, percents : {critical:30,	occasional:20}, app_name : "Well Pump"	};
allitems['garage_door_opener'] =  { defaults: {rw: "500", start: "1500"}, percents : {critical:10,	occasional:5}, app_name : "Garage Door Opener"	};	
allitems['security_system'] =     { defaults: {rw: "180", start: "180"}, percents : {critical:100,	occasional:100}, app_name : "Security System"	};	
allitems['misc_item'] =           { defaults: {rw: "", start: ""}, percents : {critical:50,	occasional:5}, app_name : ""	};	
//central ac
allitems['central_ac_1'] =        { defaults: {rw: "2500", start: "3250"}, percents : {critical:75,	occasional:75}	, app_name : "1.5 Ton"};
allitems['central_ac_2'] =        { defaults: {rw: "4000", start: "5200"}, percents : {critical:75,	occasional:75}	, app_name : "2 Ton"};
allitems['central_ac_3'] =        { defaults: {rw: "5500", start: "7150"}, percents : {critical:75,	occasional:75}	, app_name : "3 Ton"};
allitems['central_ac_4'] =        { defaults: {rw: "6500", start: "8450"}, percents : {critical:75,	occasional:75}	, app_name : "4 Ton"};
allitems['central_ac_5'] =        { defaults: {rw: "7500", start: "9375"}, percents : {critical:75,	occasional:75}	, app_name : "5 Ton"};
	
addEvent(window, "load", load_simple_calc);

function debugOut(i) {	
	try{console.log(i);} catch(e){alert(i)}
}

function crit_rw_w_load(o) {
	var percent_load;
	if(typeof arguments[1] != 'undefined') {
		if (arguments[2]) {
			percent_load = (parseFloat(cleanNum(arguments[1])) * parseFloat(o.percents.critical) * .01);
		}else {
			percent_load = (parseFloat(cleanNum(arguments[1])) * parseFloat(o.percents.occasional) * .01);
		}
	}
	else{ percent_load = (parseFloat(o.defaults.rw) * parseFloat(o.percents.critical) * .01); }	
	return isNaN(percent_load)?0:percent_load;
}
function crit_start_w_load(o) {
	var percent_load;
	if(typeof arguments[1] != 'undefined') {
		if(arguments[2]) {
			percent_load = (parseFloat(cleanNum(arguments[1])) * parseFloat(o.percents.critical) * .01);
		}else {
			percent_load = (parseFloat(cleanNum(arguments[1])) * parseFloat(o.percents.occasional) * .01);
		}
		return percent_load;
	}
	else {
		percent_load = (parseFloat(o.defaults.start) * parseFloat(o.percents.critical) * .01);
	}
	return isNaN(percent_load)?0:percent_load;
}
function crit_rw_wo_load(o) {
	var load1;
	if(typeof arguments[1] != 'undefined') { load1 = (parseFloat(cleanNum(arguments[1])));}
	else {load1 = (parseFloat(o.defaults.rw));}
	return isNaN(load1)?0:load1;
}
function crit_start_wo_load(o) {
	var load1;
	if(typeof arguments[1] != 'undefined') load1 = (parseFloat(cleanNum(arguments[1])));
	else load1 = (parseFloat(o.defaults.start));
	return isNaN(load1)?0:load1;	
}

function create_app_row(row_class_name, item_name, rw, start, load_type) {
	var new_row, new_cell;
	new_row = createNewElement('<tr class="'+row_class_name+'" ></tr>');
	new_cell = createNewElement('<td class="app_td_left"></td>');
	new_cell.innerHTML = "<strong>"+item_name+"</strong>";
	new_row.appendChild(new_cell);
	new_cell = createNewElement('<td class="app_td_left" ></td>');
	new_cell.innerHTML = load_type + " use";
	new_row.appendChild(new_cell);
	new_cell = createNewElement('<td class="app_td_right" ></td>');
	new_cell.innerHTML = rw+" W";
	new_row.appendChild(new_cell);
	new_cell = createNewElement('<td class="app_td_right" style="width:55px;" ></td>');
	new_cell.innerHTML = start+" VA";
	new_row.appendChild(new_cell);
	return new_row;
}
function create_ac_row(row_class_name, item_name, load_type) {
	var new_row, new_cell;
	new_row = createNewElement('<tr class="'+row_class_name+'" ></tr>');
	new_cell = createNewElement('<td class="app_td_left"></td>');
	new_cell.innerHTML = "<strong>Central Air Conditioner</strong>";
	new_row.appendChild(new_cell);
	new_cell = createNewElement('<td class="app_td_left" ></td>');
	new_cell.innerHTML = load_type + " use";
	new_row.appendChild(new_cell);
	new_cell = createNewElement('<td class="app_td_right" ></td>');
	new_cell.innerHTML = item_name;
	new_row.appendChild(new_cell);
	new_cell = createNewElement('<td class="app_td_right" style="width:50px;" ></td>');
	new_row.appendChild(new_cell);
	return new_row;	
}

var item_counter_adv = 0;
function add_ac(div_name) { 
	var new_row, new_cell, new_input;
	new_row = createNewElement('<tr></tr>');
	new_cell = createNewElement('<td class="adv_td"></td>');
	new_input = createNewElement('<input type="checkbox" value="central_ac_'+item_counter_adv+'" id="check_custom_'+item_counter_adv+'" class="ac_advanced_check" checked="checked" />');
	new_cell.appendChild(new_input);
	new_cell.appendChild(document.createTextNode("Central Air Conditioner"));
	new_row.appendChild(new_cell);
	
	new_cell = createNewElement('<td class="adv_td"></td>');
	new_input = createNewElement('<input type="radio" value="central_ac.percents.critical" class="app_advanced_radio" name="central_ac_'+item_counter_adv+'_percents" checked="checked" />');
	new_cell.appendChild(new_input);
	new_cell.appendChild(document.createTextNode('Significant '));
	new_input = createNewElement('<input type="radio" value="central_ac.percents.occasional" class="app_advanced_radio" name="central_ac_'+item_counter_adv+'_percents" />');
	new_cell.appendChild(new_input);
	new_cell.appendChild(document.createTextNode('Occasional '));
	new_row.appendChild(new_cell);
	
	new_cell = createNewElement('<td class="adv_td_center" colspan="2" ></td>');
	new_input = createNewElement('<select name="central_ac_'+item_counter_adv+'_select" width="180" class="textinput" id="central_ac_'+item_counter_adv+'_select" />');
	new_input.options[0] = new Option("18000 BTU (1.5 TON) ", "central_ac_1");
	new_input.options[1] = new Option("24000 BTU (2 TON) ", "central_ac_2");
	new_input.options[2] = new Option("36000 BTU (3 TON) ", "central_ac_3");
	new_input.options[3] = new Option("48000 BTU (4 TON) ", "central_ac_4");
	new_input.options[4] = new Option("60000 BTU (5 TON) ", "central_ac_5");
	new_cell.appendChild(new_input);
	new_row.appendChild(new_cell);
	$(div_name).parentNode.insertBefore(new_row, $(div_name));
	item_counter_adv++;
}

function add_adv_item(div_name) {
	var new_row, new_cell, new_input;
	new_row = createNewElement('<tr></tr>');
	new_cell = createNewElement('<td class="adv_td"></td>');
	new_input = createNewElement('<input type="checkbox" value="'+item_counter_adv+'" id="check_custom_'+item_counter_adv+'" class="check_custom" checked="checked" />');
	new_cell.appendChild(new_input);
	new_input = createNewElement('<input type="input" id="input_custom_'+item_counter_adv+'" class="textinput_name" style="width:110px;" />');
	new_cell.appendChild(new_input);
	new_row.appendChild(new_cell);
	
	new_cell = createNewElement('<td class="adv_td"></td>');
	new_input = createNewElement('<input type="radio" value="25" class="app_advanced_radio" name="radio_custom_'+item_counter_adv+'" checked="checked" />');
	new_cell.appendChild(new_input);
	new_cell.appendChild(document.createTextNode('Significant '));
	new_input = createNewElement('<input type="radio" value="25" class="app_advanced_radio" name="radio_custom_'+item_counter_adv+'" />');
	new_cell.appendChild(new_input);
	new_cell.appendChild(document.createTextNode('Occasional '));
	new_row.appendChild(new_cell);
	
	new_cell = createNewElement('<td class="adv_td_center"></td>');
	new_input = createNewElement('<input type="input" id="rw_custom_'+item_counter_adv+'" class="textinput" style="width:75px;" />');
	new_cell.appendChild(new_input);
	new_row.appendChild(new_cell);
	
	new_cell = createNewElement('<td class="adv_td_center"></td>');
	new_input = createNewElement('<input type="input" id="start_custom_'+item_counter_adv+'" class="textinput" style="width:75px;" />');
	new_cell.appendChild(new_input);
	new_row.appendChild(new_cell);
	
	$(div_name).parentNode.insertBefore(new_row, $(div_name));
	$('input_custom_'+item_counter_adv).focus()
	item_counter_adv++;
}

function accordion(el) {
		var elup;
  	var eldown = document.getElementsByClassName('accord_panel',el.parentNode)[0];
		if (eldown.style.display !='none'){
        return;
    }
		eldown.parentNode.style.backgroundColor= "#f8fcff";
		eldown.style.backgroundColor= "#f8fcff";
		el.style.display = 'none';
    var apanels = document.getElementsByClassName('advanced_fold_div',el.parentNode.parentNode);
    for (var i=0;i<apanels.length;i++){
	    if (document.getElementsByClassName('accord_panel',apanels[i])[0].style.display !='none'){
	        elup = document.getElementsByClassName('accord_panel',apanels[i])[0];
					elup.parentNode.style.backgroundColor= "#fff";
					elup.style.backgroundColor= "#fff";
					document.getElementsByClassName('expand_button')[i].style.display = '';
	    }
    }
    new Effect.Parallel([ new Effect.SlideUp(elup), new Effect.SlideDown(eldown) ], {duration: 0.5});
}
function accordian_next(el) {
	accordion(document.getElementsByClassName('expand_button')[el]);
}
function accordion_init(id) {
    var apanels = document.getElementsByClassName('advanced_fold_div',id);
  	document.getElementsByClassName('accord_panel',apanels[0])[0].style.display = 'block';
		document.getElementsByClassName('accord_panel',apanels[0])[0].style.backgroundColor= "#f8fcff";
		document.getElementsByClassName('accord_panel',apanels[0])[0].parentNode.style.backgroundColor= "#f8fcff";
    for (var i=1;i<apanels.length;i++){
  		document.getElementsByClassName('accord_panel',apanels[i])[0].style.display = 'none';
			document.getElementsByClassName('accord_panel',apanels[i])[0].style.backgroundColor= "#fff";
    }
}
function simple_go_back() {
  StateManager.setState(StateManager.defaultStateID);
	return false;
}

function advanced_go_back() {
  StateManager.setState("advanced_calc_outer");
	return false;
}

function load_simple_calc() {
    StateManager.initialize();
	cmCreatePageviewTag("Generator Sizing Tool","Generator Microsite");
	calc_form = $('simple_calc_form');
	adv_form = $('advanced_calc_form');
	submit_button = $('simple_calc_submit');
	adv_submit_button = $('adv_calc_submit');
	app_checks = document.getElementsByClassName('app_simple_check');
	adv_checks = document.getElementsByClassName('app_advanced_check');
	checked_items = "", total_running, total_start, total_start_lf = 1;
	var rw_w_load , start_w_load , rw_wo_load , start_wo_load ;
	
	$('sq_feet').onblur = function () {
		$('sq_feet').value = displayNum('sq_feet');
	}
	
	$('simple_calc_outer').style.display = '';
	$('change_simple').onclick = function() {		
       StateManager.setState(StateManager.defaultStateID);
		return false;
	}
	$('change_adv').onclick = function() {							
       StateManager.setState("advanced_calc_outer");
		return false;
	}
	calc_form.onsubmit = function() {
		StateManager.setState("result_calc_outer");
		cmCreatePageviewTag("Generator Sizing Tool Results","Generator Microsite");
		$('edit_requirements').onclick = simple_go_back;
		return false;							
	}

	adv_form.onsubmit = function() {		
		$('edit_requirements').onclick = advanced_go_back;
		StateManager.setState("advanced_result_calc_outer");		
		cmCreatePageviewTag("Generator Sizing Tool Results","Generator Microsite");
		return false;							
	}
		
	$('edit_requirements').onclick = simple_go_back;
	
	$('sq_feet').onchange = function() {		
		$('sq_feet_adv').value = $('sq_feet').value;			
		return;
	}
	
	$('sq_feet_adv').onchange = function() {		
		$('sq_feet').value = $('sq_feet_adv').value;			
		return;
	}
	for(adv_key in adv_checks) {
		adv_checks[adv_key].onchange = function () {
			eval("$('"+this.value+"_simp_cb')").checked = this.checked;
		} 
	}
	for(adv_key in app_checks) {
		try { 
			app_checks[adv_key].onchange = function () {
				eval("$('"+this.value+"_adv_cb')").checked = this.checked;
			} 
		} catch(e) {}
	}	
	accordion_init('advanced_accordion');	
}

function createNewElement(elString) {
	var opentag, createdElement, el_attributes, tag_name, el_tag;
	try {
		createdElement = document.createElement(elString);
	}
	catch(e) {
		if(el_tag = elString.match(/<([a-zA-Z]*)([^>]*)(>[^<]*<\/\1*>|\/>)/)) { 			
			tag_name = el_tag[1];
			el_attributes = el_tag[2].match(/[a-zA-Z]*=(\"[^\"]*\")|(\'[^\']*\')/g);
			createdElement = document.createElement(tag_name);			
			if(el_attributes) { 
				for(var i = 0; i < el_attributes.length; i++) {
					try { 
						createdElement.setAttribute(el_attributes[i].split("=")[0], el_attributes[i].split("=")[1].match(/(\'|\")(.*)\1/)[2] )
					}catch(e) {}
				}
			}
		}
		else {createdElement = null; }
	}
	return createdElement;
}

function doGetPage(i) {
	if(i) {setContent(i);}
}

StateManager.onstatechange = function(e)
{
	setContent(e.id);
}

function setContent(new_content) {
	var calc_form = $('simple_calc_form');
	var submit_button = $('simple_calc_submit');
	var app_checks = document.getElementsByClassName('app_simple_check');
	var adv_checks = document.getElementsByClassName('check_custom');
	var ac_checks = document.getElementsByClassName('ac_advanced_check');
	var checked_items = "", total_running, total_start, total_start_lf = 1;
	rw_w_load = 0; start_w_load = 0; rw_wo_load = 0; start_wo_load = 0, j= 0;
	rw_wo_load_occ = 0;
	while($('appliance_list').childNodes[0]) {
		$('appliance_list').removeChild($('appliance_list').childNodes[0]);
	}
	
	if(new_content == "result_calc_outer" ) {				
		for (var i = 0; i < app_checks.length; i ++) {
			if( app_checks[i].checked) {
				rw_w_load += 	crit_rw_w_load(allitems[app_checks[i].value]);
				start_w_load += 	crit_start_w_load(allitems[app_checks[i].value]);
				rw_wo_load = Math.max(rw_wo_load, crit_rw_wo_load(allitems[app_checks[i].value]) );
				start_wo_load += crit_start_wo_load(allitems[app_checks[i].value]) ;
				checked_items += ","+app_checks[i].value;
				
				row_class_name = !(j % 2)?"odd-row-gray" : "even-row-gray";
				try {
					app_row = create_app_row(
						row_class_name, 
					 	allitems[app_checks[i].value].app_name, 
						allitems[app_checks[i].value].defaults.rw, 
						allitems[app_checks[i].value].defaults.start,
						"Significant"
					);
					$('appliance_list').appendChild(app_row);	
					j++;
				} catch(e) {}
			}
		}				
		if(isNaN(parseFloat(cleanNum('sq_feet')))) {			
			$('sq_feet').value = 0;
		}
		
		$('runningLoad').value = (Math.max(rw_w_load,rw_wo_load) +  parseFloat(cleanNum('sq_feet')) );
		$('startingLoad').value = start_wo_load * total_start_lf;
		$('appList').value = checked_items.substring(1);
		$('rw_value_span').innerHTML = $('runningLoad').value + " W";
		$('start_value_span').innerHTML = $('startingLoad').value + " VA";
		$('sq_feet_value_span').innerHTML = $('sq_feet').value + " Square Ft"

		var new_generator;
		if (parseInt($('runningLoad').value) <= 12000 && parseInt($('startingLoad').value) <= 32000) {
			new_generator = $('12res_generator');						
		} else if (parseInt($('runningLoad').value) <= 17000 && parseInt($('startingLoad').value) <= 38000) {
			new_generator = $('17res_generator');						
		} else if(parseInt($('runningLoad').value) <= 30000 && parseInt($('startingLoad').value) <= 42500)  {  
 				new_generator = $('30res_generator');											
		} else  {
			new_generator = $('big_generator');
			$('big_rw').innerHTML = $('runningLoad').value;
			$('big_start').innerHTML = $('startingLoad').value;	
		}
		$('generator_div').innerHTML = new_generator.innerHTML;
			
		$('simple_calc_outer').style.display = 'none';			
		$('result_calc_outer').style.display = '';
		return false;
	}
	else if (new_content == "advanced_result_calc_outer" ){ 
		var l_type;
		for (var i = 0; i < app_checks.length; i ++) {
			if( app_checks[i].checked) {
				if("central_ac_simp_cb" != app_checks[i].id) {
					rw_w_load += 	crit_rw_w_load(allitems[app_checks[i].value], app_checks[i].value+"_rw", $('advanced_calc_form')[app_checks[i].value+"_percents"][0].checked);
					start_w_load += 	crit_start_w_load(allitems[app_checks[i].value], app_checks[i].value+"_start",$('advanced_calc_form')[app_checks[i].value+"_percents"][0].checked);
					if($('advanced_calc_form')[app_checks[i].value+"_percents"][0].checked) {
						rw_wo_load = Math.max(rw_wo_load, cleanNum(app_checks[i].value+"_rw") );
						l_type = "Significant";
					} else {
						rw_wo_load_occ =  Math.max(rw_wo_load_occ, cleanNum(app_checks[i].value+"_rw") );
						l_type = "Occasional";
					}
					start_wo_load += isNaN(parseFloat(cleanNum(app_checks[i].value+"_start")))?0:(parseFloat(cleanNum(app_checks[i].value+"_start"))) ;
					checked_items += ","+app_checks[i].value;
					
					row_class_name = !(j % 2)?"odd-row-gray" : "even-row-gray";
					try {
						app_row = create_app_row(
							row_class_name, 
						 	allitems[app_checks[i].value].app_name, 
							cleanNum(app_checks[i].value+"_rw"),
							cleanNum(app_checks[i].value+"_start"),
							l_type
						);
						$('appliance_list').appendChild(app_row);	
						j++;
					} catch(e) {}
				}
			}
		}
		for (var i = 0; i < adv_checks.length; i ++) {
			if( adv_checks[i].checked) {
				rw_w_load +=  crit_rw_w_load(allitems['misc_item'],"rw_custom_"+adv_checks[i].value, $('advanced_calc_form')["radio_custom_"+adv_checks[i].value][0].checked);
				start_w_load +=  crit_start_w_load(allitems['misc_item'],"start_custom_"+adv_checks[i].value, $('advanced_calc_form')["radio_custom_"+adv_checks[i].value][0].checked);
				if($('advanced_calc_form')["radio_custom_"+adv_checks[i].value][0].checked) {
						rw_wo_load = Math.max(rw_wo_load, cleanNum("rw_custom_"+adv_checks[i].value) );
						l_type = "Significant";
				}else {
						rw_wo_load_occ = Math.max(rw_wo_load_occ, cleanNum("rw_custom_"+adv_checks[i].value) );
						l_type = "Occasional";				
				}
				start_wo_load += isNaN(parseFloat(cleanNum("start_custom_"+adv_checks[i].value)))?0:parseFloat(cleanNum("start_custom_"+adv_checks[i].value)) ;
				checked_items += ","+$F("input_custom_"+adv_checks[i].value);
					
				row_class_name = !(j % 2)?"odd-row-gray" : "even-row-gray";
				try {
					app_row = create_app_row(
						row_class_name, 
					 	$F("input_custom_"+adv_checks[i].value), 
						cleanNum("rw_custom_"+adv_checks[i].value),
						cleanNum("start_custom_"+adv_checks[i].value),
						l_type
					);
					$('appliance_list').appendChild(app_row);	
					j++;
				} catch(e) {}
			}
		}
		for (var i = 0; i < ac_checks.length; i ++) {
			if( ac_checks[i].checked) {
				
				rw_w_load +=  crit_rw_w_load(allitems[$F(ac_checks[i].value+"_select")]);					
				start_w_load += 	crit_start_w_load(allitems[$F(ac_checks[i].value+"_select")]);				
				rw_wo_load = Math.max(rw_wo_load, crit_rw_wo_load(allitems[$F(ac_checks[i].value+"_select")]) );
				start_wo_load += crit_start_wo_load(allitems[$F(ac_checks[i].value+"_select")]) ;		
				
				ltype = ($('advanced_calc_form')[ac_checks[i].value+"_percents"][0].checked)?"Significant":"Occasional";
				row_class_name = !(j % 2)?"odd-row-gray" : "even-row-gray";
				try {
					app_row = create_ac_row(
						row_class_name, 						
					 	allitems[$F(ac_checks[i].value+"_select")].app_name,
						l_type
					);
					$('appliance_list').appendChild(app_row);	
					j++;
				} catch(e) {}
			}
		}
			
		if(isNaN(parseFloat(cleanNum('sq_feet')))) {			
			$('sq_feet').value = 0;
		}
		/* setup the values in the right results column*/
		$('runningLoad').value = (Math.max(rw_w_load,rw_wo_load+rw_wo_load_occ) +  parseFloat(cleanNum('sq_feet')) );
		$('startingLoad').value = start_wo_load * total_start_lf;
		$('appList').value = checked_items.substring(1);
		$('rw_value_span').innerHTML = $('runningLoad').value + " W";
		$('start_value_span').innerHTML = $('startingLoad').value + " VA";
		$('sq_feet_value_span').innerHTML = $('sq_feet').value + " Square Ft"
		/* swap divs for specific generators */
		var new_generator;
		if (parseInt($('runningLoad').value) <= 12000 && parseInt($('startingLoad').value) <= 32000) {
			new_generator = $('12res_generator');						
		} else if (parseInt($('runningLoad').value) <= 17000 && parseInt($('startingLoad').value) <= 38000) {
			new_generator = $('17res_generator');						
		} else if(parseInt($('runningLoad').value) <= 30000 && parseInt($('startingLoad').value) <= 42500)  {  
 				new_generator = $('30res_generator');											
		} else  {
			new_generator = $('big_generator');
			$('big_rw').innerHTML = $('runningLoad').value;
			$('big_start').innerHTML = $('startingLoad').value;	
		}
		$('generator_div').innerHTML = new_generator.innerHTML;
	
		$('simple_calc_outer').style.display = 'none';
		$('advanced_calc_outer').style.display = 'none';		
		$('result_calc_outer').style.display = '';
		
		//$('placeHolder').innerHTML = $('result_calc_outer').innerHTML;
	}
	else if (new_content == "advanced_calc_outer" ){
		if($('result_calc_outer').style.display == 'none' ) {			
			$('simple_calc_outer').style.display = 'none';
		} else {
			$('result_calc_outer').style.display = 'none';					
		}
		$('advanced_calc_outer').style.display = '';
	}
	else {
		if($('result_calc_outer').style.display == 'none' ) {			
			$('advanced_calc_outer').style.display = 'none';
		} else {
			$('result_calc_outer').style.display = 'none';					
		}
		$('simple_calc_outer').style.display = '';
	}
	
	
}



function cleanNum(el) {
	var cleaned = displayNum(el).replace(/[\$,]/g, "");
	return cleaned;
}

function displayMoney(el) {
	var cleaned =   $F(el).replace(/[^0-9\.]/g, "");
	
	if(cleaned.indexOf(".") != -1) {
		cleaned = (Math.round(parseFloat("0"+cleaned) * 100 ) / 100).toFixed(2);
	}
	cleaned = "$" + cleaned;
	
	return addCommas(cleaned);
}

function displayNum(el) {
	var cleaned =   $F(el).replace(/[^0-9\.]/g, "");
	return addCommas(cleaned);
}

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;
}


function goodfield(el) {
	clean = cleanNum(el);
	//try {console.log(clean)}catch(e){}
	return !isNaN(parseFloat(clean));
}
