function goFigureWithParams(url, params) {
  /* no params */
  if (params=='') {
    goFigure(url);
  } else {
  /*  psfile://    */
  if (url.indexOf('psfile://') != -1) {
    url = url.replace('psfile://','./?module=Files;action=File.getFile;ID=');
  }

  /*  psm://    */
  if (url.indexOf('psm://') != -1) {
    url = url.replace('psm://','mailto:');
  }

  /*  psf://    */
  if (url.indexOf('psf://') != -1) {
    url = url.replace('psf://','./?module=Articles;action=ArticleFolder.publicOpenFolder;ID=');
  }

  /*  ps://    */
  if (url.indexOf('ps://') != -1) {
    url = url.replace('ps://','');
    if (url.indexOf(';')) {
      url = url.substring(url.indexOf(';')+1,url.length);
    }
    url = './?module=Articles;action=Article.publicShow;ID=' + url;
  }

  /*  psff://    */
  if (url.indexOf('psff://') != -1) {
    url = url.replace('psff://','./?module=Files;action=FileFolder.publicDisplay;ID=');
  }
  window.open(url, '',"'" +params+ "'");  
  }
}
function updateAdCount(urlroot) {
  var images = document.getElementsByTagName('img');
  var adImages = new Array();
  var p = 0;
  for ( i=0; i<images.length; i++ ) {
    if ( images[i].className=='ad' ) {
      adImages[p] = images[i];
      p++;
    }
  }
  var ids = '';
  for ( i=0; i<adImages.length; i++ ) {
    ids += adImages[i].id;
    if ( adImages.length != i ) {
      ids += ',';
    }
  }
  if ( ids != '' ) {
    AJAXcall('GET', urlroot + '?module=Ads;action=AdFolder.publicUpdateAdsCount;adID=' + ids);
  }
}

function goFigure(url) {
  /*  psfile://    */
  if (url.indexOf('psfile://') != -1) {
    url = url.replace('psfile://','./?module=Files;action=File.getFile;ID=');
  }

  /*  psm://    */
  if (url.indexOf('psm://') != -1) {
    url = url.replace('psm://','mailto:');
  }

  /*  psf://    */
  if (url.indexOf('psf://') != -1) {
    url = url.replace('psf://','./?module=Articles;action=ArticleFolder.publicOpenFolder;ID=');
  }

  /*  ps://    */
  if (url.indexOf('ps://') != -1) {
    url = url.replace('ps://','');
    if (url.indexOf(';')) {
      url = url.substring(url.indexOf(';')+1,url.length);
    }
    url = './?module=Articles;action=Article.publicShow;ID=' + url;
  }

  /*  psff://    */
  if (url.indexOf('psff://') != -1) {
    url = url.replace('psff://','./?module=Files;action=FileFolder.publicDisplay;ID=');
  }
  window.open(url);
}

function results(status,XML)
{ document.getElementById(ajaxresid).innerHTML=XML;
}
function ajaxFunction()
{ var xmlHttp;
  try //Firefox, Opera 8.0+, Safari
  { xmlHttp=new XMLHttpRequest(); }
  catch (e) //Internet Explorer
  { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e)
    { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
      catch (e)
      { //userMessage("Your browser does not support AJAX!");
        return null;
      }
    }
  }
  return xmlHttp;
}
var ajaxresid='';
function AJAXcall(type,url,id)//type=['POST','GET'], url=...
{ ajaxresid=id;
  xmlHttp.open(type,url);
  xmlHttp.send(null);
}
var xmlHttp=ajaxFunction();
xmlHttp.onreadystatechange=function()
{ if(xmlHttp.readyState==4)
  { if(xmlHttp.status != 200) return null; //userMessage("Can't connect to server.");
//    else results(xmlHttp.status,xmlHttp.responseText);
  }
}

function goTarget(url) {
  window.open(url);
}

function fbs_click() {
  u=location.href;
  t=document.title;
  window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
  return false;
}

var today = new Date();

function setDate(form, sminute, shour, sday, smonth, syear, eminute, ehour, eday, emonth, eyear) {
  setMinute(form.elements['startDate_minute'], sminute);
  setHour(form.elements['startDate_hour'], shour);
  setDay(form.elements['startDate_day'], sday);
  setMonth(form.elements['startDate_month'], smonth);
  setYear(form.elements['startDate_year'], syear);

  setMinute(form.elements['stopDate_minute'], eminute);
  setHour(form.elements['stopDate_hour'], ehour);
  setDay(form.elements['stopDate_day'], eday);
  setMonth(form.elements['stopDate_month'], emonth);
  setYear(form.elements['stopDate_year'], eyear);
}

function setMinute(el, minute){
   arr = el.options;
   d = (minute != 0) ? minute : today.getMinutes();
   for (i=0;i<arr.length;i++) {
       if (Number(arr[i].value) == Number(d)) {
           arr.selected = true;
           el.selectedIndex = d;
           break;
       }
   }
}

function setHour(el, hour){
   arr = el.options;
   d = (hour != 0) ? hour : today.getHours();
   for (i=0;i<arr.length;i++) {
       if (Number(arr[i].value) == Number(d)) {
           arr.selected = true;
           el.selectedIndex = d;
           break;
       }
   }
}

function setDay(el, day){
   arr = el.options;
   d = (day != 0) ? day : today.getDate();
   for (i=0;i<arr.length;i++) {
       if (Number(arr[i].value) == Number(d)) {
           arr.selected = true;
           el.selectedIndex = d - 1;
           break;
       }
   }
}

function setMonth(el, month){
   arr = el.options;
   d = (month != 0) ? month : today.getMonth() + 1;
   for (i=0;i<arr.length;i++) {
       if (Number(arr[i].value) == Number(d)) {
           arr.selected = true;
           el.selectedIndex = d - 1;
           break;
       }
   }
}

function setYear(el, year){
   arr = el.options;
   d = (year != 0) ? year : today.getYear();
   for (i=0;i<arr.length;i++) {
       if (Number(arr[i].value) == Number(d)) {
           arr.selected = true;
           el.selectedIndex = i;
           break;
       }
   }
}

function updateFromStartDate() {
   var startminuteEl = document.getElementById('startDate_minute');
   var starthourEl = document.getElementById('startDate_hour');
   var startdayEl = document.getElementById('startDate_day');
   var startmonthEl = document.getElementById('startDate_month');
   var startyearEl = document.getElementById('startDate_year');

   var stopminuteEl = document.getElementById('stopDate_minute');
   var stophourEl = document.getElementById('stopDate_hour');   
   var stopdayEl = document.getElementById('stopDate_day');
   var stopmonthEl = document.getElementById('stopDate_month');
   var stopyearEl = document.getElementById('stopDate_year');

   var startminute = startminuteEl.options[startminuteEl.selectedIndex].value;
   var starthour = starthourEl.options[starthourEl.selectedIndex].value;   
   var startday = startdayEl.options[startdayEl.selectedIndex].value;
   var startmonth = startmonthEl.options[startmonthEl.selectedIndex].value;
   var startyear = startyearEl.options[startyearEl.selectedIndex].value;
   var stopminute = stopminuteEl.options[stopminuteEl.selectedIndex].value;
   var stophour = stophourEl.options[stopmonthEl.selectedIndex].value;
   var stopday = stopdayEl.options[stopdayEl.selectedIndex].value;
   var stopmonth = stopmonthEl.options[stopmonthEl.selectedIndex].value;
   var stopyear = stopyearEl.options[stopyearEl.selectedIndex].value;

   if (stopyear < startyear || (stopyear == startyear && stopmonth < startmonth) ||
      (stopyear == startyear && stopmonth == startmonth && stopday < startday) ||
      (stopyear == startyear && stopmonth == startmonth && stopday == startday && stophour < starthour) ||
      (stopyear == startyear && stopmonth == startmonth && stopday == startday && stophour == starthour && stopminute < startminute)) {
          setYear(stopyearEl, startyear);
          setMonth(stopmonthEl, startmonth);
          setDay(stopdayEl, startday);
          setHour(stophourEl, starthour);
          setMinute(stopminuteEl, startminute);
   }
}


function initPreload(s) {
  Element.show(s);
}
function hidePreload(s) {
  Element.hide(s);
}

function generateUserName(value) {
  var rand = 1 + Math.floor(Math.random() * 9999999);
  return value.replace(/[@\.\-\_]/,'a') + rand;
}

  startList = function() {
    if (document.all&&document.getElementById) {
      navRoot = document.getElementById("language");
      for (i=0; i<navRoot.childNodes.length; i++) {
        node = navRoot.childNodes[i];
        if (node.nodeName=="DD") {
          node.onmouseover=function() {
            this.className+=" hover";
          }
          node.onmouseout=function() {
            this.className=this.className.replace(" hover", "");
          }
        }
      }
    }
  }
  window.onload=startList;