var gNbCodes = 0;
var gUrlOrneo = '';
var gAjaxKey = 'noKey';

/**
 * affiche le formulaire de saisie des codes
 */
 

function initialize(nbcodes,url_orneo,ajax_key){
	
		gNbCodes = nbcodes;
		gUrlOrneo = url_orneo;
		gAjaxKey = ajax_key;
				
		/* on cache le spinner */
	 $('working').hide();
	 $('working2').hide();
		
		/* on cache tous les ok vert */
		$('span1').hide();
		$('span2').hide();
		$('span3').hide();
		/* on desactive les champs et bouton 2 et 3 */
		$('code2').disable();
		$('button2').disable();
		
		$('code3').disable();
		$('button3').disable();
		
		/* on cache le div de msg d'erreurs */
		$('span-error').hide();
		
		switch (nbcodes){
			case 1 :
				$('code2').hide();
				$('button2').hide();
			case 2 :
				$('code3').hide();
				$('button3').hide();
		}
		$('code1').focus();
}

/* this shows a spinner while waiting for ajax response */
var myGlobalHandlers = {
		onCreate: function(){
			$('working').show();
			$('working2').show();
		},

		onComplete: function() {
			if(Ajax.activeRequestCount == 0){
				$('working').hide();
				$('working2').hide();
			}
		}
	};

	Ajax.Responders.register(myGlobalHandlers);
	
function check1(){

	// url du php
	var url = gUrlOrneo + 'mt/ajax/mtcheck';
	// recup du code saisi
	var params = 'code=' + $F('code1');	
	// on appelle en ajax le script php qui check le code
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: params, 
				onComplete: handleCode1,
				onException : function(xhr,ex){alert(ex);},
				onFailure : function(xhr) {alert(xhr.statutText);}
			});
}


function check2(){
	// url du php
	var url = gUrlOrneo + 'mt/ajax/mtcheck';
	// recup du code saisi
	var params = 'code=' + $F('code2');	
	// on appelle en ajax le script php qui check le code
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: params, 
				onComplete: handleCode2
			});
}

function check3(){
	// url du php
	var url = gUrlOrneo + 'mt/ajax/mtcheck';
	// recup du code saisi
	var params = 'code=' + $F('code3');	
	// on appelle en ajax le script php qui check le code
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: params, 
				onComplete: handleCode3
			});
}


function handleCode1(Request){
	var response = Request.responseText;
	// on cache le div error (si ce netait deja fait)
	$('span-error').hide();
	
	if (response == 'OK'){ // si ok 
		// si nb code > 1 
		if (gNbCodes > 1){
			// on active le code suivant 2 
			$('code2').enable();
			$('button2').enable();
			// et on desactive le code utilise, 1, en affichant un OK texte
			$('code1').disable();
			$('button1').hide();
			$('span1').show();
			
			new Insertion.Before('span-error', '<span style="color:green">1er code valide :)</span>');
			
			$('code2').focus();
		} else {	// si nbcode = 1 cest le dernier check, si ok on redir
			endCheckCodes(); // appel le php qui log en base et retourne l'url de destination
		}
	} else {	// sinon pas ok -> on affiche span-error avec message d'erreur
		$('span-error').show();		
		$('button1').enable();
	}
}	

function handleCode2(Request){
	var response = Request.responseText;
	
	// on cache le div error (si ce netait deja fait)
	$('span-error').hide();
	
	if (response == 'OK'){ // si ok
		// si nb code > 2 
		if (gNbCodes > 2){ 
			// on active le code suivant 3
			$('code3').enable();
			$('code3').focus();
			$('button3').enable();
			// et on desactive le code utilisé, 2, en affichant un OK texte
			$('code2').disable();
			$('button2').hide();
			$('span2').show();
			new Insertion.Before('span-error', '<span style="color:green">2eme code valide :)</span>');
		} else {	// si nbcode = 2 cest le dernier check, si ok on redir
			endCheckCodes(); // appel le php qui log en base et retourne l'url de destination
		}
	} else {	// sinon pas ok -> on affiche span-error avec message d'erreur
		$('span-error').show();		
		$('button2').enable();
	}
}	

function handleCode3(Request){
	var response = Request.responseText;
	// on cache le div error (si ce netait deja fait)
	$('span-error').hide();
	
	if (response == 'OK'){ // si ok
		// si nb code > 3 
		// devrait etre tjs le cas si on arrive la car rarement plus de 3 codes
		if (gNbCodes > 3){ 
			// on active le code suivant	
			//$('code2').enable();
			//$('button2').enable();
			// et on desactive le code precedent 1 en affichant un OK texte
			$('code3').disable();
			$('button3').hide();
			$('span3').show();
			
		} else {	// si nbcode = 3 cest le dernier check, si ok on redir
			endCheckCodes(); // appel le php qui log en base et retourne l'url de destination
		}
	} else {	// sinon pas ok -> on affiche span-error avec message d'erreur
		$('span-error').show();		
		$('button3').enable();
	}
}
	

function endCheckCodes(){
	var url = gUrlOrneo + 'mt/ajax/dispatch/ajaxkey/' + gAjaxKey;
	parent.location.href = url;
	
}


