// javascript collection for http://www.fogf.dk/

var now = new Date()
var day   = now.getDate();
var month = now.getMonth() + 1;
var year  = now.getYear();
var hour  = now.getHours()
var min   = now.getMinutes()
if ((""+month).length == 1){month="0"+month}
if ((""+day).length == 1){day="0"+day}
if (year < 1000) {year += 1900}
Today = year + "/" + month + "/" + day + '-' + hour;
Today += ((min < 10) ? ":0" : ":") + min;
var expires = new Date()
var ItemList = new Array ();

var dom = (document.getElementById) ? 1 : 0;
var ie4 = (document.all) ? 1 : 0;
var ns4 = (document.layers) ? 1 : 0;
var ieCSS = (ie4 && document.compatMode) ? document.compatMode ==  "CSS1Compat" : 0;
var currmenu = '';
var newmenu = '';
var overmenu = false;
var HideMenuTimer = null;

//alert( 'dom: ' + dom + ', ie4: ' + ie4 + ', ns4: ' + ns4 + ', ieCSS: ' + ieCSS);

fogfcookie = {nvn:"", vej:"", hnr:"", pnr:"", by:"", tlf:"", mnr:"", mail:""};

var Menu = [
['aktM', [
 ['opslag/',		'Opslagstavlen'	]
]],
['pubM', [
 ['shop.php',		'Foldere, blade, mm'	],
 ['ArtklIndx/',		'Artikel arkiv'	],
 ['Fodesteder/',	'"F&oslash;desteder"'	],
 ['Poll_tfu.php',	'Tilfredshedsunders&oslash;gelse'	],
 ['Nyhedsbrev.html',	'Nyhedsbrev'	],
 ['Ecard.html',		'e-Postkort'	],
 ['Links.php',		'Links'		]
]],
['arbM', [
 ['Ammeraadgivningen/',	'Ammer&aring;dgivning'],
 ['brevkasse/',		'Amme brevkasse'	],
 ['Raadgivere/',	'Anden r&aring;dgivning'],
//['GenerelFAQ.html',	'Generel FAQ'	],
 ['Medlemskab.php',	'Medlemskab'	],
 //['forum/',		'Forum'		],
 ['Mailgrps.php',	'Mailgrupper'	],
 ['Lokalgrps.php',	'Lokalgrupper'	],
 ['Nyhedsbrev.html',	'Nyhedsbrev'	],
 ['Rent.html',		'Udlejning'	],
 ['banner/index.php',	'Annonceplads'	]
]],
['forM', [
 ['Meninger/',		'Meninger'	],
 ['MedlemFordi/',	'Medlem fordi'	],
 ['login/index.php',	'"Dit login"'	],
 ['FraBestyrelsen/',	'Fra bestyrelsen'	],
 ['HvemErVi.php',	'Hvem er vi ?'	],
 ['About.html',		'Form&aring;ls paragraf'	],
 ['Vedtaegter.php',	'Vedt&aelig;gter'	],
 ['Histori.html',	'Historie'	],
 ['About_en.html',	'English'	],
 ['Contact.html',	'Kontakt'	]
]]
];

//--------------------- Small utils ---------------------
function SetTxt(txt){
  window.status=txt;
  return true
}

function madr(adr) {
  document.write('<a href=', 'mail', 'to:', adr, '@', 'fogf', '.', 'dk>', adr, '@', 'fogf', '.', 'dk', '</a>');
}

function madrd(adr, dom) {
  document.write('<a href=', 'mail', 'to:', adr, '@', dom, '>', adr, '@', dom, '</a>');
}

function madrnd(adr) {
  document.write('<a href=', 'mail', 'to:', adr, '@', 'fogf', '.', 'dk', '>', adr, '</a>');
}

function madro(adr, who) {
  document.write('<a href=', 'mail', 'to:', adr, '@', 'fogf', '.', 'dk', '>', who, '</a>');
}

//--------------------- Cookie procedures ---------------------
function ReadCookie(name) {
  if (document.cookie.length > 0) {
//alert('I found a cookie: ' + document.cookie)
    offset = document.cookie.indexOf(name) 
    if (offset != -1) {
      offset += name.length 
      end = document.cookie.indexOf(";", offset) 
      if (end == -1) {
        end = document.cookie.length
      }
      tmpstr = document.cookie.substring(offset, end);
      return unescape(tmpstr);
    } else {
      return '';
    }
  } else {
    return '';
  }
}

function cookieVal() {
  var ret = "({";
  for (var prop in fogfcookie)
    ret += prop + ":\"" + fogfcookie[prop] + "\", ";
  ret = ret.substring(0, ret.length - 2);
  return ret + "})";
};

function ReadAdrCookie() {
  tmpstresc = ReadCookie("fogfPadr=");
  if (tmpstresc) {
    tmpcookie = eval(tmpstresc);
    for (var p in tmpcookie) fogfcookie[p] = tmpcookie[p];
  }
}

function visCookie(){ // For debuging purposes
  alert("" + fogfcookie.nvn + "\n" + fogfcookie.vej + " " + fogfcookie.hnr + "\n" + fogfcookie.pnr + " " + fogfcookie.by + "\n----------------\ncookieVal()=" + cookieVal());
//alert("fogfcookie.toString()=" + fogfcookie.toString());
//alert("fogfcookie.valueOf()=" + fogfcookie.valueOf());
//alert("cookieVal()=" + cookieVal());
//alert("fogfcookie.toSource()=" + fogfcookie.toSource());
}

function validateLoginForm(eml) {
  if(document.login_form.login_email && document.login_form.login_email.value == eml)
    document.login_form.login_email.value = '';
}

function emlTip(eml, focus) {
  var f = document.login_form;
  if (f)
    f = f.login_email;
  if (f) {
    if (focus) {
      f.style.color = 'black';
      if(f.value == eml) {
        f.value='';
      }
    } else {
      if(f.value == '') {
        f.value = eml;
        f.style.color = 'gray';
      }
    }
  }
}

function pwdTip(hide) {
  var f = document.login_form;
  if (f) {
    if (hide) {
      f.login_pwd.style.visibility='visible';
      f.login_pwd.style.position='relative';
      f.login_txt.style.visibility='hidden';
      f.login_txt.style.position='absolute';
      f.login_pwd.focus();
    } else if (f.login_pwd.value == '') {
      f.login_pwd.style.visibility='hidden';
      f.login_pwd.style.position='absolute';
      f.login_txt.style.visibility='visible';
      f.login_txt.style.position='relative';
    }
  }
}

function bk_side(pg) {
  document.bk_form.bk_pg.value = pg;
  document.bk_form.submit();
}

function showDiv(id, ref, xoff, yoff) {
  var d = dom ? document.getElementById(id) :
          ie4 ? document.all[id] :
          ns4 ? document[id] : false;
  var xpos = xoff;
  var ypos = yoff;
  var o = ref;
  while (o) {
    xpos += o.offsetLeft; ypos += o.offsetTop;
//  alrt += " " + newmenu.offsetLeft + " " + newmenu.offsetTop + "\n";
    o = o.offsetParent;
  }
  d.style.left = xpos + "px";
  d.style.top  = ypos + 18 + "px";
  d.style.visibility = 'visible';
}

function hideDiv(id) {
  var d = dom ? document.getElementById(id) :
          ie4 ? document.all[id] :
          ns4 ? document[id] : false;
  d.style.visibility = 'hidden';
}

//--------------------- Form procedures ---------------------
function FillForm(frm){
  ReadAdrCookie();
  if (frm.A_navn)   frm.A_navn.value   = fogfcookie.nvn;
  if (frm.B_vej)    frm.B_vej.value    = fogfcookie.vej;
  if (frm.C_husnr)  frm.C_husnr.value  = fogfcookie.hnr;
  if (frm.D_postnr) frm.D_postnr.value = fogfcookie.pnr;
  if (frm.E_by)     frm.E_by.value     = fogfcookie.by;
  if (frm.F_tlf)    frm.F_tlf.value    = fogfcookie.tlf;
  if (frm.G_mdlmnr) frm.G_mdlmnr.value = fogfcookie.mnr;
  if (frm.email)    frm.email.value    = fogfcookie.mail;
}

function checkPData(frm, mnrrequired) {
  if ((frm.A_navn)&&(frm.A_navn.value.length == 0)) {
    alert("Husk at udfylde navne-feltet"); return false
  } else if ((frm.B_vej)&&(frm.B_vej.value.length == 0)) {
    alert("Husk at udfylde vej-feltet"); return false
  } else if ((frm.C_husnr)&&(frm.C_husnr.value.length == 0)) {
    alert("Husk at udfylde vejnr-feltet"); return false
  } else if ((frm.D_postnr)&&(frm.D_postnr.value.length == 0)) {
    alert("Husk at udfylde postnr-feltet"); return false
  } else if ((frm.E_by)&&(frm.E_by.value.length == 0)) {
    alert("Husk at udfylde by-feltet"); return false
  } else if ((frm.email)&&(frm.email.value.length == 0)) {
    alert("Husk at udfylde email-feltet"); return false
  } else if ((frm.email)&&((frm.email.value != '-')&&(frm.email.value != 'tlf')&&
             ((frm.email.value.indexOf("@") == -1 )||( frm.email.value.indexOf(".") == -1 )))) {
    alert("Email-feltet syntes udfyldt med en ikke gyldig email-addresse"); return false
  } else if ((frm.F_tlf)&&(frm.F_tlf.value.length < 8)) {
    alert("Husk at udfylde tlf-feltet"); return false
  } else if ((mnrrequired)&&(frm.G_mdlmnr)&&(frm.G_mdlmnr.value.length == 0)) {
    alert("Mailgruppen er kun for medlemmer af foreningen, så husk at udfylde medlems-nr-feltet"); return false
  } else {
    if ((frm.realname)&&(frm.A_navn)) frm.realname.value = frm.A_navn.value;
    if ((frm.realname)&&(frm.realname.value.indexOf(",") > 0)){
      i = frm.realname.value.indexOf(",");
      frm.realname.value = frm.realname.value.substring(0, i);
    }
    if ((frm.email)&&(frm.email.value == '-')) {
      frm.email.value = 'devnul@fogf.dk';
      fogfcookie.mail = '';
      expires.setTime(now.getTime() + 1000*60*60*1*1);
    } else if ((frm.email)&&(frm.email.value == 'tlf')) {
      frm.email.value = 'tlf@fogf.dk';
      fogfcookie.mail = '';
      expires.setTime(now.getTime() + 1000*60*60*1*1);
    } else {
      if ((frm.email   )&&(frm.email.value   )) fogfcookie.mail = frm.email.value;
      expires.setTime(now.getTime() + 1000*60*60*24*365);
    }
    if ((frm.A_navn  )&&(frm.A_navn.value  )) fogfcookie.nvn  = frm.A_navn.value;
    if ((frm.B_vej   )&&(frm.B_vej.value   )) fogfcookie.vej  = frm.B_vej.value;
    if ((frm.C_husnr )&&(frm.C_husnr.value )) fogfcookie.hnr  = frm.C_husnr.value;
    if ((frm.D_postnr)&&(frm.D_postnr.value)) fogfcookie.pnr  = frm.D_postnr.value;
    if ((frm.E_by    )&&(frm.E_by.value    )) fogfcookie.by   = frm.E_by.value;
    if ((frm.F_tlf   )&&(frm.F_tlf.value   )) fogfcookie.tlf  = frm.F_tlf.value;
    if ((frm.G_mdlmnr)&&(frm.G_mdlmnr.value)) fogfcookie.mnr  = frm.G_mdlmnr.value;
    if ((frm.realname)&&(frm.realname.value)) fogfcookie.nvn  = frm.realname.value;
    document.cookie = 'fogfPadr='+escape(cookieVal())+';expires='+expires.toGMTString();  
    return true;
  }
}

//--------------------- Menu procedures ---------------------
function PUp(menu){
  newmenu = dom ? document.getElementById(menu.id + "M") :
            ie4 ? document.all[menu.id + "M"] :
            ns4 ? document[menu.id + "M"] : false;
//alert("Menu: " + menu.id + " " + newmenu )
  if(ie4 || dom){
    if (currmenu != newmenu ) {
      if (currmenu != '') {currmenu.style.visibility = 'hidden'}
      currmenu = newmenu;
      xpos = 0; ypos = 0;
//    alrt = '';
      newmenu = menu;
      while (newmenu) {
        xpos += newmenu.offsetLeft; ypos += newmenu.offsetTop;
//      alrt += " " + newmenu.offsetLeft + " " + newmenu.offsetTop + "\n";
        newmenu = newmenu.offsetParent;
      }
      if (currmenu && currmenu.style) {
        currmenu.style.left = xpos + "px";
        currmenu.style.top  = ypos + 18 + "px";
        currmenu.style.visibility = 'visible';
      }
    }
  }
//alert("Menu " + menu.id + " at: " + xpos + "," + ypos + "\n" + alrt);
  if(ns4){
    if ( currmenu != newmenu ) {
      if (currmenu != '') {currmenu.visibility = 'hidden'}
      currmenu = newmenu;
      if (currmenu) {
        currmenu.moveToAbsolute(document.layers[menu].x, document.layers[menu].y);
        currmenu.visibility = 'visible';
      }
    }
  }
//alert('x,y: = ' + currmenu.style.left + ',' + currmenu.style.top );
  clearTimeout(HideMenuTimer);
}

function PDwn() {
  HideMenuTimer = setTimeout("crHideMenu()",500); 
}

function OvrMn() {
//alert ('overmenu');
  overmenu = true;
  clearTimeout(HideMenuTimer);
}

function OtMn() {
  overmenu = false;
  HideMenuTimer = setTimeout("crHideMenu()",500); 
}

function crHideMenu() {
//alert ('overmenu: ' + overmenu);
  if ((currmenu != null) && (currmenu != '') && (overmenu == false)) {
    if(ns4){currmenu.visibility = 'hidden'}
    if(ie4 || dom){currmenu.style.visibility = 'hidden'}
    currmenu = '';
  }
  clearTimeout(HideMenuTimer);
  HideMenuTimer = null;
}

function makeentries(pth) {
  for (var i in Menu) {
    document.write('<div id="' + Menu[i][0] + '" class="menu" onMouseOver="OvrMn()" onMouseOut="OtMn()">\n');
    document.write('<table bgcolor=white cellspacing=2 cellpadding="2" ');
    document.write('style="border:solid;border-color:#0060a0;border-width:1px;cursor:pointer;">\n');
    for (var j in Menu[i][1] ) {
      document.write('<tr><td class="submenu" ');
      document.write('onMouseOut="this.style.backgroundColor=\'#8aa0c1\';" ');
      document.write('onMouseOver="this.style.backgroundColor=\'#05558d\';" ');
      document.write('onClick="document.location.href=\'' + pth + Menu[i][1][j][0] + '\';">');
      document.write( Menu[i][1][j][1] + '</td></tr>\n');
    }
    document.write('</table>\n</div>\n');
    tmpmenu = dom ? document.getElementById(Menu[i][0]) :
              ie4 ? document.all[Menu[i][0]] :
              ns4 ? document[Menu[i][0]] : false;
    if(ie4 || dom){
      tmpmenu.style.left = "220px";
      tmpmenu.style.top  = "18px";
      tmpmenu.style.visibility = 'hidden';
    }
    if(ns4){
      tmpmenu.moveToAbsolute(18, 180);
      tmpmenu.visibility = 'hidden';
    }
  }
}

//--------------------- image procedures ---------------------
/** Construct a new ImageRotator
 * @param imgs and array of images to rotate e.g. array('img1.jpg', 'img2.jpg'). It's recommended they have the same dimensions
 * @param name the name of the instance need for scheduling the next imageswap
 * @param width the width of the images
 */
function ImageRotator(imgs, name, width) {
  this.images = imgs;
  this.myName = name;
  this.cacheimage = new Image();
  this.currentslide = 0;
  this.timeout = 3000;
  this.noSteps = 10;
  for (var i=0; i<imgs.length; i++){
    this.cacheimage.src = imgs[i];
  }

  document.write('<img id="slideImg1" src="' + this.images[0] + '" style="position:absolute;width:' + width + 'px;"/>' +
    '<img id="slideImg2" src="' + this.images[1] + '" style="position:absolute;opacity:0.0;filter:alpha(opacity=0);width:' + width + 'px;"/>')
  this.img1 = dom ? document.getElementById("slideImg1") : document.all.slideImg1
  this.img2 = dom ? document.getElementById("slideImg2") : document.all.slideImg2
  this.step = 0;

  setTimeout(this.myName + ".rotateImages()", this.timeout);

  this.rotateImages = function(){
    this.step++;
    if (this.step > this.noSteps) {
      if (this.currentslide==this.images.length-1)
        this.currentslide=0
      else
        this.currentslide++
      this.img1.src = this.images[this.currentslide];
      this.img2.src = this.currentslide<this.images.length-1 ? this.images[this.currentslide+1] : this.images[0];
      this.step = 0;
      this.setOpacity();
      setTimeout(this.myName + ".rotateImages()", this.timeout);
    } else {
      this.setOpacity();
      setTimeout(this.myName + ".rotateImages()", this.timeout / 10 / this.noSteps);
    }
  };
  this.setOpacity = function(){
    this.op = this.step / this.noSteps;
    this.img1.style.opacity = 1 - (this.op);
    this.img1.style.filter = 'alpha(opacity=' + (100 - this.op * 100) + ')';
    this.img2.style.opacity = this.op;
    this.img2.style.filter = 'alpha(opacity=' + (this.op * 100) + ')';
  }
}

