var elTag = null;
var elType = null;
var IE = false;
var indlaest = false;
var inputant = 0;
var profil = false;

if (document.all && document.getElementById) {
  IE = true;
  if ((navigator.userAgent).indexOf("Opera") != -1) {
    IE = false;
  }
}

function check_enter_tast() {
  elTag = window.event.srcElement.tagName;
  elType = window.event.srcElement.type;
  if (window.event && window.event.keyCode == 13) {
    if ((elTag == 'A') || (elType == 'button') || (elType == 'image') || (elType == 'reset') ||
        (elTag == 'SELECT') || (elType == 'submit') || (elType == 'textarea')) {
      window.event.cancelBubble = false;
      window.event.returnValue = true;
    }
    else {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
  }
}

function check_genvejs_menu() {
  elTag = window.event.srcElement.tagName;
  if (elTag != 'INPUT' && elTag != 'BODY' && elTag != 'TD') {
    return false;
  }
}

function start() {	
  indlaest = true;
  if (profil) {
    document.profil.FOEDAARA.focus()	
  }
  if (!window.opener) {
    session_timeout = setTimeout("check_timeout();",55*60*1000);
  }
}

function check_timeout() {
  self.focus();
  var aendret = check_aendring_side();
  if (aendret && !profil) {
    meddelelse_om_aendring();
  }
  else {
    meddelelse_om_opdatering();
  }
}

function check_aendring_side() {
  var aendret = false;
  obj = document.getElementsByTagName('input');
  for (i = 0; i < obj.length; i++) {
    if (((obj[i].type) == 'checkbox') && ((obj[i].checked) != (obj[i].defaultChecked))) aendret = true;
    if (((obj[i].type) == 'radio') && ((obj[i].checked) != (obj[i].defaultChecked))) aendret = true;
    if (((obj[i].type) == 'text') && ((obj[i].value) != (obj[i].defaultValue))) aendret = true;
  }

  return aendret;
}

function meddelelse_om_aendring() {
  var tid = skaf_tid();
  alert("Klokken er nu "+tid+".\n\n"+
        "Du kan højst bruge beregningssystemet i 60 minutter.\n\n"+
        "Om ca. 5 minutter afbrydes forbindelsen til SKATs TastSelv.\n\n"+
        "Hvis du ønsker at bevare forbindelsen og gøre brug af\n"+
	  "indtastningerne, skal du hurtigst muligt afslutte indtastningen\n"+
	  "og klikke på knappen \"Beregn skat\".");
}

function meddelelse_om_opdatering() {
  var tid = skaf_tid();
  var msg = "Klokken er nu "+tid+".\n\n"+
            "Du kan højst bruge beregningssystemet i 60 minutter.\n\n"+ 
            "Om ca. 5 minutter afbrydes forbindelsen til SKATs TastSelv.\n\n"+
            "Hvis du ønsker at bevare forbindelsen, skal du snarest muligt\n"+
            "opdatere siden.\n\n"+
            "Hvis du ønsker at opdatere siden nu, klik på OK.";
  if (confirm(msg)) {
    location.reload();
  }
  else {
    return;
  }
}

function skaf_tid() {
  var tid = new Date();
  if (tid.getMinutes() / 10 < 1 ) {
    var tid = tid.getHours() + ":" + "0" + tid.getMinutes();
  }
  else {
    var tid = tid.getHours() + ":" + tid.getMinutes();
  }
  return tid;
}
function check_meddelelse_print() {  // P.g.a. fejl i IE under Windows XP /* Ny */
  var el = document.getElementById('meddelelse');
  if (el !=null) {
    el.className = "meddelelse";
  }
}

function check_meddelelse_skaerm() {  // P.g.a. fejl i IE under Windows XP /* Ny */
  var el = document.getElementById('meddelelse');
  if (el !=null) {
    el.className = "meddelelse_print_IE";
  }
}

function check_send_side(file){
	if(!indlaest){
	  meddelelse_om_indlaesning();
	} else{
	forlad_side(file);
	}
}

function deaktiver_knapper() {
  obj = document.getElementsByTagName('input');
  for (i = 0; i < obj.length; i++) {
    if (obj[i].type == 'button') {
      obj[i].disabled = true;
    }
  }
}

function forlad_side(file) {
  deaktiver_knapper();
  document.form.action=file;
  document.form.submit();
}

function meddelelse_om_indlaesning() {
  alert("Siden indlæses... Vent et øjeblik.");
  return;
}
 
function naviger_til_fejl(name) {
  if (!indlaest) {
    meddelelse_om_indlaesning();
  }
  else  { 
    document.form.elements[name].focus();
    document.form.elements[name].style.borderColor = "red";
  }
  
}

function valider_inputant() {
  if (inputant > 0) {
    return false;
  }
  else {
    inputant +=1;
    return true;
  }
}

if (IE == true) {
  document.onkeydown = check_enter_tast;
  document.oncontextmenu = check_genvejs_menu;
  window.onbeforeprint = check_meddelelse_skaerm; /* Ny */
  window.onafterprint = check_meddelelse_print; /* Ny */
  
}

window.onload = start;