onload=function(){
if (document.getElementsByClassName == undefined) {
	document.getElementsByClassName = function(className)
	{
		var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
		var allElements = document.getElementsByTagName("*");
		var results = [];

		var element;
		for (var i = 0; (element = allElements[i]) != null; i++) {
			var elementClass = element.className;
			if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
				results.push(element);
		}

		return results;
	}
}
}

function getMousePosition(e) {
  var cursor = {x:0, y:0};
  if (!e) var e = window.event;
  if (e.pageX || e.pageY) {
    cursor.x = e.pageX;
    cursor.y = e.pageY;
  } else if (e.clientX || e.clientY) {
    cursor.x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
    cursor.y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
  }
  return cursor;
}

function showElement(el) {
  document.getElementById(el).style.display = "block";
}

function hideElement(el) {
  document.getElementById(el).style.display = "none";
}

function toggle_checkboxes(form_element, l, str) {
  var form_obj;
  var current_element;

  form_obj = form_element.form;

  for(i = 0; i < form_obj.elements.length; i++) {
    current_element = form_obj.elements[i];
    with(current_element){
      if((type == "checkbox") && (name.substring(0, l) == str)) {
        checked = form_element.checked;
      }
    }
  }
}

function swap_control(obj, control_type, control_id, w) {
  var new_control = document.createElement(control_type);
  obj.parentNode.replaceChild(new_control, obj);
  with(new_control){
    setAttribute('id', control_id);
    setAttribute('name', control_id);
    style.width = w;
    focus();
    select();
  }
}

function edit_records(form_obj, record_pk) {
  var arr = [];
  var current_element;
  var current_id;
  var i = 0;

  form_obj = document.getElementById(form_obj);

  if(!record_pk) {
    for(j = 0; j < form_obj.elements.length; j++) {
      current_element = form_obj.elements[j];
      with(current_element){
        if((type == "checkbox") && (checked == true)) {
          arr[i] = id.substring(id.lastIndexOf("_") + 1);
          i++;
        }
      }
    }
  } else {
    arr[i] = record_pk;
  }

  for(i = form_obj.elements.length - 1; i > 0; i--) {
    current_element = form_obj.elements[i];
    if(current_element.getAttribute('readOnly')) {
      with(current_element.id) {
        current_id = slice(indexOf("[") + 1, lastIndexOf("]"));
      }
      for(j = 0; j < arr.length; j++) {
        if(arr[j] == current_id) {
          with(current_element) {
            readOnly = false;
            className = 'enabled';
            focus();
          }
          break;
        }
      }
    }
  }
}