/// steffest interface library V1

var debug=true;
var do_drag=false
var contenttarget = '';
var dragobject,x,y,orW,orH;
var gpagename="home"


document.onmousedown=mousedown;
document.onmouseup=new Function("do_drag=false")
document.onmousemove=mousemove;



// Generic
function closepanel(panel){
	var targetpanel = document.getElementById(panel);
	targetpanel.style.display = 'none';
}

function showpanel(panel){
	var targetpanel = document.getElementById(panel);
	targetpanel.style.display = 'block';
}


function togglepanel(panel){
	var targetpanel = document.getElementById(panel);
	if (targetpanel.style.display == 'block'){
		targetpanel.style.display = 'none';
	}else{
		targetpanel.style.display = 'block';
	}
}


function getobject(object){
// browser checking ......
var obj = document.getElementById(object);
if (obj){
	return(obj);
}else{
		//var obj = document.getElementByName(object);
		//if (obj){return(obj)
		//}else{
			if (debug){alert('Object ' + object + ' niet gevonden');}
		//}
	}
}

function hidepanel(layer){
var obj=getobject(layer);
if (obj){
	obj.style.display = 'none';
	}
}


function mousemove(evt){
		if (!evt) var evt = window.event;
		var tg = (evt.target) ? evt.target : evt.srcElement
		
		//if (event.button==1&&do_drag){
		
		if (do_drag){
			if (dragobject.style.cursor == 'nw-resize'){
				dragobject.style.width = orW + (evt.clientX-x) + 'px';
				dragobject.style.height = orH + (evt.clientY-y) + 'px';
			}else{
				dragobject.style.left=temp1+ (evt.clientX-x) + 'px';
				dragobject.style.top=temp2 + (evt.clientY-y) + 'px';
			}
			return false;
		}else{
				if (tg.className=="menu"){
					tg=getObjectParentTag('div',tg);
				}
				if (tg.className=="dragable"){
					var ox=parseInt(tg.style.width) - (evt.clientX - parseInt(tg.style.left));
					trace(ox);
					if (ox<5){
						tg.style.cursor = 'nw-resize';
					}else{
						tg.style.cursor = 'pointer';
					}
				}
		}
			
		
		

}
function mousedown(evt){
	if (!evt) var evt = window.event;
	var tg = (evt.target) ? evt.target : evt.srcElement

	if (tg.className=="dragable"){
		do_drag=true;
		dragobject=tg;
	}
	if ((tg.className=="barheader") || (tg.className=="dragparent") || (tg.className=="menu")){
		do_drag=true
		dragobject=getObjectParentTag('div',tg);
	}
	if (do_drag){
		//temp1=dragobject.style.pixelLeft
		//temp2=dragobject.style.pixelTop
		temp1=parseInt(dragobject.style.left)
		temp2=parseInt(dragobject.style.top)
		orW=parseInt(dragobject.style.width)
		orH=parseInt(dragobject.style.height)
		if (isNaN(temp1)) {temp1 = 0} 
		if (isNaN(temp2)) {temp2 = 0} 
		
		x=evt.clientX
		y=evt.clientY
		document.onmousemove=mousemove
	}

}


function startdrag(panel){
	do_drag=true
	dragobject=getobject(panel);
}

function stopdrag(){
	do_drag=false;
}

function getParentTag(currEl) {
  	if (currEl.parentElement){
  		currEl = currEl.parentElement;
	}else{
		currEl = currEl.parentNode;
	}
	
  return currEl;
}

function getObjectParentTag(elName,currEl) {
	
	currEl = getParentTag(currEl);
	
  while (currEl && currEl.tagName.toLowerCase() != "body") {
    if (currEl.tagName.toLowerCase() == elName) {
      return currEl;
    }
	
    currEl = getParentTag(currEl);
 
  }  
 
  return null;
}

function trace(txt){
	//Getobject('mainmenu').innerHTML = txt;
	
}



function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function getelementposition(obj) {
    var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	//return [curleft,curtop];
	return {left: curleft, top: curtop};

}




// specific

function setup(){
	var contentpanel = document.getElementById('contentpanel');
	var flashpanel = document.getElementById('flashpanel');
	var coors = findPos(flashpanel);
	contentpanel.style.left = (coors[0] + 10) + 'px';
	contentpanel.style.top = coors[1]  + 'px';
}

function loadpage(pagename){
	var contentpanel = document.getElementById('contentbody');
	//alert('_pages/' + pagename + '.html');
	//var contenttitel = document.getElementById('titel');
	//contenttitel.innerHTML = pagetitel;
	//contentpanel.style.display = 'block'
	ahah('_pages/' + pagename + '.html?' + Math.random(),'contentbody');
	gpagename = pagename;
}


function showcontact(w){
	var worldmap = document.getElementById('worldmap');
	var p = getelementposition(worldmap);
			//alert(p.left);
		if (w == 'emea'){
			var obj = document.getElementById('contactemea');
			obj.style.left = (p.left + 50) + 'px';
			obj.style.top = (p.top + 100) + 'px';
			togglepanel('contactemea');
			closepanel('contactapac');
		}
		if (w == 'apac'){
			var obj = document.getElementById('contactapac');
			obj.style.left = (p.left + 150) + 'px';
			obj.style.top = (p.top + 146) + 'px';
			togglepanel('contactapac');
			closepanel('contactemea');
		}
}

function login(){
	
	
	var url = 'login.php?u=' + document.getElementById('flogin').value + 'p=' + document.getElementById('fpass').value
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = function() {doLogin();};
        req.open("GET", url, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {doLogin();};
            req.open("GET", url, true);
            req.send();
        }
    }
		
}


function doLogin() {
	var badlogin=true;
   // only if req is "loaded"
   if (req.readyState == 4) {
       // only if "OK"
       if (req.status == 200 || req.status == 304) {
           results = req.responseText;
		   if (results != "nok"){
			 badlogin=false;
           	 loadpage(results);
		   }
       } 
   }
   
   if (badlogin){
	   		var worldmap = document.getElementById('submit');
			var p = getelementposition(worldmap);
			
			var obj = document.getElementById('login');
			obj.style.left = (p.left + 30) + 'px';
			obj.style.top = (p.top + 25) + 'px';
			togglepanel('login');
			
			document.getElementById('flogin').value = '';
			document.getElementById('fpass').value = '';
   }
   
}

// ahah code

function ahah(url,target) {
    document.getElementById(target).innerHTML = 'loading data...';
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = function() {ahahDone(target);};
        req.open("GET", url, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {ahahDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
} 

function ahahDone(target) {
   // only if req is "loaded"
   if (req.readyState == 4) {
       // only if "OK"
       if (req.status == 200 || req.status == 304) {
           results = req.responseText;
           document.getElementById(target).innerHTML = results;
		   afterpageload(gpagename);
       } else {
           document.getElementById(target).innerHTML="ahah error:\n" +
               req.statusText;
       }
   }
}



function activateitem(elm){
	elm.className += '_active';
}

function deactivateitem(elm){
	elm.className = elm.className.replace('_active','');
}

function maketransparent(objID){
	var obj = document.getElementById(objID);
	if (obj){
	var NewAlpha = 0;
	obj.style.opacity = (NewAlpha / 100);
	obj.style.MozOpacity = obj.style.opacity;
	obj.style.KhtmlOpacity = obj.style.opacity;
	obj.style.filter = 'alpha(opacity='+NewAlpha+')';
	}
}

function fade(objID,CurrentAlpha,TargetAlpha,steps){

		var obj = document.getElementById(objID);
		if (obj){
		CurrentAlpha = parseInt(CurrentAlpha);
		if (isNaN(CurrentAlpha)){
			CurrentAlpha = parseInt(obj.style.opacity*100);
			if (isNaN(CurrentAlpha))CurrentAlpha=100;
		}
		
		
		
		var DeltaAlpha=parseInt((CurrentAlpha-TargetAlpha)/steps);
		var NewAlpha = CurrentAlpha - DeltaAlpha;
		
		if (NewAlpha == 100 && (navigator.userAgent.indexOf('Gecko') != -1 && navigator.userAgent.indexOf('Safari') == -1)) NewAlpha = 99.99;
		
		obj.style.opacity = (NewAlpha / 100);
		obj.style.MozOpacity = obj.style.opacity;
		obj.style.KhtmlOpacity = obj.style.opacity;
		obj.style.filter = 'alpha(opacity='+NewAlpha+')';
		
		if (steps>1){
			setTimeout('fade("'+objID+'",'+NewAlpha+','+TargetAlpha+','+(steps-1)+')', 50);
		}
		
		}
}






function afterpageload(pagename){
	if (pagename == 'whoweare'){
		maketransparent('img1');
		maketransparent('img2');
		maketransparent('img3');
		maketransparent('img4');
		fade('img1',0,100,30)
		setTimeout('fade("img2",0,100,30)', 500);
		setTimeout('fade("img3",0,100,30)', 1000);
		setTimeout('fade("img4",0,100,30)', 1500);
	}
	
	if (pagename == 'whatwedo'){
		maketransparent('img1b');
		maketransparent('img2b');
		maketransparent('img3b');
		maketransparent('img4b');
		fade('img1b',0,100,30)
		setTimeout('fade("img2b",0,100,30)', 500);
		setTimeout('fade("img3b",0,100,30)', 1000);
		setTimeout('fade("img4b",0,100,30)', 1500);
	}
	
	if (pagename == 'whatwedoforyou'){
		maketransparent('img1c');
		maketransparent('img2c');
		maketransparent('img3c');
		fade('img1c',0,100,30)
		setTimeout('fade("img2c",0,100,30)', 500);
		setTimeout('fade("img3c",0,100,30)', 1000);
	}
}