
function ShowBoardMembers(){
    var boardDiv = document.getElementById("board-popup-wrapper");
    boardDiv.style.display = "block";
}

function hideBoardMembers(){
var boardDiv = document.getElementById("board-popup-wrapper");
    boardDiv.style.display = "none";
}

function ShowBoardMemberEmails(){
    var boardDiv = document.getElementById("board-emails-popup-wrapper");
    boardDiv.style.display = "block";
}

function hideBoardMemberEmails(){
var boardDiv = document.getElementById("board-emails-popup-wrapper");
    boardDiv.style.display = "none";
}

function getPageWidth(){
       return document.body.scrollWidth;
}

function getPageHeight(){
       return document.body.scrollHeight;
}

function windowHeight(){
       var de = document.documentElement;
      return self.innerHeight  || (de && de.clientHeight) || document.body.clientHeight;
}

function windowWidth(){
      var de = document.documentElement;
      return self.innerWidth  || (de && de.clientWidth) || document.body.clientWidth;
}
function hideRegForm(){
       var formDiv = document.getElementById("registration-form");
       hideElement(formDiv);
}

function CheckArbeidsAdresse(arbNameElem, arbAdrElem, arbPnrElem, arbStedElem){
       if(arbNameElem.value != ""){
              if(arbAdrElem.value == ""){
                     var arbErrorAdr = document.getElementById("firma-adr");
                     arbErrorAdr.style.display = "block";                    
                     return false;
              }else{
                     var arbErrorAdr = document.getElementById("firma-adr");
                     arbErrorAdr.style.display = "none";             
              }
              if(arbPnrElem.value == ""){
                     var arbErrorPnr = document.getElementById("firma-pnr");
                     arbErrorPnr.style.display = "block";                    
                     return false;
              }else{
                     var arbErrorPnr = document.getElementById("firma-pnr");
                     arbErrorPnr.style.display = "none";              
              }
              if(arbAdrElem.value == ""){
                     var arbErrorSted = document.getElementById("firma-sted");
                     arbErrorSted.style.display = "block";                    
                     return false;
              }else{
                     var arbErrorSted = document.getElementById("firma-sted");
                     arbErrorSted.style.display = "none";  
              }
       }
       return true;
}

function showKandidatInfo(id){
    //GB_show("Kandidat informasjon", "kandidatpage.aspx?kid="+id, 480, 580);
    //GB_show("Kandidat informasjon", "kandidatpage.aspx#" + id, 620, 666);
    GB_show("Kandidat informasjon", "kandidatpage.aspx?show="+id, 620, 666);
} 
 function showJuridiskHenvendelse() {
     GB_show("Henvendelse jurist", "contactrequestpage.aspx", 620, 580);
 }
// written by Dean Edwards, 2005
// http://dean.edwards.name/

function addEvent(element, type, handler) {
	if (!handler.$$guid) handler.$$guid = addEvent.guid++;
	if (!element.events) element.events = {};
	var handlers = element.events[type];
	if (!handlers) {
		handlers = element.events[type] = {};
		if (element["on" + type]) {
			handlers[0] = element["on" + type];
		}
	}
	handlers[handler.$$guid] = handler;
	element["on" + type] = handleEvent;
};

// a counter used to create unique IDs
addEvent.guid = 1;

function removeEvent(element, type, handler) {
	if (element.events && element.events[type]) {
		delete element.events[type][handler.$$guid];
	}
};

function handleEvent(event) {
	var returnValue = true;
	// grab the event object (IE uses a global event object)
	event = event || fixEvent(window.event);
	// get a reference to the hash table of event handlers
	var handlers = this.events[event.type];
	// execute each event handler
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
};

function fixEvent(event) {
	// add W3C standard event methods
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
};
fixEvent.preventDefault = function() {
	this.returnValue = false;
};
fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
};


//addEvent(window, "load", function(){  
//       addEvent(document.body, "keypress", function(e){
 //            e = e || window.event;
            // alert("keycode : " + e.keyCode); 
   //          return e.keyCode != 13; 
  //     });
//});


function showRegistrationForm(){
      var formDiv = document.getElementById("registration-form");
      var linkId = document.getElementById("reglink"); 
      var coors = findElementPosition(linkId); 
      var posx  = coors[0];;
      var posy =  coors[1];
      setX(formDiv, 468);
      setY(formDiv, posy+20); 
      showElement(formDiv);
      setElementOpacity(formDiv,0);
      
      fadeInElement2(formDiv,100,300);
     // slideDown(formDiv);
}



function findElementPosition(elem){
       var curposY = 0;
       var curposX = 0;
       if(elem.offsetParent){
              while(elem.offsetParent){
                     curposX += elem.offsetLeft;
                     curposY += elem.offsetTop;
                     elem = elem.offsetParent;
              }
       } 
      return [curposX, curposY]; 
}


/*
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getInnerText(element){
       var text = '';
       element = element.childNodes || element; 
       for(var j=0; j< element.length; j++){
              text += element[j].nodeType != 1 ? element[j].nodeValue : getInnerText(element[j].childNodes);
       }
       return text;
}

function nextSibling(currentElement){
    do{
        currentElement = currentElement.nextSibling; 
    }while(currentElement && currentElement.nodeType != 1);
   return  currentElement;
}

function prevSibling(currentElement){
    do{
        currentElement = currentElement.previousSibling; 
    }while(currentElement && currentElement.nodeType != 1);
   return  currentElement;
}

function getParentElement(currentElement){
    if(currentElement != null){
        currentElement = currentElement. parentNode;
    }
   return currentElement; 
}

function showNextImage(){
     var nextImageDiv = nextSibling(currentPic);
     if(nextImageDiv == null){
        var nextImageDiv = document.getElementById('image-viewer-next');
        hideElement(nextImageDiv);
     }else{
        var images = this.getElementsByClassName(nextImageDiv, "img", "gallery-img");
        var img = images[0];
        if(img != null){
            showImage(img);
        }
     }
}

function showPreviousImage(){
    var prevImageDiv = prevSibling(currentPic);
     if(prevImageDiv == null){
        var prevLinkDiv = document.getElementById('image-viewer-prev');
        hideElement(prevLinkDiv);
     }else{
        var images = this.getElementsByClassName(prevImageDiv, "img", "gallery-img");
        var img = images[0];
        if(img != null){
            showImage(img);
        }
     }
}

var currentPic = null;

function showImage(currentImage){
        //alert(currentImage.src);
       showImageViewerOverlay();
      
      var currentImageDiv = getParentElement(currentImage);
      currentPic = currentImageDiv;
      var wrapperDiv = document.getElementById("image-viewer");
      var pictureDiv = document.getElementById("image-viewer-picture");
      var photographerDiv = document.getElementById("image-viewer-photgrapher");
      
      var img = document.createElement("img");
      var titleDiv = document.getElementById("image-viewer-title");
      var descriptionDiv = document.getElementById("image-viewer-description");
      var nextDiv = document.getElementById("image-viewer-next");
      var prevDiv = document.getElementById("image-viewer-prev");
      var urls = this.getElementsByClassName(currentImageDiv, "div", "imgurl");
      var url = urls[0];
     
     pictureDiv.innerHTML = "";
     
      img.src = this.getInnerText(url);
      img.id= "image-viewer-bigpic";
      pictureDiv.appendChild(img);
      //titleDiv.innerHTML = title;
     
      var titles = this.getElementsByClassName(currentImageDiv, "div", "gallery-image-title");
      var titleContent = titles[0];
    
      titleDiv.innerHTML = titleContent.innerHTML;
      //var descContent = document.getElementById("gall-image-text" + contentId);
      
      var descriptions = this.getElementsByClassName(currentImageDiv, "div", "gallery-image-text");
      var descContent = descriptions[0];
    
      //var photographer = document.getElementById("gall-image-photographer" + contentId);
      var photographers = this.getElementsByClassName(currentImageDiv, "div", "gallery-image-photographer");
      var photographer = photographers[0];

      
      descriptionDiv.innerHTML = descContent.innerHTML;
      if (photographer != null) {
          if (TrimString(photographer.innerHTML).length > 0) {
              photographerDiv.innerHTML = 'Fotograf : ' + photographer.innerHTML;
              photographerDiv.style.display = "block";
          } else {
              photographerDiv.style.display = "none";
          }
        
      } else {
        photographerDiv.style.display = "none";
      }
      
        var prevImageDiv = prevSibling(currentPic);
        if(prevImageDiv == null){
            var prevLinkDiv = document.getElementById('image-viewer-prev');
            hideElement(prevLinkDiv);
        }else{
        //    alert("show previous element");
            var prevLinkDiv = document.getElementById('image-viewer-prev');
            showElement(prevLinkDiv);
         }
        var nextImageDiv = nextSibling(currentPic);
         if(nextImageDiv == null){
            var nextImageDiv = document.getElementById('image-viewer-next');
            hideElement(nextImageDiv);
         }else{
           // alert("show next element");
            var nextImageDiv = document.getElementById('image-viewer-next');
            showElement(nextImageDiv);
         }
        
      showElement(wrapperDiv);
      centerImageViewer();
      
      return false; 
}

function TrimString(sInString) {
    sInString = sInString.replace(/^\s+/g, ""); // strip leading
    return sInString.replace(/\s+$/g, ""); // strip trailing
}

//function showImage(contentId){
//       showImageViewerOverlay();
//      var wrapperDiv = document.getElementById("image-viewer");
//      var pictureDiv = document.getElementById("image-viewer-picture");
//      var photographerDiv = document.getElementById("image-viewer-photgrapher");
//      
//      var img = document.createElement("img");
//      var titleDiv = document.getElementById("image-viewer-title");
//      var descriptionDiv = document.getElementById("image-viewer-description");
//      var nextDiv = document.getElementById("image-viewer-next");
//      var prevDiv = document.getElementById("image-viewer-prev");
//      var urls = this.getElementsByClassName(document.getElementById("gallery-thumb"), "div", "imgurl" + contentId);
//      var url = urls[0];
//      
//      img.src = this.getInnerText(url);
//      img.id= "image-viewer-bigpic";
//      pictureDiv.appendChild(img);
//      //titleDiv.innerHTML = title;
//     
//      var titles = this.getElementsByClassName(document.getElementById("gallery-thumb"), "div", "gallery-image-title" + contentId);
//      //alert('titles: ' + titles.length);
//      var titleContent = titles[0];
//      
//       
//      
//      titleDiv.innerHTML = titleContent.innerHTML;
//      var descContent = document.getElementById("gall-image-text" + contentId);
//      var photographer = document.getElementById("gall-image-photographer" + contentId);
//      descriptionDiv.innerHTML = descContent.innerHTML;    
//      if(photographer.innerHTML.length > 0){
//              photographerDiv.innerHTML = 'Fotograf : ' + photographer.innerHTML;
//      }
//      showElement(wrapperDiv);
//      centerImageViewer();
//      return false; 
//}
function nextImage(currentContentId){


}

function prevImage(currentContentId){


}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function closeActivityConfirmation(){
      var activityConfirm = document.getElementById("activity-confirm"); 
       hideElement(activityConfirm);
}

function hideTipAFriend(){
    var tipAFriend = document.getElementById("tip-a-friend");
     hideElement(tipAFriend);
}

function showTipAFriend(){
    var tipAFriend = document.getElementById("tip-a-friend");
    showElement(tipAFriend);
}

function showImageViewerOverlay(){
      var overlay = document.getElementById("image-viewer-overlay"); 
      //alert(overlay.id);
      //overlay.style.height = windowHeight() + "px";
     // overlay.style.width = windowWidth() + "px"; 
      overlay.onclick = hideImageViewerOverlay;
      
      
      showElement(overlay);
      setElementOpacity(overlay,40);
      //fadeInElement(overlay);
}

function hideImageViewerOverlay(){
      currentImageDiv = null;
      hideElement(document.getElementById("image-viewer-overlay"));
      hideElement(document.getElementById("image-viewer"));
      var pictureDiv = document.getElementById("image-viewer-picture");
      if(pictureDiv.firstChild) pictureDiv.removeChild(pictureDiv.firstChild);
}



function scrollX(){
       var de = document.documentElement;      
      return self.pageXOffset || (de && de.ScrollLeft) || document.body.scrollLeft; 
}

function scrollY(){
       var de = document.documentElement;      
      return self.pageYOffset || (de && de.ScrollTop) || document.body.scrollTop; 
}

function centerImageViewer(){
    var wrapperDiv = document.getElementById("image-viewer");
   var container = document.documentElement;

   if (wrapperDiv && container)
	{
	    var containerHeight;
	    if (container.innerWidth)
	    {
            containerHeight = container.innerHeight;
		}
		else
		{
            containerHeight = container.clientHeight;
		}
		var wrapperDivHeight;
	    if (wrapperDiv.innerWidth)
	    {
	        wrapperDivHeight = wrapperDiv.innerHeight;
		}
		else
		{
		    wrapperDivHeight = wrapperDiv.offsetHeight;
		}
		var y = Math.ceil(((containerHeight - wrapperDivHeight) / 2) );
		if(y < 0)
		{
			y = 0;
		}
		wrapperDiv.style.position = "relative";
		wrapperDiv.style.top = y + "px";
	}
	if (document.getElementById)
	{
		document.body.style.visibility = 'visible';
	}

}

function showElement(elem){
       //elem.style.display=elem.$oldDisplay || '';
      elem.style.display = 'block'; 
}

function hideElement(elem){
      var currDisplay  = getStyle(elem,'display');
      if(currDisplay != 'none'){
              elem.$oldDisplay = currDisplay;
      } 
      elem.style.display = 'none';
}
function setElementOpacity(elem, level){
       if(elem.filters){
              elem.style.filter = 'alpha(opacity='+level+')';
              //element.style.filter = "alpha(opacity=" + opacityInPercentage + ")";
       }else{
              elem.style.opacity = level / 100;
       }
}


function fadeInElement2(elem, maxOpacity, durationMs){
       showElement(elem);
    var duration = 300; // in ms
    var fpms = 20/1000;  // frames per millisec
    for(var i=0;i<=durationMs;i+=1/fpms){
        (function(){
            var opac=Math.round(maxOpacity*i/durationMs); 
            window.setTimeout(function(){ 
                setElementOpacity(elem, opac); 
            },Math.round(i)); 
        }) ();
    }
       
}

function fadeInElement(elem){
       setElementOpacity(elem, 0);
       showElement(elem);
       for(var i = 0; i <=50; i += 5){
              (function(){
                     var pos = i;
                     setTimeout(function(){setElementOpacity(elem, pos); }, (pos + 1) *10);
              })();
       }
}

function slideDown(elem){
      elem.style.height = '0px';
      showElement(elem);
      var h = fullHeight(elem);
      for(var i = 0; i <= 100; i + 5){
              (function(){
                    var pos = i;
                    setTimeout(function(){elem.style.height = ((pos / 100) * h ) + "px"; }, (pos + 1) * 10); 
                    //setTimeout(function(){setElementOpacity(elem, pos); }, (pos + 1) *10);
              })();      
      } 
}

function fullHeight(elem){
       var propName = 'display';
       if(getStyle(elem, propName) != 'none'){
              return elem.offsetHeight;// || getHeight(elem);      
       }
      
      var old = resetCSS( elem, {
              display: '', visibility: 'hidden', position: 'absolute'      
      } );
      
      var h = elem.clientHeight || getHeight(elem);
      restoreCSS(elem, old);
      return h;
}

function resetCSS(elem, prop){
      var old = {};
      for(var i in prop){
              old[i] = elem.style[i];
              elem.style[i] = prop[i]; 
      } 
      return old; 
}
function restoreCSS(elem, prop){
       for(var i in prop){
              elem.style[i] = prop[i];
       }
}

function setX(elem, pos){
       elem.style.left = pos + "px";
}

function setY(elem, pos){
       elem.style.top = pos + "px";
}

function getStyle(elem, name){
       if(elem.style[name]){
              return elem.style[name];
       }else if(elem.currentStyle){
              return elem.currentStyle[name];
       }else if(document.defaultView && document.defaultView.getComputedStyle){
              name = name.replace(/([A-Z])/g,"-$1");
              name = name.toLowerCase();              
              var s = document.defaultView.getComputedStyle(elem, "");
              return s && s.getPropertyValue(name);
       }else{
              return null;
       }
}

function getWidth(elem){
    return parseInt(getStyle(elem, 'width'));
}
function getHeight(elem){
    return parseInt(getStyle(elem, 'height'));
}



function centerImageViewer(){
   var imageViewer = document.getElementById("image-viewer");
   if(!imageViewer) return;
   var ivHeight = 180;
   //alert("heigth: " + ivHeight);
   var ivWidth = getWidth(imageViewer);
   var centerY = scrollY() + (windowHeight() / 2 ) - ((ivHeight+700) / 2);
   if(centerY <0)centerY = 0;
   
   var centerX = scrollX() + (windowWidth() / 2) - (ivWidth / 2);
   if(centerX < 0) centerX = 0;
   setX(imageViewer, centerX);
   setY(imageViewer, centerY);


}


