function postSubmit(action,data) {//{{{
  /* postSubmit
   * Submit a form to the url specified in @action
   * @action	Destination url
   * @data	Hash object with Post data
   */
  var div = new Element('div',{'style':'visibility:hidden;'});
  var form = new Element('form',{'method':'post','action':action});

  data.each(function(pair){
      var input = new Element('textarea',{ 'name':pair.key });
      input.appendChild(document.createTextNode(pair.value));
      form.appendChild(input);
      });

  div.appendChild(form);
  document.body.appendChild(div);
  form.submit();
}//}}}
function urlDecodeArray(arr) {//{{{
  var ret = [];
  var i=0;
  for(i=0; i<arr.length; i++) {
    if(arr[i] instanceof Array)
      ret.push(urlDecodeArray(arr[i]));
    else
      ret.push(decodeURIComponent(arr[i]));
  }
  return ret;
}//}}}
function txtClearMarkup(str) {/*{{{*/
  var r=new RegExp("\\[bold\\]","gi");
  str = str.replace(r,'');
  var r=new RegExp("\\[/bold\\]","gi");
  str = str.replace(r,'');

  var r=new RegExp("\\[italic\\]","gi");
  str = str.replace(r,'');
  var r=new RegExp("\\[/italic\\]","gi");
  str = str.replace(r,'');

  var r = new RegExp("\\[color #[0-9a-fA-F]{0,6}\\]","gi");
  str = str.replace(r,'');
  var r=new RegExp("\\[/color\\]","gi");
  str = str.replace(r,'');

  var r = new RegExp("\\[link [^\\[]+\\]","gi");
  str = str.replace(r,'');
  var r=new RegExp("\\[/link\\]","gi");
  str = str.replace(r,'');

  var r = new RegExp("\\[mail [^\\[]+\\]","gi");
  str = str.replace(r,'');
  var r=new RegExp("\\[/mail\\]","gi");
  str = str.replace(r,'');

  return str;
}/*}}}*/

