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

/**************************************************************************************************/
/* 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 _popup;

  var _ip_xoffset = 10;
  var _ip_yoffset = 10;
  var _tp_xoffset = -10;
  var _tp_yoffset = 10;

  var xxx = -1000;
  var yyy = -1000;

  function popupInit()
  {
    _popup = (is_ie || is_moz || is_nav) ? document.getElementById('dek').style : document.dek;

    if (!(is_ie || is_moz || is_nav))
      document.captureEvents(Event.MOUSEMOVE);

    document.onmousemove = popupGetMouse;
  }

  function popupGetMouse( e )
  {
    _popup.left = (is_ie) ? event.x + document.body.scrollLeft + xxx : e.pageX + xxx;
    _popup.top = (is_ie) ? event.y + document.body.scrollTop + yyy : e.pageY + yyy;
    //document.onmousemove = null;
  }

  function popupImage( image, bgColor )
  {
    args = popupImage.arguments;

    var content = "<TABLE BORDER=1 BORDERCOLOR=black CELLPADDING=0 CELLSPACING=0 BGCOLOR=" + bgColor + ">"
                  + "<TD ALIGN=center>"
                    + "<img src=" + image + ">"
                  + "</TD>"
                + "</TABLE>";

    xxx = (typeof(args[2]) != "undefined") ? args[2] : _ip_xoffset;
    yyy = (typeof(args[3]) != "undefined") ? args[3] : _ip_yoffset;

    if (is_ie || is_moz || is_nav)
    {
      document.getElementById('dek').innerHTML = content;
      _popup.visibility = "visible"
    }
    else
    {
      _popup.document.write(content);
      _popup.document.close();
      _popup.visibility = "visible"
    }
  }

  function popupText( text, bgColor )
  {
    args = popupText.arguments;

    var content = "<TABLE BORDER=1 BORDERCOLOR=black CELLPADDING=2 CELLSPACING=0 BGCOLOR=" + bgColor + ">"
                  + "<TD STYLE=text-align:justify>"
                    + text
                  + "</TD>"
                + "</TABLE>";

    xxx = (typeof(args[2]) != "undefined") ? args[2] : _tp_xoffset;
    yyy = (typeof(args[3]) != "undefined") ? args[3] : _tp_yoffset;

    if (is_ie || is_moz || is_nav)
    {
      document.getElementById('dek').innerHTML = content;
      _popup.visibility = "visible"
    }
    else
    {
      _popup.document.write(content);
      _popup.document.close();
      _popup.visibility = "visible"
    }
  }

  function popupKill( )
  {
    xxx = -1000;
    yyy = -1000;
    _popup.visibility = "hidden";

    //document.onmousemove = popupGetMouse;
  }

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