﻿function billedeMangler(oImg, pic) {
	try {
		oImg = (oImg) ? oImg : window.event.srcElement;
		var sBilledePaaVejURL = './images/' + ((pic) ? pic : 'NoImage.jpg');
		var sBilledePaaVejTekst = 'Billede er på vej...';
		oImg.onerror = null;
		oImg.src = sBilledePaaVejURL;
		oImg.alt = sBilledePaaVejTekst ;
		oImg.title = sBilledePaaVejTekst ;
	} catch(e) {
	  alert('Error in billedeMangler: '+e.message);
	}
}


function ClearFields(area)
{
	var elements = area.getElementsByTagName("Input");
	for (idx = 0; idx < elements.length; idx++){
		elements(idx).value = "";
		if (elements(idx).checked)			// checkbox
			elements(idx).checked = false;
	}
	var elements = ThisPage.getElementsByTagName("Select");
	for (idx = 0; idx < elements.length; idx++){
		elements(idx).selectedIndex = 0;
	}
	var elements = ThisPage.getElementsByTagName("TextArea");
	for (idx = 0; idx < elements.length; idx++){
		elements(idx).value = "";
	}
	return false;
}


function checkFilledOut(checkFieldList)
{
	var sError = '';
	var o = '';
	for(var i=0; i<checkFieldList.length; i++)
	{
		var e = document.getElementById(checkFieldList[i][0]);
		if (e == null)
		{
			alert(checkFieldList[i][0] + " felt kan ikke findes");
			continue
		}
		var sValue = e.value;
		//alert(checkFieldList[i][0] + " has value " + sValue);
		e.className = 'knapSkalUdfyldes';
		e.title = 'Indtast '+checkFieldList[i][1];
		var emailFilter=checkFieldList[i][2];
		if (!(emailFilter.test(sValue))) { 
			sError+=((sError.length>0) ? ', ' : '')+checkFieldList[i][1];
			e.className = 'knapManglerUdfyldning';
			
			if (o=='') {
				o = e;
			}
		}
	}
	if (sError.length>0) {
		sError = 'Felterne:\n   '+sError+'\nskal udfyldes eller er ikke valid.';
		alert(sError);
		o.focus();
		return false;
	}
	return true;
}

function addDOMLoadEvent(func) {
   if (!window.__load_events) {
      var init = function () {
          // quit if this function has already been called
          if (arguments.callee.done) return;
      
          // flag this function so we don't do the same thing twice
          arguments.callee.done = true;
      
          // kill the timer
          if (window.__load_timer) {
              clearInterval(window.__load_timer);
              window.__load_timer = null;
          }
          
          // execute each function in the stack in the order they were added
          for (var i=0;i < window.__load_events.length;i++) {
//				alert(window.__load_events[i]);
              window.__load_events[i]();
          }
          window.__load_events = null;

          // clean up the __ie_onload event
          /*@cc_on @*/
          /*@if (@_win32)
              document.getElementById("__ie_onload").onreadystatechange = "";
          /*@end @*/
      };
   
      // for Mozilla/Opera9
      if (document.addEventListener) {
          document.addEventListener("DOMContentLoaded", init, false);
      }
      
      // for Internet Explorer
      /*@cc_on @*/
      /*@if (@_win32)
          document.write("<scr"+"ipt id=__ie_onload defer src=javascript:void(0)><\/scr"+"ipt>");
          var script = document.getElementById("__ie_onload");
          script.onreadystatechange = function() {
              if (this.readyState == "complete") {
                  init(); // call the onload handler
              }
          };
      /*@end @*/
      
      // for Safari
      if (/WebKit/i.test(navigator.userAgent)) { // sniff
          window.__load_timer = setInterval(function() {
              if (/loaded|complete/.test(document.readyState)) {
                  init(); // call the onload handler
              }
          }, 10);
      }
      
      // for other browsers
      window.onload = init;
      
      // create event function stack
      window.__load_events = [];
   }
//   alert("adding: " + func);
   // add function to event stack
   window.__load_events.push(func);
}

function debugMode()
{
  var sURL = document.location.href;
  var oDesignMode = new RegExp('design=1', 'g');
  var bCtrl = window.event.ctrlKey;
  var bAlt = window.event.altKey;
  if ((bCtrl) && (bAlt))
  {
  if ((sURL.search(oDesignMode)>-1) || (oDesignMonitor))
  {
    document.detachEvent('onmousemove', showInfo);
    oDesignMonitor = null;
    window.status = new Date();
  }
  else
  {
    oDesignMonitor = document.attachEvent('onmousemove', showInfo);
  }
  }
}

function designMode()
{
  var sURL = ''+document.location.href;
  var oRegExp = new RegExp('design=1', 'g');
  if (sURL.search(oRegExp)>-1)
  {
    oDesignMonitor = document.attachEvent('onmousemove', showInfo);
  }
}
function getId(oElement)
{
  var sID = oElement.id;
  if (sID=='')
  {
  try {
    sID = (oElement.attributes['id']) ? oElement.attributes['id'].value : '';
    sID = (sID=='') ? ((oElement.attributes['ID']) ? (oElement.attributes['ID'].value) : '') : '';
  } catch(e) {
  }
  }
  return sID;
}
function showInfo()
{  
   var sInfo = '';
   var oSrc = window.event.srcElement;
   var oParent = oSrc.parentNode;

   if (oParent)
   {
     var sId = getId(oParent);
     sId = (sId!='') ? ' #'+sId : sId;
     sInfo+='('+oParent.tagName+' '+oParent.className+sId+') > ';
   }
     sId = getId(oSrc);
     sId = (sId) ? ' #'+sId : sId;
     sCssText = ' ('+oSrc.style.cssText+')';
     sCssText = (sCssText.length==3) ? '' : sCssText;
     sInfo+=oSrc.tagName+' '+oSrc.className+sId+sCssText;
   window.status = sInfo;
}
function addEvent(element, name, delegate, useCapture) {
  try {
    if (element.addEventListener) {
      element.addEventListener(name, delegate, useCapture);
    } else if (element.attachEvent) {
      element.attachEvent('on' + name, delegate);
    }
    return true;
  } catch(e) {
    return false;
  }
}
function showEach(o, sFilter)
{
  var s = '';
  for(a in o)
  {
    var sAttribute = a+'="';
    var v = '';
    try {
      v = eval('o.'+a);
    } catch(e) {
    }
    if (v+''.indexOf(sFilter)>-1 || arguments.length==1) {
      s+=sAttribute+v+'" ';
    }
    
  }
  alert(s);
}

function findElementByClassName(cElements, sClassName) {
  var oElement = '';
  for(var i=0; i<cElements.length; i++) {
    if (cElements[i].className==sClassName) {
      oElement = cElements[i];
    }
  }
  return oElement;
}    
    
