// **************************************** //
// enable / disable options section

function disable(IDs) {
	var disableIDs = IDs.split(',');
	for (var i = 0; i < disableIDs.length; i++) {
		if (disableIDs[i] == "longueur_cable") {
			document.getElementById("longueur_cableOK").style.color = "#999999";
			document.getElementById("longueur_cableOK").style.fontWeight = "normal";
			document.getElementById("longueur_cableOK").style.cursor = "default";
			document.getElementById("longueur_cableOK").style.textDecoration = "none";
		}
		else if (disableIDs[i] == "conditionnement_GT380") { disable("touret_male-femelle"); }
		document.getElementById(disableIDs[i]).disabled = "disabled";
		document.getElementById("label_"+disableIDs[i]).style.color = "#999999";
		document.getElementById("label_"+disableIDs[i]).style.fontWeight = "normal";
	}
}

function enable(IDs) {
	var enableIDs = IDs.split(',');
	for (var i = 0; i < enableIDs.length; i++) {
		if (enableIDs[i] == "longueur_cable") {
			document.getElementById("longueur_cableOK").style.color = "#01957d";
			document.getElementById("longueur_cableOK").style.fontWeight = "bold";
			document.getElementById("longueur_cableOK").style.cursor = "pointer";
			document.getElementById("longueur_cableOK").style.textDecoration = "underline";
		}
		document.getElementById(enableIDs[i]).disabled = "";
		document.getElementById("label_"+enableIDs[i]).style.color = "#000000";
		document.getElementById("label_"+enableIDs[i]).style.fontWeight = "bold";
	}
}

function enable_packaging(longueurCable) {
	//alert("package selection");
	if (!isNaN(longueurCable) && longueurCable.length != 0) { // is a number
		longueurCable = parseInt(longueurCable,10); // transform string to number
		//alert(typeof(longueurCable)+" | "+longueurCable); // => number
		if (longueurCable > 2000 || longueurCable <= 0) alert("La longueur doit être comprise entre 0 et 2000 mètres."); 
		else {
			//typesCable = document.forms[0].elements["cable"];
			typesCable = document.getElementsByName("cable");
			//alert(typesCable);
			var i = 0; var typeCable = "";
			while (i < typesCable.length && typeCable == "") {
				if (typesCable[i].checked) { typeCable = typesCable[i].value; }
				i++;
			}
			//alert(typeCable);
			
			if (typeCable == "2M-4S75" || typeCable == "2S-S1" || typeCable == "4MY") {
				if (longueurCable <= 30) enable('conditionnement_valise,conditionnement_GT380,conditionnement_HT582,conditionnement_rouleau');
				else if (longueurCable <= 50) enable('conditionnement_GT380,conditionnement_HT582,conditionnement_rouleau');
				else if (longueurCable <= 250) enable('conditionnement_HT582,conditionnement_rouleau');
				else enable('conditionnement_rouleau');
				
				disable('longueur_cable');
			}
			else if (typeCable == "2M" || typeCable == "2S") {
				if (longueurCable <= 30) enable('conditionnement_valise,conditionnement_GT310,conditionnement_GT380,conditionnement_HT582,conditionnement_rouleau');
				else if (longueurCable <= 150) enable('conditionnement_GT310,conditionnement_GT380,conditionnement_HT582,conditionnement_rouleau');
				else if (longueurCable <= 300) enable('conditionnement_GT380,conditionnement_HT582,conditionnement_rouleau');
				else if (longueurCable <= 900) enable('conditionnement_HT582,conditionnement_rouleau');
				else enable('conditionnement_rouleau');
				
				disable('longueur_cable');
			}
			else { alert("Erreur dans l'ordre de saisie. Merci de recommencer."); }
			// disable previous option
			disable('cable_hybride,cable_multimode,cable_monomode,cable_monomode_SMPTE,cable_Y');
		}
	}
	else { alert("La valeur entrée n'est pas un nombre! Merci de corriger."); }
}

function enable_submit(IDs) {
	var enableIDs = IDs.split(',');
	for (var i = 0; i < enableIDs.length; i++) { document.getElementById(enableIDs[i]).disabled = ""; }
}


function _init_() {
	// enable material choice
	enable("matiere_nickel,matiere_ruthenium");
	// disable mode choice
	disable("mode_multimode,mode_monomode,mode_monomodeAPC");
	// disable cable choice
	disable("cable_hybride,cable_multimode,cable_monomode,cable_monomode_SMPTE,cable_Y");
	disable("longueur_cable");
	// disable packaging choice
	disable("conditionnement_valise,conditionnement_GT310,conditionnement_GT380,conditionnement_HT582,conditionnement_rouleau");
	
	follow_mouse();
	//preload_images('http://wakemfg.free.fr/boite.JPG');
}


// **************************************** //
// help box section

function move_div_help_box(evt) {
	var x=0; var y=0;
	if (document.layers) {
		x=evt.x; y=evt.y;
	}
	if (document.all) { // IE
		x=event.clientX; y=event.clientY;
	} else {
		if (document.getElementById) {
			x=evt.clientX; y=evt.clientY;
		}
	}
	document.getElementById("divHelpBox").style.left = (x+30)+"px";
	document.getElementById("divHelpBox").style.top = (y-45)+"px";
}

function follow_mouse() {
	if (document.layers) 
	document.captureEvents(Event.MOUSEMOVE);
	if (document.layers || document.all) 
	document.onmousemove = move_div_help_box; 
	if (document.addEventListener) 
	document.addEventListener('mousemove', move_div_help_box, true);
}

function create_div_help_box(inputNumber) {
	clearInterval(decreaseOpacity); // stop hiding the previous focused box (it stops the function destroy_div_help_box())
	document.getElementById("divHelpBox").style.display = "block";
	document.getElementById("divHelpBox").style.opacity = "1";
	
	var contents = new Array(
		'<img src="/assets/opticalcon_generator/fiche_nickel.gif" alt="fiche nickel" />', // 0 = fiche nickel
		'<img src="/assets/opticalcon_generator/fiche_ruthenium.gif" alt="fiche ruthenium" />', // 1 = fiche ruthenium
		'<img src="/assets/opticalcon_generator/2M-4S75.gif" alt="multimode hybride" />', // 2 = multimode hybride
		'<img src="/assets/opticalcon_generator/2S.gif" alt="multimode" />', // 3 = multimode
		'<img src="/assets/opticalcon_generator/2S.gif" alt="monomode" />', // 4 = monomode
		'<img src="/assets/opticalcon_generator/2S-S1.gif" alt="monomode SMPTE" />', // 5 = monomode SMPTE
		'<img src="/assets/opticalcon_generator/4MY.gif" alt="cable Y" />', // 6 = cable Y
		'<img src="/assets/opticalcon_generator/case.gif" alt="valise" />', // 7 = valise
		'<img src="/assets/opticalcon_generator/touret.gif" alt="touret GT310" />', // 8 = touret GT310
		'<img src="/assets/opticalcon_generator/touret.gif" alt="touret GT380" />', // 9 = touret GT380
		'<img src="/assets/opticalcon_generator/touret.gif" alt="touret HT582" />', // 10 = touret HT582
		'<img src="/assets/opticalcon_generator/airspool.gif" alt="airspool" />' // 11 = airspool
		);
	
	document.getElementById("divHelpBox").innerHTML = contents[inputNumber];
}

var opacity; // global variable opacity
var decreaseOpacity; // global variable
function decrease_opacity() {
	if ( opacity >= 10) {
		opacity = opacity - 10;
		document.getElementById("divHelpBox").style.opacity = ( opacity/100 ).toString();
	}
	else {
		document.getElementById("divHelpBox").style.display = "none";
		clearInterval(decreaseOpacity); // end decreasing opacity
	}
}

function destroy_div_help_box() {	
	interval = 20;
	tempOpacity = document.getElementById("divHelpBox").style.opacity;
	
	if (tempOpacity == "1") {
		opacity = 100;
		clearInterval(decreaseOpacity); // always break previous loop not to override it (otherwise, it's impossible to break it any more)
		if (navigator.appName != "Microsoft Internet Explorer") {
			decreaseOpacity = setInterval("decrease_opacity()",interval);
		}
		else { setTimeout(function() { document.getElementById("divHelpBox").style.display = "none"; },interval); }
	}
	// else : decrease_opacity is running!
}

function preload_images(SRCs) {
	var arraySRCs = SRCs.split(',');
	for (var i = 0; i < arraySRCs.length; i++) {
		//i = new Image;
		//i.src = arraySRCs[i];
		document.write('<img src="'+arraySRCs[i]+'" style="display: none;" />');
	}
	alert("preload end");
}