// !--------------------------------------------------------------------------+// ! Application  : Jobs at hp                                                |// ! Author       : Bruno Perrin                                              |// ! Date         : 06/2000                                                   |// ! Language     : Java Script                                               |// ! Program Name : utility_functions.js                                      |// !                                                                          |// !--------------------------------------------------------------------------+// ! Maintenance Request :                                                    |// !----------+----------+---------+-----------------+------------------------+// ! Mr No    | Version  | Date    | Author          | Description            |// !----------+----------|---------+-----------------+------------------------+// !          |          |         |                 |                        |// !--------------------------------------------------------------------------+// !                                                                          |// ! General Description :                                                    |// ! -------------------                                                      |// ! Library of Java script functions.                                        |// ! Customization of standard utility_functions.js                           |// ---------------------------------------------------------------------------+// SNF JAVASCRIPT utility_functions.js VERSION 1.0

aX = new Array;
aL = new Array;
aI = new Array;

aX2 = new Array;
aL2 = new Array;
aI2 = new Array;

aObjectRegion = new Array;
aObjectLocation = new Array

// Var used for open a new window (this window is used for giveen some information)
var objChildWin;

// populate the countries/sites list automatically according to the region/country selected
function populate (Idx, menuName)
{	  	
	Idx = parseInt(Idx);
	var StartIdx = aI [Idx];
	var EndIdx = StartIdx;

	if (Idx == aI.length-1) {EndIdx = aX.length-1}
	else {EndIdx = aI [Idx + 1] -1}						

	for (i=menuName.length; i>0 ; i--) {
		menuName[i] = null;
	}

	Cpt = 0;
	for (i=StartIdx; i<= EndIdx; i++) {
		menuName[Cpt] = new Option (aL[i]);
		menuName[Cpt].value = aX [i];	      	
		Cpt ++;
	}
	menuName[0].selected = true; 
}


function deleteMenu(menuName, nStay)
{
	var i;
	for (i=menuName.length; i>=nStay ; i--) {
		menuName[i] = null;
	}
}

function initializeList(ctrList, sValue, sText)
{
	var i;

	if(ctrList.length == 0) {
		ctrList[0] = new Option (sText);
		ctrList[0].value = sValue;
		ctrList[0].selected = true; 
	}
	else {
		ctrList[0].selected = true; 
		for(i=1; i<ctrList.length; i++)
			ctrList[i].selected = false; 				
	}
}

function displayList(sValue, ctrChildList)
{							
	var sSearchValue, nStart;
	var first = 0;
	var i;

	sSearchValue = "area" + sValue;

	for(i=0; i < aX.length; i++) {			
		if(aX[i] == sSearchValue) {
			nStart = i;
			break;
		}
	}

	Cpt = ctrChildList.length;
	for (i=nStart; ; i++) {
		if(first == 0) {
			ctrChildList[Cpt] = new Option (aL[i]);
			ctrChildList[Cpt].value = aX [i];
			first = 1;
		  }
		  else {	
			var sNext = new String(aX[i]);			  	
				if((sNext == "undefined") || (sNext.indexOf("area") != -1)) {
					break;
				}
			ctrChildList[Cpt] = new Option ("    " + aL[i]);
			ctrChildList[Cpt].value = aX[i];
		  }	
		Cpt ++;						
	}
}
// populate the countries/sites list automatically according to the region/country selected
function populateMultiple(ctrFatherList, ctrListChildList)
{
	var i, j=0;
	var aSave = new Array();

	for (i = ctrListChildList.length-1; i>=0 ; i--) {
		// Save the selected for reselect then after
		if(ctrListChildList.options[i].selected == true) {
			aSave[j] = ctrListChildList.options[i].value;
			j++;
		}
	}

	//ctrListChildList[i] = null;
	deleteMenu(ctrListChildList, 0);	
	for(i=0; i < ctrFatherList.length; i++) {
		if(ctrFatherList.options[i].selected == true) {
			if(ctrFatherList.options[i].value.indexOf("reg") == -1) {
				displayList(ctrFatherList.options[i].value, ctrListChildList);
			}
		}
	}

	for(i=0; i < ctrListChildList.length; i++)		
		for(j=0; j<aSave.length; j++)
			if(ctrListChildList.options[i].value == aSave[j])
				ctrListChildList.options[i].selected = true;

	initializeList(ctrListChildList, "any", "any site");
}


// Change the content of the region or the location list
function initializeCtrlForm(sCtrlC)
{
	if(sCtrlC.name == "region_R1") {
		for(i=0; i < sCtrlC.length; i++) {
			aObjectRegion[i] = sCtrlC.options[i];
		}
	}
	else {
		for(i=0; i < sCtrlC.length; i++) {
			aObjectLocation[i] = sCtrlC.options[i];
		}
	}
}


function unApplicableCtrlForm(sCtrlF, sCtrlC1, sCtrlC2, sContent)
{
	var i;
	if(sCtrlF.options[sCtrlF.selectedIndex].value == 2) {
		for (i = sCtrlC1.length; i > 0 ; i--) {
		   sCtrlC1[i] = null;
		}

		sCtrlC1[0] = new Option (sContent);
		sCtrlC1[0].value = "NA";
		sCtrlC1[0].selected = true; 

		for (i = sCtrlC2.length; i > 0 ; i--) {
		   sCtrlC2[i] = null;
		}

		sCtrlC2[0] = new Option (sContent);
		sCtrlC2[0].value = "NA";
		sCtrlC2[0].selected = true; 

	}
	else {																		
		for (i = sCtrlC1.length; i >= 0 ; i--)		
			sCtrlC1[i] = null;

		for(i=0; i < aObjectRegion.length; i++) {	
			sCtrlC1.options[i] =  aObjectRegion[i];
		}
		populate(sCtrlC1.selectedIndex, sCtrlC2);
	}								
}


// Used to the content management
function PopUp(sURL, sWidth, sHeight, sTop, sLeft, sScrollbars)
{
	var sFeatures;	
	sFeatures = "width=" + sWidth + ",height=" + sHeight + ",top=" + sTop + ",left=" + sLeft + ",directories=no,toolbar=no,resizable=no,titlebar=no,menubar=no,scrollbars=" + sScrollbars;
	window.open(sURL,"popup",sFeatures);
}

// SNF JAVASCRIPT utility_functions.js VERSION 1.0
// Function to jump to a URL in a <select> menu
// In this case, the name of the array containing the URLs
// is determined based on the name of the pulldown menu.
function jumpToURL(formName,menuName) {
var obj = eval("document." + formName + "." + menuName);
var index = obj.selectedIndex;
var url = obj.options[index ].value;
if (url != "") {
	location.href=url;
 }
}

function jumpToURLByURL(sUrl) {
if (sUrl != "") {
	location.href=sUrl;
 }
}