var get_params = window.top.location.search.substring(1).toLowerCase();

if ((get_params.indexOf("category=") != -1) || (get_params.indexOf("cat=") != -1)) {
 var category_param = (get_params.indexOf("cat=") != -1) ? get_value("cat") : get_value("category");
 var category_param_first_letter = category_param.substring(0,1);
 if (category_param == "bags") { var category_choice = "bags"; }
 else if (category_param_first_letter == "b") { var category_choice = "books"; }
 else if (category_param_first_letter == "v") { var category_choice = "videos"; }
 else if (category_param_first_letter == "m") { var category_choice = "music"; }
 else if (category_param_first_letter == "e") { var category_choice = "electronics"; }
 else if (category_param_first_letter == "c") { var category_choice = "computer"; }
 else if (category_param == "software") { var category_choice = "software"; }
 else if (category_param_first_letter == "s") { var category_choice = "sports"; }
 else if (category_param_first_letter == "g") { var category_choice = "games"; }
 else if (category_param_first_letter == "t") { var category_choice = "toy"; }
 else if (category_param_first_letter == "h") { var category_choice = "home"; }
 else if (category_param_first_letter == "j") { var category_choice = "jewelry"; }
 else if (category_param == "pet") { var category_choice = "pet"; }
 else if (category_param_first_letter == "p") { var category_choice = "personal"; }
 else if (category_param_first_letter == "i") { var category_choice = "instruments"; }
 else if (category_param_first_letter == "o") { var category_choice = "office"; }
}
if (get_params.indexOf("fixed_fee=") != -1) { var fixed_fee_override = amt(get_value("fixed_fee")); }
if (get_params.indexOf("commission=") != -1) { var commission_override = amt(get_value("commission")); }
if (get_params.indexOf("sh_standard=") != -1) { var sh_standard_override = amt(get_value("sh_standard")); }
if (get_params.indexOf("sh_standard_per_lb=") != -1) { var sh_standard_per_lb_override = amt(get_value("sh_standard_per_lb")); }
if (get_params.indexOf("sh_expedited=") != -1) { var sh_expedited_override = amt(get_value("sh_expedited")); }
if (get_params.indexOf("sh_expedited_per_lb=") != -1) { var sh_expedited_per_lb_override = amt(get_value("sh_expedited_per_lb")); }
if (get_params.indexOf("shipping_method=") != -1) {
 var shipping_param_first_letter = get_value("shipping_method").substring(0,1);
 if (shipping_param_first_letter == 's') { var shipping_override = 'standard'; }
 else if (shipping_param_first_letter == 'd') { var shipping_override = 'standard'; }
 else if (shipping_param_first_letter == 'e') { var shipping_override = 'expedited'; }
}
if (get_params.indexOf("weight=") != -1) { var weight_override = amt(get_value("weight")); }


function amt(input) {
 if (typeof input == "undefined") { var input = ''; }
 input = input.toString();
 var output = 0;
 if (input.length > 0) {
  var c='',d=false;
  for (var i=0;i<input.length;i++) {
   c = input.substr(i,1);
   if ((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9')) { output = output + c; }
   else if ((c=='.')&&(d==false)) { output = output + c; d = true; }
  }
 }
 return parseFloat(output);
}

function get_value(param) {
 var param = param + "=";
 var to_return = "";
 if (get_params.length > 0) {
  begin = get_params.indexOf(param);
  if (begin != -1) {
   begin += param.length;
   end = get_params.indexOf("&",begin);
   if (end == -1) { end = get_params.length; }
   to_return = unescape(get_params.substring(begin,end));
  }
 }
 return to_return;
}

function show_fees_breakdown(show_it) {
 if (show_it == 1) {
  document.getElementById('calculator_div').style.display = 'none';
  document.getElementById('fees_breakdown_div').style.display = 'block';
 }
 else {
  document.getElementById('fees_breakdown_div').style.display = 'none';
  document.getElementById('calculator_div').style.display = 'block';
 }
}

if (window.addEventListener) { window.addEventListener("load", calc_onload, false); }
else if (window.attachEvent) { window.attachEvent("onload", calc_onload); }

function calc_onload() {
 if (typeof category_choice != "undefined") { document.getElementById('category').value = category_choice; }
 if (typeof fixed_fee_override != "undefined") { document.getElementById('fixed_fee').value = '$' + fixed_fee_override.toFixed(2); }
 if (typeof commission_override != "undefined") { document.getElementById('commission').value = commission_override + '%'; }
 if (typeof sh_standard_override != "undefined") { document.getElementById('sh_standard').value = '$' + sh_standard_override.toFixed(2); }
 if (typeof sh_standard_per_lb_override != "undefined") { document.getElementById('sh_standard_per_lb').value = '$' + sh_standard_per_lb_override.toFixed(2); }
 if (typeof sh_expedited_override != "undefined") { document.getElementById('sh_expedited').value = '$' + sh_expedited_override.toFixed(2); }
 if (typeof sh_expedited_per_lb_override != "undefined") { document.getElementById('sh_expedited_per_lb').value = '$' + sh_expedited_per_lb_override.toFixed(2); }
 if (typeof shipping_override != "undefined") { document.getElementById('shipping_method').value = shipping_override; }
 if (typeof weight_override != "undefined") { document.getElementById('weight').value = weight_override; }
 
 var f = document.getElementById('calc_form'); 
 for (var i=0; i<f.elements.length; i++) {
  if (f.elements[i].type == 'text') {
   if (window.addEventListener) { f.elements[i].addEventListener("keyup", calculate_fees, false);  }
   else if (window.attachEvent) { f.elements[i].attachEvent("onkeyup", calculate_fees); }
  }
  else if ((f.elements[i].type == 'radio') || (f.elements[i].type == 'checkbox')) {
   if (window.addEventListener) { f.elements[i].addEventListener("click", calculate_fees, false); }
   else if (window.attachEvent) { f.elements[i].attachEvent("onclick", calculate_fees); }
  }
  else if (f.elements[i].type == 'select-one') {
   if (window.addEventListener) { f.elements[i].addEventListener("change", calculate_fees, false); f.elements[i].addEventListener("keyup", calculate_fees, false); }
   else if (window.attachEvent) { f.elements[i].attachEvent("onchange", calculate_fees); f.elements[i].attachEvent("onkeyup", calculate_fees); }
  }
 }
 
 document.getElementById('item_price').focus();
  
}

function reset_boxes() {
 document.getElementById('breakdown_item_price').innerHTML = "0.00";
 document.getElementById('breakdown_sh_charged').innerHTML = "0.00";
 document.getElementById('breakdown_sh_spent').innerHTML = "0.00";
 document.getElementById('breakdown_cost_to_acquire').innerHTML = "0.00";
 document.getElementById('breakdown_per_item_fee').innerHTML = "0.00";
 document.getElementById('breakdown_percentage_fee').innerHTML = "0.00";
 document.getElementById('breakdown_total_fees').innerHTML = "0.00";
 document.getElementById('breakdown_total_profit').innerHTML = "0.00";
 document.getElementById('breakdown_total_profit').style.color = '#000000';
 document.getElementById('breakdown_profit_dollar_sign').style.color = '#000000';
 document.getElementById('item_price').value = '';
 document.getElementById('sh_charged').value = '';
 document.getElementById('sh_spent').value = '';
 document.getElementById('cost_to_acquire').value = '';
 document.getElementById('total_buy_fees').value = '';
 document.getElementById('total_profit').value = '';
 document.getElementById('total_profit').style.color = '#000000';
 document.getElementById('profit_loss_div').style.backgroundImage = "url('bg_textbox_green.gif')"; 
 document.getElementById('break_even_price').innerHTML = "$0.00";
 document.getElementById('to_receive').value = "$0.00";
 document.getElementById('new_price').innerHTML = "$0.00";
 document.getElementById('new_sh').innerHTML = "$0.00";
 document.getElementById('item_price').focus();
 //document.getElementById('break_even').style.display = "none";
}

function calculate_fees() {
 var item_price = amt(document.getElementById('item_price').value);
 var sh_charged = amt(document.getElementById('sh_charged').value);
 var sh_spent = amt(document.getElementById('sh_spent').value);
 var cost_to_acquire = amt(document.getElementById('cost_to_acquire').value);
 var per_item_fee = amt(document.getElementById('fixed_fee').value);
 var buy_percent = amt(document.getElementById('commission').value) / 100;
 buy_percent = Math.round(buy_percent*10000)/10000;
 var buy_fees = item_price * buy_percent;
 buy_fees = Math.round(buy_fees*100)/100;
 var total_fees = per_item_fee + buy_fees;
 total_fees = Math.round(total_fees*100)/100;
 var total_profit = item_price + sh_charged - sh_spent - cost_to_acquire - total_fees;
 total_profit = Math.round(total_profit*100)/100;
 if (item_price == 0) { total_fees = total_profit = 0.00; }
 document.getElementById('breakdown_item_price').innerHTML = item_price.toFixed(2);
 document.getElementById('breakdown_sh_charged').innerHTML = sh_charged.toFixed(2);
 document.getElementById('breakdown_sh_spent').innerHTML = sh_spent.toFixed(2);
 document.getElementById('breakdown_cost_to_acquire').innerHTML = cost_to_acquire.toFixed(2);
 document.getElementById('breakdown_per_item_fee').innerHTML = per_item_fee.toFixed(2);
 document.getElementById('breakdown_percentage_fee').innerHTML = buy_fees.toFixed(2);
 document.getElementById('breakdown_total_fees').innerHTML = total_fees.toFixed(2);
 document.getElementById('breakdown_total_profit').innerHTML = total_profit.toFixed(2);
 document.getElementById('total_buy_fees').value = total_fees.toFixed(2);
 document.getElementById('total_profit').value = total_profit.toFixed(2);
 if (total_profit < 0) {
  document.getElementById('breakdown_total_profit').style.color = '#FF0000';
  document.getElementById('breakdown_profit_dollar_sign').style.color = '#FF0000';
  document.getElementById('total_profit').style.color = '#FF0000';
  document.getElementById('profit_loss_div').style.backgroundImage = "url('bg_textbox_green_red.gif')";
 }
 else {
  document.getElementById('breakdown_total_profit').style.color = '#000000';
  document.getElementById('breakdown_profit_dollar_sign').style.color = '#000000';
  document.getElementById('total_profit').style.color = '#000000';
  document.getElementById('profit_loss_div').style.backgroundImage = "url('bg_textbox_green.gif')";
 } 
 // ------------------------------------------------------------------------------------------------------------- //
 // Reverse calculate price
 // ------------------------------------------------------------------------------------------------------------- //
 var desired_net_profit = amt(document.getElementById('to_receive').value);
 var reverse_price = (desired_net_profit + per_item_fee + cost_to_acquire + sh_spent - sh_charged) / (1 - buy_percent);
 reverse_price = Math.round(reverse_price*100)/100;
 document.getElementById('new_price').innerHTML = "$" + reverse_price.toFixed(2);
 // ------------------------------------------------------------------------------------------------------------- //
 // Reverse calculate S&H
 // ------------------------------------------------------------------------------------------------------------- //
 var new_sh = 0.00;
 if (item_price > 0) {
  new_sh = desired_net_profit + cost_to_acquire + sh_spent + total_fees - item_price;
  new_sh = Math.round(new_sh*100)/100;
 }
 document.getElementById('new_sh').innerHTML = "$" + new_sh.toFixed(2);
 // ------------------------------------------------------------------------------------------------------------- //
 // Determine break even price
 // ------------------------------------------------------------------------------------------------------------- //
 var break_even_price = (0.00 + per_item_fee + cost_to_acquire + sh_spent - sh_charged) / (1 - buy_percent);
 break_even_price = Math.round(break_even_price*100)/100;
 document.getElementById('break_even_price').innerHTML = "$" + break_even_price.toFixed(2);
}

function update_sh_charged() {
 if (document.getElementById('shipping_method').value == 'expedited') {
  document.getElementById('sh_charged').value = (amt(document.getElementById('sh_expedited').value) + (amt(document.getElementById('weight').value) * amt(document.getElementById('sh_expedited_per_lb').value))).toFixed(2);
 }
 else {
  document.getElementById('sh_charged').value = (amt(document.getElementById('sh_standard').value) + (amt(document.getElementById('weight').value) * amt(document.getElementById('sh_standard_per_lb').value))).toFixed(2);
 }
 document.getElementById('sh_spent').value = document.getElementById('sh_charged').value;
}

function reset_options() {
 document.getElementById('category').selectedIndex = 0;
 document.getElementById('fixed_fee').value = '$0.99';
 document.getElementById('commission').value = '15%';
 document.getElementById('sh_standard').value = '$3.99';
 document.getElementById('sh_standard_per_lb').value = '$0.00';
 document.getElementById('sh_expedited').value = '$6.99';
 document.getElementById('sh_expedited_per_lb').value = '$0.00';
 document.getElementById('shipping_method').selectedIndex = 0;
 document.getElementById('weight').value = '0';
}

function save_options() {
 if (window.confirm("When you click OK the page will reload. If you bookmark the resulting page that loads these options will be loaded by default the next time you use the calculator.")) {
  window.top.location.search = "?category=" + document.getElementById('category').value + "&fixed_fee=" + document.getElementById('fixed_fee').value + "&commission=" + document.getElementById('commission').value + "&sh_standard=" + document.getElementById('sh_standard').value + "&sh_standard_per_lb=" + document.getElementById('sh_standard_per_lb').value + "&sh_expedited=" + document.getElementById('sh_expedited').value + "&sh_expedited_per_lb=" + document.getElementById('sh_expedited_per_lb').value + "&shipping_method=" + document.getElementById('shipping_method').value + "&weight=" + document.getElementById('weight').value;
 }
}

function category_changed(t) {
 t = document.getElementById('category');
 c = document.getElementById('commission');
 s = document.getElementById('sh_standard');
 sp = document.getElementById('sh_standard_per_lb');
 e = document.getElementById('sh_expedited');
 ep = document.getElementById('sh_expedited_per_lb');
 document.getElementById('fixed_fee').value = '$0.99';
 if (t.value == "books") { c.value = '15%'; s.value = '$3.99'; sp.value = '$0.00'; e.value = '$6.99'; ep.value = '$0.00'; }
 else if (t.value == "videos") { c.value = '15%'; s.value = '$2.99'; sp.value = '$0.00'; e.value = '$5.19'; ep.value = '$0.00'; }
 else if (t.value == "music") { c.value = '15%'; s.value = '$2.99'; sp.value = '$0.00'; e.value = '$5.19'; ep.value = '$0.00'; }
 else if (t.value == "electronics") { c.value = '8%'; s.value = '$6.49'; sp.value = '$0.70'; e.value = '$11.99'; ep.value = '$1.49'; }
 else if (t.value == "computer") { c.value = '8%'; s.value = '$6.49'; sp.value = '$0.70'; e.value = '$11.99'; ep.value = '$1.49'; }
 else if (t.value == "software") { c.value = '10%'; s.value = '$3.99'; sp.value = '$0.00'; e.value = '$6.99'; ep.value = '$0.00'; }
 else if (t.value == "games") { c.value = '10%'; s.value = '$3.99'; sp.value = '$0.00'; e.value = '$6.99'; ep.value = '$0.00'; }
 else if (t.value == "toy") { c.value = '15%'; s.value = '$4.79'; sp.value = '$0.50'; e.value = '$6.99'; ep.value = '$0.99'; }
 else if (t.value == "home") { c.value = '15%'; s.value = '$4.79'; sp.value = '$0.50'; e.value = '$6.99'; ep.value = '$0.99'; }
 else if (t.value == "jewelry") { c.value = '15%'; s.value = '$4.79'; sp.value = '$0.50'; e.value = '$6.99'; ep.value = '$0.99'; }
 else if (t.value == "personal") { c.value = '15%'; s.value = '$4.79'; sp.value = '$0.50'; e.value = '$6.99'; ep.value = '$0.99'; }
 else if (t.value == "bags") { c.value = '15%'; s.value = '$4.79'; sp.value = '$0.50'; e.value = '$6.99'; ep.value = '$0.99'; }
 else if (t.value == "pet") { c.value = '15%'; s.value = '$4.79'; sp.value = '$0.50'; e.value = '$6.99'; ep.value = '$0.99'; }
 else if (t.value == "sports") { c.value = '15%'; s.value = '$6.49'; sp.value = '$0.70'; e.value = '$11.99'; ep.value = '$1.49'; }
 else if (t.value == "instruments") { c.value = '12%'; s.value = '$6.49'; sp.value = '$0.70'; e.value = '$11.99'; ep.value = '$1.49'; }
 else if (t.value == "office") { c.value = '12%'; s.value = '$6.49'; sp.value = '$0.70'; e.value = '$11.99'; ep.value = '$1.49'; }
}
