var ie5                 = false;
var ns6                 = false;
var moz                 = false;
var mac                 = false;
var running             = false;
var timerId             = null;
var delay               = 300;
var currentMenu         = null;
var previousMenu        = null;
var loaded              = false;
var testing             = false;
var allopened           = false;
var homepage            = false;
var dir_images          = 'images/';

agent = navigator.userAgent.toLowerCase();
ie5   = (document.all && document.getElementById)  ? true : false;
ns6   = (document.getElementById && !document.all) ? true : false;
moz   = (document.getElementById && !document.all) ? true : false;
mac   = (agent.indexOf("mac")!=-1);

function safemail(name, domain, display, css, subject , cc, cc_domain) {
  css       = (css)     ? ' class="' + css + '"' : '';
  subject   = (subject) ? '?subject=' + subject : '';
  displayed = (display) ? display : name + '@' + domain;
  cc        = (cc) ? ((subject) ? '&' : '?') + 'cc=' + cc + '@' + cc_domain: '';
  mailto    = name + '@' + domain + subject + cc;
  document.write('<a href="mailto:' + mailto + '"' + css + '>' + displayed + '</a>');
}
function Popup(title,filename,w,h,scroll,resizable,menubar) {
  title     = (title == '')         ? 'popup' : title;
  scroll    = (scroll == 'scroll')  ? 'yes'   : 'no';
  resizable = (resizable == 'lock') ? 'no'    : 'yes';
  menubar   = (menubar == 'menu')   ? 'yes'   : 'no';
  
  winOptions = eval("'width="+w+",height="+h+",toolbar=no,location=no,directories=no,status=no,menubar="+menubar+",scrollbars="+scroll+",resizable="+resizable+",copyhistory=no'");
  window.open(filename,title,winOptions);
  return;
}
function DisableButton(obj) {
  obj.src          = 'images/btn_processing.gif';
  obj.disabled     = true;
  obj.style.border = 'none';
}
function DisableButtonTxt(obj) {
  obj.value        = 'Processing...';
  obj.disabled     = true;
  obj.style.border = 'none';
}
function SetFocus(fieldname,formname){if (formname == ''){ formname = 'form'; }if (eval("document."+formname+".elements[fieldname].value == ''")){ eval("document."+formname+".elements[fieldname].focus();"); }}
function SelectLanguage(language, type, base_path, rewrite_name) {
  if (type == 'url') {
    document.lang_form.action = base_path + rewrite_name + '/' + language + '/';
    document.lang_form.method = 'post';
  }
  document.lang_form.submit();

} 

function ToggleElement(id, action) {
  if (action == 'hide-all-rows') {
    // all elements matching id
    regex = new RegExp(id);
    rows = document.getElementsByTagName('TR');
    for (i=0; i<rows.length; i++) {
      if (regex.test(rows[i].id)) {
        ToggleElement(rows[i].id, 'hide');
      }
    }
  } else {
    // single element
    var e = document.getElementById(id);
    if (action == 'show') {
      e.style.display = 'block';
    } else if (action == 'show-row') {
      if (moz) {
        e.style.display = 'table-row';
      } else {
        e.style.display = 'block';
      }
    } else {
      e.style.display = 'none';
    }
  }
}
function ToggleRow(id, action) {
  regex = new RegExp(id);
  trColl = document.getElementsByTagName('TR');
  for (i=0; i<trColl.length; i++) {
    if (regex.test(trColl[i].id)) {
      if (action == 'show') {
        if (moz) {
          trColl[i].style.display = 'table-row';
        } else {
          trColl[i].style.display = 'block';
        }
      } else {
        trColl[i].style.display = 'none';
      }
    }
  }
}
function SubmitForm(obj, form_action) {
  // disable button
  DisableButtonTxt(obj);
  
  // get elements
  var frm = document.forms[obj.form.name];
  var act = frm.elements['form_action'];
  
  // set form action
  act.value = form_action;
  
  // submit form
  frm.submit();
}
////////////////////////////////////
////////////////////////////////////
////////////////////////////////////
function StartTimer(event){running = true; timerId = setTimeout(event,delay);}
function StopTimer(){running = false; clearTimeout(timerId);}
function SetElementPosition(id,top,left){
  if (ns6) {
    document.getElementById(id).style.top = top;
    document.getElementById(id).style.left = left;
  } else {
    eval(id).style.top  = top;
    eval(id).style.left = left;
  }
}
function SetVisibility(id,flag) {
  if (ns6) {
    var str = (flag) ? 'visible' : 'hidden';
    document.getElementById(id).style.visibility = str;
  } else {
    var str = (flag) ? 'visible' : 'hidden';
    eval("document.all."+id).style.visibility = str;
  }
}
function getImageTop(imgID) {
  return getRealTop(imgID);
}
function getImageLeft(imgID) {
  return getRealLeft(imgID);
}
function getRealTop(imgElem) {
  yPos = eval(imgElem).offsetTop;
  tempEl = eval(imgElem).offsetParent;
  while (tempEl != null) {
    yPos += tempEl.offsetTop;
    tempEl = tempEl.offsetParent;
  }
  return yPos;
}
function getRealLeft(imgObj) {
	xPos = eval(imgObj).offsetLeft;
	tempObj = eval(imgObj).offsetParent;
  while (tempObj != null){
    xPos   += tempObj.offsetLeft;
    tempObj = tempObj.offsetParent;
  }
	return xPos;
}
function getImageWidth(id) {
  return document.getElementById(id).offsetWidth;
}
function getElementWidth(id) {
  return document.getElementById(id).offsetWidth;
}
function getElementHeight(id) {
  return document.getElementById(id).offsetHeight;
}
function layerWrite(id,text) {
  if (ns6) {
    rng = document.createRange();
    el = document.getElementById(id);
    rng.setStartBefore(el);
    htmlFrag = rng.createContextualFragment(text);
    while (el.hasChildNodes()) el.removeChild(el.lastChild);
    el.appendChild(htmlFrag);
  } else {
    document.all[id].innerHTML = text;
  }
}
function in_array(needle,haystack) {
  for (i=0; i<haystack.length; i++) {
    if (haystack[i] == needle) { return true; }
  }
  return false;
}
function Init() {
  if (ie5 || ns6) { LoadMenus(); }
  loaded = true;
}
function LoadMenus() {
  for (var i=1; i<=5; i++) {
    imgId    = 'nav'+i;
    menuId   = 'menu'+i+'Div';
    shadowId = 'menubg'+i+'Div';
    
    //get anchor image
    if (ns6){ anchorObj = eval('document.getElementById("'+imgId+'")'); }
    else    { anchorObj = eval('document.images["'+imgId+'"]'); }
    
    // anchor object found?
    if (anchorObj) {
      // get position
      t = getImageTop(anchorObj);
      l = getImageLeft(anchorObj);
      w = getImageWidth(imgId);
      
      // set top and left
      menuTop  = t + 30;
      menuLeft = l;
      
      // set
      SetElementPosition(menuId,menuTop,menuLeft);
      
      // shadow
      menuWidth  = getElementWidth(menuId);
      menuHeight = getElementHeight(menuId);
      if (menuWidth > 1 && menuHeight > 1) {
        var tempstring,writestring;
        tempstring = '<img src="'+dir_images+'shadow.gif" width="'+menuWidth+'" height="'+menuHeight+'" alt="" border="0">';
        writestring =  (!(mac && ie5)) ? '<table cellpadding="0" cellspacing="0" border="0"><tr><td class="transparent">'+tempstring+'</td></tr></table>' : tempstring;
        layerWrite(shadowId,writestring);
        shadowTop  = menuTop + 3;
        shadowLeft = menuLeft + 3; 
        SetElementPosition(shadowId,shadowTop,shadowLeft);
      }
    }
  }
}
function Show(id) {
  if (running) { StopTimer(); }
  currentMenu = id;
  if (currentMenu != previousMenu && previousMenu != null) { Hide(previousMenu); }
  eval('document.getElementById("menu'+id+'Div").style.visibility = "visible"');
  eval('document.getElementById("menubg'+id+'Div").style.visibility = "visible"');
  previousMenu = currentMenu;
}
function Hide(id) {
  if (id == null) { return; }
  eval('document.getElementById("menu'+id+'Div").style.visibility = "hidden"');
  eval('document.getElementById("menubg'+id+'Div").style.visibility = "hidden"');
}

///////////////////
// wifi specific //
///////////////////

// popups
function opener_control(url)
{
 if (window.opener && !window.opener.closed) {
	  window.opener.location.href = url;
	}
}

// faqs
function ToggleAnswer(id) {
  var icon     = document.getElementById('i'+id);
  var question = document.getElementById('q'+id);
  var answer   = document.getElementById('a'+id);
  if (icon.className == 'icon-off') {
    icon.className     = 'icon-on';
    question.className = 'question-on';
    answer.className   = 'answer-on';
    //var r = Math.round(Math.random()*999); // added to query string to prevent caching
    //document.getElementById("countview").src = 'countview_faq.php?r='+r+'&id='+id;
  } else {
    icon.className     = 'icon-off';
    question.className = 'question-off';
    answer.className   = 'answer-off';
  }
}

// glossary
function ToggleGlossary(id) {
  var icon     = document.getElementById('gi'+id);
  var question = document.getElementById('gq'+id);
  var answer   = document.getElementById('ga'+id);
  if (icon.className == 'icon-off') {
    icon.className     = 'icon-on';
    question.className = 'question-on';
    answer.className   = 'answer-on';
    //var r = Math.round(Math.random()*999); // added to query string to prevent caching
    //document.getElementById("countview").src = 'countview_faq.php?r='+r+'&id='+id;
  } else {
    icon.className     = 'icon-off';
    question.className = 'question-off';
    answer.className   = 'answer-off';
  }
}
// for event_promotion.php
function toggle_lastyear_name(value) {
  document.getElementById('lastyear_name').style.display = value;
}

function toggle_speaker_qs() {
  if (document.main.elements['request_speaker'].checked == true) {
    value = '';
  } else  {
    value = 'none';
  }
  document.getElementById('speaker_q1').style.display = value;
  document.getElementById('speaker_q2').style.display = value;
  document.getElementById('speaker_q3').style.display = value;
  document.getElementById('speaker_q4').style.display = value;
  document.getElementById('speaker_q5').style.display = value;
  document.getElementById('speaker_q6').style.display = value;
}

function toggle_search_faqs() {
  if (document.getElementById('faqs').style.display == 'none') {
    document.getElementById('faqs').style.display = '';
  } else {
    document.getElementById('faqs').style.display = 'none';
  }
}

function toggle_search_glossary() {
  if (document.getElementById('glossary').style.display == 'none') {
    document.getElementById('glossary').style.display = '';
  } else {
    document.getElementById('glossary').style.display = 'none';
  }
}

function toggle_search_members() {
  if (document.getElementById('search_members').style.display == 'none') {
    document.getElementById('search_members').style.display = '';
  } else {
    document.getElementById('search_members').style.display = 'none';
  }
}

function toggle_search_wp() {
  if (document.getElementById('wp').style.display == 'none') {
    document.getElementById('wp').style.display = '';
  } else {
    document.getElementById('wp').style.display = 'none';
  }
}

function toggle_search_calendar() {
  if (document.getElementById('calendar').style.display == 'none') {
    document.getElementById('calendar').style.display = '';
  } else {
    document.getElementById('calendar').style.display = 'none';
  }
}