var ie = (document.all) ;
var ns = (document.layers) ;

function CheckAll(FormName) {
	for (var i=0; i < FormName.elements.length; i++) {
		if (FormName.elements[i].type == 'checkbox')
			FormName.elements[i].checked = true;
	}
}
function UnCheckAll(FormName) {
	for (var i=0; i < FormName.elements.length; i++) {
		if (FormName.elements[i].type == 'checkbox')
			FormName.elements[i].checked = false;
	}
}

function CheckBoxElementToggle(Element) {
	var ClassOffName, ClassOnName;
	ClassOffName = "ListRow";												//defaults - No Class
	ClassOnName  = "ListHighlightRowSelect";	

	if (Element.checked) {
		ApplyStyleParentTag (ClassOnName, Element, 'TR', 0)		
	}
	else {
		ApplyStyleParentTag (ClassOffName, Element, 'TR', 0)		
	}

	
	// count on boxes and off boxes
	var OnBoxes, OffBoxes;
	OnBoxes = OffBoxes = 0;
	for (var i=0;i<Element.form.elements.length;i++) {

		var e = Element.form.elements[i];


		if ((e.name != 'AllBox') && (e.type=='checkbox')) {
			if (e.checked)
				OnBoxes++;
			else
				OffBoxes++;
		}
	}

	if (OffBoxes == 0)			// all on - select AllBox
			Element.form.AllBox.checked = true;
	else										// not All On - deSelect AllBox if on
			if (Element.form.AllBox.checked)
				Element.form.AllBox.checked = false;

	//CheckBoxFormOnLoad (Element.form);

}



function CheckBoxFormToggleAll(FormName, ClassOn, ClassOff) {
	var ClassOffName, ClassOnName;
	ClassOffName = "ListRow";	//defaults - No Class
	ClassOnName  = "ListHighlightRowSelect";	//defaults - No Class
	if (CheckBoxFormToggleAll.arguments.length == 3) { //we have a ClassOn & ClassOff, override both
			ClassOffName = ClassOff;
			ClassOnName = ClassOn;
	}
	if (CheckBoxFormToggleAll.arguments.length == 2) {//we have a ClassOn but No ClassOff, override on
			ClassOnName = ClassOn;
	}
	if (FormName.AllBox.checked == true) {
		CheckBoxFormCheckAll (FormName, ClassOnName);
	}
	else {
		CheckBoxFormUnCheckAll (FormName, ClassOffName);
	}
}

function CheckBoxFormCheckAll(FormName, ClassName) {
	for (var i=0; i < FormName.elements.length; i++) {
		if (FormName.elements[i].type == 'checkbox') {
			FormName.elements[i].checked = true;
			ApplyStyleParentTag(ClassName, FormName.elements[i], 'TR', 0);
		}
	}
}
function CheckBoxFormUnCheckAll(FormName, ClassName) {
	for (var i=0; i < FormName.elements.length; i++) {
		if (FormName.elements[i].type == 'checkbox') {
			FormName.elements[i].checked = false;
			ApplyStyleParentTag(ClassName, FormName.elements[i], 'TR', 0);
		}
	}
}


function SelectAll(theField) {
	var tempval=eval("document."+theField)
	tempval.focus()
	tempval.select()
}





function ApplyStyle(ClassName, Element) {	// element, element, element list

	for (var i=1; i<ApplyStyle.arguments.length; i++){
				ApplyStyle.arguments[i].className = ClassName;
	}
	return true;
}


function ToggleStyle(ClassName1, ClassName2, Element) {

	for (var i=1; i<ToggleStyle.arguments.length; i++){
			if (ToggleStyle.arguments[i].className == ClassName1)
				ToggleStyle.arguments[i].className = ClassName2;
			else
				ToggleStyle.arguments[i].className = ClassName1;
	}	
	return true;
}


function ApplyStyleParentTag (ClassName, Element, strTag, Levels) { //example params ('Highlight', this, 'TR', 0) - case sensitive
	if (!ie) return;

	while (Element.tagName != strTag) {
			Element=Element.parentElement;
	}
	Element.className = ClassName;
}


function ToggleStyleParentTag (ClassName, Element, strTag, Levels) { //example params ('Highlight', this, 'TR', 0) - case sensitive
	if (!ie) return;

	while (Element.tagName != strTag) {
			Element=Element.parentElement;
		}

	if (Element.className == ClassName)
		Element.className = "";
	else
		Element.className = ClassName;
}

function CheckBoxFormOnLoad (FormName) { //Used to fix "BACK Button" highlight problem

	if (!ie) return false;

	var strLoad = 'CheckBoxFormHighlightSelected (' + FormName + ')';	
	self.setTimeout(strLoad, 100);

	return true;
}

function CheckBoxFormHighlightSelected (FormName) { //Used to fix "BACK Button" highlight problem

	//if (!ie) return false;
	//alert(FormName);
	
	var ClassOffName, ClassOnName;
	ClassOffName = "ListRow";												//defaults - No Class
	ClassOnName  = "ListHighlightRowSelect";	

	for (var i=0; i < FormName.elements.length; i++) {
		if ((FormName.elements[i].type == 'checkbox') && (FormName.elements[i].name != 'AllBox')){

			if (FormName.elements[i].checked){
				ApplyStyleParentTag(ClassOnName, FormName.elements[i], 'TR', 0);
			}
			else {
				ApplyStyleParentTag(ClassOffName, FormName.elements[i], 'TR', 0);
			}
		}
	}
//	return true;
}




function IsElementVisible(element) {
 if (document.all(element).style.display == "none") {
  return false;
 }
 else {
  return true;
 }
}

function ShowElement(element) {
 document.all(element).style.display = "";
}

function HideElement(element) {
 document.all(element).style.display = "none";
}

function ToggleElementVisibility(element) {

 if (IsElementVisible(element)) {
  HideElement(element);
 }
 else {
  ShowElement(element);
 }
}







