/*
 *  Various scripts for www.seminarer-ak.dk
 *  Written by: mads@nordholm.dk
 *  NOTE: form-check functions written by troels@kyberfabrikken.dk
 */

// Variables for the doMenu function
var arr_on = new Image();
arr_on.src = 'gfx/arrow_on.gif';
var arr_off = new Image();
arr_off.src = 'gfx/arrow_off.gif';


function doMenu(item,mode,pic,page) {
  if(page!=pic) {
    // When activating a menu item
    if(mode==0) {
      item.style.backgroundColor = '#bbb';
      document['arr'+pic].src = arr_on.src;
    } else { // And when de-activating it
      item.style.backgroundColor = 'transparent';
      document['arr'+pic].src = arr_off.src;
    }
  }
}

function correctMenuTableHeight() {
  var menucell = document.getElementById('menucell');
  var menutable = document.getElementById('menutable');
  menutable.style.height = menucell.offsetHeight;
}

function init() {
  correctMenuTableHeight();
}

function checkNumeric(objName) {
  // only allow 0-9 be entered, plus any values passed
  // (can be in any order, and don't have to be comma, period, or hyphen)
  // if all numbers allow commas, periods, hyphens or whatever,
  // just hard code it here and take out the passed parameters
  var checkOK = "0123456789() ";
  var checkStr = objName;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";

  for (i = 0;  i < checkStr.value.length;  i++) {
    ch = checkStr.value.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
      if (j == checkOK.length) {
        allValid = false;
        break;
      }
      if (ch != ",")
        allNum += ch;
  }

  if (!allValid) {
    return false;
  }
  return true;
}

function checkCB(formname) {
  obj=document.forms[formname].elements;
  nrChecked = 0;

  for (i=0;i<obj.length;i++) {
    if(obj[i].type=="checkbox") {
      if (obj[i].checked) {
        nrChecked++;
      }
    }
  }
  return nrChecked;
}

function checkForm() {
  if (checkNumeric(document.tilmeld.postnr)==false) {
    alert("Postnummer er ikke korrekt form");
    return false;
    } else if (document.tilmeld.navn.value=="") {
    alert("Du skal udfylde feltet 'Navn'");
    return false;
  } else if (document.tilmeld.addresse.value=="") {
    alert("Du skal udfylde feltet 'Adresse'");
    return false;
  } else if (document.tilmeld.postnr.value=="") {
    alert("Du skal udfylde feltet 'Postnr'");
    return false;
  } else if (document.tilmeld.bynavn.value=="") {
    alert("Du skal udfylde feltet 'By'");
    return false;
  } else if (document.tilmeld.telefonnr.value=="") {
    alert("Du skal udfylde feltet 'Telefon nr.'");
    return false;
  } else if (document.tilmeld.email.value=="") {
    alert("Du skal udfylde feltet 'E-mail'");
    return false;
  } else if (checkCB("tilmeld")==0) {
    alert("Du skal vælge mindst et emne");
    return false;
  }
  return true;
}

// For the sign-up process - first step
function showLocation(list,locations) {
  if(list.value && list.value!='') {
    document.getElementById('location_chose').innerHTML = 'Vælg lokation:';
    var locationList = "";
    //for(var n=1;n<=locations[list.value].length;n++) {
    //  locationList += '<span style="height: 22px"><input type="radio" name="location_transfer" onfocus="document.signupform.hotel.value='+n+'" /> '+locations[list.value][n-1]+'</span><br />';
    //}
    
    foo = locations[list.value];
   // alert(locations[list.value]);
    for (var i in foo)
	{
	   //alert("sdf");
		//alert('foo[\''+i+'\'] is ' + foo[i] +i)
		locationList += '<span style="height: 22px"><input type="radio" name="location_transfer" onfocus="document.signupform.hotel.value='+i+'" /> '+foo[i]+'</span><br />';
		
	}
	
    document.getElementById('location_fields').innerHTML = locationList;
  }
}

// This function stolen (and again tampered with) from this address:
// http://www.codelifter.com/main/javascript/emailaddresschecker1.html
function checkEmailAddress(field) {
  var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
  if (goodEmail){
    return false;
  }
  return true;
}

// For checking the form values of all the sign-up steps
function checkSignUpForm(fieldlist,errors) {
  for(var n=0;n<fieldlist.length;n++) {
    if(document.signupform[fieldlist[n]].name=='ordermail' && document.signupform[fieldlist[n]].value!='' && document.signupform[fieldlist[n]].value!=' ') {
      if(checkEmailAddress(document.signupform[fieldlist[n]])) {
	alert(errors[n]);
        return false;
      }
    } else if ((!document.signupform[fieldlist[n]].value || document.signupform[fieldlist[n]].value=='' || document.signupform[fieldlist[n]].value==' ') && document.signupform[fieldlist[n]].name!='ordermail') {
      alert(errors[n]);
      return false;
    } 
  }
  return true;
}


function checkIdeForm() {
  if (document.ide.ide.value=="") {
    alert("Du skal udfylde feltet 'Ide'");
    return false;
  } else if (document.ide.navn.value=="") {
    alert("Du skal udfylde feltet 'Navn'");
    return false;
  } else if (document.ide.email.value=="") {
    alert("Du skal udfylde feltet 'Email'");
    return false;
  }
  return true;
}
function checkKonkurrenceForm() {
  if (document.ide.ide.value=="") {
    alert("Du skal udfylde feltet 'Begrundelse'");
    return false;
  } else if (document.ide.navn.value=="") {
    alert("Du skal udfylde feltet 'Navn'");
    return false;
  } else if (document.ide.email.value=="") {
    alert("Du skal udfylde feltet 'Email'");
    return false;
  }
  return true;
}

