﻿/* Toogle text in search field functions
---------------------------------------------------------------- */

function focusField(f,txt){

	// Declare variable
	var field = document.getElementById(f.id);
	
	// Clean field, markup if text is not the same as original
	if(field.value==txt){
		field.value = '';
	}else{
		field.select();
	}

}

function blurField(f,txt){

	// Declare variable
	var field = document.getElementById(f.id);
	
	// Restore field if not text is original
	if(field.value==''){
		field.value = txt;
	}

}
var menuTimeout;
function activateFlashmenu(f){
	var obj = document.getElementById('mm_max');
	if(f){
		clearTimeout(menuTimeout);
		obj.style.zIndex = '2001';
		obj.style.width = '1000px';
	}else{
		menuTimeout = setTimeout("delayFlashmenu();", 500);
	}
}

function delayFlashmenu(){
	var obj = document.getElementById('mm_max');
	//obj.style.zIndex = '100';
	obj.style.width = '100px';
	clearTimeout(menuTimeout);
}

/* Link function
---------------------------------------------------------------- */

function goToUrl(popup,url){

	// If popup is true, then open in popup, else open normal
	if(url){
		if(popup){
			window.open(url);
		}else{
			location.href = url;
		}
	}

}


/* Highslide popup
---------------------------------------------------------------- */

function showPop(f,url){
	var pop = document.getElementById(f);
	if(url){updateVideo(url);}
	if(pop){
		pop.onclick();
		//hs.htmlExpand(f,{contentId:'highslide-video'});
	}else{
		alert('pop findes ikke?');
	}
}

function updateVideo(f){
	var video = document.getElementById('player');
	video.innerHTML = '<embed src="/byas/swf/player.swf" width="675" height="380" name="mpl" id="mpl" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" flashvars="file='+f+'&controlbar=over&autostart=true&fullscreen=true">';
}

function killVideo(){
	var video = document.getElementById('player');
	video.innerHTML = '';
}

function iniPopups(){
	var items = document.getElementsByTagName('a');
	var count = items.length;
	for(var t=0;t<count;t+=1){
		if(items[t].className=='PopupAsMovie'){
			var tlink = '';
			tlink = items[t].href;
			items[t].href = '#';
			if(items[t].className=='PopupAsMovie'){
				items[t].onclick = function(){
					showPop('highslide_video_clk',tlink);return false;
				}
			}
		}
	}
}

/* Frontpage slideshow
---------------------------------------------------------------- */

function focusArea(){
	//setTimeout("focusAreaX();", 3000);
}

function focusAreaX(f){
	document.getElementById('caseslide').focus();
}

/* Opacity
---------------------------------------------------------------- */

function opacity(id, opacStart, opacEnd, millisec){
    var speed = Math.round(millisec / 100);
    var timer = 0;
    if(opacStart>opacEnd){
		for(i=opacStart;i>=opacEnd;i--){
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}else if(opacStart<opacEnd){
		for(i=opacStart;i<=opacEnd;i++){
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

function changeOpac(opacity, id){
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
	//object.backgroundColor = '#fff';
}


/* Employee swap
---------------------------------------------------------------- */

function setEmployee(f){
	var image = document.getElementById(f.id+'_img');
	var text = document.getElementById(f.id+'_txt');
	image.style.display = 'block';
	text.style.backgroundPosition = '-289px 0px';
}

function restoreEmployee(f){
	var image = document.getElementById(f.id+'_img');
	var text = document.getElementById(f.id+'_txt');
	image.style.display = 'none';
	text.style.backgroundPosition = '0px 0px';
}

/* Cases selector
---------------------------------------------------------------- */

function showSelector(){
	var element = document.getElementById('cases_selector');
	element.style.display = 'block';
}

function hideSelector(){
	setTimeout("terminateSelector();", 200);
}

function terminateSelector(){
	var element = document.getElementById('cases_selector');
	element.style.display = 'none';
}

function setSelector(f,url){
	var val = document.getElementById(f.id);
	var drop = document.getElementById('cases_drop');
	
	// Update drop
	if(val && drop){
		drop.value = val.innerHTML;
	}
}



/* Images pagination / slideshow
---------------------------------------------------------------- */

// Global variables
var timer;
var move;
var step = 1;
var running = false;
var _all, alldiv;

function countItems(){

	var items = document.getElementsByTagName('A');
	var count = items.length;
	var all = 0;

	for(var t=0;t<count;t+=1){
		if(items[t].className=='itm_p'){
			all++;
		}
	}
	
	return all;

}

function loadItems(){
	
	// Get number of items
	var all = countItems();
	_all = all;
	
	// Set new container width
	if(document.getElementById('rel')){
		document.getElementById('rel').style.width = ((all * 86)) + 'px';
	}
	
	// Set forward arrow to (in)active?
	if(all>9){
		document.getElementById('btn_forward').className = 'forward';
		document.getElementById('count_all').innerHTML = all;
		updateStep();
	}else{
		document.getElementById('btn_forward').className = 'forward_dis';
		document.getElementById('count_cont').style.display = 'none';
	}
	
}

function loadPrev(){
	var rel = document.getElementById('rel');

	if(step>1){
		var moveto = parseInt(rel.style.left) + (9 * 86);
		rel.style.left = moveto + 'px';
		step--;
		updateStep();
	}

	updateButtons();
}

function loadNext(){
	var rel = document.getElementById('rel');

	alldiv = _all / 9;
	alldiv = Math.ceil(alldiv);
	
	if(step<alldiv){
		var moveto = parseInt(rel.style.left) - (9 * 86);
		rel.style.left = moveto + 'px';
		step++;
		updateStep();
	}

	updateButtons();
}

function updateButtons(){
	if(step>1){
		document.getElementById('btn_back').className = 'back';
	}else{
		document.getElementById('btn_back').className = 'back_dis';
	}
	
	if(step==alldiv){
		document.getElementById('btn_forward').className = 'forward_dis';
	}else{
		document.getElementById('btn_forward').className = 'forward';
	}
}

function updateStep(){
	var current = document.getElementById('count_current');
	var _min = (step * 9) - 8;
	var _max = (step * 9);
	
	if(_min==0){_min=1;}
	if(_max>_all){_max=_all;}
	current.innerHTML = _min + '-' + _max;
}

function showCase(page){
	if(page){
		goToUrl('',page);
	}
}



var enableTip = false;

function previewCase(f,command,tooltip){
	var label = document.getElementById('label');
	var labeltext = document.getElementById('label_text');
	var ina = document.getElementById(f.id+'_ina');
	if(command=='show'){
		if(ina){ina.style.display = 'none';}
		labeltext.innerHTML = tooltip;
		enableTip = true;
	}
	if(command=='hide'){
		if(ina){ina.style.display = 'block';}
		label.style.visibility = 'hidden';
		enableTip = false;
	}
}

function showTip(){
	var label = document.getElementById('label');
	if(enableTip){
		label.style.visibility = 'visible';
		label.style.top = (clientsY + 20) + 'px';
		label.style.left = (clientsX - 20) + 'px';
	}
}

/* Cursor position
---------------------------------------------------------------- */

var clientsX, clientsY;
var ie = document.all;
var ns6 = document.getElementById && !document.all;

function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function showCoords(e){
	clientsX = (ns6) ? e.pageX : event.clientX + ietruebody().scrollLeft;
	clientsY = (ns6) ? e.pageY : event.clientY + ietruebody().scrollTop;
	showTip();
}

// Mousemove event
document.onmousemove = showCoords;


/* Cases list
---------------------------------------------------------------- */

function showCasesList(){
	var chead = document.getElementById('listhead');
	var clist = document.getElementById('clistX');
	
	// Hide head + show list
	chead.style.display = 'none';
	clist.style.display = 'block';
}

function hideCasesList(){
	var chead = document.getElementById('listhead');
	var clist = document.getElementById('clistX');
	
	// Hide head + show list
	chead.style.display = 'block';
	clist.style.display = 'none';
}


/* Cases image slider
---------------------------------------------------------------- */

var allCaseDemo = 0;
var currentCaseDemo = 1;
var ctimer;
var crunning = true;

function countCaseDemo(){
	var items = document.getElementsByTagName('img');
	var count = items.length;
	var all = 0;
	for(var t=0;t<count;t+=1){
		if(items[t].className=='caseimg'){
			all++;
		}
	}
	
	return all;
}

function hideCaseDemo(){
	var items = document.getElementsByTagName('img');
	var count = items.length;
	for(var t=0;t<count;t+=1){
		if(items[t].className=='caseimg'){
			items[t].style.display = 'none';
		}
	}
}

function initializeCaseDemo(){
	allCaseDemo = countCaseDemo();
	if(allCaseDemo>1){
		document.getElementById('cases_counter').innerHTML = '1/' + allCaseDemo;
		ctimer = setTimeout("autoCase();", 4000);
	}else{
		document.getElementById('thecase').style.display = 'none';
	}
}

function autoCase(){
	if(crunning){
		if(currentCaseDemo==allCaseDemo){
			currentCaseDemo = 0;
		}
		caseDemo('next');
		ctimer = setTimeout("autoCase();", 4000);
	}
}

function breakCase(){
	clearTimeout(ctimer);
}

function caseDemo(f){
	if(f=='prev'){
		if(currentCaseDemo>1){
			hideCaseDemo();
			currentCaseDemo--;
			document.getElementById('caseimg'+currentCaseDemo).style.display = 'block';
			changeOpac(0, 'caseimg'+currentCaseDemo);
			opacity('caseimg'+currentCaseDemo, 0, 100, 1000);
			document.getElementById('cases_counter').innerHTML = currentCaseDemo + '/' + allCaseDemo;
		}
	}
	if(f=='next'){
		if(currentCaseDemo<allCaseDemo){
			hideCaseDemo();
			currentCaseDemo++;
			document.getElementById('caseimg'+currentCaseDemo).style.display = 'block';
			changeOpac(0, 'caseimg'+currentCaseDemo);
			opacity('caseimg'+currentCaseDemo, 0, 100, 1000);
			document.getElementById('cases_counter').innerHTML = currentCaseDemo + '/' + allCaseDemo;
		}
	}
	
	// Controls
	if(currentCaseDemo!=1){
		document.getElementById('casePrev').className = 'active';
	}else{
		document.getElementById('casePrev').className = 'disabled';
	}
	
	if(currentCaseDemo==allCaseDemo){
		document.getElementById('caseNext').className = 'disabled';
	}else{
		document.getElementById('caseNext').className = 'active';
	}
	
}

function moreCase(){
	var lc = document.getElementById('case_summary');
	var rm = document.getElementById('rm');
	var mc = document.getElementById('case_more');
	
	mc.style.display = 'block';
	lc.style.display = 'none';
	rm.style.display = 'none';
}

function iniAccordion(){}


function iniCompetences(f){
    
	var cShow;
	var cClass;
	
	if(f!=0){
		cShow = true;
		cClass = 'all-closed';
	}else{
		cShow = false;
		cClass = '';
	}
	
	togglers = $$('p.catStart');
    accordions = $$('div.catStart');
    accordions.setStyles({'overflow': 'hidden'});

    var myAccordion = new Fx.Accordion(togglers, accordions,{
        onActive: function(toggler){
            toggler.setStyle('color', '#445156'); // Current / selected
			toggler.setStyle('background-color', '#b6dc51');
			toggler.setStyle('background-image', 'url(gfx/arrow_competence_close.gif)');
        },
        onBackground: function(toggler){
            toggler.setStyle('color', '#445156');
			toggler.setStyle('background-color', '#ffffff');
			toggler.setStyle('background-image', 'url(gfx/arrow_competence_open.gif)');
        },
		alwaysHide: cShow,
		start : cClass,
        opacity : true
    });

	if(cShow){myAccordion.display(f);}
	
}


/* Key code navigation
---------------------------------------------------------------- */

function getKeyCode(evt){
	evt = (evt) ? evt : ((event) ? event : null);
	
	var evver = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null );
	var keynumber = evt.keyCode;
	
	if(keynumber){
		return keynumber;
	}
}

// Get document events
document.onkeyup = function(event){

	// Get character code
	var charCode = getKeyCode(event);
	var prevBtn = document.getElementById('btn_back');
	var nextBtn = document.getElementById('btn_back');
	var thecase = document.getElementById('thecase');
	var front = document.getElementById('nyslide');

	switch(charCode){
	
		// Forward arrows
		case 39: // Arrow -> Forward
			if(nextBtn){caseslide.forward();}
			if(thecase){caseDemo('next');}
			if(front){}
			break;
		case 102: // Arrow -> Forward - Numbers
			if(nextBtn){caseslide.forward();}
			if(thecase){caseDemo('next');}
			if(front){}
			break;
		// Backward arrows
		case 37: // Arrow -> Back
			if(prevBtn){caseslide.back();}
			if(thecase){caseDemo('prev');}
			if(front){}
			break;
		case 100: // Arrow -> Back - Numbers
			if(prevBtn){caseslide.back();}
			if(thecase){caseDemo('prev');}
			if(front){}
			break;
		
	}
	
}


/* Logo
---------------------------------------------------------------- */

function showlogo(f,url){
	darken.show();
	hs.htmlExpand(f, {contentId:'highslide-reuseable',width:600,height:410});
	ajax.load(url,'highslide-reuseable',false);
}

function tooglelogo(f,url){
	
}


/* Ajax
---------------------------------------------------------------- */

var ajax = function(){
	return {
		nocache:function(){
			var minutes = 1000 * 60;
			var hours = minutes * 60;
			var days = hours * 24;
			var years = days * 365;
			var d = new Date();
			var t = d.getTime();
			return t;
		},
		load:function(url,container,load){
			var obj = document.getElementById(container);
			var loader = '<div class="loading"></div>';
			
			if(obj && url){
				if(load){obj.innerHTML = loader;}
				ajax.page(url,container);
			}
		},
		page:function(url,container){
			var _url,_no;
			if(url.indexOf("?")==-1){_no = '?~' + ajax.nocache();}else{_no = '&~' + ajax.nocache();}
			_url = url + _no;
			
			if(window.XMLHttpRequest){
				page_request = new XMLHttpRequest();
			}else if(window.ActiveXObject){
				try{
					page_request = new ActiveXObject('Msxml2.XMLHTTP');
				}catch(e){
					try{
						page_request = new ActiveXObject('Microsoft.XMLHTTP');
					}catch(e){}
				}
			}else{
				return false;
			}

			page_request.onreadystatechange = function(){
				ajax.parse(page_request,container);
			}
			page_request.open('GET', _url, true);
			page_request.send(null);
		},
		parse:function(page_request,container){
			if(page_request.readyState==4 && (page_request.status==200 || window.location.href.indexOf('http')==-1)){
				alert('findes');
				document.getElementById(container).innerHTML = page_request.responseText;
				ajax.completed();
			}else{
				alert('findes ikke');
			}
		},
		completed:function(){
			// After complete functions here..
		}
	};
}();


/* Dark layer
---------------------------------------------------------------- */

var darken = function(){
	return {
		create:function(){
			var dark = document.getElementById('layerdark');
			if(!dark){
				var dot = document.createElement("div");
				dot.id = 'layerdark';
				dot.style.opacity = 0.5;
				dot.style.filter = 'alpha(opacity=50)';
				dot.style.width = '100%';
				dot.style.height = '100%';
				dot.style.position = 'absolute';
				dot.style.zIndex = '1000';
				dot.style.backgroundColor = '#000000';
				dot.style.left = '0px';
				dot.style.top = '0px';
				dot.onclick = function(){darken.kill();hs.close();}
				document.body.appendChild(dot);
			}
		},
		show:function(){
			darken.create();
			var dark = document.getElementById('layerdark');
			var height = document.documentElement.scrollHeight;
			if(dark){
				dark.style.height = height + 'px';
				dark.style.display = 'block';
			}
		},
		fixed:function(){
			var dark = document.getElementById('layerdark');
			var height = document.documentElement.scrollHeight;
			if(dark){
				dark.style.height = height + 'px';
			}
		},
		kill:function(){
			var dark = document.getElementById('layerdark');
			if(dark){dark.style.display = 'none';}
		}
	};
}();

var caseslide = function(){
	var inter, massCount = 18, mass = 774, _xx, tomove, step = 1, running = false, _all, alldiv;
	return {
		load:function(){
			var all = caseslide.count();
			_all = all;
			
			if(document.getElementById('rel')){
				document.getElementById('rel').style.width = ((all * 86)) + 'px';
			}
			
			if(all>9){
				document.getElementById('btn_forward').className = 'forward';
				document.getElementById('count_all').innerHTML = all;
				caseslide.steps();
			}else{
				document.getElementById('btn_forward').className = 'forward_dis';
				document.getElementById('count_cont').style.display = 'none';
			}

		},
		init:function(){
			tomove = document.getElementById('rel');
		},
		count:function(){
			var items = document.getElementsByTagName('A');
			var count = items.length;
			var all = 0;
			for(var t=0;t<count;t+=1){
				if(items[t].className=='itm_p'){
					all++;
				}
			}
			return all;
		},
		steps:function(){
			var current = document.getElementById('count_current');
			var _min = (step * 9) - 8;
			var _max = (step * 9);
			if(_min==0){_min=1;}
			if(_max>_all){_max=_all;}
			current.innerHTML = _min + '-' + _max;
		},
		buttons:function(){
			if(step>1){
				document.getElementById('btn_back').className = 'back';
			}else{
				document.getElementById('btn_back').className = 'back_dis';
			}
			if(step==alldiv){
				document.getElementById('btn_forward').className = 'forward_dis';
			}else{
				document.getElementById('btn_forward').className = 'forward';
			}
		},
		move:function(xx,dir){
			running = true;
			caseslide.freeze(true);
			massCount = massCount + 18;
			massCount = Math.round(massCount);
			if(dir=='forward'){_xx = (xx-massCount);}else if(dir=='back'){_xx = (xx+massCount);}
			tomove.style.left = _xx + 'px';
			if(massCount>=mass){caseslide.stop();}
		},
		forward:function(){
			if(!running){
				caseslide.init();
				alldiv = _all / 9;
				alldiv = Math.ceil(alldiv);
				if(step<alldiv){
					var _x = parseInt(tomove.style.left);
					inter = setInterval("caseslide.move("+_x+",'forward');", 1);
					step++;
				}
				caseslide.steps();
				caseslide.buttons();
			}
		},
		back:function(){
			if(!running){
				caseslide.init();
				if(step>1){
					var _x = parseInt(tomove.style.left);
					inter = setInterval("caseslide.move("+_x+",'back');", 1);
					step--;
				}
				caseslide.steps();
				caseslide.buttons();
			}
		},
		stop:function(){
			clearInterval(inter);
			massCount = 18;
			running = false;
			caseslide.freeze(false);
		},
		freeze:function(f){
			var obj = document.getElementById('rel_abs');
			if(obj){
				if(f){
					obj.style.display = 'block';
				}else{
					obj.style.display = 'none';
				}
			}
		}
	};
}();