
    
     //clientPointInfo
    //generates the text for the information window for a simple point
    //label, category, id are DOM nodeCollections
    function clientPointInfo(label,category,id) {
		var info = '<div>';
    	if(label.length) {
    		if(label[0].firstChild) {
                                var idVal = id[0].firstChild.nodeValue;

                                var index = idVal.indexOf("#");

                                var itemId = idVal.substring(0,index);                                
				var countyId = idVal.substring(index + 1);

				info = getItemBubble(itemId);
				if(info == null) {
				
				info = '<p><strong>' + label[0].firstChild.nodeValue 
						+ '</strong><br/><br/>'
						/*+ '<a href="/webdav/harmonise?Page/@id=63&amp;Section[@stateId_eq_County]/@id='
						+ countyId
						+ '&amp;Session/@id=' + sessionId
						+ '&amp;Document[@stateId_eq_Main]/@id=' 
						+  itemId 
						+ '&amp;Section[@stateId_eq_Item]/@id=' 
						+ itemId*/
						+ '<a href="/itemRedirector?item='
						+ itemId
						+ '&amp;sessionId='
						+ sessionId
						+ '">'
						+ 'View item</a></p>';
				}
			}
    	}
    	
	info = info + '</div>';
	
	return info;
    }

    function getItemBubble(id) {
    	var result = ""; 

	var url = '/googlebubble?itemid=' + id;
							
	var xmlhttp = new XMLHttpRequest();
	xmlhttp.open("GET",url , false);

	xmlhttp.send('');
	var oDomDoc = xmlhttp.responseXML;
												
	if(Sarissa.getParseErrorText(oDomDoc) != Sarissa.PARSED_OK){
 // construct a human readable
 		 // error description
 		 alert(Sarissa.getParseErrorText(oDomDoc));
		alert("item id - " + id);
 		} else {
	 //alert(Sarissa.serialize(oDomDoc));
 var rootEl   = oDomDoc.documentElement;
 	if(rootEl.getAttribute("class") != "noitem") { 
	result = new XMLSerializer().serializeToString(rootEl); 
	} else {
	result = null;
	}
	}
    	return result;
   }

    
    //clientMultipointInfo
    //generates the text for the information window for a multipoint object (ie multiple items at a single point)
    //label, category, id are DOM nodeCollections
    function clientMultipointInfo(label,category,id,count) {
    	var info = '<p>' + count + " items<br/><br/>";
    	for(i = 0; i < label.length; i++) {
			var idVal = id[0].firstChild.nodeValue;
				
			var index = idVal.indexOf("#");
			
			var itemId = idVal.substring(0,index);
			var countyId = idVal.substring(index + 1);
    		info = info 
			/*+ '<a href="/webdav/harmonise?Page/@id=63&amp;Section[@stateId_eq_County]/@id='
						+ countyId
						+ '&amp;Session/@id=' + sessionId
						+'&amp;Document[@stateId_eq_Main]/@id=' 
						+  idVal 
						+ '&amp;Section[@stateId_eq_Item]/@id=' 
						+ idVal*/
			+ '<a href="/itemRedirector?item='
			+ itemId
			+ '&amp;sessionId='
			+ sessionId
						+ '">'
						+ label[i].firstChild.nodeValue + "</a><br/>";
    	}
    	info = info + "</p>";
		//alert(info);
    	return info;
    }
 
