//With thanks to the Scriptaculous javascript library

//Wait for document to load
window.onload=function() {
	if(document.getElementById('cloud')) {
	//Collect all items from list with ID 'cloud'
	var items = document.getElementById('cloud').getElementsByTagName('li');
	
	//Determine active tag cloud
	var settings = new Array();
	switch(document.getElementById('cloud').className) {
		case 'risicobeoordelingen':
			settings.push(
				new Array('risicobeoordelingen',17),
				new Array('risicomanagement',21),
				new Array('bodemrisicoanalyse',13),
				new Array('pesticiden',10)
			);
		break;
		case 'grondwatersanering':
			settings.push(
				new Array('planvorming',17),
				new Array('bodemsaneringstechnieken',21),
				new Array('contractvormen',13),
				new Array('bodemsanering',10)
			);
		break;
		case 'grondwaterbeheer':
			settings.push(
				new Array('gebiedsgericht',17),
				new Array('grondmanagement',21),
				new Array('nazorgplannen',13),
				new Array('stortplaatsen',10)
			);
		break;
		case 'advies':
			settings.push(
				new Array('transacties',17),
				new Array('liability',21),
				new Array('secondopinion',13),
				new Array('subsidie',10)
			);
		break;
		default:
			settings.push(
				new Array('strategie',17),
				new Array('techniek',21),
				new Array('waterbodem',13),
				new Array('bodembeleid',10)
			);
		break;
	}
	//End of: Determine active tag cloud
	
	//Loop through all list items
	for(var i = 0; i < items.length; i++) {
  		
		//Initiate Scriptaculous transform function when list item is clicked
		items[i].onclick = function() {
			switch(this.className) {
				case settings[1][0]:
					settings[1][1] = 21;
					settings[2][1] = 17;
					settings[3][1] = 13;
					settings[0][1] = 10;
				; break;
				case settings[2][0]:
					settings[2][1] = 21;
					settings[3][1] = 17;
					settings[0][1] = 13;
					settings[1][1] = 10;
				; break;
				case settings[3][0]:
					settings[3][1] = 21;
					settings[0][1] = 17;
					settings[1][1] = 13;
					settings[2][1] = 10;
				; break;
				default:
					settings[0][1] = 21;
					settings[1][1] = 17;
					settings[2][1] = 13;
					settings[3][1] = 10;
				; break;
			}
			
			//Remove class 'active' from all items
			for(var j = 0; j < items.length; j++) {
				items[j].className = items[j].className.replace(new RegExp("\\s+active"),"");
			}
			
			//Assign class 'active' to active item
			this.className = this.className + ' active';

			//Apply effects
			switch(document.getElementById('cloud').className) {
				case 'risicobeoordelingen':
					new Effect.Transform([
					{ "#cloud li.risicobeoordelingen": "font-size:" + settings[0][1] + "px;" },
					{ "#cloud li.risicomanagement": "font-size:" + settings[1][1] + "px;" },
					{ "#cloud li.bodemrisicoanalyse": "font-size:" + settings[2][1] + "px;" },
					{ "#cloud li.pesticiden": "font-size:" + settings[3][1] + "px;" }
					],{ duration: 1 } ).play();
				break;
				case 'grondwatersanering':
					new Effect.Transform([
					{ "#cloud li.planvorming": "font-size:" + settings[0][1] + "px;" },
					{ "#cloud li.bodemsaneringstechnieken": "font-size:" + settings[1][1] + "px;" },
					{ "#cloud li.contractvormen": "font-size:" + settings[2][1] + "px;" },
					{ "#cloud li.bodemsanering": "font-size:" + settings[3][1] + "px;" }
					],{ duration: 1 } ).play();
				break;
				case 'grondwaterbeheer':
					new Effect.Transform([
					{ "#cloud li.gebiedsgericht": "font-size:" + settings[0][1] + "px;" },
					{ "#cloud li.grondmanagement": "font-size:" + settings[1][1] + "px;" },
					{ "#cloud li.nazorgplannen": "font-size:" + settings[2][1] + "px;" },
					{ "#cloud li.stortplaatsen": "font-size:" + settings[3][1] + "px;" }
					],{ duration: 1 } ).play();
				break;
				case 'advies':
					new Effect.Transform([
					{ "#cloud li.transacties": "font-size:" + settings[0][1] + "px;" },
					{ "#cloud li.liability": "font-size:" + settings[1][1] + "px;" },
					{ "#cloud li.secondopinion": "font-size:" + settings[2][1] + "px;" },
					{ "#cloud li.subsidie": "font-size:" + settings[3][1] + "px;" }
					],{ duration: 1 } ).play();
				break;
				default:
					new Effect.Transform([
					{ "#cloud li.strategie": "font-size:" + settings[0][1] + "px;" },
					{ "#cloud li.techniek": "font-size:" + settings[1][1] + "px;" },
					{ "#cloud li.waterbodem": "font-size:" + settings[2][1] + "px;" },
					{ "#cloud li.bodembeleid": "font-size:" + settings[3][1] + "px;" }
					],{ duration: 1 } ).play();
				break;
			}
			//End of: Apply effects
			
			var xmlhttp = null;
			
			if (window.XMLHttpRequest) {
				// code for IE7+, Firefox, Chrome, Opera, Safari
				xmlhttp = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) {
				// code for IE6, IE5
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			if (xmlhttp !== null) {
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4) {
						
						//Update text in destination div
						document.getElementById("intro").innerHTML = xmlhttp.responseText;
					}
				};
				
				xmlhttp.open("GET", "modules/mod_loader.php?q=" + this.id, true);
				xmlhttp.send(null);
				
				//Disable anchor
				return false;
			}
		}
		//End of: Initiate Scriptaculous transform function when list item is clicked
	}
	//End of: Loop through all list items
	}
}

