/*
	Phantasy Star Universe: Damage Calculator
	Copyright (c) 2009 The PSUPedia
	Licensed under the GPL ( http://www.gnu.org/licenses/gpl.html )
*/

var bm = [];
bm[bm.length] = 1;
bm[bm.length] = 1.11;
bm[bm.length] = 1.15;
bm[bm.length] = 1.19;
bm[bm.length] = 1.23;

valOf = function(n){
	return parseInt($('[name=' + n + ']').val());
}

calcAtt = function(){
	var atp = valOf('cstat_atp') + valOf('sstat_att') + valOf('wstat_att');
	var pa = valOf('pa_modifier') / 100;
	var crit = $('[name=pa_crit]').attr('checked') ? 1.5 : 1;
	var ele = (valOf('wstat_ele') == 0) ? 0 : valOf('ele_modifier') * (5 + valOf('wstat_ele')) / 151.5;
	var result = Math.floor(crit * (atp * pa * (1 + ele) * bm[valOf('buff_level')] - valOf('estat_dfp')) / 5);

	$('#result span').text(result);

	return false;
}

calcTech = function(){
	var tp = valOf('cstat_tp') + valOf('sstat_tech') + valOf('wstat_tech');
	var pa = valOf('pa_modifier') / 100;
	var crit = $('[name=pa_crit]').attr('checked') ? 1.5 : 1;
	var ele = valOf('ele_modifier') * (14 + valOf('wstat_ele') + valOf('pa_level')) / 151.5;
	var rod = $('[name=is_rod]').attr('checked') ? 1.2 : 1;
	var result = Math.floor(crit * (rod * tp * pa * (1 + ele) * bm[valOf('buff_level')] - valOf('estat_mst')) / 5);

	$('#result span').text(result);

	return false;
}

$(function(){
	var f = (window.location.href.indexOf('tech') > -1) ? calcTech : calcAtt;

	$('form').submit(f);
	$('form input, form select').change(f);
});

