
// Hide an element (requires CSS class ishidden)
function hide(id) {
  var el;
  //if(typeof id == 'array') {
  if(arguments.length > 1) {
    for( var i=0; i < arguments.length; i++ ) {
      el = document.getElementById(arguments[i]);
	  try {
        el.className ="ishidden";   
      } catch(e) {
      	alert("Sorry, we encountered a problem. The element "+arguments[i]+" could not be found. "+e);
      }
    }
  } else {
    el = document.getElementById(id);
    el.className ="ishidden";   
  }
}

// Show an element (requires CSS class isvisible)
function show(id,className) {
  var el;
  el = document.getElementById(id);
  if(className) {
    el.className = className; 
  } else {
    el.className ="isvisible"; 
  }
}

function enable_disable(id, mode) {
  // mode == 1 disabled, mode == 0 enabled
  var el, i;
  var els = new Array();

  el = document.getElementById(id);
  if (mode == 1) { el.className ="isdisabled"; } else { el.className = "isVisible"; }
  el.Disabled = mode;

  els = el.getElementsByTagName("input");
  disableloop(els, mode);
  els = el.getElementsByTagName("textarea");
  disableloop(els, mode);
  els = el.getElementsByTagName("textarea");
  disableloop(els, mode);
  els = el.getElementsByTagName("select");
  disableloop(els, mode);

}

function GetCustomElem(name) {
  var els = new Array(); 
  var debug = 0;
  els = document.getElementsByName(name);
  
  var sel = els[0].options[els[0].selectedIndex].value;
  var array = sel.split("|");
  if (debug) { alert("name="+name+" : id="+array[0]+" : base_price="+array[1]+" : setup_price="+array[2]); }
  return array;
}

function set(element_name, price) {
  var el;
  el = document.getElementById(element_name);
  if(isNaN(price)) {
    //We want to display something special in this field.
    el.innerHTML = price;
  } else {
    price = Money(price);
    el.innerHTML = "$"+price;
  }
}

function SetValueByName(name, value) {
  var els = new Array();
  els = document.getElementsByName(name);
  els[0].value=value;
}


function GetValueByName(name) {
  var els = new Array();
  els = document.getElementsByName(name);

  //var value = els[0].options[els[0].selectedIndex].value;
  var value = els[0].value;
  return value;
}

function Money(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt));
    return mnt;
}

function disableloop(els,mode) {
  for (i=0; i < els.length; i++) {
	  els[i].disabled=mode;
	  if(els[i].value != undefined) { 
		  if (mode == 1) { els[i].value = "Disabled"; } else { els[i].value = ""; }
 	  }
  }
}

// Find the absolute X position of an object
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

// Find the absolute Y position of an object
function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

// Find an object's x & y by an element id
function findPosByID (id) {
	var el = document.getElementById(id);
	var pos = new Object();
	pos.x = findPosX(el);
	pos.y = findPosY(el);
	return pos;
}
