// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function auto_complete_on_select(element, selectedElement)
{
  var entityParts = selectedElement.id.split('::');
  var entityType = entityParts[0];
  var entityId   = entityParts[1];
  document.getElementById(entityType).value = entityId;
}


function select_all() {
  var elist = document.getElementsByClassName("icb");
  // alert(elist);
  for (x = 0; x < elist.length; x++) {
    elist[x].checked = true;    
		var id = elist[x].id.split("_")[2];    
		highlight_row("element_" + id, "cb_elements_" + id);
  }
  //update_button_status();
}       

function select_none() {
  var elist = document.getElementsByClassName("icb");  
	// alert(elist);
  for (x = 0; x < elist.length; x++) {
    elist[x].checked = false;
    var id = elist[x].id.split("_")[2];
    highlight_row("element_" + id, "cb_elements_" + id);
  }     
  //update_button_status();
}   

function update_highlights() {
  var elist = document.getElementsByClassName("icb");  
  for (x = 0; x < elist.length; x++) {
		var id = elist[x].id.split("_")[2];    
    highlight_row("element_" + id, "cb_elements_" + id);
  }     	
}

function update_work_highlights() {
  var elist = document.getElementsByClassName("icb");  
  for (x = 0; x < elist.length; x++) {
		var id = elist[x].id.split("_")[2];    
    highlight_row("work_" + id, "cb_works_" + id);
  }     	
}

/*
function update_button_status() {
  var elist = document.getElementsByClassName("icb");  
  for (x = 0; x < elist.length; x++) {
		if (elist[x].checked == true) {
			$('new_stack').disabled = false;
			$('more_actions').disabled = false;
			if ($('remove_elt')) {
				$('remove_elt').disabled = false;
			}
			if ($('save_button')) {
				$('save_button').disabled = false;
			}
			return;
		}
	}
	$('new_stack').disabled = true;
	$('more_actions').disabled = true;
	if ($('remove_elt')) {
		$('remove_elt').disabled = true;
	}
	if ($('save_button')) {
		$('save_button').disabled = true;
	}
}
*/
      
function highlight_row(id, cb_id) {
  if ($(cb_id).checked == true) {
    $(id).removeClassName("element");
    $(id).addClassName("element_selected");  }  
	else {
    $(id).removeClassName("element_selected");
    $(id).addClassName("element");
  }
}

function select_row(id, cb_id) {
  $(cb_id).checked = true;
  highlight_row(id, cb_id);
}

function deselect_row(id, cb_id) {
  $(cb_id).checked = false;
}

function highlight_all() {
  var elist = document.getElementsByClassName("icb");
  for (x = 0; x < elist.length; x++) {
    var id = "item_" + elist[x].id.split("_")[2];
    if ($(id)) {
      $(id).removeClassName("element");
      $(id).addClassName("element_highlight");
    }
  }
}

function unhighlight_all() {
  var elist = document.getElementsByClassName("icb");
  for (x = 0; x < elist.length; x++) {
    var id = "element_" + elist[x].id.split("_")[2];
    if ($(id)) {
      $(id).removeClassName("element_highlight");
      $(id).addClassName("element");
    }
  }
}

function change_deal_algorithm(value) {
  if (value == 'Normal') {
    $('normal_algo').show();
    $('special_algo').hide();
  }
  else if (value == 'Special') {
    $('special_algo').show();
    $('normal_algo').hide();
  }
}

function update_deal_algorithm() {
  change_deal_algorithm($F('account_deal_number_algorithm'));
}

function change_deal_text(value) {
	if (value == 'Sale') {
		$('contact_type_head').innerHTML = "Buyer";
		$('contact_type').innerHTML = "buyer";
		$('work_type').innerHTML = "buying"
	}
	else if (value == 'Purchase') {
		$('contact_type_head').innerHTML = "Seller";
		$('contact_type').innerHTML = "seller";
		$('work_type').innerHTML = "selling"
	}
	else if (value == 'Consign In') {
		$('contact_type_head').innerHTML = "Consigner";
		$('contact_type').innerHTML = "consigner";
		$('work_type').innerHTML = "consigning"
	}
	else if (value == 'Consign Out') {
		$('contact_type_head').innerHTML = "Consignee";
		$('contact_type').innerHTML = "consignee";
		$('work_type').innerHTML = "receiving"
	}
	
}

/*
function change_report(value, stack_id)
{
  alert("value = " + value + ", stack_id = " + stack_id); 
  location = value;
}
*/

function change_report(value)
{
  if (value && location != value) {
    location = value;
  }
}


function change_discount_type(value, item_id) {
	if (value == 'Discount') {
		$('reg_disc_' + item_id).show();
		$('perc_disc_' + item_id).hide();
		$('perc_disc_' + item_id).down().clear();		
	}
	else {
		$('reg_disc_' + item_id).hide();
		$('perc_disc_' + item_id).show();		
		$('reg_disc_' + item_id).down().clear();
	}
}

function change_overall_discount_type(value) {
	if (value == 'Discount') {
		$('reg_disc_overall').show();
		$('perc_disc_overall').hide();
		$('perc_disc_overall').down().clear();		
	}
	else {
		$('perc_disc_overall').show();		
		$('reg_disc_overall').hide();
		$('reg_disc_overall').down().clear();
	}
}


/* called on deal edit load to set the discount type selectors up */
function update_discount_types() {
	var dlist = document.getElementsByClassName("discount");
	var empties = new Hash();
	
	for (x = 0; x < dlist.length; x++) {

		/* figure out the item id and the type of this discount (flat, percent) */
		var td_id_list = dlist[x].up().id.split("_")
		var item_id = td_id_list[2];
		var dtype = td_id_list[0];

		if (dlist[x].getValue() && dlist[x].getValue() > 0) {
			/* show this discount */
			dlist[x].up().show();
			var select_id = 'discount_type_select_' + item_id;
			if (dtype == 'perc') {
				$(select_id).value = "% Discount";
			}
			else {
				$(select_id).value = "Discount";
			}
		}
		else {
			dlist[x].up().hide();
			if (empties.get(item_id) == 1) {
				empties.set(item_id, 2);
			}
			else {
				empties.set(item_id,  1);
			}
		}
	}
		
	/* go through empties...any that == 2 have both types hidden, so show one of them */
	empties.each(function(pair) {
		if (pair.value == 2) {
			$('reg_disc_' + pair.key).show();
			$('discount_type_select_' + pair.key).value = "Discount";
		}
	});
}

function mark_for_destroy(element, class_name) {
  $(element).next('.should_destroy').value = 1;
  $(element).up('.' + class_name).hide();
}

function sel_search_changed(value) {
  alert(value);
}

