//<!-- hiding javascript code
	//   DO NOT ALTER THIS SCRIPT                 
	//   ....unless you really now what you are doing 
	//   These functions work as the "engine", and should not be touched.
	
	function getContentNumRows(n){
		//var tmpArray = contentArray[n];
		return contentArray[n].length;//tmpArray.length;
	}
	function getName(j){
		return eaArray[j]; 
	}
	function getTitleName(j){
		return subjectArray[j];
	}
	
	function getContentArray(j){
		return contentArray[j];
	}
	function getContentString(j){
		if(j>(contentArray.length+1)){
			return " "
		}
		//var tmpArray = contentArray[j];
		return eaArray[contentArray[j]];//bpArray[tmpArray[j]];
		
	}	
	
	//This function writes the ealocator list
	function writeEAList(stateString,stateValue){
		var v16header = "<div class=\"ibm-container\"><h2>" + getTitleName(stateValue) + "</h2><div class=\"ibm-container-body\"><ul class=\"ibm-bullet-list\">";
		var v16footer = "</ul></div></div>";
		var v16eaElementHeader = "<li><a class=\"ibm-feature-link\" href=\"";
		var v16eaElementMiddle = "\">";
		var v16eaElementFooter = "</a></li>";

		var v14header = "<table cellspacing=\"0\" cellpadding=\"0\" width=\"443\" border=\"0\"><tbody><tr><td class=\"v14-header-2\">"+ getTitleName(stateValue) +"</td></tr></tbody></table><table class=\"v14-gray-table-border\" cellspacing=\"3\" cellpadding=\"0\" width=\"443\" border=\"0\"><tbody><tr><td><table cellspacing=\"2\" cellpadding=\"0\" width=\"100%\" border=\"0\"><tbody>";
		var v14footer = "</tbody></table></td></tr></tbody></table>";	
		var v14eaElementHeader = "<tr class=\"bullet-list\" valign=\"top\"><td class=\"bbl\">&nbsp;</td><td><a class=\"fbox\" href=\"";
		var v14eaElementMiddle = "\">";
		var v14eaElementFooter = "</a></td></tr>";

		/* Build array */
		var array = contentArray[stateValue];
		if(array.length!=1){
			array = sortArray(array);
		}

		/* doc writing */
		
		document.write(v16header);
		
		/*The row loop*/
		for(g=0;g<array.length;g++){			
			document.write(v16eaElementHeader);
			document.write(buildURL(array[g],stateString,stateValue));
			document.write(v16eaElementMiddle);
			document.write(eaArray[array[g]][0]);
			document.write(v16eaElementFooter);
		}
		document.write(v16footer);			
	}
	function buildURL(id,URLappendVarString,URLappendVarVar){
		url = location.href;
		var tmp = "";		
		if(url != url.replace("jct03004c")){
			tmp = "//www-304.ibm.com/jct03004c" + eaArray[id][1];
		}else{
			tmp = eaArray[id][1];	
		}
		
		var url = tmp + "?"+URLappendVarString + "=" + URLappendVarVar;
		return url;
	}
	//This function sorts the business partners alphabetically
	// Its not a very fast sorting algorithm (O(n^2)) but works well with few elements (n<100 approximately) 
	function sortArray(array){
		var tmpVal=0;
		var b=0;
		for(a=0;a<=(array.length-1);a++){
			for(b=a;b<=(array.length-1);b++){
				var dist;
				var bool=false;
				if(eaArray[array[a]][0].length<=eaArray[array[b]][0]){
					dist=eaArray[array[b]][0].length;
				}else{
					dist=eaArray[array[a]][0].length;
				}
				for(c=0;c<=(dist-1);c++){						
					if(eaArray[array[a]][0].toLowerCase().charAt(c)>eaArray[array[b]][0].toLowerCase().charAt(c)){
						bool=true;
						break;
					}
					if(eaArray[array[a]][0].toLowerCase().charAt(c)!=eaArray[array[b]][0].toLowerCase().charAt(c)){
						break;
					}
				}
				if(bool){
					tmpVal=array[b];
					array[b]=array[a];
					array[a] = tmpVal;
				}
			}		
		}
		return array;
	}
	function gup(name){
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]"+name+"=([^&#]*)";
		var regex = new RegExp(regexS);
		var results = regex.exec(window.location.href);
		if( results == null ){
			return "";
		}else{
			return results[1];
		}
	}
	function displayTable(elementString){
		var elementValue = gup(elementString);
		if(elementValue!=""){
			writeEAList(elementString,elementValue);
		}
	}
// end hiding -->