//// JScript File
function SmartTagInt(business_xmlFile,tdObj,callback,divObj)
{
	
	var xmlDoc = init();
	xmlDoc.async="true";		
	xmlDoc.onreadystatechange = processRequest;
	
	function init() {
      if (document.implementation.createDocument) {
        return document.implementation.createDocument("","",null);
      } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLDOM");
      }
    }
    
    function processRequest () {
      if (xmlDoc.readyState == 4) {
		if (callback) callback(xmlDoc.documentElement,tdObj,divObj);
		}
    }
    
    this.doRequest = function()
    {
		
		xmlDoc.load(business_xmlFile);
    }
	
}

function CallbackReceiveRequest(xmlObj,tdObj,divObj)
{
	var d = document.getElementById(divObj);
    var table = document.createElement( 'table' );
    var tableBody = document.createElement('tbody');
        
	xmlNodes = xmlObj.selectNodes("//Keyword")
	
	var cont = tdObj.innerText.toLowerCase();
	var pat= "";
	for( i=0;i<xmlNodes.length;i++){
		pat = xmlNodes(i).childNodes(0).text;
		
		if(cont.search('\\b' + pat.toLowerCase() + '\\b') != '-1')
		{
			xmlNodes1 = xmlObj.selectNodes("//Keyword[Value='" + pat + "']/Links/Link");
			for(var j=0;j<xmlNodes1.length;j++)
			{
		
			    var Link = xmlNodes1(j).childNodes(0).text;
			    var Caption = xmlNodes1(j).getAttribute("Caption");
			    
			    var newrow = document.createElement('tr');
                var newcol = document.createElement('td');
                
                var objNavCloseLink = document.createElement("a");
	            objNavCloseLink.setAttribute('id','NavClose');
	            objNavCloseLink.innerHTML = Caption;
	            objNavCloseLink.setAttribute('href',Link);
        
	            newcol.appendChild(objNavCloseLink);
                newrow.appendChild(newcol);
                tableBody.appendChild(newrow);
        
			}
			d.style.display="block";
			document.getElementById("SmartTagDiv").style.display="block";
		}     
        table.appendChild(tableBody);
        d.appendChild( table );
    }
}

function AJAXInteractionTag(business_xmlFile, callback,divID,divObj) {

    var req = init();
    req.onreadystatechange = processRequest;
        
    function init() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    
    function processRequest () {
   
      if (req.readyState == 4) {
        if (req.status == 200) {
        
          if (callback) callback(divID,req.responseXML,divObj);
        }
      }
    }

    this.doGet = function() {
 
      req.open("GET", business_xmlFile, true);
      req.send(null);
    }
    
    this.doPost = function(body) {
      req.open("POST", business_xmlFile, true);
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      req.send(body);
    }
}

function linkContentSub(tdObj,responseXML,divObj)
	{

var d = document.getElementById(divObj);
    var table = document.createElement( 'table' );
    var tableBody = document.createElement('tbody');
var xmlDoc = responseXML;		

var nsResolver = xmlDoc.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);

var personIterator = xmlDoc.evaluate("//Value", xmlDoc, nsResolver, XPathResult.ANY_TYPE , null );
var thisNode = personIterator.iterateNext();
var cont = tdObj.innerHTML;
	var pat= "";
		
while (thisNode) {
    var pat = thisNode.textContent;
    if(cont.search('\\b' + pat + '\\b') != '-1')
	{
	
		xmlNodes1 = xmlDoc.evaluate("//Keyword[Value='" + pat + "']/Links/Link",xmlDoc, nsResolver, XPathResult.ANY_TYPE, null);
	    var thisNode1 = xmlNodes1.iterateNext();
	        
	    while (thisNode1) 
	    {
	    var Caption = thisNode1.attributes["Caption"].value;
	
	    var Link = thisNode1.textContent;
	    
	            var newrow = document.createElement('tr');
                var newcol = document.createElement('td');
                
                var objNavCloseLink = document.createElement("a");
	            objNavCloseLink.setAttribute('id','NavClose');
	            objNavCloseLink.innerHTML = Caption;
	            objNavCloseLink.setAttribute('href',Link);
        
	            newcol.appendChild(objNavCloseLink);
                newrow.appendChild(newcol);
                tableBody.appendChild(newrow);
	   
	    
         thisNode1 = xmlNodes1.iterateNext();
         }        	
		d.style.display="block";
		document.getElementById("SmartTagDiv").style.display="block";
	}
    thisNode = personIterator.iterateNext();    
    table.appendChild(tableBody);
   
        d.appendChild( table );
  }
  
   	}	
	
	
function linkContent(tdObj)
{
	var business_xmlFile = "/news/smartTag/business_keywords.xml";
	var usemachinery_xmlFile = "/news/smartTag/usemachinery_keywords.xml";


	 if (document.implementation && document.implementation.createDocument) {
        var ai = new AJAXInteractionTag(business_xmlFile,linkContentSub,tdObj,"businessid");
		ai.doGet();
		var bi = new AJAXInteractionTag(usemachinery_xmlFile,linkContentSub,tdObj,"umid");
		bi.doGet();
		return;
      } else if (window.ActiveXObject) {
        var si = new SmartTagInt(business_xmlFile,tdObj,CallbackReceiveRequest,"businessid");
	    si.doRequest();
	   var ui = new SmartTagInt(usemachinery_xmlFile,tdObj,CallbackReceiveRequest,"umid");
	  ui.doRequest();
		return;
      }
	
}
