
//var div = document.getElementById('container');
//var disp = '&nbsp;<IMG src="assets/img/menu/expand.gif" border="0"/>';
var a_home = '<center><img src="assets/img/cyberfacility.jpg" alt="" width="432" height="270" border="0"><br>\n'
			+'<table width="364" border="0" cellspacing="6" cellpadding="0" dir="ltr">\n'
			+'<tr height="16" dir="ltr">\n'
			+'<td class="bodystyle" bgcolor="#C5FFE9" width="77" height="16" dir="ltr"><b><font size="2" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">&nbsp;Process</font></b></td>\n'
			+'<td class="bodystyle" align="left" valign="middle" height="16" dir="ltr"><font size="2" color="navy" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">view processes, facility and equipments</font></td>\n'
			+'</tr><tr height="16" dir="ltr">\n'
			+'<td class="bodystyle" bgcolor="#C5E9FF" width="77" height="16" dir="ltr"><b><font size="2" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">&nbsp;Facility</font></b></td>\n'
			+'<td class="bodystyle" align="left" valign="middle" height="16" dir="ltr"><font size="2" color="navy" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">link to web site</font></td>\n'
			+'</tr><tr height="16" dir="ltr">\n'
			+'<td class="bodystyle" bgcolor="#FFE6C5" width="77" height="16" dir="ltr"><b><font size="2" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">&nbsp;Equipment</font></b></td>\n'
			+'<td class="bodystyle" align="left" valign="middle" height="16" dir="ltr"><font size="2" color="navy" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">display the ID card of the equipment </font></td>\n'
			+'</tr></table></center>\n';

var a_loader = '<table width="100%" height="100%">'
			  +'<tr><td valign="middle" align="center">'
			  +'Please wait ...<BR /><img src="assets/img/processing.gif" />'
			  +'</td></tr>'
			  +'</table>';

var a_info = '<table>'
			+'<tr><td colspan="2" id="infoT">Organization of database</td></tr>'
			+'<tr><td id="infoH"><span style="font-size:120%;">F</span>ront-<span style="font-size:120%;">E</span>nd<BR />processes</td><td id="infoB"><b>Fabrication</b> of devices,<BR />components or functional<BR />surfaces</td></tr>'
			+'<tr><td id="infoH"><span style="font-size:120%;">B</span>ack-<span style="font-size:120%;">E</span>nd<BR />processes</td><td id="infoB"><b>Fabrication</b> of systems<BR />packaging and assembly</td></tr>'
			+'<tr><td id="infoH"><span style="font-size:120%;">C</span>haracterization<BR />techniques</td><td id="infoB"><b>Analytical techniques</b><BR />for test and reliability</td></tr>'
			+'</table>';
			  
			
var a_search ='<br /><center><b>Enter a keyword</b><br />(process, facility or equipment)<br />'
			  +'<input type="text" name="keyword" id="keyword" style="width:150px" /></center>'
			  +'<table align=center><tr><td class="buttonoutline" id="go" align="center" valign="middle" bgcolor="white" width="95" height="20"><a href=#><b>Search</b></a></td></tr>'
			  +'</table>';

//			  +'<td><div id="go" class="button" onMouseOut="this.style.background=\'blue\'" onMouseOver="style.cursor=\'pointer\';this.style.background=\'#ffcc33\'">Search</div><BR />'
			
var a_hidden = '<div id="hidden" class="hidden">&nbsp;</div><BR />';
			
var a_header = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\n'
+'<html>\n'
+'<head>\n'
+'<meta http-equiv="content-type" content="text/html; charset=utf-8">\n'
+'<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">\n'
+'<title>Swiss MNT Network</title>\n'
+'<link rel="stylesheet" type="text/css" href="build/fonts/fonts-min.css" />\n'
+'<link rel="stylesheet" type="text/css" href="assets/css/process.css" />\n'
+'<link rel="stylesheet" type="text/css" href="build/container/assets/skins/sam/container.css" />\n'
+'</head>\n'
+'<body class="yui-skin-sam">\n';

function GetParam(name)
{
  var start=location.search.indexOf("?"+name+"=");
  if (start<0) start=location.search.indexOf("&"+name+"=");
  if (start<0) return '';
  start += name.length+2;
  var end=location.search.indexOf("&",start)-1;
  if (end<0) end=location.search.length;
  var result='';
  for(var i=start;i<=end;i++) {
    var c=location.search.charAt(i);
    result=result+(c=='+'?' ':c);
  }
  return unescape(result);
}

function selectClass(id)
{
	var obj = document.getElementById(id);
	obj.className = "selected";
	YAHOO.util.Event.removeListener(id, "mouseover");
	YAHOO.util.Event.removeListener(id, "mouseout");
}

function unselectClass(id)
{
	var obj = document.getElementById(id);
	obj.className = "unselected";
	YAHOO.util.Event.removeListener(id, "mouseover");
	YAHOO.util.Event.removeListener(id, "mouseout");
	YAHOO.util.Event.on(id, "mouseover", function(e) {
			obj.className = "pointed";
	});
	YAHOO.util.Event.on(id, "mouseout", function(e) {
			obj.className = "unselected";
	});
}

function buildPanelKK(){
	if (document.myform.elements["nrec"].length == undefined) {
		nlen = 1;
		nval = new Array(document.myform.elements["nrec"]);
	}
	else {
		nlen = document.myform.elements["nrec"].length;
		nval = document.myform.elements["nrec"];
	}	
	var code = "";
	for (i=0; i<nlen; i++){
		code += 'p'+nval[i].value+' = new YAHOO.widget.Panel("panel'+nval[i].value+'", { x:10, y:150, width:"400px", visible:false, draggable:true, close:true } );';
//		code += 'p'+nval[i].value+' = new YAHOO.widget.Panel("panel'+nval[i].value+'", { width:"400px", visible:false, draggable:false, close:true } );';
		code += 'p'+nval[i].value+'.render();';

		// Instantiate a Panel from script
		code += 'YAHOO.util.Event.addListener("show'+nval[i].value+'", "click", p'+nval[i].value+'.show, p'+nval[i].value+', true);';
	}
	// Instantiate a Panel from markup
	eval(code);
}

function buildPanel(){
	if (document.myform.elements["nrec"].length == undefined) {
		nlen = 1;
		nval = new Array(document.myform.elements["nrec"]);
	}
	else {
		nlen = document.myform.elements["nrec"].length;
		nval = document.myform.elements["nrec"];
	}	
	var code = "";
	for (i=0; i<nlen; i++){
		code += 'p'+nval[i].value+' = new YAHOO.widget.Module("panel'+nval[i].value+'", { visible:false } );';
		code += 'p'+nval[i].value+'.render();';

		// Instantiate a Panel from script
		code += 'YAHOO.util.Event.addListener("show'+nval[i].value+'", "click", p'+nval[i].value+'.show, p'+nval[i].value+', true);';
		code += 'YAHOO.util.Event.addListener("hide'+nval[i].value+'", "click", p'+nval[i].value+'.hide, p'+nval[i].value+', true);';
	
	}
	// Instantiate a Panel from markup
	eval(code);
//	alert (code);
}

function displaySP(query){
	var myRand=parseInt(Math.random()*99999999);  
	var div = "treeDiv2";
	var param = "?query=" + query + "&myRand="+myRand;
	document.getElementById("treeDiv2").innerHTML = a_loader;
	if (query == ""){
		var div = "treeDiv1";
		var param = "?myRand="+myRand;
		document.getElementById("treeDiv2").innerHTML = "&nbsp;";
	}
	var callback = {
		success: function(o) {
			document.getElementById(div).innerHTML = o.responseText;
			if (query != "") buildPanel();
		}
	}
	var sUrl = "assets/process_list_valid.php"+param;
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
}


function makeRequest(mynode){
	document.getElementById("treeDiv2").innerHTML = a_loader;
	var callback = {
		success: function(o) {
			document.getElementById("treeDiv2").innerHTML = o.responseText;
			if (document.myform != null) buildPanel();
		}
	}
	var nodeLabel = encodeURI(mynode);
	//prepare URL for XHR request:
	var sUrl = "assets/process_list_site.php?query=" + nodeLabel;

	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
}

var oData = new Object();
YAHOO.example.treeExample = function() {

	var tree, currentIconMode;
		function loadNodeData(node, fnLoadComplete)  {
			var nodeLabel = node.label;
			
			//prepare URL for XHR request:
			var sUrl = "assets/process_tree.php?query=" + nodeLabel;
			//prepare our callback object
			var callback = {
				//if our XHR call is successful, we want to make use
				//of the returned data and create child nodes.
				success: function(oResponse) {
					YAHOO.log("XHR transaction was successful.", "info", "example");
//					alert(oResponse.responseText);
					var oResults = eval("(" + oResponse.responseText + ")");

					if((oResults.ResultSet.Result) && (oResults.ResultSet.Result.length)) {
						//Result is an array if more than one result, string otherwise
						if(YAHOO.lang.isArray(oResults.ResultSet.Result)) {
							for (var i=0, j=oResults.ResultSet.Result.length; i<j; i++) {
								oData.label = oResults.ResultSet.Result[i];
								oData.href = "Javascript:makeRequest('"+oResults.ResultSet.ResultID[i]+"')";
								oData.title = oResults.ResultSet.ResultDescripion[i];
								var tempNode = new YAHOO.widget.TextNode(oData, node, false);
							}
						} else {
							//there is only one result; comes as string:
							oData.label = oResults.ResultSet.Result;
							oData.href = "Javascript:makeRequest('"+oResults.ResultSet.ResultID+"')";
							oData.title = oResults.ResultSet.ResultDescripion;
							var tempNode = new YAHOO.widget.TextNode(oData, node, false)
						}
					}
					
					oResponse.argument.fnLoadComplete();
				},
				
				failure: function(oResponse) {
					YAHOO.log("Failed to process XHR transaction.", "info", "example");
					oResponse.argument.fnLoadComplete();
				},
				
				argument: {
					"node": node,
					"fnLoadComplete": fnLoadComplete
				},
				
				//timeout -- if more than 7 seconds go by, we'll abort
				//the transaction and assume there are no children:
				timeout: 7000
			};
			
			//With our callback object ready, it's now time to 
			//make our XHR call using Connection Manager's
			//asyncRequest method:
			YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
		}

        function buildTree() {
		   //create a new tree:
		   tree = new YAHOO.widget.TreeView("treeDiv1");
		   
		   //turn dynamic loading on for entire tree:
		   tree.setDynamicLoad(loadNodeData, currentIconMode);
		   
		   //get root node for tree:
		   var root = tree.getRoot();
		   
		   //add child nodes for tree; our top level nodes are
		   //all the states in India:
			var callback = {
				success: function(o) {
						eval(o.responseText);
					   for (var i=0, j=aStates.length; i<j; i++) {
							s = aIds[i]+1;
							oData.label = aStates[i];
							oData.href = "Javascript:makeRequest('"+aIds[i]+"')";
							oData.title = aStates[i];
					   		var tempNode = new YAHOO.widget.TextNode(oData, root, false);
						}
					   tree.draw();
					}
				}
			var sUrl = "assets/process_root.php";
			var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
		}


	return {
		init: function() {

		//handler for collapsing all nodes
			YAHOO.util.Event.on("go", "click", function(e) {
				document.getElementById("treeDiv2").innerHTML = a_loader;
				var callback = {
					success: function(o) {
						document.getElementById("treeDiv2").innerHTML = o.responseText;
						if (document.myform.elements["nrec"] != null) buildPanel();
					}
				}
				//prepare URL for XHR request:
				myRand=parseInt(Math.random()*99999999);  
				param = "&myRand="+myRand;
				var sUrl = "assets/process_list_search_all.php?query=" + document.getElementById("keyword").value + param;
			
				var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
			});

				
		//handler for collapsing all nodes
			YAHOO.util.Event.on("collapse", "click", function(e) {
				tree.collapseAll();
				YAHOO.util.Event.preventDefault(e);
			});
		
		//handler for clearing right window
			YAHOO.util.Event.on("clear", "click", function(e) {
			document.getElementById("treeDiv2").innerHTML = a_home;});
		
			YAHOO.util.Event.on("print", "click", function(e) {
				document.p_form.p_code.value = document.getElementById("treeDiv2").innerHTML;
				document.p_form.submit();
			});
		
		//handler for clearing right window
			YAHOO.util.Event.on("maintenance", "click", function(e) {
				document.location.href="process_admin.html";
			});
		
		//handler for clearing right window
			YAHOO.util.Event.on("site", "click", function(e) {
			displaySP('');
			document.getElementById("treeDiv2").innerHTML = a_home;
			});
		
		//handler for clearing right window
			YAHOO.util.Event.on("explore", "click", function(e) {
			document.getElementById("treeDiv2").innerHTML = a_home;
			currentIconMode = 1;
            buildTree();
			});
		
			YAHOO.util.Event.on("search", "click", function(e) {
				document.getElementById("treeDiv1").innerHTML = a_search;
				document.getElementById("treeDiv2").innerHTML = a_home;
				
				YAHOO.util.Event.on("go", "click", function(e) {
					document.getElementById("treeDiv2").innerHTML = a_loader;
					var callback = {
						success: function(o) {
							document.getElementById("treeDiv2").innerHTML = o.responseText;
							if (document.myform.elements["nrec"] != null) buildPanel();
						}
					}
					//prepare URL for XHR request:
					myRand=parseInt(Math.random()*99999999);
					param = "&myRand="+myRand;
					var sUrl = "assets/process_list_search_all.php?query=" + document.getElementById("keyword").value + param;
					var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);

				});
			});
			
			document.getElementById("treeDiv1").innerHTML = a_search ;
			var q = GetParam("q");
			if (q != ""){
				document.getElementById("keyword").value = q;
				document.getElementById("treeDiv2").innerHTML = a_loader;
				var callback = {
					success: function(o) {
						document.getElementById("treeDiv2").innerHTML = o.responseText;
						if (document.myform.elements["nrec"] != null) buildPanel();
					}
				}
				//prepare URL for XHR request:
				var myRand=parseInt(Math.random()*99999999);
				param = "&myRand="+myRand;
				var sUrl = "assets/process_list_search_all.php?query=" + q + param;
			
				var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
			}
			
			var kpl1 = new YAHOO.util.KeyListener(document, 
			                                      { keys:13 }, 
												  {fn:function()
												  		{	
															document.getElementById("treeDiv2").innerHTML = a_loader;
															var callback = {
																success: function(o) {
																	document.getElementById("treeDiv2").innerHTML = o.responseText;
																	if (document.myform.elements["nrec"] != null) buildPanel();
																}
															}
															//prepare URL for XHR request:
															var myRand=parseInt(Math.random()*99999999);
															param = "&myRand="+myRand;
															var sUrl = "assets/process_list_search_all.php?query=" + document.getElementById("keyword").value + param;
														
															var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
													}
													});
    		kpl1.enable();
        }

	}
} ();

//once the DOM has loaded, we can go ahead and set up our tree:
YAHOO.util.Event.onDOMReady(YAHOO.example.treeExample.init, YAHOO.example.treeExample,true)

