
		//variables
		var xmlHttp; 
		var elementThis;		
		var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
		var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0; 
		var is_opera = ((navigator.userAgent.indexOf("Opera 6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0; 
		//netscape, safari, mozilla behave the same??? 
		var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0; 

		function OpenDisclaimer()
		{ 
			newin = window.open ("Disclaimer.htm","newin","toolbar=no, location=no, scrollbars =yes, menubar=no width=650, height=500");
		}

		function This_MouseIn(ele1,ProjID)
		{ 
			elementThis = ele1;
			if (ProjID.length > 0)
			{ 			
				//Append the ProjectID to search for to the requestURL 
				var url ='../displaydetails.aspx?ProjId=' + ProjID; 
	             
				//Create the xmlHttp object to use in the request 
				//stateChangeHandler will fire when the state has changed, i.e. data is received back 
				// This is non-blocking (asynchronous) 
				xmlHttp = GetXmlHttpObject(stateChangeHandler); 
	             
				// XMLHttp send GET request 
				xmlHttp.open('GET', url, true); 
				xmlHttp.send(null); 		
			}		
		} 

		function This_MouseOut() 
		{
			// objDynamicLayer Is Object That Represent Layer Which Will Come As A Pop Up	
			var objDynamicLayer = document.getElementById( 'DynamicLayer' );	
			//Hide This Layer Care Fully [see below this we also need to hide Left/Right images ] 
			objDynamicLayer.innerHTML = '';
			objDynamicLayer.style.width = 0  + 'px';
			objDynamicLayer.style.height = 0 + 'px' ;
			objDynamicLayer.style.left = 0 + 'px';
			objDynamicLayer.style.top = 0 + 'px';
			objDynamicLayer.style.visibility = 'hidden';
			objDynamicLayer.style.zIndex = 1 ;
		} 

		function This_Click(postURL)
		{
			window.location = postURL;
		}

		//stateChangeHandler will fire when the state has changed, i.e. data is received back 
		// This is non-blocking (asynchronous) 
		function stateChangeHandler() 
		{ 
			//readyState of 4 or 'complete' represents that data has been returned 
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
			{ 			
			
				// objDynamicLayer Is Object That Represent Layer Which Will Come As A Pop Up 
				var objDynamicLayer = document.getElementById('DynamicLayer');
				
				/////////////////////////////////////////////////////////////////////////////////////////
				////////////////////////////////////Code For IE/////////////////////////////////////////
				/////////////////////////////////////////////////////////////////////////////////////////
				if( navigator.appName.indexOf("Microsoft Internet Explore") >= 0 )
				{								
					// Set Layer Location To     [ X-Location Of Image + Width Of Image ]
					objDynamicLayer.style.left = findPosX( elementThis)+ parseInt( elementThis.width ) - 20 +  "px";
					
					//  Set Layer Location To    [ Y-Location Of Image - Height Of Image ]
					objDynamicLayer.style.top  = findPosY( elementThis) - 50 + "px" ;
		
					//Populate the innerHTML of the div with the results from the callback                                                       
					objDynamicLayer.innerHTML = xmlHttp.responseText; 
					objDynamicLayer.style.visibility = 'visible';
				}
				/////////////////////////////////////////////////////////////////////////////////////////
				////////////////////////////////////Code For Other Mozilla Like/////////////////////////////////////////
				/////////////////////////////////////////////////////////////////////////////////////////
				else if( navigator.appName.indexOf("safari") >= 0 )
				{
					objDynamicLayer.style.visibility = 'visible'	
					objDynamicLayer.style.zIndex  = 10 ;	
					objDynamicLayer.style.left = findPosX( elementThis ) + 68 // 
					objDynamicLayer.style.top  = findPosY( elementThis ) + 50 // Its Ok					
					objDynamicLayer.innerHTML = xmlHttp.responseText; 
				}
				/////////////////////////////////////////////////////////////////////////////////////////
				////////////////////////////////////Code For Other Mozilla Like/////////////////////////////////////////
				/////////////////////////////////////////////////////////////////////////////////////////
				else
				{
					objDynamicLayer.style.visibility = 'visible'	
					objDynamicLayer.style.zIndex  = 10 ;	
					objDynamicLayer.style.left = findPosX( elementThis ) + 68 // 
					objDynamicLayer.style.top  = findPosY( elementThis ) - 50 // Its Ok					
					objDynamicLayer.innerHTML = xmlHttp.responseText; 
				}

			} 
		} 

		function GetXmlHttpObject(handler)
		{ 
			//declare a variable to holds the local xmlHTTP object instance 
			var objXmlHttp = null;    

			//Depending on the browser, try to create the xmlHttp object 
			if (is_ie)
			{ 
				//The object to create depends on version of IE 
				//If it isn't ie5, then default to the Msxml2.XMLHTTP object 
				var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; 
	             
				//Attempt to create the object 
				try
				{ 
					objXmlHttp = new ActiveXObject(strObjName); 
					objXmlHttp.onreadystatechange = handler; 
				} 
				catch(e)
				{ 
				//Object creation errored 
					alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled'); 
					return; 
				} 
			} 
			else if (is_opera)
			{ 
				//Opera has some issues with xmlHttp object functionality 
				alert('Opera detected. The page may not behave as expected.'); 
				return; 
			} 
			else
			{ 
				// Mozilla | Netscape | Safari 
				objXmlHttp = new XMLHttpRequest(); 
				objXmlHttp.onload = handler; 
				objXmlHttp.onerror = handler; 
			} 
	         
			//Return the instantiated object 
			return objXmlHttp; 
		} 		
		
		function findPosX(obj)
		{
			var curleft = 0;
			if (obj.offsetParent)
			{
				while (obj.offsetParent)
				{
					curleft += obj.offsetLeft;
					obj = obj.offsetParent;
				}
				curleft += obj.offsetLeft; 
			}
			else if (obj.x)
				curleft += obj.x;
			return curleft;
		}

		function findPosY(obj)
		{
			var curtop = 0;
			if (obj.offsetParent)
			{
				while (obj.offsetParent)
				{
					curtop += obj.offsetTop;
					obj = obj.offsetParent;
				}
				curtop += obj.offsetTop;
			}
			else if (obj.y)
				curtop += obj.y;
			return curtop;
		}