  
 


////////////////////////////////////////////////////// PUBLIC VARIABLES  ////////////////////////////////////////////////////// 

var slideshow_int;
var thumbs;
var minx;
var ttl;
var photo_arr = new Array();
var info_arr = new Array();
var photo_active = 0;
var bih;
var biw;
 


////////////////////////////////////////////////////// TOOLBOX ////////////////////////////////////////////////////// 

function setResolution() {
	w = window.screen.availWidth;
	h = window.screen.availHeight;
	window.resizeTo(w,h);
	window.moveTo(0,0);
	window.focus();
}

function writeEmailAddress(nme, dom, cou, cla){
	   document.write("<a href='mailto:"+nme+"@"+dom+"."+cou+"' class="+cla+" >"+nme+"@"+dom+"."+cou+"</a>");
}

function changeTitle(tit){
	document.getElementById("changetitle").innerHTML = tit;
	document.title = document.getElementById("changetitle").innerHTML;
	document.getElementById("changetitle").innerHTML = "";
}


function hideDiv(id){
	document.getElementById(id).style.display="none";
}

function showDiv(id){
	document.getElementById(id).style.display="block";
}

function changeImg(id, img){
	document.getElementById(id).src = img;
}
	
function removeWhiteSpace(id){
	//remove whitespace (FF sees whitespace as extra nodes)
	for(j=0; j<id.childNodes.length; j++){
		if(!id.childNodes[j].innerHTML){
			id.removeChild(id.childNodes[j]);
		}
	}
	return id;
}	

//change rel="external" to target="_blank" -> XHTML strict work around
function externalToBlank() {
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external"){
			anchor.target = "_blank";
		}
	}
}

//snippet for fade in / out

//tween opacity
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	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++;
        }
    }
}

//change the opacity for different browsers
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 + ")";
} 

//end snippet



////////////////////////////////////////////////////// FONT AND MENU REPLACEMENT ////////////////////////////////////////////////////// 

function replaceMenu(){
	//
	//replace menu
	var xml = document.getElementById('menu');
	//remove whitespace
	xml = removeWhiteSpace(xml);
	//set variables for menu
	var tempvars = "";
	for(i=0; i<xml.childNodes.length; i++){
		var temptxt = xml.childNodes[i].childNodes[0].innerHTML;
		var templnk = xml.childNodes[i].childNodes[0].href;
		eval("txt"+(i+1)+" = '"+temptxt+"'");
		eval("url"+(i+1)+" = '"+templnk+"'");
		tempvars += "txt"+(i+1)+": txt"+(i+1)+", url"+(i+1)+": url"+(i+1)+", ";
	}
	var cnt = xml.childNodes.length;
	//write menu
	xml.innerHTML = "<div id='menu_container'></div>";
	eval("var flashvars = {"+tempvars+"cnt:"+cnt+"}");
	var params = {wmode: "transparent"};
	//var params = {};
	swfobject.embedSWF("media/swf/aqualityprotect_menu.swf", "menu_container", "100%", "100%", "9.0.0", "media/swf/expressInstall.swf", flashvars, params);
}

function replaceSubmenu(){
	//
	//replace menu
	var xml = document.getElementById('submenu');
	//remove whitespace
	xml = removeWhiteSpace(xml);
	//set variables for menu
	var tempvars = "";
	for(i=0; i<xml.childNodes.length; i++){
		var temptxt = xml.childNodes[i].childNodes[0].innerHTML;
		var templnk = xml.childNodes[i].childNodes[0].href;
		eval("txt"+(i+1)+" = '"+temptxt+"'");
		eval("url"+(i+1)+" = '"+templnk+"'");
		tempvars += "txt"+(i+1)+": txt"+(i+1)+", url"+(i+1)+": url"+(i+1)+", ";
	}
	var cnt = xml.childNodes.length;
	//write menu
	xml.innerHTML = "<div id='submenu_container'></div>";
	eval("var flashvars = {"+tempvars+"cnt:"+cnt+"}");
	var params = {wmode: "transparent"};
	//var params = {};
	swfobject.embedSWF("media/swf/aqualityprotect_submenu.swf", "submenu_container", "100%", "250", "9.0.0", "media/swf/expressInstall.swf", flashvars, params);
	//set padding
	document.getElementById('submenu').style.padding = "0px 0px 0px 0px";
}

function replacettl(txt, tgt){
	var flashvars = {txt: txt, tgt: tgt};
	var params = {wmode: "transparent"};
	swfobject.embedSWF("media/swf/fontreplacer_frutigercondensed.swf", tgt, "100%", "24", "9.0.0", "media/swf/expressInstall.swf", flashvars, params);
	//set margin
	document.getElementById(tgt).parentNode.style.margin = "0px 0px 5px 0px";
}

function setHeight(tgt, h){
	document.getElementById(tgt).style.height=h+"px";
	//set margin double check for IE
	document.getElementById(tgt).parentNode.style.margin = "0px 0px 5px 0px";
}

function replaceNextTitle(){
	if(ttl<ttl_xml.length){
		var temptxt = ttl_xml[ttl].innerHTML;
		var tempset = ttl_xml[ttl].className;
		ttl_xml[ttl].innerHTML = '<div id="ttl'+ttl+'">'+temptxt+'</div>';
		replacettl(temptxt, 'ttl'+ttl, tempset);
		ttl++;
	} else {
		clearInterval(replace_int);
	}
}

function fontReplacement(){
	//replace all titles (use interval to avoid badly loaded titles in IE and Opera)
	ttl_xml = document.getElementsByTagName("h1");
	ttl = 0;
	replace_int = setInterval("replaceNextTitle();", 5);
}



////////////////////////////////////////////////////// MENU ACTIVATION ////////////////////////////////////////////////////// 

//activate menu item
function activateMenu(item){
	var menu = removeWhiteSpace(document.getElementById("menu"));
	var name = menu.childNodes[item].childNodes[0].innerHTML;
	menu.childNodes[item].innerHTML = "<span>"+name+"</span>";
}


////////////////////////////////////////////////////// BACKGROUND IMAGE SHARP ////////////////////////////////////////////////////// 

function placeBackImg(arr){
	var obj = document.getElementById('backimg');
	obj.innerHTML = "<div id='biholder'></div>";
	eval('var flashvars = {arr: "'+arr+'"};');
	var params = {wmode: "transparent"};
	setBackImg();
	swfobject.embedSWF("media/swf/xinnix-back.swf", "biholder", "100%", "100%", "9.0.0", "media/swf/expressInstall.swf", flashvars, params);
	window.onresize = setBackImg;
}

//when scroll, adjust height:
function setBackImg(){
	var obj = document.getElementById('backimg');
	var bh = document.body.clientHeight;
	var bw = document.body.clientWidth;
	var content = document.getElementById('container');
	//alert(bh+" - "+content.clientHeight);
	if(bh<content.clientHeight){
		bih = content.clientHeight;
		obj.style.height = bih+"px";
		//alert("adjust height - "+bih);
	} else {
		bih = "100%";
		obj.style.height = "100%";
	}
	if(bw<content.clientWidth){
		biw = content.clientWidth;
		obj.style.width = content.clientWidth+"px";
		//alert("adjust width");
	} else {
		biw = "100%";
		obj.style.width = "100%";
	}
}
////////////////////////////////////////////////////// FORMS ////////////////////////////////////////////////////// 

//contact

function checkContactValues(lang){
	
	//define fields
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var address = document.getElementById('address');
	var zipcode = document.getElementById('zipcode');
	var city = document.getElementById('city');
	var tel = document.getElementById('tel');
	var email = document.getElementById('email');

	var contactform = document.getElementById("formcontact");
	
	//define fields array
	var fields = new Array(firstname,lastname,address,zipcode,city,tel,email);
	
	//comments in different languages
	var commentnl = new Array("Gelieve uw voornaam in te vullen.","Gelieve uw familienaam in te vullen.","Gelieve uw adres in te vullen.", "Gelieve uw postcode in te vullen.", "Gelieve uw stad in te vullen.", "Gelieve uw telefoonnummer in te vullen.", "Gelieve een correct e-mailadres in te vullen.");
	var commentfr = new Array ("Entrez votre prénom, s'il vous plaît.", "Entrez votre nom de famille, s'il vous plaît.", "Remplissez votre adresse, s'il vous plaît.", "Remplissez votre code postal, s'il vous plaît.", "Entrez votre ville, s'il vous plaît.","Entrez votre numéro de téléphone, s'il vous plaît.","Entrez une adresse e-mail correcte, s'il vous plaît.");
	var commenten = new Array("Please fill in your first name.", "Please enter your surname.", "Please fill in your address.", "Please fill in your postal code.", "Please enter your city.", "Please enter your telephone number.", "Please enter a correct e-mail address.");
	
	//check language and set comment
	eval("var comment = comment"+lang);
	
	//comment if needed
	for(i=0; i<fields.length; i++){
		if(fields[i] != email){
			if(fields[i].value.length==0){alert(comment[i]); return false;}
		} else {
			if(!validMail(email.value)){alert(comment[i]); return false;;}
		}
	}
	
	//if ok
	return true;
}
//login
function checkLoginValues(lang){
	
	//define fields
	var user = document.getElementById('user');
	var pass = document.getElementById('pass');
	
	//define fields array
	var fields = new Array(user,pass);
	
	//comments in different languages
	var commentnl = new Array("Gelieve uw gebruikersnaam in te vullen.","Gelieve uw wachtwoord in te vullen.");
	var commentfr = new Array ("Entrez votre nom d'utilisateur, s'il vous plaît.", "Entrez mot de passe, s'il vous plaît.");
	var commenten = new Array("Please fill in your username.", "Please enter your password.");
	
	//check language and set comment
	eval("var comment = comment"+lang);
	
	//comment if needed
	for(i=0; i<fields.length; i++){
		if(fields[i].value.length==0){alert(comment[i]); return false;}
	}
	
	//if ok
	return true;
}
//login
function checkPostcodeValues(lang){
	
	//define fields
	var postal = document.getElementById('postal');
	
	//define fields array
	var fields = new Array(postal);
	
	//comments in different languages
	var commentnl = new Array("Gelieve een correcte postcode in te vullen.");
	var commentfr = new Array ("Remplissez une code postal correcte, s'il vous plaît.");
	var commenten = new Array("Please fill in a valid postal code.");
	
	//check language and set comment
	eval("var comment = comment"+lang);
	
	//comment if needed
	for(i=0; i<fields.length; i++){
		if(fields[i].value.length==0 || isNaN(fields[i].value)){alert(comment[i]); return false;}
	}
	
	//if ok
	return true;
}
//contact mail validate
function validMail(str){
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if(str.indexOf(at)==-1){return false;}
	if(str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){return false;}
	if(str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){return false;}
	if(str.indexOf(at,(lat+1))!=-1){return false;}
	if(str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){return false;}
	if(str.indexOf(dot,(lat+2))==-1){return false;}	
	if(str.indexOf(" ")!=-1){return false;}
	return true;		
}



////////////////////////////////////////////////////// MEDIA POPUP ////////////////////////////////////////////////////// 

//load video  in media
function loadVideo(file){
	//set class & dimensions
	var media = document.getElementById('mediacontainer');
	media.className = "contvideo";
	media.style.width = (480+120)+"px";
	media.style.height = (270+120+document.getElementById('mediamenu').clientHeight)+"px";
	//show video
	openMedia();
	centerMedia();
	//create holder
	var object = document.getElementById('media');
	object.innerHTML = '<span><div id="videoholder"></div></span>';
	//write video
	setTimeout('swfobject.embedSWF("media/swf/bedrijfsvideo.swf", "videoholder", "480", "270", "9.0.0", "media/swf/expressInstall.swf")', 250);
}

//load image in media
function loadPhoto(file){
	//set class
	document.getElementById('mediacontainer').className = "contphoto";
	//load photo
	var object = document.getElementById('media');
	object.innerHTML = '<div><img src="media/img/preloader.gif" alt="loading" title="loading" /><img src="'+file+'" alt="" id="photo" /></div>';
	//show div before checking width
	showDiv('overlay');
	//set width of mediacontainer after photo has loaded
	photo_int = setInterval('if(checkLoaded("photo")){collapseMediaToPhoto(); clearInterval(photo_int); openMedia(); centerMedia();}',10);	
}

//collapse media container to photo width
function collapseMediaToPhoto(){
	var object = document.getElementById('photo');
	var nh = object.clientHeight+document.getElementById('mediamenu').clientHeight;
	var nw = object.clientWidth;
	var media = document.getElementById('mediacontainer');
	media.style.width = nw+"px";
	media.style.height = nh+"px";
}

//check if image is loaded
function checkLoaded(id){
	var w = document.getElementById(id).clientWidth;
	if(w>0){
		return true;
	} else {
		return false;
	}
}

//center mediacontainer
function centerMedia(){
	var media = document.getElementById('mediacontainer');
	var wh = document.body.clientHeight;
	var mh = media.clientHeight;
	var cy = Math.round((wh-mh)/2);
	media.style.margin = cy+"px auto 30px auto";
}

//open media
function openMedia(){
	opacity('overlay', 0, 100, 250);
	showDiv('overlay');
	//give overlay height of content
	document.getElementById("overlay").style.height = document.getElementById("container").clientHeight+"px";
}

//close media
function closeMedia(){
	document.getElementById("media").innerHTML = "";
	opacity('overlay', 100, 0, 250);
	setTimeout('hideDiv("overlay");', 250);
}



////////////////////////////////////////////////////// SLIDESHOW ////////////////////////////////////////////////////// 

function swapPhoto(id){
	hideDiv('photo');
	changeImg('photo',photo_arr[id]);
	opacity('photo', 0, 100, 500);
	setTimeout("showDiv('photo');",10);
	photo_active = id;
	setTimeout("changeImg('photocopy',photo_arr[photo_active]);",500);
}
function nextPhoto(){
	if(photo_active+1>photo_arr.length-1){
		photo_active = 0;
	} else {
		photo_active++;
	}
	swapPhoto(photo_active);
}
function previousPhoto(){
	if(photo_active-1<0){
		photo_active = photo_arr.length-1;
	} else {
		photo_active--;
	}
	swapPhoto(photo_active);
}
function startSlideShow(speed,info){
	stopSlideShow();
	swapPhoto(photo_active);
	if(info){
		document.getElementById('slidertxt').innerHTML = info_arr[photo_active];
		slideshow_int=window.setInterval("nextPhoto(); document.getElementById('slidertxt').innerHTML = info_arr[photo_active];",speed*1000);
	} else{
		slideshow_int=window.setInterval("nextPhoto();",speed*1000);
	}
}
function stopSlideShow(){
	clearInterval(slideshow_int);
}



////////////////////////////////////////////////////// DEALER FLASH MODULE  ////////////////////////////////////////////////////// 
function loadDealerModule(id, countrylist){
	//create holder
	var object = document.getElementById(id);
	object.innerHTML = '<div id="world"></div>';
	//write module
	var flashvars = {file: "media/xml/dealers.xml", countryList: countrylist};
	var params = {wmode: "transparent", allowScriptAccess: "always"};
	swfobject.embedSWF("media/swf/world.swf", "world", "100%", "100%", "9.0.0", "media/swf/expressInstall.swf", flashvars, params);
}
function loadWorld(id){
	var fla = document.getElementById('world');
	fla.loadWorldJS();
}
function loadContinent(id){
	var fla = document.getElementById('world');
	fla.loadContinentJS(id);
}
function loadCountry(id){
	var fla = document.getElementById('world');
	fla.loadCountryJS(id);
}
function loadCountryList(arr){
	var obj = document.getElementById("dealernavcountries");
	var temp = arr.split(",");
	var html = "";
	for(i=0; i<temp.length; i++){
		html += "<li><a href='javascript:loadCountry("+i+");' title='toon "+temp[i]+"'>"+temp[i]+"</a></li>"
	}
	obj.innerHTML = html;
}
function clearCountryList(){
	//clear country list
	var obj = document.getElementById("dealernavcountries");
	obj.innerHTML = "";
}
function setDealers(html){
	var obj = document.getElementById("dealers");
	obj.innerHTML = html;
}
