// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
var curvyCornersNoAutoScan = true;
var curvyCornersVerbose = false;

Event.observe(window, "load", function(){
  Event.observe(window, 'resize', set_body_height);
  set_body_height();
  
  if ($$(".win.ie7").length > 0) {
    document.getElementById("ie7_warning").style.display = "";
  }
  
});

function close_ie7_warning() {
  document.getElementById("ie7_warning").style.display = "none";
}

var set_body_height = function() {
  var body_height = Element.getHeight(document.body);
  var viewport_height = document.viewport.getHeight();
  var main_content = $('main_content');
  if (!main_content) return;
  var mch = Element.getHeight(main_content);
  
  if (body_height < viewport_height) {
    main_content.style.height = (mch + viewport_height - body_height) + 'px';
  }
}

var number_to_currency = function (number, options) {
  try {
    var options   = options || {};
    var precision = options["precision"] || 2;
    var unit      = options["unit"] || "$";
    var separator = precision > 0 ? options["separator"] || "." : "";
    var delimiter = options["delimiter"] || ",";
  
    var parts = parseFloat(number).toFixed(precision).split('.');
    return unit + number_with_delimiter(parts[0], delimiter) + separator + parts[1].toString();
  } catch(e) {
    return number;
  }
};

var number_with_delimiter = function (number, delimiter, separator) {
  try {
    var delimiter = delimiter || ",";
    var separator = separator || ".";
    
    var parts = number.toString().split('.');
    parts[0] = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + delimiter);
    return parts.join(separator);
  } catch(e) {
    return number;
  }
};

var shipping_same_as_billing_address = function(is_checked) {
	var elements_map = new Hash({
		'user_baddress_attribute_address1'  : 'user_saddress_attribute_address1',
		'user_baddress_attribute_address2'  : 'user_saddress_attribute_address2',
		'user_baddress_attribute_city'      : 'user_saddress_attribute_city',
		'user_baddress_attribute_state'     : 'user_saddress_attribute_state',
		'user_baddress_attribute_zip'       : 'user_saddress_attribute_zip',
		'user_baddress_attribute_phone'     : 'user_saddress_attribute_phone'
	});
	elements_map.keys().each( function(_b_id) {
		if (is_checked) $(elements_map.get(_b_id)).value = $(_b_id).value;
		else $(elements_map.get(_b_id)).value = '';
	} ); 
}

function set_searchby(searchby) {
  var buy_book_form  = $('buy_book_form');
  var sell_book_form = $('sell_book_form');
  if (buy_book_form) {
    buy_book_form.searchby.value = searchby;
  }
  if (sell_book_form) {
    sell_book_form.searchby.value = searchby;
  }
}

function toggle_donate(is_checked, element) {
  if (is_checked) $(element).disabled = true;
  else $(element).disabled = false;
}