dwr.engine._defaultPath = 'https://www.blackberry.com/express/dwr';   
	expressHandler._path = 'https://www.blackberry.com/express/dwr';     
	DWREngine.setRpcType(DWREngine.ScriptTag);

  	function pinValidation(val) {
			//alert('test');
			submitbtn.value = "En cours de validation..."
			expressHandler.getPINUsed(val, {
				callback:function(dataFromServer) { 
					usedCallback(dataFromServer, val);
				}
			});
			
		}
  	
  	function usedCallback(data, val) {
	//alert('test');
  		if (data == true) // PIN has been used
  		{	showError('Ce code PIN a déjà été utilisé!'); }
  		else {
  			expressHandler.checkPin(val, SAPCallback);
  		}
  	}
  	
  	function SAPCallback(data) {
  		var errorArea = document.getElementById('pinerror');
		if (data) // everything is okay
  		{ 
			//alert("all good!"); 
			errorArea.style.visibility = 'hidden';
			submitbtn.disabled = false;
			submitbtn.style.cursor = "pointer";
			submitbtn.value = "Soumettre"
		}
  		else				// not okay 		
  		{ 
		  showError('Veuillez saisir un code PIN valide'); 
		  submitbtn.value = "Code PIN invalide"	
		  
		}
  	}
	
	function showError(errorString){
		var errorArea = document.getElementById('pinerror');
		var pinField = document.getElementById('pin');
		
		errorArea.style.visibility = 'visible';
		errorArea.innerHTML = errorString;
		
		pinField.focus();
		pinField.select();		
		
		submitbtn.style.cursor = "none";
		submitbtn.disabled = true;
	}

	function regExCheck(formElement,pattern){
		var regEx = new RegExp(pattern);
		var value = formElement.value;
		
		return value.match(regEx);
	}
	
	var lengthFlag = false;
	
	function checkLength(text){
		
		submitbtn = document.getElementById('submitBtn');
		if(regExCheck(text,'^[0-9a-fA-F]{8}$') && !lengthFlag){			
			pinValidation(text.value);
			lengthFlag = true;
		}
		else{
			if(text.value.length < 8){
				lengthFlag = false;
				submitbtn.value = "Valider le code PIN"
			}
			submitbtn.disabled = true;
			
		}
	}
