﻿/// <reference name="MicrosoftAjax.js"/>

/* Offset position of tooltip */
var x_offset_tooltip = 5;
var y_offset_tooltip = 0;

// If we do a partial postback then hide the popup:
if (Sys && Sys.WebForms)
  Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(ajax_hideTooltip);

var ajax_tooltipObj = false;
var ajax_tooltipObj_iframe = false;

var ajax_tooltip_MSIE = false;
if (navigator.userAgent.indexOf('MSIE') >= 0) ajax_tooltip_MSIE = true;

var currentTooltipObject = false;

function ajax_showTooltip(e, tooltipHtml, inputObj, closeable, cssClassName, inputWidth, inputHeight, buttonDivContent, closeBtnImageUrl)
{
  currentTooltipObject = inputObj;
  //window.onresize = function(e) { ajax_positionTooltip(e); } ;
  if (document.all) e = event;
  var buttonDiv;

  if (closeBtnImageUrl === 'undefined' || closeBtnImageUrl == null || closeBtnImageUrl.length == 0)
    closeBtnImageUrl = 'Images/ovlcloserbss.png';

  if (ajax_tooltipObj)
  {
    document.body.removeChild(ajax_tooltipObj);
  }

  ajax_tooltipObj = document.createElement('DIV');
  ajax_tooltipObj.style.position = 'absolute';
  ajax_tooltipObj.style.cursor = 'default';
  ajax_tooltipObj.id = 'ajax_tooltipObj';
  ajax_tooltipObj.className = cssClassName;

  document.body.appendChild(ajax_tooltipObj);

  // Creating button div
  buttonDiv = document.createElement('DIV');
  buttonDiv.id = 'buttoncDiv';
  buttonDiv.style.zIndex = '10000000';
  ajax_tooltipObj.appendChild(buttonDiv);

  var clearDiv = document.createElement('div');
  clearDiv.style.clear = 'both';
  ajax_tooltipObj.appendChild(clearDiv);

  var contentDiv = document.createElement('DIV'); /* Create tooltip content div */
  ajax_tooltipObj.appendChild(contentDiv);
  contentDiv.id = 'ajax_tooltip_content';
  contentDiv.style.padding = '5px';
  contentDiv.style.overflow = 'auto';
  contentDiv.style.zIndex = '100001';

  if (inputWidth)
    contentDiv.style.width = inputWidth + 'px';
  if (inputHeight)
    contentDiv.style.height = inputHeight + 'px';

  if (ajax_tooltip_MSIE)
  {	
    /* Create iframe object for MSIE in order to make the tooltip cover select boxes */
    ajax_tooltipObj.style.cursor = 'default';
    ajax_tooltipObj_iframe = document.createElement('<IFRAME frameborder="0">');
    ajax_tooltipObj_iframe.style.position = 'absolute';
    ajax_tooltipObj_iframe.border = '0';
    ajax_tooltipObj_iframe.frameborder = 0;
    ajax_tooltipObj_iframe.style.backgroundColor = '#FFF';
    ajax_tooltipObj_iframe.src = 'about:blank';
    contentDiv.appendChild(ajax_tooltipObj_iframe);
    ajax_tooltipObj_iframe.style.left = '0px';
    ajax_tooltipObj_iframe.style.top = '0px';
  }

  buttonDiv = document.getElementById('buttoncDiv');
  if (buttonDivContent == null || buttonDivContent.length == 0)
    buttonDiv.innerHTML = '<table width="100%" class="margintable"><tr><td align="left">&nbsp;&nbsp;</td><td align="right"><a href="#" onclick="ajax_hideTooltip();return false"><img src="' + closeBtnImageUrl + '" alt="close"/></a></td></tr></table>';
  else
    buttonDiv.innerHTML = '<table width="100%" class="margintable"><tr><td align="left">' + buttonDivContent + '</td><td align="right"><a href="#" onclick="ajax_hideTooltip();return false"><img src="' + closeBtnImageUrl + '" alt="close"/></a></td></tr></table>';

  // Find position of tooltip
  ajax_tooltipObj.style.display = 'block';

  contentDiv.innerHTML = tooltipHtml;
  if (ajax_tooltip_MSIE)
  {
    ajax_tooltipObj_iframe.style.width = ajax_tooltipObj.clientWidth + 'px';
    ajax_tooltipObj_iframe.style.height = ajax_tooltipObj.clientHeight + 'px';
  }

  var showCloseButton = new Boolean(closeable);
  if (showCloseButton == false)
    document.getElementById('buttoncDiv').style.display = 'none';
  else
    document.getElementById('buttoncDiv').style.display = 'block';

  if (inputWidth)
    document.getElementById('ajax_tooltip_content').style.width = inputWidth + 'px';
  if (inputHeight)
    document.getElementById('ajax_tooltip_content').style.height = inputHeight + 'px';

  ajax_positionTooltip(e, inputObj);
}

function ajax_positionTooltip(e, inputObj)
{
  if (!inputObj) inputObj = currentTooltipObject;
  if (inputObj)
  {
    var leftPos = (ajaxTooltip_getLeftPos(inputObj) + inputObj.offsetWidth);
    var topPos = ajaxTooltip_getTopPos(inputObj);
  } else
  {
    var leftPos = e.clientX;
    var topPos = e.clientY;
  }

  ajax_tooltipObj.style.left = leftPos + 'px';
  ajax_tooltipObj.style.top = topPos + 'px';
}

function ajax_hideTooltip()
{
  if (ajax_tooltipObj)
    ajax_tooltipObj.style.display = 'none';
}

function ajaxTooltip_getTopPos(inputObj)
{
  var returnValue = inputObj.offsetTop;
  while ((inputObj = inputObj.offsetParent) != null)
  {
    if (inputObj.tagName != 'HTML') returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function ajaxTooltip_getLeftPos(inputObj) {
    var xoff = inputObj.offsetWidth;
    var returnValue = inputObj.offsetLeft;
    while ((inputObj = inputObj.offsetParent) != null) {
        if (inputObj.tagName != 'HTML') returnValue += inputObj.offsetLeft;
    }
    var windowSize = ajaxTooltip_getWindowSize();
    var tooltipWidth = document.getElementById('ajax_tooltipObj').offsetWidth;
    if ((returnValue + tooltipWidth + xoff) > windowSize.width) {
        returnValue = windowSize.width - tooltipWidth - 2 - xoff;
    }
    return returnValue;

}

function ajaxTooltip_getWindowSize()
{
  var o = new Object();
  o.width = 0;
  o.height = 0;
  if (typeof (window.innerWidth) == 'number')
  {
    // Non-IE:
    o.width = window.innerWidth;
    o.height = window.innerHeight;
  }
  else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
  {
    // 'Standards compliant' IE6:
    o.width = document.documentElement.clientWidth;
    o.height = document.documentElement.clientHeight;
  }
  else if (document.body && (document.body.clientWidth || document.body.clientHeight))
  {
    // IE4:
    o.width = document.body.clientWidth;
    o.height = document.body.clientHeight;
  }
  return o;
}

function ajaxTooltip_removeTooltipFromBody()
{
  if (ajax_tooltipObj)
  {
    document.body.removeChild(ajax_tooltipObj);
  }
}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();