function positionInfo(object) {

  var p_elm = object;

  this.getElementLeft = getElementLeft;
  function getElementLeft() {
    var x = 0;
    var elm;
    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    while (elm != null) {
      x+= elm.offsetLeft;
      elm = elm.offsetParent;
    }
    return parseInt(x);
  }

  this.getElementWidth = getElementWidth;
  function getElementWidth(){
    var elm;
    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    return parseInt(elm.offsetWidth);
  }

  this.getElementRight = getElementRight;
  function getElementRight(){
    return getElementLeft(p_elm) + getElementWidth(p_elm);
  }

  this.getElementTop = getElementTop;
  function getElementTop() {
    var y = 0;
    var elm;
    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    while (elm != null) {
      y+= elm.offsetTop;
      elm = elm.offsetParent;
    }
    return parseInt(y);
  }

  this.getElementHeight = getElementHeight;
  function getElementHeight(){
    var elm;
    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    return parseInt(elm.offsetHeight);
  }

  this.getElementBottom = getElementBottom;
  function getElementBottom(){
    return getElementTop(p_elm) + getElementHeight(p_elm);
  }
}

function trim(stringToTrim)
{
  return stringToTrim.replace(/^\s+|\s+$/g,"");
}


function setElementProperty(p_property, p_value, p_elmId)
{
  var p_elm = p_elmId;
  var elm = null;

  if(typeof(p_elm) == "object"){
    elm = p_elm;
  } else {
    elm = document.getElementById(p_elm);
  }
  if((elm != null) && (elm.style != null)){
    elm = elm.style;
    elm[ p_property ] = p_value;
  }
}


function createFormDiv(currentFieldId, html, width, height, xOffset, yOffset)
{
  //alert(currentFieldId + len + width);
  htmlInner = "<img src='http://www.dialsimple.com/images/closePopup.gif' onclick='javascript:hidePopup();' style=\"position:absolute;left:"+(width-11)+"px; top:"+2+"px\">" + html;

  var formDivId = "PopupFormDiv";
  if(document.getElementById)
  {
    var formDiv = document.getElementById(formDivId);

    formDiv.innerHTML = htmlInner;
    //formDiv.style.display = '';
    setElementProperty('display', 'block', formDivId);

    var fieldPos = new positionInfo(currentFieldId);

    var x = (fieldPos.getElementLeft() + fieldPos.getElementRight() - width)/2 + xOffset;
    var y = fieldPos.getElementBottom() + yOffset;
    //alert(x+ " "+ y);
    setElementProperty('left', x + "px", formDivId);
    setElementProperty('top', y + "px", formDivId);
    if(width!=0)
    {
      setElementProperty('width', width + "px", formDivId);
    }
    if(height!=0)
    {
      setElementProperty('height', height + "px", formDivId);
    }
  }
}

function blurrBackground()
{
  var fieldPos = new positionInfo(document.body);
  wrapperDiv = document.getElementById('PopupWrapperDiv');
  setElementProperty('display', 'block', wrapperDiv);
  setElementProperty('height', fieldPos.getElementHeight()+"px", wrapperDiv);
  setElementProperty('width', fieldPos.getElementWidth()+"px", wrapperDiv);

  setElementProperty('left', '0', wrapperDiv);
  setElementProperty('top', '0', wrapperDiv);
}

function hidePopup()
{
  var formDiv = document.getElementById('PopupFormDiv');
  setElementProperty('display', 'none', formDiv);
  setElementProperty('width', '', formDiv);
  setElementProperty('height', '', formDiv);


  wrapperDiv = document.getElementById('PopupWrapperDiv');
  setElementProperty('display', 'none', wrapperDiv);
  setElementProperty('width', '0px', wrapperDiv);
  setElementProperty('height', '0px', wrapperDiv);
}

function promptWin(currentFieldId, name)
{
  if(name==undefined)
  {
    name = '';
  }

  html = '\
  <table class=popupTable width=100%>\
    <tr><td colspan=2 align=center class="popupTd"><b style="font-size:15px; color:lightyellow; font-family:arial">Please enter the name for new logo</b></td></tr>\
    <tr><td colspan=2 align=center class="popupTd"><input type=text id=newName value="'+name+'" style="width:190px"/></td></tr>\
    <tr><td colspan=2 align=center class="popupTd"><input type=submit name=submit value=Submit onclick="processPrompt();return false;"></td></tr>\
  </table>';

  createFormDiv(currentFieldId, html, 380, 0, -255, -46);
  document.getElementById('newName').focus();
}

function whatIsThisDiv(currentFieldId, txt, w, h, dw, dh)
{
  html = '\
  <table class=whatIsThisTable width=100%> \
    <tr class=whatIsThisTr><td class=whatIsThisTd>'+txt+'</td></tr>\
  </table>';

  createFormDiv(currentFieldId, html, w, h, dw, dh);
}



function processPrompt()
{
  //var name=promptWin("Please enter name for new Logo","'.$name.'");
  var name = document.getElementById('newName').value;
  //alert(name);
  if (name!=null && name!="")
  {
    window.location.href = "/?promptTheme=1&displayName="+encodeURIComponent(name);
  }
}

document.write("<div id='PopupWrapperDiv' style='display:none; border:0px solid red; background:#CCFFFF; opacity: 0.25; filter:alpha(opacity=25); position:absolute'></div>");
document.write("<div id='PopupFormDiv' style='display:none; padding:3px 3px 3px 3px; border:1px solid #bbbbbb; color:white; background: url(/images/theme/transbg-gray.png) repeat; position:absolute;'></div>");
