	
	function init(){

		//initiate language features
		langInit();
		
		(varListPrefs != "") ? prefs = true : prefs = false;
		
		//set preferences to cookie?
		if(remember)
			setChecked("remember");

		//user has turned auto detect off?
		if(!autoDetectPlayer){
			setChecked("noAutoDetect");
		}
		else{
			document.getElementById("wmp_installed").innerHTML = wmp_installed;
			document.getElementById("qt_installed").innerHTML = qt_installed;
		}

		//check a connection radio button
		//standard quality default
		if((prefs && connection=="high") || (!prefs && kbps > 512))
			setChecked("selectConn_high");
		else if((prefs && connection=="med") || (!prefs && kbps <= 512 && kbps > 256))
			setChecked("selectConn_med");
		else if(prefs && connection=="download"){
			setChecked("selectConn_download");
		}
		else
			setChecked("selectConn_low");
		
		//check if auto detect is required and then render relevant xhtml	
		toggleAutoPlayerDetect();
		
		var setPreferences = 'Set your video preferences';
		var changePreferences = 'Change your video preferences';

		//change text according to the language
		switch(urlLang){
			case 'en' : 
				setPreferences = 'Set your video preferences';
				changePreferences = 'Change your video preferences';
			break;
			case 'fr' : 
				setPreferences = 'Appliquez vos pr&eacute;f&eacute;rences vid&eacute;o';
				changePreferences = 'Modifier vos pr&eacute;f&eacute;rences vid&eacute;o';
			break;
			case 'it' : 
				setPreferences = 'Definisci le tue impostazioni video';
				changePreferences = 'Modifica le tue impostazioni video';
			break;
			case 'de' : 
				setPreferences = 'W&auml;hle Sie die Videoeinstellung';
				changePreferences = 'Videoeinstellungen &auml;ndern';
			break;
			case 'es' : 
				setPreferences = 'Establecer preferencias de v&iacute;deo';
				changePreferences = 'Establecer preferencias de v&iacute;deo';
			break;
			case 'la' : 
				setPreferences = 'Establecer preferencias de v&iacute;deo';
				changePreferences = 'Establecer preferencias de v&iacute;deo';
			break;
		}
	
		//if the user already has some preferences set	
		if(prefs)
			document.getElementById("vidPrefsH1").innerHTML = changePreferences;

		else
			document.getElementById("vidPrefsH1").innerHTML = setPreferences;

	}

	//find the media player to indicate as selected and then check the relevant radio button
	function checkPlayer(){
	
		//only if auto detect is on 
		if(!(!autoDetectPlayer && version == 0)){

			var playerToCheck;
			
			//quickTime default
			if((prefs && player=="wmp") || (!prefs && wmp && !qt)){
				playerToCheck = "selectPlayer_wmp";
			}
			else{
				playerToCheck = "selectPlayer_qt";		
			}
				
			if(!autoDetectPlayer){
				playerToCheck += "_" + version;
			}
	
			setChecked(playerToCheck);
		
		}
	
		//change the text on the submit button
		changeButt();
		
	}
	
	function setChecked(id){
		document.getElementById(id).checked = true;
	}
	
	//indicate which media players are installed
	function indicateInstalled(){
	//get lang on the url + where it sits on the url (for manipulation)


		wmp_installed = "Windows Media: ";
		qt_installed = "QuickTime: ";
		
		wmp_cv = checkVersion("wmp");
		qt_cv = checkVersion("qt");
					
		var installed = 'installed';
		var installUpdate = 'update player to view';
		var notInstalled = 'not installed';
		
		//change text according to the language
		switch(urlLang){
			case 'en' : 
				installed = 'installed';
				installUpdate = 'update player to view';
				notInstalled = 'not installed';
			break;
			case 'fr' : 
				installed = 'install&eacute;';
				installUpdate = 'mise &agrave; jour du lecteur';
				notInstalled = 'pas install&eacute;';
			break;
			case 'it' : 
				installed = 'installato';
				installUpdate = 'Aggiorna player per guardare i video';
				notInstalled = 'non installato';
			break;
			case 'de' : 
				installed = 'installiert';
				installUpdate = 'player aktualisieren, um das video zu sehen';
				notInstalled = 'nicht installiert';
			break;
			case 'es' : 
				installed = 'instalado';
				installUpdate = 'actualizar reproductor';
				notInstalled = 'no instalado';
			break;
			case 'la' : 
				installed = 'instalado';
				installUpdate = 'actualizar reproductor';
				notInstalled = 'no instalado';
			break;
		}

		var message1 = '<span>' + installed + '<\/span>';
		var message2 = '<span class="spanType1">' + installUpdate + '<\/span>';
		var message3 = '<span class="spanType1">' + notInstalled + '<\/span>';

		switch(wmp_cv){
			case 0 : wmp_installed += message1
			break;
			case 1 : wmp_installed += message2
			break;
			case 2 : wmp_installed += message3
		}

		switch(qt_cv){
			case 0 : qt_installed += message1
			break;
			case 1 : qt_installed += message2
			break;
			case 2 : qt_installed += message3
		}

	}
	
	//find value of a group of radio buttons or checkboxes
	function valButton(btn) {
		var cnt = -1;

		for (var i=btn.length-1; i > -1; i--) {
		   if (btn[i].checked) {cnt = i; i = -1;}
		   }
		if (cnt > -1) return btn[cnt].value;
		else return null;
	}
	
	//create a list of preferences from the radio buttons selected
	function createVarListPrefs(){

		playerPref = valButton(document.playerForm.selectPlayer);	
		playerVer = 0;
		connectionPref = valButton(document.playerForm.selectConn);	
		
		if(document.getElementById("noAutoDetect").checked){
			p = playerPref.split("_");
			playerVer = p[1];
			playerPref = p[0];	
		}	 
			
		var str = "player=" + playerPref + ",version=" + playerVer +  ",connection=" + connectionPref;
		return str;
	}
	
	function fnSubmit(){
	
		//create a string of preferences
		varListPrefs = createVarListPrefs();
		
		//remember may be disabled if download is selected
		if(document.getElementById("remember").checked){
			setCookie("MediaPlayer", varListPrefs, getExpireDate(false));
		}
		else if(remember && !document.getElementById("remember").disabled){
			remember = false;
			setCookie("MediaPlayer", varListPrefs, getExpireDate(true));
		}
		
		if(!document.getElementById("noAutoDetect").checked){
		
			//check download button exists. may be commented out.
			var download = false;

			if(document.getElementById("selectConn_download") != null){
				download = document.getElementById("selectConn_download").checked;
			}
			else{
				download = false;
			}
		
			//if download selected or the selected player is installed
			if(download || eval(playerPref) && (eval(playerPref + "_cv") != 1)){
				window.location = addQS("player.html");
			}
			else{
				window.location = addQS("not_installed.html");
			}
		
		}
		else{
			//go straight to the player if auto detect is off
			window.location = addQS("player.html");
		
		}

	}
	
	//decide which button text to display for page submission. 'watch now','install now','download
	function changeButt(){
	
		var download = false;

		if(document.getElementById("selectConn_download") != null){
			download = document.getElementById("selectConn_download").checked;
		}
		else{
			download = false;
		}
		
		//These variables are used to be able to change the relevant button to the relevant language		
		var buttonWatchNow = '../../images/buttons/watch_now_61_20.gif';
		var buttonInstallNow = '../../images/buttons/install_now_61_20.gif';
		var buttonDownload = '../../images/buttons/download_59_20.gif';		
		
		switch(urlLang){
			case 'en' : 
				buttonWatchNow = '../../images/buttons/watch_now_61_20.gif';
				buttonInstallNow = '../../images/buttons/install_now_61_20.gif';
				buttonDownload = '../../images/buttons/download_59_20.gif';
			break;
			case 'fr' : 
				buttonWatchNow = '../../images/buttons/fr/watch_now_fr_104_20.gif';
				buttonInstallNow = '../../images/buttons/fr/install_now_fr_97_20.gif';
				buttonDownload = '../../images/buttons/fr/download_fr_80_20.gif';
			break;
			case 'it' : 
				buttonWatchNow = '../../images/buttons/it/watch_now_it_61_20.gif';
				buttonInstallNow = '../../images/buttons/it/install_now_it_58_20.gif';
				buttonDownload = '../../images/buttons/it/download_it_42_20.gif';
			break;
			case 'de' : 
				buttonWatchNow = '../../images/buttons/de/watch_now_de_69_20.gif';
				buttonInstallNow = '../../images/buttons/de/install_now_de_77_20.gif';
				buttonDownload = '../../images/buttons/de/download_de_74_20.gif';
			break;
			case 'es' : 
				buttonWatchNow = '../../images/buttons/es/watch_now_es_55_20.gif';
				buttonInstallNow = '../../images/buttons/es/install_now_es_71_20.gif';
				buttonDownload = '../../images/buttons/es/download_es_59_20.gif';
			break;
			case 'la' : 
				buttonWatchNow = '../../images/buttons/es/watch_now_es_55_20.gif';
				buttonInstallNow = '../../images/buttons/es/install_now_es_71_20.gif';
				buttonDownload = '../../images/buttons/es/download_es_59_20.gif';
			break;
		}		
		
		
		var player = valButton(document.playerForm.selectPlayer);	
		
		

		//determines what action to take based on what the player is, whether it is installed or not or 
		//whether it needs updating
		if(!download){

			if((document.getElementById("noAutoDetect").checked || eval(player)) && (eval(player + "_cv") != 1) ){

				document.getElementById("watchNow").value = "watch_now";
				document.getElementById("watchNow").src = buttonWatchNow;
				if(remember) document.getElementById("remember").checked = true;
				document.getElementById("remember").disabled = false;
			}
			else{
				document.getElementById("watchNow").value = "install_now";
				document.getElementById("watchNow").src = buttonInstallNow;
				if(remember) document.getElementById("remember").checked = true;
				document.getElementById("remember").disabled = false;
			}

		}
		else{
			document.getElementById("watchNow").value = "download";
			document.getElementById("watchNow").src = buttonDownload;
			document.getElementById("remember").checked = false;
			document.getElementById("remember").disabled = true;
		}
	}
	
	//check if auto detect is required and then render relevant xhtml	
	function toggleAutoPlayerDetect(){	
		
		if(!document.getElementById("noAutoDetect").checked){

			strHTML = createPlayerRButt("selectPlayer_wmp","selectPlayer","wmp","wmp_25_22","Windows Media",true);
			strHTML += createPlayerRButt("selectPlayer_qt","selectPlayer","qt","qt_25_22","QuickTime",true);

			document.getElementById("autoDetectMessage").style.display = "block";
			
			document.getElementById("wmp_installed").innerHTML = wmp_installed;
			document.getElementById("qt_installed").innerHTML = qt_installed;
			
			autoDetectPlayer = true;
			
			document.getElementById("selectPlayerList").innerHTML = strHTML;
					
		}
		else {

			strHTML = createPlayerRButt("selectPlayer_wmp_9","selectPlayer","wmp_9","wmp_25_22","Windows Media",true);
			strHTML += createPlayerRButt("selectPlayer_qt_6","selectPlayer","qt_6","qt_25_22","QuickTime 6",true);
			strHTML += createPlayerRButt("selectPlayer_qt_7","selectPlayer","qt_7","qt_25_22","QuickTime 7",true);
			
			document.getElementById("autoDetectMessage").style.display = "none";


			//Determine language of 'watch now' button
			buttonWatchNow = '../../images/buttons/watch_now_61_20.gif';

			switch(urlLang){
				case 'en' : 
					buttonWatchNow = '../../images/buttons/watch_now_61_20.gif';
				break;
				case 'fr' : 
					buttonWatchNow = '../../images/buttons/fr/watch_now_fr_104_20.gif';
				break;
				case 'it' : 
					buttonWatchNow = '../../images/buttons/it/watch_now_it_61_20.gif';
				break;
				case 'de' : 
					buttonWatchNow = '../../images/buttons/de/watch_now_de_69_20.gif';
				break;
				case 'es' : 
					buttonWatchNow = '../../images/buttons/es/watch_now_es_55_20.gif';
				break;
				case 'la' : 
					buttonWatchNow = '../../images/buttons/es/watch_now_es_55_20.gif';
				break;
			}		

			document.getElementById("watchNow").value = "watch_now";
			document.getElementById("watchNow").src = buttonWatchNow;
			
			autoDetectPlayer = false;
			
			document.getElementById("selectPlayerList").innerHTML = strHTML;
			
			setChecked("selectPlayer_wmp_9");
		}

		//check the radio button
		checkPlayer();

	}
	
	//create a radio button
	function createPlayerRButt(id,name,value,img,fullName,event){
	
		if(event){
			event = 'onClick="changeButt()"';
		}
		else event = "";
	
		output = '<div><input type="radio" id="' + id + '" name="' + name + '" ' + event + ' value="' + value + '" \/><label for="' + id + '" class="labelType1"><img src="../../images/logos/' + img + '.gif" alt="logo: ' + fullName + '" \/><span>' + fullName + '<\/span><\/label><\/div>';

		return output;
	
	}


	
	varListPrefs = "";
	
	player = false;
	version = 0;
	connection = "";
	remember = false;
	autoDetectPlayer = true;
	vidLang = "";

	mpCookie = getCookie("MediaPlayer");
	
	//if the user has a cookie set on the site in the past
	if(mpCookie != null){
		remember = true;
	}

	//grab the data from the query string
	qs = window.location.search.substring(1);
	getData(qs,"&","=");
	
	//set some variable from information gathered from the query string
	
	if(autoDetectPlayer == "false") autoDetectPlayer = false;
	if(autoDetectPlayer == "true") autoDetectPlayer = true;

	//if no players are detected then redirect
	if(wmp == false && qt == false && autoDetectPlayer){
		window.location = addQS("not_installed.html");
	}
	else{

		if(varListPrefs != ""){
			//get the preferences from varListPrefs (retrieved from the query string)
			getData(varListPrefs,",","=");
		}
		else if(mpCookie != null){
			//get preferences from the cookie
			getData(mpCookie,",","=");
			varListPrefs = mpCookie;
			
			//if the player on the cookie is installed go straight to the player page
			if(eval(player) || version > 0){
				window.location = addQS("player.html");
			}
		
		}
			
		if(version > 0){
			autoDetectPlayer = false;
		}

		//indicate the versions of the installed players
		indicateInstalled();
	}

	window.onload = init;
	
