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='/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);


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

function callUser(currentFieldId, user, lets101No, callId)
{
  html =
  '<table class=popupTable width=100%>\n' +
  '  <tr><td colspan=2 class="popupTd bottomSpc">\n' +
  '    Muốn gọi cho bạn này: <b>' + user + '</b></td></tr>\n' +
  '    <tr><td class="popupTd instrMsg">1)</td><td class="popupTd instrMsg">Gọi <b>'+ lets101No + '</b>, từ số điện thoại đã được xác minh của bạn</td></tr>\n' +
  '    <tr><td class="popupTd instrMsg">2)</td><td class="popupTd instrMsg" >Trọn <b>1</b> cho câu hỏi chính</td></tr>\n' +
  '    <tr><td class="popupTd instrMsg">3)</td><td class="popupTd instrMsg" >Điền <b>' + callId + '</b>, và nhấn nút <b>#</b> </td></tr>\n' +
  '    <tr><td colspan=2 class="popupTd topSpc"> Bạn sẽ được nối đườn dây đến người đó.</td></tr>\n' +
  '    <tr><td colspan=2 class="popupTd topSpc comment instrMsg">(Hiện tại hệ thống điện thoại chỉ họat động ở Mỹ, Anh, và Gia Nã Đại)</td></tr>\n' +
  '</table>';

  createFormDiv(currentFieldId, html, 395, 0, 0, 2);
}

function emailUser(currentFieldId, to_user, to_user_seq, rand)
{
  html = 
  '<form name="emailUserForm" id="emailUserForm" ><table class=popupTable width=100%> \n' +
  '  <tr><td class=popupTd>\n' +
  '    Tới: </td><td class=popupTd>\n' +
  '    <b>' + to_user + '</b>\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupTd >\n' +
  '    Chủ đề: </td><td class=popupTd>\n' +
  '    <input type=text name=subject maxlength="120" style="width:400px;" onkeypress="return handleKeyStroke(this, event);"/>\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupTd colspan=2>\n' +
  '    <textarea name="msg" style="width:488px;height:120px" onkeypress="return handleKeyStroke(this, event);"></textarea>\n' +
  '    <input type=hidden name=sessid value="'+ rand +'"/>\n' +
  '    <input type=hidden name=who value="'+ to_user +'"/>\n' +
  '    <input type=hidden name=who_seq value="'+ to_user_seq +'"/>\n' +
  '    <input type=hidden name=sendEmailMsg value="1"/>\n' +
  '    <input type=hidden name=formSubmitted value="1"/>\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupTd colspan=2 align=center>\n' +
  '    <input type=button class=cuteButton value="Gởi đi" name=send onclick="javascript:submitform(\'emailUserForm\',\'buddies/express_interest_page\',\'emailUserForm\');">\n' +
  '  </td></tr>\n' +
  '</table></form>';

  createFormDiv(currentFieldId, html, 500, 0, 0, 2);
}

function referFriend(currentFieldId, isloggedIn, fname, profile_user, him_her)
{
  html = '<form name="referFriendForm" id="referFriendForm" ><table class=popupTable width=100%>';
  if(isloggedIn != 1)
  {
    html = html + 
    '    <tr>\n' +
    '        <td class=popupTd>\n' +
    '            Tên của bạn\n' +
    '        </td>\n' +
    '    </tr>\n' +
    '    <tr>\n' +
    '        <td class="popupTd bottomSpc">\n' +
    '            <input type=text name=sender_fname maxlength="50" style="width:200px;"/>\n' +
    '        </td>\n' + 
    '    </tr>';
  }
  else
  {
    html = html + '<input type=hidden name=sender_fname value="'+fname+'"/>';
  }
  html = html + 
  '  <tr><td class=popupTd>\n' +
  '    Email ids of your friends 1)\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupTd>\n' +
  '    <input type=text name=email1 maxlength="50" style="width:200px;"/>\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupTd>\n' +
  '    <input type=text name=email2 maxlength="50" style="width:200px;"/>\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupTd>\n' +
  '    <input type=text name=email3 maxlength="50" style="width:200px;"/>\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupTd align=center>\n' +
  '    <input type=hidden name=formSubmitted value="1"/>\n' +
  '    <input type=hidden name=profile_user value="'+profile_user+'"/>\n' +
  '    <input type=hidden name=him_her value="'+him_her+'"/>\n' +
  '    <input type=hidden name=referToFriends value="1"/>\n' +
  '    <input type=button class=cuteButton value="Gởi đi" name=send onclick="javascript:submitform(\'referFriendForm\',\'profile/referFriend\',\'referFriendForm\');">\n' +
  '  </td></tr>\n' +
  '</table></form>';

  createFormDiv(currentFieldId, html, 212, 0, 0, 2);
}


function referLoginForm(addrBookType, currentFieldId, quizid)
{
  var emailTxt;
  if(addrBookType == 'gmail')
  {
    emailTxt = "Gmail";
  }
  else if(addrBookType == 'yahoo')
  {
    emailTxt = "Yahoo!";
  }
  else if(addrBookType == 'aol')
  {
    emailTxt = "Aol";
  }
  else if(addrBookType == 'msn')
  {
    emailTxt = "Hotmail hoặc Msn";
  }
  
  html =
  '<form name=emailForm id=emailForm><table border=0  class=popupInviteTable width=100%>\n' +
  '  <tr><td align=center class=popupInviteTd colspan=2>\n' +
  '    <h3 class=addressBookMsg>Xin điền vào những dữ kiện sau.</h3> Chúng tôi sẽ đọc và trình bày sổ điện thư của bạn để bạn có thể chọn gởi lời mời đến ai. \n' +
  '  </td></tr>\n' +
  '  <tr><td colspan=2>&nbsp;</td></tr>\n' +
  '  <tr><td align=center id=emailErr class="popupInviteTd commonErrMsg boldtxt" colspan=2></td></tr>\n' +
  '  <tr><td align=center>\n' +
  '      <img src="/images/invite/'+addrBookType+'_small.png" />\n' +
  '    </td>\n' +
  '    <td class=popupInviteTd>\n' +
  '      '+emailTxt+' Địa chỉ điện thư<br/>\n' +
  '      <input type=\"text\" class=tdValInput id=\"username\" name=\"username\" maxlength=\"80\" />\n' +
  '      <br/>'+emailTxt+' Mật mã<br/>\n' +
  '      <input type=\"password\" class=tdValInput id=\"password\" name=\"password\" maxlength=\"80\" />\n' +
  '      <br/><br/> \n' +
  '      <input type=\"hidden\" name=\"emailType\" maxlength=\"80\" value=\"'+addrBookType+'\" />\n' +
  '      <input type=\"hidden\" name=\"quizid\" maxlength=\"80\" value=\"'+quizid+'\" />\n' +
  '      <input type=\"hidden\" name=\"emailFormFetch\" maxlength=\"80\" value=\"1\" />\n' +
  '      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=button class=cuteInviteButton value="Tiếp Tục" onclick="javascript:submitFormParseErr(\'emailForm\', \'emailErr\', \'/my/invites/fetchAddressBook\', \'emailForm\')" />\n' +
  '  </td></tr>\n' +
  '</table></form><br/>\n' +
  '<table border=0  class=popupInviteTable width=100%>\n' +
  '  <tr><td align=left class=popupInviteTd>\n' +
  '   <ul>\n' +
  '   <li>Cũng như bạn, chúng tôi không thích người gởi điện thư phá hoại \n' +
  '   <li>Chúng tôi không bao giờ lưu giữ điạ chỉ điện thư của bất kỳ không cần thiết.\n' +
  '   <li>Chúng tôi cũng không lưu lại bất kỳ điạ chỉ điện thư nào trên sổ điện thư của bạn. </ul>\n' +
  '  </td></tr>\n' +
  '</table><br/>';

  createFormDiv(currentFieldId, html, 412, 0, 0, 2);
}

function referFriendWithAddrBook(currentFieldId, isloggedIn, fname, quizid)
{
  html = 
  '<table border=0  class=popupInviteTable width=100%>\n' +
  '  <tr><td colspan=2 align=center>\n' +
  '     Trọn điạ chỉ điện thư của các bạn trên sổ điện thư ở:\n' +
  '  </td></tr>     \n' +
  '  <tr><td align=center class=inviteImgTd>\n' +
  '     <img src="/images/invite/gmail_small.png" /> <br/> <input type=button class=cuteInviteButton value="Chọn" name=Select onclick="javascript:referLoginForm(\'gmail\',\''+currentFieldId+'\',\''+quizid+'\');"/>\n' +
  '    </td>\n' +
  '    <td align=center class=inviteImgTd>\n' +
  '    <img src="/images/invite/yahoo_small.png" />  <br/> <input type=button class=cuteInviteButton value="Chọn" name=Select onclick="javascript:referLoginForm(\'yahoo\',\''+currentFieldId+'\',\''+quizid+'\');"/>\n' +
  '  </td></tr>\n' +
  '  <tr><td align=center class=inviteImgTd>\n' +
  '     <img src="/images/invite/aol_small.png" />  <br/> <input type=button class=cuteInviteButton value="Chọn" name=Select onclick="javascript:referLoginForm(\'aol\',\''+currentFieldId+'\',\''+quizid+'\');"/>\n' +
  '    </td>\n' +
  '    <td align=center class=inviteImgTd>\n' +
  '    <img src="/images/invite/msn_small.png" />  <br/> <input type=button class=cuteInviteButton value="Chọn" name=Select onclick="javascript:referLoginForm(\'msn\',\''+currentFieldId+'\',\''+quizid+'\');"/>\n' +
  '  </td></tr>\n' +
  '  <tr><td colspan=2 align=center>\n' +
  '     <h3> Hoặc </h3>\n' +
  '  </td></tr>\n' +
  '</table>\n' +
  '<form name="referFriendForm" id="referFriendForm" ><table class=popupInviteTable width=100%>\n' +
  '  <tr><td align=center>\n' +
  '     Trực tiếp điền địa chỉ điện thư của các bạn ấy:\n' +
  '  </td></tr>';
  
  if(isloggedIn != 1)
  {
    html = html + 
    '  <tr>\n' +
    '    <td class=popupInviteTd align=center>\n' +
    '      Tên của bạn\n' +
    '    </td>\n' +
    '  </tr>\n' +
    '  <tr>\n' +
    '    <td class="popupInviteTd bottomSpc" align=center>\n' +
    '       <input type=text name=sender_fname maxlength="32" style="width:280px;"/>\n' +
    '    </td>\n' +
    '  </tr>';
  }
  else
  {
    html = html + '<input type=hidden name=sender_fname value="'+fname+'"/>';
  }
  
  html = html +
  '  <tr><td id=referFriendErr class="popupInviteTd commonErrMsg boldtxt" align=center></td></tr>\n' +
  '  <tr><td class=popupInviteTd align=center>\n' +
  '    Điền điạ chỉ điện thư của các bạn đó vào, cách ra bở dấu phẩy\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupInviteTd align=center>\n' +
  '    <textarea name=addresses style="width:280px;" /></textarea>\n' +
  '  </td></tr>\n' +
  '  <tr><td class=popupInviteTd align=center>\n' +
  '    <input type=hidden name=formSubmitted value="1"/>\n' +
  '    <input type=hidden name=directEmails value="1"/>\n' +
  '    <input type=hidden name=quizid value="'+quizid+'"/>\n' +
  '    <input type=hidden name=referToFriendsQuiz value="1"/>\n' +
  '    <input type=button class=cuteInviteButton value="Gởi điện thư mời" name=send onclick="javascript:submitFormParseErr(\'referFriendForm\',\'referFriendErr\', \'/my/invites/sendInvitation\',\'referFriendForm\');">\n' +
  '  </td></tr>\n' +
  '</table></form>\n' +
  '<table border=0  class=popupInviteTable width=100%>\n' +
  '  <tr><td align=left class=popupInviteTd>\n' +
  '   <ul>\n' +
  '   <li>Cũng như bạn, chúng tôi không thích người gởi điện thư phá hoại \n' +
  '   <li>Chúng tôi không bao giờ lưu giữ điạ chỉ điện thư của bất kỳ không cần thiết.\n' +
  '   <li>Chúng tôi cũng không lưu lại bất kỳ điạ chỉ điện thư nào trên sổ điện thư của bạn. </ul>\n' +
  '  <!-- /td></tr><tr><td align=center>\n' +
  '   - Nitin & Khiem (Lets101 founders) -->\n' +
  '  </td></tr>\n' +
  '</table>';

  createFormDiv(currentFieldId, html, 412, 0, 0, 2);
}

function signInMsg(currentFieldId, msg)
{
  html =
  '<table class=popupTable width=100%> \n' +
  '  <tr><td colspan=2 class="popupTd bottomSpc">\n' +
  '  Hãy mau <a href="/sendMsg/register">tham gia</a> để '+msg+'.<br/>Tất cả Miễn Phí!</td></tr>\n' +
  '</table>';

  createFormDiv(currentFieldId, html, 345, 0, 0, 2);
}

function signInMsgfp(currentFieldId, msg)
{
  html = 
  '<div class="popupTable popupTd bottomSpc"> \n' +
  '  Hãy mau <a href="/sendMsg/register">tham gia</a> để '+msg+'.<br/>Tất cả Miễn Phí!\n' +
  '</div>';

  createFormDiv(currentFieldId, html, 345, 0, -10, -3);
}

function introduceUs(currentFieldId, who, rand, him_her)
{
    var html = 
    '<form id=intro_request_form name=intro_request_form>\n' +
    '<table class=popupTable  width=100%> <tr><td class=popupTd>\n' +
    '  <input type=hidden name=to_user value=' + who + '>\n' +
    '  <input type=hidden name=sessid value=' + rand + '>\n' +
    '  <input type=hidden name=formSubmitted value=1>\n' +
    '    <table cellspacing=0 cellpadding=1 border=0 width=100% id=formdata>\n' +
    '      <tr><td class="popupTd tdHead">\n' +
    '         Kể ' + who + ' ba điều mà bạn thích nhất về ' + him_her + ' <br/>(Chúng tôi sẽ giới thiệu hai bạn với nhau.)\n' +
    '      </td></tr>\n' +
    '      <tr><td class=popupTd>\n' +
    '        <b>1)</b> <input type="text" class=tdValInput id="val1" name="val1" maxlength="80" />\n' +
    '      </td></tr>\n' +
    '      <tr><td class=popupTd>\n' +
    '        <b>2)</b> <input type="text" class=tdValInput id="val2" name="val2" maxlength="80"  />\n' +
    '      </td></tr>\n' +
    '      <tr><td class=popupTd>\n' +
    '        <b>3)</b> <input type="text" class=tdValInput id="val3" name="val3" maxlength="80" />\n' +
    '      </td></tr>\n' +
    '      <tr><td class=popupTd align=center>\n' +
    '        <input type=button class=cuteButton onclick="javascript:checkAndSubmitIntroForm(\'intro_request_form\',\'introduce-us/intro-request\',\'intro_request_form\');" name="send" value="Giới thiệu tôi" class="cuteButton" />\n' +
    '      </td></tr>\n' +
    '    </table>\n' +
    '</td></tr></table></form>';

    createFormDiv(currentFieldId, html, 550, 0, 60, 2);
}

function communicationDenied(currentFieldId, errStr, him_her)
{
  html =
  '<div class="popupTable popupTd bottomSpc">\n' +
  '  Xin lỗi, bạn này có sắp xếp khác nên bạn không thể liên lạc với ' + him_her + '. <br/>Lý do: ' + errStr + '\n' +
  '</div>';

  createFormDiv(currentFieldId, html, 550, 0, -10, 0);
}

function communicationDeniedVerifyPhone(currentFieldId, doneurl, fname)
{
  html =
  '<div class="popupTable popupTd">\n' +
  '  <table ><tr><td align=left class=sendEmailMsgInstruction>\n' +
  '          ' + fname + ', để tránh hồ sơ giả, người phá, và chỉ để các bạn có ý tốt như bạn sử dụng mạng này, hệ thống điện thoại tự động sẽ gọi cho bạn để xác minh số điện thoại.\n' +
  '            <br/><br/>Hệ thống điện thoại sẽ gọi lại cho bạn và yêu cầu bạn nhấn một nút, chỉ tốn vài giây thôi. Sau đó thì bạn sẽ được tư do sài dịch vụ này hoàn toàn miễn phí.\n' +
  '            <br/><br/><strong>Để bắt đầu <a href="/my/calllogs?.done=' + doneurl + '">xin nhấn vào đây</a></strong>. Xin nhớ là số điện thoại của bạn sẽ không bao giờ bị lộ ra cho ai biết.\n' +
  '  </td></tr></table>\n' +
  '</div>';

  createFormDiv(currentFieldId, html, 550, 0, -10, 0);
}

function checkAndSubmitIntroForm(retDiv,url,form)
{
  if(trim(document.getElementById('val1').value) == ""  ||
      trim(document.getElementById('val2').value) == ""  ||
      trim(document.getElementById('val3').value) == "")
  {
    alert ("Xin điền vào cả ba hàng");
    return false;
  }
  submitform(retDiv, url, form);
  return true;
}

function togglechecked()
{
  for (var i = 0; i < document.emailForm.elements.length; i++)
  {
    var e = document.emailForm.elements[i];
    if ((e.disabled == false) && (e.name != 'allbox') && (e.type == 'checkbox'))
    {
      e.checked = document.emailForm.allbox.checked;
    }
  }
}

function toggleselect()
{
  document.emailForm.allbox.checked = !document.emailForm.allbox.checked;
    togglechecked();
}

document.write("<div id='PopupWrapperDiv' style='display:none; border:0px solid red; background:#CCFFFF; opacity:.40; position:absolute'></div>");
document.write("<div id='PopupFormDiv' style='display:none; padding:3px 3px 3px 3px; border:2px solid lightblue; background:white; position:absolute'></div>");
