// <!--
//BEGIN Script

// script to add wildcards
// adds leading and trailing * to the keyword in the box
// it also transfers the value from "dummy" to the actual sent value
// this is so users never see the *
// it relies on the real element having a NAME attribute that matches the ID attribute of the dummy element

// THIS FUNCTION IS PROBABLY OBSOLETE - YJ 05/2007

function addWildcard() {
	// traverse the forms collection
	var i = 0;
	while (i < document.forms.length) {
		var j = 0;
		var f = document.forms[i];
		// traverse the elements in each form
		while (j < f.elements.length) {
			var g = f.elements[j];
			//check if it's a kv or a term (used by the uploader)
			if (g.name.indexOf("term") != -1) {
				//find the real value which is in another element, the one actually displayed so you don't see the * in your input box
				var h = 0;
				while (h < f.elements.length) {
					var k = f.elements[h];
					// if the id of the found element matches the name of the real hidden element, then assign the value to it with **
					if (k.id == g.name && k.value.length > 0) g.value = "*" + k.value.replace(/ /g,"*") + "*";
					h++;
				}
			}
			j++;
		}
		i++;
	}
}

function addWildcard1() {
	var i = 0;
	while (i < document.forms.length) {
		var j = 0;
		var f = document.forms[i];
		while (j < f.elements.length) {
			var g = f.elements[j];
			//alert("i:"+i+"j:"+j+" name: "+g.name+" value: "+g.value);
			j++;
		}
		i++;	
	}
}


// add a reference term to the window opener for web searches
function addRef() {
	// the popup selection box
	var selList = document.forms[0].selected;
	// the selected option. To get it we use the index number of the selectedIndex in the popup selection box
	var selOption = selList.options[selList.selectedIndex];
	// the contents of the main window
	var papaDoc = window.opener.document;	
	// the new input element we are creating
	var newRef = papaDoc.createElement("input");
	// add attributes to the new elements
	newRef.type = "hidden";
	// get the totalBoxes value from the other window and use it to create the name with correct number, like kv[12]
	newRef.name = "kv[" + window.opener.totalBoxes + "]";
	newRef.setAttribute('id',"kv[" + window.opener.totalBoxes + "]");
	// add the current selected value
	var valueSelected=selOption.value;
	newRef.value = valueSelected.replace(':','/');
	var resultId=selOption.value;
	var firstNumber=resultId.charAt(0);
	if (firstNumber==3) {
		var refTypeCol='Species';
	} else if (firstNumber==2) {
		var refTypeCol='WaterArea';
	}
	var newKW = papaDoc.createElement("input");
	newKW.type = "hidden";	       
	newKW.name = "kw[" + window.opener.totalBoxes + "]";
	newKW.setAttribute('id',"kw[" + window.opener.totalBoxes + "]");
	newKW.value = refTypeCol + "_Ref";	
	//alert(window.opener.reftype);
	//newKW.value = window.opener.reftype + "_Ref";
	
	// the dummy input element we are creating
	var newRefDisp = papaDoc.createElement('input');
	newRefDisp.setAttribute('id',"idkv[" + window.opener.totalBoxes + "]");
	// start creating the dummy value that the user can see
	newRefDisp.type = "text";
	//newRefDisp.value = "OK";	
	newRefDisp.value = selOption.text;	
	// make it read only
	newRefDisp.readonly = "true";
	// disable it because we don't actually want to send it in the form to the search engine
	newRefDisp.disabled = "true";	
	newRefDisp.size = "40";
	
	// cause a line break after
	//newRefDisp.style.display = "block";
	newRefDisp.style.margin = "5pt";
	
	//Delete button
	var DelButton1=papaDoc.createElement('a');
	//necessary for IE
	DelButton1.setAttribute( 'href',"javascript:delRef("+window.opener.totalBoxes+")");
	DelButton1.setAttribute( 'id', "del" + window.opener.totalBoxes );   
	//
	var DelButton2=papaDoc.createElement('img');
	//not supported by IE
	//DelButton.style.fontWeight=50;
	//DelButton.style.backgroundColor="white";
	DelButton2.setAttribute( 'type', "image" ); 
	DelButton2.src='/figis/shared/assets/images/buttons/cancel.gif';
	//DelButton2.setAttribute( 'src', "%5Cfigis%5Cshared%5Cassets%5Cimages%5Cbuttons%5Ccancel.gif");
	DelButton1.appendChild(DelButton2);
	
	// stick them onto an existing object
	// go and get the correct column by asking for the column in the main window that has an ID that matches the value of the JS variable
	// refType that was set by an onclick when the user clicked "Select blah blah" to open the Ref popup.
	//alert(window.opener.document.reftype);
	
	//var obj1 = papaDoc.getElementById(window.opener.reftype);
	//alert(refTypeCol);
	var obj1 = papaDoc.getElementById(refTypeCol);
	
	// append the newly created elements to the column
	//alert("kw_name: "+newKW.name+" kw_value: "+newKW.value+ " kv_name: "+newRef.name+" kv_value: "+newRef.value);
	var retour=papaDoc.createElement('br');
	
	var q=2;
	while (q<window.opener.totalBoxes) {
		if (papaDoc.getElementById("kv["+q+"]")) {
			if (papaDoc.getElementById("kv["+q+"]").value==selOption.value) {
				alert("This element has been already selected");
				return;
			}
		}
		q++;
	}
	with ( obj1 ) {
		appendChild(retour);
		appendChild(newKW);
		appendChild(newRef);
		appendChild(newRefDisp);
		appendChild(DelButton1);
	}
	// increase the total number of boxes so if the user reopens the popup we will have the correct count for crating more kv[] elements.
	window.opener.totalBoxes++;
	//totalBoxes++;
	window.opener.numberElements++;
	//numberElements++;
	window.close();
}


function delRef(IdVal) {
	var no = IdVal;
	var kwRefno="kw["+no+"]";
	if (document.getElementById(kwRefno)) {
		if (document.getElementById(kwRefno).previousSibling.nodeName=='BR') {
			var childBR = document.getElementById(kwRefno).previousSibling;
			childBR.parentNode.removeChild(childBR);
			var childkwRef = document.getElementById(kwRefno);
			childkwRef.parentNode.removeChild(childkwRef);
		}
	}
	var Refno="kv["+no+"]";
	if (document.getElementById(Refno)) {
		var childRef = document.getElementById(Refno);
		childRef.parentNode.removeChild(childRef);
	}
	
	var RefDispno="idkv["+no+"]";
	if (document.getElementById(RefDispno)) {
		var childRefDisp = document.getElementById(RefDispno);
		childRefDisp.parentNode.removeChild(childRefDisp);
	}
	var Delno="del"+no;
	if (document.getElementById(Delno)) {
		var childDel = document.getElementById(Delno);
		childDel.parentNode.removeChild(childDel);
	}
	numberElements--;
}

function ClearAllST(TBVal) {
	var i=0;
	var h=0
	/*
	if (document.getElementById('FS')) {
		var childDelForm = document.getElementById('FS');
		//Necessary for IE
		if (document.getElementById('FS').hasChildNodes()) {
			//Necessary for IE
			alert(childDelForm.childNodes.length);	
			//alert(childDelForm.hasChildNodes().count);
			while (h<(childDelForm.childNodes.length+1)) {
				alert(childDelForm.childNodes[h].name);
				childDelForm.removeChild(childDelForm.firstChild);
				h++;
			}
		}
	}
	*/
	if (document.getElementById('Fkw[0]')) {
		while (h<(numberElementsForm)) {
			var kwForm="Fkw["+h+"]";
			if (document.getElementById(kwForm)) {
				var kwFormChild = document.getElementById(kwForm);
				kwFormChild.parentNode.removeChild(kwFormChild);
			}
			var kvForm="Fkv["+h+"]";
			if (document.getElementById(kvForm)) {
				var kvFormChild = document.getElementById(kvForm);
				kvFormChild.parentNode.removeChild(kvFormChild);
			}
			h++;
		}
	}
	while (i<TBVal) {
		if (i<=1) {
			document.getElementById("idkv["+i+"]").value="";
		} else if (i>=2) {
			delRef(i);
		}
		i++;
	}
	totalBoxes = 2;
	numberElements=2;
	numberElementsForm=0;
}

function ClearAllST2(TBVal){
	var i=0;
	while ( i<TBVal ) {
		if (i<=1) {
			document.getElementById("idkv["+i+"]").value="";
		} else if (i>=2) {
			delRef(i);
		}
		i++;
	}
	totalBoxes = 2;
	numberElements=2;
}

function numbered() {
	var i=0, j=0, h=0;
	//alert(numberElements);
	/*
	if (document.getElementById('FS')) {
		var childDelForm = document.getElementById('FS');
		//Necessary for IE
		if (childDelForm.hasChildNodes()) {
			//Necessary for IE
			while (h<(childDelForm.childNodes.length+1)) {
				childDelForm.removeChild(childDelForm.firstChild);
				h++;
			}
		}
	}
	*/
	if (document.getElementById('Fkw[0]')) {
		while (h<(numberElementsForm)) {
			var kwForm="Fkw["+h+"]";
			if (document.getElementById(kwForm)) {
				var kwFormChild = document.getElementById(kwForm);
				kwFormChild.parentNode.removeChild(kwFormChild);
			}
			var kvForm="Fkv["+h+"]";
			if (document.getElementById(kvForm)) {
				var kvFormChild = document.getElementById(kvForm);
				kvFormChild.parentNode.removeChild(kvFormChild);
			}
			h++;
		}
	}
	while (i<totalBoxes) {
		if (document.getElementById("idkv["+i+"]")) {
			if (document.getElementById("idkv["+i+"]").value=='') {
				if (i<=1) {
				} else if (i>=2) {
					//alert("2sanskv["+i+"]");
					delRef(i);
				}
			}
			if (document.getElementById("idkv["+i+"]").value!='') {
				if (i<=1) {
					var newRef1 = document.createElement("input");
					newRef1.type = "hidden";
					newRef1.name = "kw[" + j + "]";
					newRef1.setAttribute('id',"Fkw[" + j + "]");
					if (i==0) newRef1.value = "species";
					if (i==1) newRef1.value = "fishingarea";
					var newRef2 = document.createElement("input");
					newRef2.type = "hidden";
					newRef2.name = "kv[" + j + "]";
					newRef2.setAttribute('id',"Fkv[" + j + "]");
					var childkv = document.getElementById("idkv["+i+"]");
					newRef2.value =updateSTValue(childkv.value);
					document.forms['FS'].appendChild(newRef1);
					document.forms['FS'].appendChild(newRef2);
				} else if (i>=2) {
					var childkw = document.getElementById("kw["+i+"]");
					var newRef3 = document.createElement("input");
					newRef3.type = "hidden";
					newRef3.name = "kw[" + j + "]";
					newRef3.setAttribute('id',"Fkw[" + j + "]");
					newRef3.value=childkw.value;
					var childkv = document.getElementById("kv["+i+"]");
					var newRef4 = document.createElement("input");
					newRef4.type = "hidden";
					newRef4.name = "kv[" + j + "]";
					newRef4.setAttribute('id',"Fkv[" + j + "]");
					newRef4.value=childkv.value;
					document.forms['FS'].appendChild(newRef3);
					document.forms['FS'].appendChild(newRef4);
				}
				j++;
			}
		}
		i++;
	}
	numberElementsForm=numberElements;
	ClearAllST2(totalBoxes);
	//addWildcard1();
}

function PresenceValue() {
	if(numberElements==2 && document.getElementById("idkv[0]").value=='' && document.getElementById("idkv[1]").value=='') {
		alert ("Please give at least one value");
		return false ;
	}
	if (numberElements==2 && (document.getElementById("idkv[0]").value=='*' || document.getElementById("idkv[1]").value=='*')) {
		alert ("Please restrict your search scope");
		return false ;
	}
	numbered();
	return true ;
}
	
function updateSTValue(val) {
	var MonReg=/,/gi;
	if (val == "" || val== null ) {
		val = '<null>';
	} else {
		val = val.replace(MonReg, " ");
		return val;
	}
}
	
function UpdateValueKv0(thisForm) {
	var MonReg=/,/gi;
	var Chaine=thisForm.elements["value-in"].value;
	if ( thisForm.elements["value-in"].value == null || thisForm.elements["value-in"].value == "") {
		alert ("Please select a value for your search in the search box");
		return false ;
	} 
	if (thisForm.elements["value-in"].value =='*') {
		alert ("Please restrict your search scope");
		return false ;
	}
	Chaine = Chaine.replace(MonReg, " ");
	thisForm.elements["kv[0]"].value =Chaine;
	//alert (thisForm.elements["kv[0]"].name +", "+ thisForm.elements["kv[0]"].value);
	return true;
}

function clearAllFirms(formname) {
	with ( document.getElementById(formname) ) {
		elements["name"].value="";
		elements["institution"].value="";
		elements["year"].value="";
		elements["species"].value="";
		elements["fishingarea"].value="";
		elements["fishingareaintersect"].value="";
		elements["stock"].value="";
		elements["management"].value="";
		elements["spatialscale"].value="";
		elements["juridictional"].value="";
		elements["climatic"].value="";
		elements["depth"].value="";
		elements["bottom"].value="";
		elements["vertical"].value="";
		elements["horizontal"].value="";
		//elements["exploitation"].value="";
	}
	return false;
}

function updateAllFirmsValue(thisForm1) {
	function updateValue2(val2,kval2,thisForm2) {
		var MonReg2=/,/gi;
		var Chaine2=thisForm2.elements[val2].value;
		if (thisForm2.elements[val2].value == "" || thisForm2.elements[val2].value == null || thisForm2.elements[val2].value == '*' ) {
			thisForm2.elements[kval2].value = '<null>';
		} else {
			Chaine2 = Chaine2.replace(MonReg2, " ");
			thisForm2.elements[kval2].value = Chaine2 ;
			flag2 = "y";
		}
	}
	function updateValue3(val3,kval3,thisForm3) {
		if (thisForm3.elements[val3].value == "" || thisForm3.elements[val3].value == null || thisForm3.elements[val3].value == '*' ) {
			thisForm3.elements[kval3].value = '<null>';
		} else {
			thisForm3.elements[kval3].value = thisForm3.elements[val3].value ;
			flag2 = "y";
		}
	}
	var flag2="n";
	updateValue2("name","kv[0]",thisForm1);
	updateValue2("institution","kv[1]",thisForm1);
	updateValue2("year","kv[2]",thisForm1);
	updateValue2("species","kv[3]",thisForm1);
	updateValue2("fishingarea","kv[4]",thisForm1);
	updateValue2("fishingareaintersect","kv[12]",thisForm1);
	updateValue3("stock","kv[5]",thisForm1);
	updateValue3("management","kv[6]",thisForm1);
	updateValue3("spatialscale","kv[7]",thisForm1);
	updateValue3("juridictional","kv[8]",thisForm1);
	updateValue3("climatic","kv[9]",thisForm1);
	updateValue3("depth","kv[10]",thisForm1);
	updateValue3("bottom","kv[11]",thisForm1);
	updateValue3("vertical","kv[13]",thisForm1);
	updateValue3("horizontal","kv[14]",thisForm1);
	//updateValue3("exploitation","kv12",thisForm1);
	if (flag2 == "n") {
		alert ("Please select at least one value");
		return false ;
	} else {
		return true;
	}
}

function updateAllFirmsFIValue(thisForm1) {
	function updateValue2(val2,kval2,thisForm2) {
		var MonReg2=/,/gi;
		var Chaine2=thisForm2.elements[val2].value;
		if (thisForm2.elements[val2].value == "" || thisForm2.elements[val2].value == null || thisForm2.elements[val2].value == '*' ) {
			thisForm2.elements[kval2].value = '<null>';
		} else {
			Chaine2 = Chaine2.replace(MonReg2, " ");
			thisForm2.elements[kval2].value = Chaine2 ;
			flag2 = "y";
		}
	}
	function updateValue3(val3,kval3,thisForm3) {
		if (thisForm3.elements[val3].value == "" || thisForm3.elements[val3].value == null || thisForm3.elements[val3].value == '*' ) {
			thisForm3.elements[kval3].value = '<null>';
		} else {
			thisForm3.elements[kval3].value = thisForm3.elements[val3].value ;
			flag2 = "y";
		}
	}
	var flag2="n";
	updateValue2("name","kv[0]",thisForm1);
	updateValue2("institution","kv[1]",thisForm1);
	updateValue2("year","kv[2]",thisForm1);
	updateValue2("species","kv[3]",thisForm1);
	updateValue2("fishingarea","kv[4]",thisForm1);
	/*
	updateValue2("fishingareaintersect","kv[12]",thisForm1);
	updateValue3("stock","kv[5]",thisForm1);
	updateValue3("management","kv[6]",thisForm1);
	updateValue3("spatialscale","kv[7]",thisForm1);
	updateValue3("juridictional","kv[8]",thisForm1);
	updateValue3("climatic","kv[9]",thisForm1);
	updateValue3("depth","kv[10]",thisForm1);
	updateValue3("bottom","kv[11]",thisForm1);
	updateValue3("vertical","kv[13]",thisForm1);
	updateValue3("horizontal","kv[14]",thisForm1);
	*/
	//updateValue3("exploitation","kv12",thisForm1);
	if (flag2 == "n") {
		alert ("Please select at least one value");
		return false ;
	} else {
		return true;
	}
}

function addWA(formname,WA) {
	var theForm2 = document.getElementById(formname);
	var currentValue=theForm2.elements["fishingareaintersect"].value;
	if (currentValue.indexOf(WA, 1)==-1){
		if (theForm2.elements["fishingareaintersect"].value=="") {
			theForm2.elements["fishingareaintersect"].value=WA;
		} else {
			theForm2.elements["fishingareaintersect"].value=theForm2.elements["fishingareaintersect"].value + ", " + WA;
		}
	}
	return false;
}

// END Script
// -->
