var hoveredElement= '';
var selectorHovered= false;
document.onmousemove = mouseMoved;

function mouseMoved(e) {
	if(!document.all){ // For good browsers
		objekt= e.target.tagName+ e.target.id + e.target.className;
		
		if (e.target.tagName == 'A') {
			objekt= objekt+ e.target.innerHTML;
		}
	} else { // for IE
		objekt = event.srcElement.tagName + event.srcElement.id + event.srcElement.className ;
		if (event.srcElement.tagName == 'A') {
			objekt = objekt+ event.srcElement.innerHTML;
		}
	}	
	objekt = objekt.replace(/ /g, "");
	hoveredElement = objekt;
 }

/***********************************************************************************************
 *  Country Navigation
 ***********************************************************************************************/ 
 
function countryNavigation() {
	
	var change = document.getElementById('countryNav');

	var qnav = document.getElementById('countryNavigation');

	// For IE
	if (navigator.userAgent.indexOf("MSIE") > 0) {
			change.style.setAttribute("display", "block !important", false);
		if(navigator.userAgent.indexOf("MSIE 6.")) {
			change.style.position = "absolute";
			change.style.display = "block";
		}
		change.style.setAttribute("display", "block !important", false);
				
	}
	else { // For good Browsers
		change.style.display = "block !important";
	}

	selectorHovered= true;
	
	setTimeout("preHideCountrySelector()", 200);
}

/* prepare for hiding the selector layer:
 * -eval hovered element not belonging to the selector 
 * -if not part of the selector: evoke delayed (timeout) to actually hide the selector
 */
function preHideCountrySelector() {
	hideIt= false;
	
	//console.log('...');
	//console.log(hoveredElement);
	switch(hoveredElement) {
		case 'DIVmainContentcontent':
		case 'DIVcsc-textpiccsc-textpic-intext-display-nowrap':
		case 'BODYhoerbiger-comhomepage':
		case 'DIVheader': case 'DIVbox':
		case 'H1': case 'H2': case 'H3': case 'H4': case 'H5':
		case 'P': case 'AEN': case 'ADE': case 'AFR': case 'HTML':
		case 'DIVc109contentElementtextversion0':
			hideIt= true;
		break;
	}
	if (hoveredElement.indexOf('content')>-1 ||
	    hoveredElement.indexOf('staubli')>-1 ||
	    hoveredElement.indexOf('DIV')>-1 ||
	    hoveredElement.indexOf('IMG') >-1 ) {
		hideIt= true;
	}

	if (hideIt) {
		selectorHovered= false;
		
		change = document.getElementById('countryNav');
		
		// For IE
		if (navigator.userAgent.indexOf("MSIE") > 0) {
			if (change.style.getAttribute("display", false).indexOf('9999')== -1 ) {
				a= setTimeout("preHideCountrySelector()", 200);
				b= setTimeout("hideCountrySelector()", 200);
			}		
		}
		else { // For good Browsers
			if (change.style.display.indexOf('9999')== -1 ) {
				a= setTimeout("preHideCountrySelector()", 200);
				b= setTimeout("hideCountrySelector()", 200);
			}		
		}		
		
	} else {
		selectorHovered= true;
		setTimeout("preHideCountrySelector()", 200);
	}
}

/*
 * Actual visual hiding of the country selector layer
 * -reconfirms the selector not being hovered currently
 * -hides the layer when not being hovered
 */
function hideCountrySelector() {
	if(! selectorHovered) {

		change = document.getElementById('countryNav');
		// For IE
		if (navigator.userAgent.indexOf("MSIE") > 0) {
				change.style.setAttribute("display", "none !important", false);
			if(navigator.userAgent.indexOf("MSIE 6.")) {
				change.style.position = "absolute";
				change.style.display = "none";
			}
		}
		else { // For good Browsers
			change.style.display= "none !important";	
		}
	}
}

/***********************************************************************************************
 *  Company Navigation
 ***********************************************************************************************/
 
function companyNavigation() {

	var change = document.getElementById('companyNav');

	var qnav = document.getElementById('companyNavigation');

	// For IE
	if (navigator.userAgent.indexOf("MSIE") > 0) {
			change.style.setAttribute("display", "block !important", false);
		if(navigator.userAgent.indexOf("MSIE 6.")) {
			change.style.position = "absolute";
			change.style.display = "block";
		}
		change.style.setAttribute("display", "block !important", false);
	
	}
	else { // For good Browsers
		change.style.display = "block !important";
	}

	// Change MISC, 02.04.08: Do the same for the sub-ul's (only one level deeper)
	subListsUL = change.getElementsByTagName("ul");
	for (i = 0; i < subListsUL.length; i++) {
		if (navigator.userAgent.indexOf("MSIE") > 0) {
   			subListsUL[i].style.setAttribute("display", "block !important", false);
	    		if(navigator.userAgent.indexOf("MSIE 6.")) {
				subListsUL[i].style.display = "block";
			}
			subListsUL[i].style.setAttribute("display", "block !important", false);
		}
		else {
			subListsUL[i].style.display = "block !important";
		}
	}

	selectorHovered= true;

	setTimeout("preHideCompanySelector()", 200);
}

/* prepare for hiding the selector layer:
 * -eval hovered element not belonging to the selector 
 * -if not part of the selector: evoke delayed (timeout) to actually hide the selector
 */
function preHideCompanySelector() {
	hideIt= false;

	switch(hoveredElement) {
		case 'DIVmainContentcontent':
		case 'DIVcsc-textpiccsc-textpic-intext-display-nowrap':
		case 'BODYhoerbiger-comhomepage':
		case 'DIVheader': case 'DIVbox':
		case 'H1': case 'H2': case 'H3': case 'H4': case 'H5':
		case 'P': case 'AEN': case 'ADE': case 'AFR': case 'HTML':
		case 'DIVc109contentElementtextversion0':
			hideIt= true;
		break;
	}
	if (hoveredElement.indexOf('content')>-1 ||
	    hoveredElement.indexOf('staubli')>-1 ||
	    hoveredElement.indexOf('DIV')>-1 ||
	    hoveredElement.indexOf('IMG') >-1 ) {
		hideIt= true;
	}

	if (hideIt) {
		selectorHovered= false;
		
		change = document.getElementById('companyNav');
		
		// For IE
		if (navigator.userAgent.indexOf("MSIE") > 0) {
			if (change.style.getAttribute("display", false).indexOf('9999')== -1 ) {
				a= setTimeout("preHideCompanySelector()", 200);
				b= setTimeout("hideCompanySelector()", 200);
			}		
		}
		else { // For good Browsers
			if (change.style.display.indexOf('9999')== -1 ) {
				a= setTimeout("preHideCompanySelector()", 200);
				b= setTimeout("hideCompanySelector()", 200);
			}		
		}		
		
	} else {
		selectorHovered= true;
		setTimeout("preHideCompanySelector()", 200);
	}
}

/*
 * Actual visual hiding of the country selector layer
 * -reconfirms the selector not being hovered currently
 * -hides the layer when not being hovered
 */
function hideCompanySelector() {
	if(! selectorHovered) {

		change = document.getElementById('companyNav');
		// For IE
		if (navigator.userAgent.indexOf("MSIE") > 0) {
				change.style.setAttribute("display", "none !important", false);
			if(navigator.userAgent.indexOf("MSIE 6.")) {
				change.style.position = "absolute";
				change.style.display = "none";
			}
		}
		else { // For good Browsers
			change.style.display= "none !important";
		}
	}
}


/***********************************************************************************************
 *  Other functions
 ***********************************************************************************************/
function showPleaseWaitRemark(){
	document.getElementById('pleasewait').style.display = "inline";
}

sfHover = function (idList, tagList) {
	var count;
	for (count = 0; count < idList.length; count++) {
		var sfEls = document.getElementById(idList[count]).getElementsByTagName(tagList[count]);
		for (var i = 0; i < sfEls.length; i++) {
			sfEls[i].onmouseover = function () {
				this.className += ' sfhover';
			};
			sfEls[i].onmouseout = function () {
				this.className = this.className.replace(new RegExp(' sfhover\\b'), '');
			};
		}
	}
};

sfFocus = function (idList, tagList) {
	var count;
	for (count = 0; count < idList.length; count++) {
		var sfEls = document.getElementById(idList[count]).getElementsByTagName(tagList[count]);
		for (var i = 0; i < sfEls.length; i++) {
			sfEls[i].onfocus = function () {
				this.className += ' sffocus';
			};
			sfEls[i].onblur = function () {
				this.className = this.className.replace(new RegExp(' sffocus\\b'), '');
			};
		}
	}	
};
