function loadPage() {
  if (site_mod!='adm') {
    preloadMenu();
  }
  if (document.FormHandler) document.FormHandler.FormHandler_submit.value = getCookie("PHPSESSID");
  initLightbox();
}

function SetNumRows(num_rows) {
  var url = document.location + '';
  var a_url = url.split("#");
  url = a_url[0];
  url = url.replace(/&page=(\d+)/,'');
  url = url.replace(/\?page=(\d+)/,'?page=0');
  url = url.replace(/&num_rows=(\d+)/,'');
  url = url.replace(/\?num_rows=(\d+)/,'');
  if (url.indexOf('?')==-1) url += '?';
  else url += '&';
  url += 'num_rows=' + num_rows;
  if (a_url.length > 1) url += "#" + a_url[1];
  document.location = url;
}

function GetUrlParam( paramName )
{
	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
	var oMatch = oRegex.exec( window.top.location.search ) ;
	
	if ( oMatch && oMatch.length > 1 )
		return unescape( oMatch[1] ) ;
	else
		return '' ;
}

function checkMaxInput(f, maxLen) {
  if (f.value.length > maxLen) f.value = f.value.substring(0, maxLen);
  else document.getElementById("remLen_" + f.id).value = maxLen - f.value.length; 
}

/* ----------------------- Entities manage functions ---------------------- */

  function cancelEntity(){
    var ref_url = GetUrlParam('ref_url');
    if (ref_url=="") history.go(-1);
    else document.location = '/' + relurl + ref_url;
  }

  function popUp (sURL, sName, x, y, dx, dy) {
    if(!sURL) return;
    return window.open(sURL, sName, 'left='+x+',top='+y+',screenX='+x+',screenY='+y+',width='+dx+',height='+dy+',scrollbars=0,resizable=1');
  }
  
  function SwitchItemsAdm (block) {
    if(!block) block = 'chk_id';
    var on = document.frm.chk_all.checked;
    var el = document.frm.elements;
    for (var i=0; i<el.length; i++) {
      if (el[i].name.substr(0,block.length)== block && !el[i].disabled) el[i].checked=on;
    }
  }
  
  function DeleteWindow(id) {
    url = 'index.php?p=' + _entity + '&act=delete';
    if (id) url += '&id=' + id;
    popUp(url,'ActWin',(screen.width/2-200),(screen.height/2-75),500,150);
  }
  
  function ImageGallery() {
    url = 'index.php?p=gallery&mode=adm';
    width = 640;
    height = 680;
    ImgWin = popUp(url, 'ImgWin', (screen.width/2 - width/2), (screen.height/2 - height/2), width, height);
    ImgWin.focus();
  }
  
  function ItemDelete() {
    var f = document.frm;
    DeleteWindow(0);
    f.action = 'index.php?p=' + _entity + '&act=delete';
    f.target='ActWin';
    f.submit();    
  }
  
  function CurrentDateHightlight(field, required) {
    var f = document.FormHandler;
    var a_month = new Array(12);
    a_month['Jan'] = 1;
    a_month['Feb'] = 2;
    a_month['Mar'] = 3;
    a_month['Apr'] = 4;
    a_month['May'] = 5;
    a_month['Jun'] = 6;
    a_month['Jul'] = 7;
    a_month['Aug'] = 8;
    a_month['Sep'] = 9;
    a_month['Oct'] = 10;
    a_month['Nov'] = 11;
    a_month['Dec'] = 12;
    today = new Date();
    s = today.toGMTString();
    a_date = s.split(' ');
    day = a_date[1];
    month = a_month[a_date[2]];
    year = a_date[3];
    
    eval("f." + field + "_day.selectedIndex = day - required;");
    eval("f." + field + "_month.selectedIndex = month - required;");
    eval("f." + field + "_year.value = year;");
  }  

/*==================================================
  Cookie functions
  ==================================================*/
  
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function doChallengeResponse(is_main) {
  if (is_main) var f = document.fm_login_main;
  else var f = document.fm_login;
  
  password = f.password.value;
  if (password)	{
    password = MD5(password);	// this makes it superchallenged!!
    str = password+f.challenge.value;
    f.userident.value = MD5(str);
    f.password.value = "";
    return true;
  }
}

function showContact(part1, part2, part3) {
  var whole = part1 + "@" + part2 + "." + part3;
  document.write("<a href=\"mailto:" + whole + "\" target=\"_blank\">" + whole + "</a>");
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}