var divAjax, tmrAjax, blAjaxFirstClick, sAjaxLastURL;

function ShowAjax(AlignObject, Width, Align, URL) {

   var objXMLAjax;
   var sHTML;
   var x;

   if (divAjax == null) {
      divAjax = document.createElement("DIV");
      divAjax.id = "divAjax";
      divAjax.className = "ajax";
      document.body.appendChild(divAjax);
   }

	if (divAjax.style.visibility == 'visible') {
	   if (URL == sAjaxLastURL) {
	      HideAjax(null);
	      return;
	   } 
	}
		
	sAjaxLastURL=URL;
	
	if (window.XMLHttpRequest)
		objXMLAjax=new XMLHttpRequest();
	else if (window.ActiveXObject)
		objXMLAjax=new ActiveXObject("Microsoft.XMLHTTP");
	
	objXMLAjax.open("GET",URL,false);
	objXMLAjax.send(null);

	sHTML = objXMLAjax.responseText;
	x = sHTML.indexOf("<body>");
	if (x > 0)
	   sHTML = sHTML.substr(x + 6);
	x = sHTML.indexOf("</body>");
	if (x > 0)
	   sHTML = sHTML.substr(0, x);

	divAjax.innerHTML = sHTML;
	AlignAjax(Width,Align,AlignObject);

	HideSelects(true);
	blAjaxFirstClick = true;
	divAjax.style.visibility = 'visible';
	document.onclick = ajaxCheckOutsideClick;
	//if (document.addEventListener)
	//   document.addEventListener("click", ajaxCheckOutsideClick, false);
	//else
	//   document.attachEvent("onclick", ajaxCheckOutsideClick);
		
}

function AlignAjax(Width, Align, AlignObject)
{
	var sAlign,sLeft,sTop;
	var iLeft,iTop;
	var tdAjax = AlignObject.parentNode;

	if (Width == 0)
	   divAjax.style.width = "";
	else
		divAjax.style.width=Width.toString()+'px';
   switch (Align) {
      case 0:
         iLeft = 0;
         iTop = 0;
         sAlign = 'left';
         break;
		case 1:
			iLeft=absLeft(tdAjax)+tdAjax.clientWidth;
			iTop=absTop(tdAjax);
			sAlign='right';
			break;
		case 2:
			iLeft=absLeft(tdAjax)+5;
			iTop=absTop(tdAjax)-divAjax.clientHeight+5;
			sAlign='left';
			break;
		case 3:
			iLeft=absLeft(tdAjax);
			iTop=absTop(tdAjax)+tdAjax.clientHeight;
			sAlign='left';
			break;
		case 4:
			iLeft=absLeft(tdAjax)-divAjax.clientWidth;
			iTop=absTop(tdAjax)-divAjax.clientHeight;
			sAlign='right';
			break;
		case 5:
		   iLeft = absLeft(tdAjax) + AlignObject.offsetLeft + AlignObject.offsetWidth - 4;
			iTop=absTop(tdAjax);
			sAlign='right';
			break;
		case 6:
		   iLeft = absLeft(tdAjax) + AlignObject.offsetLeft + AlignObject.offsetWidth - 4;
		   iTop = absTop(tdAjax) - divAjax.clientHeight + AlignObject.offsetHeight + 4;
			sAlign='right';
			break;
      case 7:
         iLeft = absLeft(AlignObject) - divAjax.clientWidth;
         iTop = absTop(tdAjax);
         sAlign = 'left';
         break;
      case 8:
         iLeft = absLeft(AlignObject) - divAjax.clientWidth;
         iTop = absTop(AlignObject) - divAjax.clientHeight + AlignObject.offsetHeight + 4;
         sAlign = 'left';
         break;
		}
		
	sLeft=iLeft.toString()+'px';
	sTop=iTop.toString()+'px';
	
	divAjax.style.left=sLeft;
	divAjax.style.top=sTop;
	divAjax.style.align=sAlign;
		
}

function HideAjax() {

   if (divAjax.style.visibility != "hidden") {
      document.onclick = null;
      //if (document.removeEventListener)
      //   document.removeEventListener("click", ajaxCheckOutsideClick, false);
      //else
      //   document.detachEvent("onclick", ajaxCheckOutsideClick);
      
      divAjax.style.visibility = "hidden";
      HideSelects(false);
   }
   if (tmrAjax != null)
      clearTimeout(tmrAjax);
   
}
function ajaxCheckOutsideClick(e) {

   if (blAjaxFirstClick)
      blAjaxFirstClick = false;
   else {
      var blHide = true;
      var blLoop = true;
      var ev = (e || window.event);
      var tgt = (ev.target || ev.srcElement);

      while (blLoop) {
         if (tgt.id == "divAjax") {
            blHide = false;
            blLoop = false;
         }
         else {
            if (tgt.parentNode)
               tgt = tgt.parentNode;
            else
               blLoop = false;
         }
      }

      if (blHide)
         HideAjax();
   }

}

function SetFontSampleImage(FontElementID,FontName) {
   var sURL, sFont,sText;

   if (FontName == "")
      sFont = document.getElementById(FontElementID).value;
   else
      sFont = FontName;

   sText = document.getElementById("txtFontSampleText").value;
   var img = document.getElementById("imgFontSample");

   sURL = "getimage.asp?type=fontsample&f=" + escape(sFont) + "&t=" + escape(sText);
   img.src = sURL;
}