	dwr.engine._defaultPath = 'https://www.blackberry.com/express/dwr';   
	expressHandler._path = 'https://www.blackberry.com/express/dwr';     
	DWREngine.setRpcType(DWREngine.ScriptTag);


	var valid = false;
	
  	function pinValidation(val) {
			//alert('test');
			submitbtn.disabled = true;
			submitbtn.value = "Validating..."
			
			expressHandler.getPINUsed(val, {
				callback:function(dataFromServer) { 
					usedCallback(dataFromServer, val);
				}
			});
			
		}
  	
  	function usedCallback(data, val) {
	//alert('test');
  		if (data == true) // PIN has been used
  		{	showError('PIN has already been used!'); 
			submitbtn.disabled = false;
			submitbtn.value = "Submit"
			valid=false;
		}
  		else {
  			expressHandler.checkPin(val, SAPCallback);
  		}
  	}
  	
  	function SAPCallback(data) {
  		var errorArea = document.getElementById('pinerror');
		submitbtn.disabled = false;
		submitbtn.value = "Submit"
		if (data) // everything is okay
  		{ 

			errorArea.innerHTML = "&nbsp;";
			
			valid = true;
		}
  		else				// not okay 		
  		{ 
		  showError('Invalid Pin'); 
		  valid = false;
		  
		}
  	}
	
	function showError(errorString){
		var errorArea = document.getElementById('pinerror');
		var pinField = document.getElementById('pin');

		errorArea.innerHTML = errorString;
		
		pinField.focus();
		pinField.select();		

	}

	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;

			}
			valid = false
			
		}
	}
	
	function isValid(){
		
		if(!valid){
			alert('Please enter a valid PIN');
			
			var pinField = document.getElementById('pin');
			pinField.focus();
			pinField.select();
			
			return false;
		}
	
		return true;
	}