var bPopupMessageVisible = false;

function displayPopupMessage(Action, url) {

  scroll(0,0);

  txtInfoPopupMessage = "InfoPopupMessage";
  eMiniCart = addInfoPopupMessageDiv(txtInfoPopupMessage, url);
  
  if (!eMiniCart)
    return;

  postPopupMessageHTML(url, Action);

}


function addInfoPopupMessageDiv(txtMiniCart, url)
{
  var divInfoPopupMessage, eCartBox, windowWidth;

  eCartBox = getElementById("CartBox");
 
  if (!eCartBox) {
    eCartBox = getElementById("CartBox2");
    if (!eCartBox) {
      return null;
    }
  }

  divInfoPopupMessage = document.createElement("div");
  divInfoPopupMessage.id = txtMiniCart;
  divInfoPopupMessage.name = txtMiniCart;
  divInfoPopupMessage.className = txtMiniCart;
  divInfoPopupMessage.style.overflow = "auto"; 
  divInfoPopupMessage.style.position = "absolute";
  divInfoPopupMessage.style.zIndex = "110";
  divInfoPopupMessage.style.visibility = "hidden";

  coordsCartBox = getPageCoords(eCartBox.id);

  windowWidth = document.body.clientWidth;

  if ((parseInt(windowWidth) / 2) < coordsCartBox.xActual + (parseInt(eCartBox.offsetWidth)/2)) {
    if (coordsCartBox.containerWidth)
      divInfoPopupMessage.style.right = coordsCartBox.containerWidth - (coordsCartBox.xRelative + parseInt(eCartBox.offsetWidth))
    else
      divInfoPopupMessage.style.right =  parseInt(windowWidth) - (coordsCartBox.xActual + parseInt(eCartBox.offsetWidth));
  }

  divInfoPopupMessage.style.top = coordsCartBox.yRelative + (eCartBox.offsetHeight + 1);

  eCartBox.parentNode.appendChild(divInfoPopupMessage);

  return divInfoPopupMessage;
}


function postPopupMessageHTML(url, action) {
  var params;

  if (action)  
    url += "&action=" + action;

  if(window.XMLHttpRequest) {
    xmlHttpRequest = new XMLHttpRequest();
    xmlHttpRequest.open('POST', url, true);
    xmlHttpRequest.onreadystatechange = processReqChangePopup;
    xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpRequest.send(params);
  }

  else if(window.ActiveXObject) {
    xmlHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
    if(xmlHttpRequest) {
      xmlHttpRequest.open('POST', url, true);
      xmlHttpRequest.onreadystatechange = processReqChangePopup;
      xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      xmlHttpRequest.send(params);
    }
  }

}


function processReqChangePopup() {

  if (xmlHttpRequest != null) {
    if(xmlHttpRequest.readyState == 4) {
      if(xmlHttpRequest.status == 200) {
        eMiniCart = getElementById("InfoPopupMessage");

        if (!eMiniCart)
          return;

        eMiniCart.innerHTML = xmlHttpRequest.responseText;

	    windowWidth = document.body.clientWidth;
	    windowHeight = document.body.clientHeight;

        var sWidth = 0;

        if (eMiniCart.innerHTML.indexOf("InfoPopupMessage_MainTable") > -1) {
          sContent = eMiniCart.innerHTML.split("InfoPopupMessage_MainTable")[1];
          if (sContent.indexOf("width=") > -1)
            sWidth = sContent.substring((sContent.indexOf("width=") + 6), sContent.indexOf(">")).split(" ")[0];
        }

        eMiniCart.style.top = f_scrollTop() + (windowHeight / 3);
        eMiniCart.style.left = (windowWidth / 2) - 75;

        if (!bPopupMessageVisible)
          viewInfoPoupMessage();
      
      }
    }
  }
}


function hideInfoPopupMessage(e) {
  var eMiniCart, eCartBox, oEvent, iClientX, iClientY, coords;

  if (!bPopupMessageVisible)
    return;

  eMiniCart = getElementById("InfoPopupMessage");
  if (!eMiniCart)
    return;

  bPopupMessageVisible = false;
  fadeOutMiniCart("InfoPopupMessage");
}


function viewInfoPoupMessage() {
 bPopupMessageVisible = true;
 setOpacity("InfoPopupMessage", 0);
 getElementById("InfoPopupMessage").style.visibility = 'visible';
 getElementById("InfoPopupMessage").focus();
 fadeInMiniCart("InfoPopupMessage");
}


function updateTagOnParentPage(FormName, SelectedValue) {
  document.getElementById(FormName).ElementSelectedCreditCardPaymentType.value = SelectedValue
}

