
//Global XMLHTTP Request object
document.onmousemove = actionMouseMove;
var mouseX;
var mouseY;
var scrOfX = 0, scrOfY = 0;

function getPosOffset(what, offsettype)
{
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!= null)
    {
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
}

function actionMouseMove(eventObject)
{    
    storeMousePos(eventObject);
    checkToHidePopTitle();
}
function checkToHidePopTitle()
{
    //onmouseout=""hideObject('divTitle'); ""
    if(flagShow)
    {   
        if(mouseX < leftTitle || mouseX > (leftTitle + widthTitle) || mouseY < topTitle || mouseY > (topTitle + heightTitle))
        {
            //window.status = mouseX + "<" + leftTitle + "||" + mouseX + ">" + leftTitle + "+" +  widthTitle + "||" + mouseY + "<" + topTitle + "||" + mouseY + ">" + topTitle + "+" + heightTitle;
            hideObject("divTitle");
        }
    }
}
function storeMousePos(eventObject)
{
    var evt = document.all ? event : eventObject;
    
    if( typeof( window.pageYOffset ) == 'number' )
    {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } 
    else
    { 
        if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
        {
            //DOM compliant
            scrOfY = document.body.scrollTop;
            scrOfX = document.body.scrollLeft;
        }
        else
        {
            if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
            {
                //IE6 standards compliant mode
                scrOfY = document.documentElement.scrollTop;
                scrOfX = document.documentElement.scrollLeft;
            }
            else
            {
                scrOfY = 0;
                scrOfX = 0;
            }
        }
    }    
    mouseX = evt.clientX + scrOfX;
    mouseY = evt.clientY + scrOfY;
    
    //window.status = "mouseX mouseY scrOfX scrOfY: " + " " + mouseX + " " + mouseY + " " + scrOfX + " " + scrOfY;
}
var XmlHttp;

//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXmlHttp()
{
	//Creating object of XMLHTTP in IE
	try
	{
		XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			XmlHttp = null;
		}
	}
	//Creating object of XMLHTTP in Mozilla and Safari 
	if(!XmlHttp && typeof XMLHttpRequest != "undefined") 
	{
		XmlHttp = new XMLHttpRequest();
	}
}

//Gets called when country combo box selection changes
function getTitle(moduleID, newsID)
{	
	// URL to get states for a given country
	var selectLang = document.getElementById("dnn_dnnLANGUAGE_selectCulture");
	var curLang="";
	if(selectLang)
	{
	    curLang = trim(selectLang.options[selectLang.selectedIndex].value);
	}
	var requestUrl = AjaxServerPageName + "?newsid=" + encodeURIComponent(newsID) + "&&curlang=" + curLang + "&&moduleID=" + moduleID;
	
	CreateXmlHttp();
	
	// If browser supports XMLHTTPRequest object
	if(XmlHttp)
	{
		//Setting the event handler for the response
		XmlHttp.onreadystatechange = HandleResponse;
		
		//Initializes the request object with GET (METHOD of posting), 
		//Request URL and sets the request as asynchronous.
		XmlHttp.open("GET", requestUrl,  true);
		
		//Sends the request to server
		XmlHttp.send(null);		
	}
}


//Called when response comes back from server
function HandleResponse()
{
	// To make sure receiving response data from server is completed
	if(XmlHttp.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		
		if(XmlHttp.status == 200)
		{
		    if(XmlHttp.responseXML.documentElement)
		    {
		        setTitle(XmlHttp.responseXML.documentElement);
			}
			else
			{
			    alert("Lỗi không thể hiển thị được dữ liệu.");
			}
		}
		else
		{
			alert("Lỗi không thể lấy dữ liệu từ server." );
		}
	}
}
//tạo div title
var oldResult = "";
function setTitle(titleXML)
{
    var titleNode = titleXML.getElementsByTagName('title');
    if(!titleNode || !flagShow)
    {
        return;
    }
    titleText = GetInnerText(titleNode[0]);
    
    var imageNode = titleXML.getElementsByTagName('image');
    imageText = GetInnerText(imageNode[0]);
    var imgStr = "";
    if(trim(imageText) != "")
    {
        imgStr = "<img alt='*' src='" + imageText + "' align='left' style=' width:70px; border:solid 5px #F0F7FF;'>";
    }    
    
    var dateNode = titleXML.getElementsByTagName('date');
    dateText = GetInnerText(dateNode[0]);
    
    var summaryNode = titleXML.getElementsByTagName('summary');
    summaryText = GetInnerText(summaryNode[0]);
    
    if (titleText != "")
    {
        if( titleText != oldResult)
        {
            //tạo một table
            var table = "<table id='myTable' style='width:250px; border:solid 1px #4570C5; background-color:#F0F7FF' cellpadding='3' cellspacing='0'>";
            table += "    <tr>";
            table += "        <td style='width:1px; font-size:0pt;' nowrap>&nbsp;</td>";
            table += "        <td style='font-weight:bold; font-family:arial, tahoma; font-size:9pt; color: #BD0000;' align='left'>" + titleText + "</td>";
            table += "    </tr>";
		    
            table += "    <tr>";
            table += "        <td></td>";
            table += "        <td class='topic-summary' valign='top'>";
            table +=              imgStr;
            table += "            <font face='Arial, Tahoma, sans-serif' color='#969696' style='font-weight:600; font-size:8pt;'>" + dateText + "</font>"
            table += "            <br />"
            table += "            <font face='Arial, Tahoma, sans-serif' color='#333333' style='font-size:9pt;text-align:justify;'>" + summaryText + "</font>"
            table += "        <td>"
            table += "    </tr>";
            
            table += "</table>";
            
            var myDiv = document.getElementById("divTitle");
            if(!myDiv)
            {
                myDiv = document.createElement("div");
                myDiv.id = "divTitle";
                myDiv.style.position = "absolute";
                myDiv.style.background = "#F0F7FF";
            }
            myDiv.innerHTML = table;
            //xac lập lại vị trí
            document.body.appendChild(myDiv);
            
            myDiv.style.display = "";
            moveObjectToMouse("divTitle");
            oldResult = titleText;
        }
        else
        {
            var myDiv = document.getElementById("divTitle");
            myDiv.style.display = "";
            moveObjectToMouse("divTitle");
        }
    }
}
function hideObject(obiectID)
{
    var objectTemp = document.getElementById(obiectID);
    if(objectTemp)
    {
        objectTemp.style.display = "none";
        flagShow = false;
    }
}
function showObject(obiectID)
{
    var objectTemp = document.getElementById(obiectID);
    if(objectTemp)
    {
        objectTemp.style.display = "";
        flagShow = true;
    }
}
function moveObjectToMouse(obiectID)
{
    var objectTemp = document.getElementById(obiectID);
    if(objectTemp)
    {
        //scrOfX
        //alert( "scrOfX; mouseX; document.body.clientWidth" + scrOfX + mouseX + document.body.clientWidth + objectTemp.offsetWidth);
        
        if(scrOfX - mouseX + document.body.clientWidth > objectTemp.offsetWidth)
            objectTemp.style.left = mouseX + 8 + "px";
        else
            objectTemp.style.left = scrOfX + document.body.clientWidth - objectTemp.offsetWidth + "px";
                
        if(scrOfY - mouseY + document.body.clientHeight > objectTemp.offsetHeight)
            objectTemp.style.top = mouseY + 8 + "px";
        else
            objectTemp.style.top = scrOfY + document.body.clientHeight - objectTemp.offsetHeight + "px";
    }
}
//Clears the contents of state combo box and adds the states of currently selected country
function ClearAndSetStateListItems(countryNode)
{
    var stateList = document.getElementById("stateList");
	//Clears the state combo box contents.
	for (var count = stateList.options.length-1; count >-1; count--)
	{
		stateList.options[count] = null;
	}

	var stateNodes = countryNode.getElementsByTagName('state');
	var textValue; 
	var optionItem;
	//Add new states list to the state combo box.
	for (var count = 0; count < stateNodes.length; count++)
	{
   		textValue = GetInnerText(stateNodes[count]);
		optionItem = new Option( textValue, textValue,  false, false);
		stateList.options[stateList.length] = optionItem;
	}
}

//Returns the node text value 
function GetInnerText (node)
{
	 return (node.textContent || node.innerText || node.text) ;
}









