var iResultCnt=0;
var MSearchRsltCnt; //Current mail result cont
var GblResult="";		//Object to store mail search results;
var DashMRsltCnt=-1;	//Total no of dashboard results 
var lastTimer,lastReqTime;
var xmldockey,xmldocpr;
var searchflag=1; 

//loads xml

function LoadXmls()
{	
	
	xmldockey=OrchGenericObj.GetXMLObj_Load("/productMap/assets/mindmapBusiness.xml",0); 
	xmldocpr=OrchGenericObj.GetXMLObj_Load("/productMap/assets/mindmapProducts.xml",0);
	
	
	
	
}	
//clicking outside the search result div will hide the results
function contentsearch()
{	
	if(document.getElementById("searchword").value =="")
		{
			alert("Please enter a keyword to search");
	
		}
	else
	{
	document.searchsubmit.action ="/searchresult/search_result.asp?q="
	
	document.searchsubmit.submit();
	
	}
	
}
function hidesearchresults()
{
document.getElementById("searchresult").style.display="none";
}

function keyWordSearch(searchWord) 
{
	
if(searchWord=="")
{
document.getElementById("searchresult").innerHTML="";
document.getElementById("searchresult").style.display="none";
}
else
{
document.getElementById("searchresult").innerHTML="";
document.getElementById("searchresult").style.display="none";
iResultCnt++;
clearTimeout(lastTimer);  
 var CurTime = new Date();
 if ((CurTime-lastReqTime) < 300)
  clearTimeout(lastTimer);

 lastTimer=setTimeout(function(){_keyWordSearch(searchWord,0)},1000);
 lastReqTime =new Date();
 MSearchRsltCnt=0;
 GblResult="";	
 DashMRsltCnt=-1;
 }
 
}


function selectNodes(sElem,sXPath) {
    if(sElem==null) return null;
	try{
		return sElem.selectNodes(sXPath);
	}
	catch(ee)
	{	
		var oEvaluator = new XPathEvaluator();
		var oResult = oEvaluator.evaluate(sXPath, sElem, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
		
		var aNodes = new Array();
		if (oResult != null) {
			var oElement = oResult.iterateNext();
			while(oElement) {
				aNodes.push(oElement);
				oElement = oResult.iterateNext();
			}
		}
		return aNodes;
	}
}
var iMPageCnt=12;
function _keyWordSearch(searchWord,iStart)
{	
	
		
	if(!searchWord=="")
	{
		searchWord=searchWord.toLowerCase();
		document.getElementById("searchresult").innerHTML="";
		document.getElementById("searchresult").style.display="block";	
		var nl1=selectNodes(xmldockey,"//keyword[contains(concat(' ',translate(@value,'ABCDEFGHIJKLMNOPQRSTUVWXYZ-','abcdefghijklmnopqrstuvwxyz ')),' "+searchWord+"')]");		
		var nl2=selectNodes(xmldocpr,"//solution[contains(concat(' ',translate(@value,'ABCDEFGHIJKLMNOPQRSTUVWXYZ-','abcdefghijklmnopqrstuvwxyz ')),' "+searchWord+"')]");		
		
		if((nl1==null && nl2==null) || (nl1.length==0 && nl2.length==0) )
		{
			document.getElementById("searchresult").innerHTML="";
			document.getElementById("searchresult").style.display="none";
			//searchflag=0;
		}
		else
		{
			
				for(var i=0;i<nl1.length;i++)
				{
				var str=nl1[i].getAttribute("value");
				var id=nl1[i].getAttribute("product");
				var child=nl1[i];
				var color=nl1[i].getAttribute("colorcode");
				
				var level=nl1[i].getAttribute("level");
				if(level==0)
				{
				continue;
				}
				
				var href=nl1[i].getAttribute("href");
				
				if(level>1)
				str=str+" (";
				for(var j=level;j>1;j--)
				{
					if(j==level)
					
						str=str+child.parentNode.getAttribute("value");
					
					else
					str=str+" > "+child.parentNode.getAttribute("value");
					child=child.parentNode;
				}
				if(level>1)
				str=str+")";
				document.getElementById("searchresult").innerHTML=document.getElementById("searchresult").innerHTML+"<div style='width:100%'><a href='/productsMain.asp?"+href.substring(1)+"' url='"+href+"' id='"+id+"' onclick='changeurl(event);adjstload(event);return false;' style='display:block;width:100%;background-color:"+color+";cursor:pointer;' class='color1'>"+str+"</a></div>";			
				
				
			}
			
			for(var i=0;i<nl2.length;i++)
			{
				var strpr=nl2[i].getAttribute("value");
				
				
				var id1=nl2[i].getAttribute("id");
				var childpr=nl2[i];
				var colorpr=nl2[i].getAttribute("colorcode");
				var levelpr=nl2[i].getAttribute("level");
				if(levelpr==0)
				{
				continue;
				}
				var href=nl2[i].getAttribute("href");
				
				if(levelpr>1)
				strpr=strpr+" (";
				for(var j=levelpr;j>1;j--)
				{
					if(j==levelpr)
					strpr=strpr+childpr.parentNode.getAttribute("value");
					else
					strpr=strpr+" > "+childpr.parentNode.getAttribute("value");
					childpr=childpr.parentNode;
				}
				if(levelpr>1)
				strpr=strpr+")";
				document.getElementById("searchresult").innerHTML=document.getElementById("searchresult").innerHTML+"<div style='width:100%'><a href='/productsMain.asp?"+href.substring(1)+"' url='"+href+"' id='"+id1+"'  onclick='changeurl(event);adjstload(event)' style='display:block;width:100%;background-color:"+colorpr+";cursor:pointer' class='color1'>"+strpr+"</a></div>";			
				
			}
		}
	} 
	else
	{
		document.getElementById("searchresult").innerHTML="";
		document.getElementById("searchresult").style.display="none";
	}
	
}



function passval()
{
	//var value=document.getElementById("graph_loadword").value;
	
	//setTimeout(function(){sendToActionScript(value)},700);
	
}
function sendToActionScript(value) {
          thisMovie("main").sendToActionScript(value);
      }
       function thisMovie(movieName) {
          if (navigator.appName.indexOf("Microsoft") != -1) {
              return window[movieName];
          } else {
              return document[movieName];
          }
      }


var OrchGenericObj=new OrchGeneric();
function OrchGeneric(){
  	this.CHECK_XML=I_CHECK_XML;
	this.GetXMLObj=I_GetXMLObj;
	this.GetXMLObj_Load=I_GetXMLObj_Load;
}

if (navigator.userAgent.indexOf("MSIE")>-1)
	iBrowser=1;
else if(navigator.userAgent.indexOf("Opera")>-1)
	iBrowser=2;
else if(navigator.userAgent.indexOf("Firefox")>-1)
	iBrowser=3;
else 
	iBrowser=4;

function I_Alert(s){alert(s);return "";}
//this function is used for getting an insatnce of any object.
var msxmlVers=new Array("6.0","3.0","");
msxmlVers.Ver=""; 
function I_GetMSXMLObj(ClassV){
	var ClassNoV=ClassV,RtnObj=null;
	if (iBrowser!=1 && ClassV.indexOf("XMLHTTP")>-1)
		return CreateXHRObj();
	else
	{	
		if(ClassV.indexOf(".4.0")>-1) //now all request are for version 4.0
			ClassNoV=ClassV.substring(0,ClassV.length-4); 
	    if(msxmlVers.Ver==""){ 
	        for(var v=0;v<msxmlVers.length;v++){
	            try{
	                RtnObj=new ActiveXObject(ClassNoV+"."+msxmlVers[v]);
	                msxmlVers.Ver=msxmlVers[v];
	                break;
	            }catch(e){};
	        } 
	    }else
			RtnObj=new ActiveXObject(ClassNoV+"."+ msxmlVers.Ver); 
	    return RtnObj;
	}
}

function I_GetXMLObj(xmlstr,XSLFlag){   
    var ClientXML;
	try{
		if (XSLFlag != 1)
			ClientXML  = I_GetMSXMLObj("MSXML2.DOMDocument.4.0");
		else{
			ClientXML  = I_GetMSXMLObj("MSXML2.FreeThreadedDOMDocument.4.0"); 
			ClientXML.resolveExternals = true;   
			if(msxmlVers.Ver=='6.0')
		        ClientXML.setProperty("AllowXsltScript", true);
	    }		 
		ClientXML.async = false;
		ClientXML.validateOnParse = false;	
		ClientXML.loadXML(xmlstr);
		ClientXML.setProperty("SelectionLanguage", "XPath"); 
		}
		catch(e)
		{
			ClientXML=CreateDomObj(xmlstr,"false");
			ClientXML.validateOnParse = false;	
		}
	return I_CHECK_XML(ClientXML);
  }
  
function I_GetXMLObj_Load(xmlPath,XSLFlag){  
	var ClientXML;
	if(iBrowser==1){
		if (XSLFlag != 1) 
			ClientXML  = I_GetMSXMLObj("MSXML2.DOMDocument.4.0");	 
		else{
			ClientXML  = I_GetMSXMLObj("MSXML2.FreeThreadedDOMDocument.4.0"); 
			ClientXML.resolveExternals = true;   
		if(msxmlVers.Ver=='6.0')
			ClientXML.setProperty("AllowXsltScript", true);
		}	
		ClientXML.async = false;
		ClientXML.validateOnParse = false;	
		ClientXML.load(xmlPath);
		ClientXML.setProperty("SelectionLanguage", "XPath"); 
	}
	else{
		ClientXML=CreateDomObj("");
		ClientXML.async = false;
		ClientXML.validateOnParse = false;	
           try{
		ClientXML.load(xmlPath);
               }
            catch(e)
                {
			var xmlhttp = new window.XMLHttpRequest();
			xmlhttp.open("GET",xmlPath,false);
			xmlhttp.send(null);
			ClientXML = xmlhttp.responseXML.documentElement;

                }

	}
	I_CHECK_XML(ClientXML);
	return ClientXML;
}
function CreateDomObj(xmlstr,b_async)
{
	var domObj,Parser;
	domObj=document.implementation.createDocument("","",null);
	if (xmlstr=="" )
		return domObj;
	else{
		Parser=new DOMParser();
		domObj= Parser.parseFromString(xmlstr,"text/xml");
		domObj.async=b_async;
		return domObj;
	}
	
}
function CreateXHRObj()
{
	var xmlhttp=new XMLHttpRequest();
	return xmlhttp;
}
function I_CHECK_XML(XMLObj){
	if(!XMLObj.documentElement) {
            if(iBrowser == 1)
		   return XMLObj.parseError.reason;  
             else
               return "";
           }

	else 
		return XMLObj;
}

//-----------------------------------
var abc;
function adjstload(e)
{
	
	var event;
	event=(window.event)?(window.event):e;
	id=event.srcElement.id;
	
	
	
	if(parent.window.location.href.match("#")=="#" )
	{	
		addPerson(id);
		
	}
	else
	{
		
	}
	
	//id=event.target.id;
}

//--------------------------------
var ids;
function calltochange(url)
{
url=url.toLowerCase();
//alert("calltochange"+url);
var xPath = "//mindmap/solutions/solution/solution[@href='"+url+"']";


var nl2=selectNodes(xmldocpr,xPath);	

//alert("nl2=== "+nl2);


if(nl2.length ==0)
{	
	xPath = "//mindmap/solutions/solution/solution/solution[@href='"+url+"']";
    nl2=selectNodes(xmldocpr,xPath);	
    
}


		for(var i=0;i<nl2.length;i++)
			{
				 ids=nl2[i].getAttribute("id");
				
				 
				
				 return ids;
			}
			 //alert(ids);
			return "";
		
}
var prourl;
function geturl(id)
{
	var xPath = "//mindmap/solutions/solution/solution[@id='"+id+"']";
	var nl2=selectNodes(xmldocpr,xPath);
	if(nl2.length ==0)
	{	
		xPath = "//mindmap/solutions/solution/solution/solution[@id='"+id+"']";
		nl2=selectNodes(xmldocpr,xPath);	
	}	
	for(var i=0;i<nl2.length;i++)
		{
			 prourl=nl2[i].getAttribute("href");
			
			 prourl=prourl.substring(1);
				
			 return prourl;
		}
			// alert(ids);
			return "";

}
