
//change the url for the specified link
function changeLinkURL(linkid,linkvalue){
	//change the url for the link
	link=document.getElementById(linkid);
	link.href=linkvalue;
}

//submit the form
function submitGraphForm(settings){
	document.graphform.display_settings.value=settings;
	document.graphform.submit();
}

//submit the form with the language
function submitGraphFormLang(lang){
	//document.graphform.language.value=lang;
	document.graphform.action="lang.php?lang="+lang;
	document.graphform.submit();
}

//functions for checkbox groups
function onCheckboxClick(prmObj, prmParentID, prmPrefix, prmMin, prmMax){
	
	if(prmObj.id == prmParentID){// handle parent node
		setAllSubNodes(prmObj.checked, prmPrefix, prmMin, prmMax);			
	}else{
		var rgExp = new RegExp("^" + prmParentID + "\\d$");
		
		if(rgExp.exec(prmObj.id)){
			if(prmObj.checked){// checked sub node
				if(doAllHaveSameCheckedValue(prmPrefix, prmMin, prmMax)){
					document.getElementById(prmParentID).checked = true;
				}else{
					document.getElementById(prmParentID).checked = false;
				}
			}else{ //unchecked sub node
				document.getElementById(prmParentID).checked = false;
			}
		}
	}
}
function setAllSubNodes(prmChecked, prmPrefix, prmMin, prmMax){
	for(var i = prmMin; i<= prmMax; i++){
		document.getElementById(prmPrefix+i).checked = prmChecked;
	}		
}
function doAllHaveSameCheckedValue(prmPrefix, prmMin, prmMax){
	var firstChecked = document.getElementById(prmPrefix + prmMin).checked;
	for(var i = (prmMin + 1); i<= prmMax; i++){
		if(document.getElementById(prmPrefix+i).checked != firstChecked)return false;
	}
	return true;
}


// When a parent checkbox is clicked, put all his children (given by name) to the same state (checked/unchecked) 
function OnMasterCheckBoxClick(prmParentID, prmChildrenName) {

	var parent = document.getElementById(prmParentID);
	var list = document.getElementsByName(prmChildrenName);
	
	for(var i = 0; i < list.length; i++) {
		list[i].checked = parent.checked;
	}
}

// When a children checkbox is clicked then if all the group is checked then check the parent...
function OnChildrenCheckBoxClick(prmParentID, prmChildrenName) {

	var parent = document.getElementById(prmParentID);
	var list = document.getElementsByName(prmChildrenName);
	var all_checked = true;
	
	for(var i = 0; i < list.length; i++) {
		
		all_checked = all_checked && (list[i].checked);
	}
	
	parent.checked = all_checked;
}

