function toggleCheckAll(node, id) {
	var parent = document.getElementById(id);
	var boxes = parent.getElementsByTagName("input");

	for (var i = 0; i < boxes.length; i++) {
		if (boxes[i].type == 'checkbox') {
			if (node.checked) {
			    boxes[i].checked = true;
			}else {
			    boxes[i].checked = false;
			}
		}
	}
}

function unCheckAll(id) {
	var parent = document.getElementById(id);
	var boxes = parent.getElementsByTagName("input");

	for (var i = 0; i < boxes.length; i++) {
		if (boxes[i].type == 'checkbox') {
			boxes[i].checked = false;
		}
	}
}

function swapImage(node, srcImg) {
	node.src=srcImg;
}

function getScrolling() {
    var x = 0; var y = 0;
    if (self.pageXOffset || self.pageYOffset) {
        x = self.pageXOffset;
        y = self.pageYOffset;
    } else if ((document.documentElement && document.documentElement.scrollLeft)||(document.documentElement && document.documentElement.scrollTop)) {
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    } else if (document.body) {
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    }
    return x + "," + y;
}
//window.scrollTo(0,0);

function confirmDelete(type, name) {
	var checkboxes = document.getElementsByName(name);
	var checkedCnt=0;
	for (var i=0; i<checkboxes.length;i++) {
		if (checkboxes[i].checked) {
			checkedCnt++;
		}
	}

	if (checkedCnt==0) {
		alert("Please select "+type+" to delete!");
		return false;
	}
	return confirm('Are you sure you want to delete the selected '+type+'(s)?');
}

function search(evt) {
	var keycode;
	if (window.Event) keycode = evt.which;
	else keycode = event.keyCode;

	if(keycode==13){
		document.getElementById("displayPublicationForm:terms").focus();
	}
	return true;
}

function showLink(id) {
	$(id).style.display = "block";
}

function hideLink(id) {
	$(id).style.display = "none";
}

function show(show1, show2){
	show1.style.display = "block";
	show2.style.display = "block";
}

function showshowhidehide(show1, show2, hide1, hide2){
	show1.style.display = "block";
	show2.style.display = "block";
	hide1.style.display = "none";
	hide2.style.display = "none";
}

function mouser(event){
	if(event.offsetX || event.offsetY) {
		x=event.offsetX;
		y=event.offsetY;
	}
	else {
		x=event.pageX;
		y=event.pageY;
	}
	document.getElementById('X').innerHTML = x +'px';
	document.getElementById('Y').innerHTML = y +'px';
	document.getElementById('X-coord').innerHTML = x +'px';
	document.getElementById('Y-coord').innerHTML = y +'px';
	if(being_dragged == true) {
		document.getElementById(element).style.left = x +'px';
		document.getElementById(element).style.top = y +'px';
	}
}
function mouse_down(ele_name) {
	being_dragged = true;
	element = ele_name;
	document.getElementById(element).style.cursor = 'move';
}
function mouse_up() {
	being_dragged = false;
	document.getElementById(element).style.top = y +'px';
	document.getElementById(element).style.left = x +'px';
	document.getElementById(element).style.cursor = 'auto';
}

function togglePasswordForm(){
	emLink = document.getElementById("emailEditLink");
	emForm = document.getElementById("emailEditForm");
	pwLink = document.getElementById("passwordEditLink");
	pwForm = document.getElementById("passwordEditForm");

	visible = (pwLink.style.display == "none");
	if(!visible) { <!-- open the pw form, cloes the email form if open -->
		showshowhidehide(emLink, pwForm, pwLink, emForm);		
	} else { <!-- close the form -->
		showshowhidehide(pwLink, emLink, pwForm, emForm);
	}
}
function toggleEmailForm(){
	emLink = document.getElementById("emailEditLink");
	emForm = document.getElementById("emailEditForm");
	pwLink = document.getElementById("passwordEditLink");
	pwForm = document.getElementById("passwordEditForm");

	visible = (emLink.style.display == "none");
	if(!visible) { <!-- open the email form, close pwForm if open -->
		showshowhidehide(pwLink, emForm, emLink, pwForm); 
	} else { <!-- close the form -->
		showshowhidehide(emLink, pwLink, emForm, pwForm);
	}
}

function toggleSearchProgressDiv(id, display){
	spForm = document.getElementById(id);
	spForm.style.display = display; 
}

function togglePopup(id){
	emForm = document.getElementById(id);
	visible = (emForm.style.display == "none");
	if(visible) {
		emForm.style.display = "block";
	} else { <!-- close the form -->
		emForm.style.display = "none";
	}
}

function jumpToAnchor(name) {
	document.location.hash=name;
} 

function defaultEnterKey(evt, divId, id)
{	var keycode;
    if (!evt) {evt = window.event; }
	if (evt.which) {keycode = evt.which;}
	else keycode = evt.keyCode;

	if(keycode==13){
		key = document.getElementById(id);
		key.focus();
		//key.click();
		toggleSearchProgressDiv(divId, 'block');
	}
}

function toggleObjects(formobj, otherobj, display) {
	visible = (formobj.style.display == "none");

	if(!visible) {
		formobj.style.display = "none";
		otherobj.style.display = display;
	} else {
		formobj.style.display = display;
		otherobj.style.display = "none";
	}
}

function toggle(theThing, otherThing, display) {
	formobj = document.getElementById(theThing);
	otherobj = document.getElementById(otherThing);

	toggleObjects(formobj, otherobj, display);
}

function toggleText(theThing, otherThing) {
	toggle(theThing, otherThing, "block");
}

function toggleInline(theThing, otherThing) {
	toggle(theThing, otherThing, "inline");
}

function toggleTable(theThing, otherThing) {
	toggle(theThing, otherThing, "");
}

function toggleVisibility(prefix) {
	toggle(prefix+'_collapsed_img', prefix+'_expanded_img', "inline");
	formobj = document.getElementById(prefix+'_collapsed_img');
	
	visible = (formobj.style.display == "none");
	var children = formobj.parentNode.parentNode.parentNode.childNodes;
	
	for(var i=0; i<children.length; i++) {
        if(children[i].style.display=="none" && children[i].id.indexOf(prefix)!=-1) children[i].style.display="";
        else if (children[i].id.indexOf(prefix)!=-1 && children[i].id!=prefix+"_tr")  children[i].style.display="none";
    }
}

function addToHistory(newHash)
{
  window.location.hash = newHash;
  //expectedHash = window.location.hash;
  return true;
}

function handleHistory()
{
  if ( window.location.hash != expectedHash )
  {
    var expectedHash = window.location.hash;
    var newoption = expectedHash.substring(6);
    setOptionValue( newoption );
  }
  return true;
}

function pollHash() {
  handleHistory();
  window.setInterval("handleHistory()", 1000);
  return true;
}

function toggleInfo(id1, id2) {
	obj1 = document.getElementById(id1);
	obj2 = document.getElementById(id2);
	
	obj1.style.display = "none";
	obj2.style.display = "block";
}

function toggleChangeClassNameForm(idx){
	link = document.getElementById("className"+idx+"Link");
	form = document.getElementById("className"+idx+"Form");

	toggleObjects(link, form, "inline");
}

