/**************************************************************************************************/
/* Form functions                                                                                 */
  function setAction(form, destination)
  {
    if (navigator.appName == 'Netscape' || document.all)
      form.action = destination;
  }

  function setField(form, fieldname, fieldvalue)
  {
  	form.elements[fieldname].value = fieldvalue;
  }
/**************************************************************************************************/

/**************************************************************************************************/
/* Form Helper functions                                                                          */
  function storeCaret( textarea )
  {
    if ( textarea.createTextRange )
      textarea.caretPos = document.selection.createRange().duplicate();
  }
/**************************************************************************************************/

/**************************************************************************************************/
/* Form HTML functions                                                                            */
  function addHTMLCode( textareaID, tag, single )
  {
    var selectedText = document.selection.createRange().text;

    if (selectedText != "")
    {
      if (single)
        var htmlcode = "<" + tag + "/>" + selectedText;
      else
        var htmlcode = "<" + tag + ">" + selectedText + "</" + tag + ">";
      document.selection.createRange().text = htmlcode;
    }
    else
    {
      var textarea = document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        if (single)
          var htmlcode = "<" + tag + "/>";
        else
          var htmlcode = "<" + tag + "></" + tag + ">";
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? htmlcode + ' ' : htmlcode;
      }
    }
  }
  function addHTMLImage( textareaID )
  {
    var textarea = document.getElementById(textareaID);
    if( textarea.createTextRange && textarea.caretPos )
    {
      var htmlcode = "<img src=\"" + prompt('Enter the location of the image', '') + "\" border=\"0\">";
      var caretPos = textarea.caretPos;
      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? htmlcode + ' ' : htmlcode;
    }
  }
  function addHTMLHyperlink( textareaID )
  {
    var range = document.selection.createRange();

    if (range.text == "")
    {
      var textarea = document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        var aName = prompt('Enter the name of your link', '');
        var aLink = prompt('Enter the URL of your link', 'http://');
        if (aName != "")
        {
          var htmlcode = "<a href=\"" + aLink + "\">" + aName + "</a>";
          var caretPos = textarea.caretPos;
          caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? htmlcode + ' ' : htmlcode;
        }
      }
    }
    else if (range.parentElement().name == textareaID)
    {
      var aLink = prompt('Enter the URL of your link', 'http://');
      var htmlcode = "<a href=\"" + aLink + "\">" + range.text + "</a>";
      document.selection.createRange().text = htmlcode;
    }
  }
/**************************************************************************************************/

/**************************************************************************************************/
/* Form BBCode functions                                                                          */
  function addBBCode( textareaID, tag, single )
  {
    var selectedText = document.selection.createRange().text;

    if (selectedText != "")
    {
      if (single)
        var bbcode = "[" + tag + "]" + selectedText;
      else
        var bbcode = "[" + tag + "]" + selectedText + "[/" + tag + "]";
      document.selection.createRange().text = bbcode;
    }
    else
    {
      var textarea = document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        if (single)
          var bbcode = "[" + tag + "]";
        else
          var bbcode = "[" + tag + "][/" + tag + "]";
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? bbcode + ' ' : bbcode;
      }
    }
  }
  function addBBImage( textareaID )
  {
    var textarea = document.getElementById(textareaID);
    if( textarea.createTextRange && textarea.caretPos )
    {
      var bbcode = "[img]" + prompt('Enter the URL of the image', 'http://') + "[/img]";
      var caretPos = textarea.caretPos;
      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? bbcode + ' ' : bbcode;
    }
  }
  function addBBHyperlink( textareaID )
  {
    var range = document.selection.createRange();

    if (range.text == "")
    {
      var textarea = document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        var aName = prompt('Enter the name of your link', '');
        var aLink = prompt('Enter the URL of your link', 'http://');
        if (aName != "")
          var bbcode = "[url=" + aLink + "]" + aName + "[/url]";
        else
          var bbcode = "[url]" + aLink + "[/url]";
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? bbcode + ' ' : bbcode;
      }
    }
    else if (range.parentElement().name == textareaID)
    {
      var aLink = prompt('Enter the URL of your link', 'http://');
      var bbcode = "[url=" + aLink + "]" + range.text + "[/url]";
      document.selection.createRange().text = bbcode;
    }
  }
/**************************************************************************************************/

/**************************************************************************************************/
/* Form Special functions                                                                         */
  function addLANGCode( textareaID )
  {
    var selectedText = document.selection.createRange().text;

    if (selectedText != "")
    {
      var langcode = "#LANG:" + selectedText + "#";
      document.selection.createRange().text = langcode;
    }
    else
    {
      var textarea = document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        var aName = prompt('Enter the name of your language block', '');
        var langcode = "#LANG:" + aName + "#";
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? langcode + ' ' : langcode;
      }
    }
  }
  function addImageCode( textareaID, pic, bic, ca, st )
  {
    if (pic)
    {
      var textarea = self.opener.document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        var imagecode = "#IMAGE_PIC:"+ pic;
        if (bic != '') imagecode = imagecode + "_BIC:" + bic;
        if (ca != '') imagecode = imagecode + "_CA:" + ca;
        if (st != '') imagecode = imagecode + "_ST:" + st
        imagecode = imagecode + "#";
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? imagecode + ' ' : imagecode;
      }
      self.close();
    }
    else
    {
      var selectedText = document.selection.createRange().text;

      if (selectedText != "")
      {
        var postfix = '';
        var re = new RegExp("#IMAGE(_PIC:\\w+)(_BIC:\\w+)?(_CA:[\\w|\\s|\\.]+)?(_ST:\\w+)?#");
        if (selectedText.match(re))
        {
          var matches = re.exec(selectedText);
          if (matches != null)
          {
            for (i = 1; i < matches.length; i++)
            {
              if (matches[i] != '')
                postfix = postfix + '&' + matches[i].substr(1, matches[i].length).replace(":", "=");
            }
          }
        }

        redirectURL = 'pp_imagecode.php?textareaID=' + textareaID + postfix.replace("&PIC", "&pic").replace("&BIC", "&bic").replace("&CA", "&ca").replace("&ST", "&st");
        myWin = window.open(redirectURL, '','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1,status=1,width=640,height=480');
      }
      else
      {
        var textarea = document.getElementById(textareaID);
        if( textarea.createTextRange && textarea.caretPos )
        {
          redirectURL = 'pp_imagecode.php?textareaID=' + textareaID;
          myWin = window.open(redirectURL, '','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1,status=1,width=640,height=480');
        }
      }
    }
  }
  function addFileCode( inputID, fic )
  {
    if (fic)
    {
      var input = self.opener.document.getElementById(inputID);
      input.value = fic;
      self.close();
    }
    else
    {
      redirectURL = 'pp_filebrowser.php?inputID=' + inputID;
      myWin = window.open(redirectURL, '','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1,status=1,width=640,height=480');
    }
  }
  function addDocumentlist( textareaID, dlist_name )
  {
    if (dlist_name)
    {
      var textarea = self.opener.document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        var dlistcode = "#DLIST:"+ dlist_name + "#";
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? dlistcode + ' ' : dlistcode;
      }
      self.close();
    }
    else
    {
      var textarea = document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        redirectURL = 'pp_documentlist.php?textareaID=' + textareaID;
        myWin = window.open(redirectURL, '','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1,status=1,width=640,height=480');
      }
    }
  }
  function addLinkCode( textareaID, lc, ca )
  {
    if (lc)
    {
      var textarea = self.opener.document.getElementById(textareaID);
      if( textarea.createTextRange && textarea.caretPos )
      {
        var linkcode = "#LINK_LC:"+ lc;
        if (ca != '') linkcode = linkcode + "_CA:" + ca;
        linkcode = linkcode + "#";
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? linkcode + ' ' : linkcode;
      }
      self.close();
    }
    else
    {
      var selectedText = document.selection.createRange().text;

      if (selectedText != "")
      {
        var postfix = '';
        var re = new RegExp("#LINK(_LC:\\w+)(_CA:[\\w|\\s|\\.]+)?#");
        if (selectedText.match(re))
        {
          var matches = re.exec(selectedText);
          if (matches != null)
          {
            for (i = 1; i < matches.length; i++)
            {
              if (matches[i] != '')
                postfix = postfix + '&' + matches[i].substr(1, matches[i].length).replace(":", "=");
            }
          }
        }

        redirectURL = 'pp_linkcode.php?textareaID=' + textareaID + postfix.replace("&LC", "&lc").replace("&CA", "&ca");
        myWin = window.open(redirectURL, '','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1,status=1,width=640,height=480');
      }
      else
      {
        var textarea = document.getElementById(textareaID);
        if( textarea.createTextRange && textarea.caretPos )
        {
          redirectURL = 'pp_linkcode.php?textareaID=' + textareaID;
          myWin = window.open(redirectURL, '','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1,status=1,width=640,height=480');
        }
      }
    }
  }
/**************************************************************************************************/

/**************************************************************************************************/
/* Images Preload & Change functions                                                              */

  var preloadFlag = false;

  function preloadImages(img_path, img_path_lng)
  {
    if (document.images)
    {
      preloadFlag = true;
    }
  }

  function newImage(arg)
  {
    if (document.images)
    {
      rslt = new Image();
      rslt.src = arg;
      return rslt;
    }
  }

  function changeImages()
  {
    for (var i=0; i<changeImages.arguments.length; i+=2)
    {
      document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
    }
  }

/**************************************************************************************************/

/**************************************************************************************************/
/* Images Popup functions                                                                         */

  var _ip_xoffset = 10;
  var _ip_yoffset = 10;

  var nav, old, skn;
  var iex = (document.all);
  var xxx = -1000;
  var yyy = -1000;

  function popupInit()
  {
    if (navigator.appName == "Netscape")
    {
      (document.layers) ? nav = true : old = true;
    }

    if (!old)
    {
      skn = (nav) ? document.dek : dek.style;

      if (nav)
        document.captureEvents(Event.MOUSEMOVE);

      document.onmousemove = popupGetMouse;
    }
  }

  function popupGetMouse( e )
  {
    var x = (nav) ? e.pageX : event.x + document.body.scrollLeft;
    skn.left = x + xxx;
    var y = (nav) ? e.pageY : event.y + document.body.scrollTop;
    skn.top = y + yyy;
  }

  function popupImage( image, bgcolor )
  {
    var content = "<TABLE BORDER=1 BORDERCOLOR=black CELLPADDING=0 CELLSPACING=0 BGCOLOR=" + bgcolor + ">"
                    + "<TD ALIGN=center>"
                      + "<img src=" + image + ">"
                    + "</TD>"
                  + "</TABLE>";

    if (old)
    {
      alert(msg);
      return;
    }
    else
    {
      xxx = _ip_xoffset;
      yyy = _ip_yoffset;

      if (nav)
      {
        skn.document.write(content);
        skn.document.close();
        skn.visibility = "visible"
      }
      if (iex)
      {
        document.all("dek").innerHTML = content;
        skn.visibility = "visible"
      }
    }
  }

  function popupKill( )
  {
    if (!old)
    {
      xxx = -1000;
      yyy = -1000;
      skn.visibility = "hidden";
    }
  }

/**************************************************************************************************/

