/**
 * Global.
 */
var SUBMIT = 'Valider';
var CANCEL = 'Annuler';
var RESET = 'Corriger';

var password_maxlength = 4;

/**
 *
 */
function showPad(divId, formId, action) 
{
	if (document.getElementById(divId).innerHTML=='')
	{
 		buildPad(divId, formId, action);
 		shakePad();
 		document.getElementById('menuLogitelnet').style.display='none';
 		document.getElementById('menuSogessur').style.display='block';	
 	}
}

/**
 *
 */
function buildPad(divId, formId, action) 
{
 	var a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

 	var div = document.getElementById(divId);

 	var form = document.getElementById(formId);

 	var table = document.createElement('table');
 	
 	table.id = 'tableVisualNumPad';
 	table.className = 'tableVisualNumPad' ;

	div.appendChild(table);
	var row;
	var cell;
	var element;
	var z = 0;
	row = table.insertRow(table.rows.length);
	row.id = 'row_-1';
	row.style.textAlign = 'center';
	cell = row.insertCell(0);
	cell.setAttribute('colSpan', '4');
	cell.id = 'cell_-1_0';

	var span = document.createElement('span');
	span.id = 'spanVisualNumPad';
	span.className = 'labelPassword' ;
	span.innerHTML = 'Votre code secret';
	cell.appendChild(span);
	
	row = table.insertRow(table.rows.length);
	row.style.textAlign = 'center';
	cell = row.insertCell(0);
	cell.setAttribute('colSpan', '4');

	element = document.createElement('input');
	element.type = 'password';
	element.id = 'password';
	element.value = '';
    element.maxLength = password_maxlength;
	element.style.width = '60px';
	element.style.height = "15px";
	element.style.fontWeight = "bold";
	element.style.fontSize = "16px";
	element.disabled = 'disabled';
	cell.appendChild(element);
	
	row = table.insertRow(table.rows.length);
	row.style.textAlign = 'center';
	cell = row.insertCell(0);
	cell.setAttribute('colSpan', '4');
	
 	for (var r = 0; r < 4; r++) 
 	{
  		row = table.insertRow(table.rows.length);
  		row.id = 'row_' + r;
  		row.style.textAlign = 'center';
  		
  		for (var c = 0; c < 4; c++) 
  		{
   			cell = row.insertCell(c);
   			cell.id = 'cell_' + r + '_' + c;
   			element = document.createElement('input');
   			element.type = 'button';
   			element.id = 'button_' + r + '_' + c;
   			element.className = 'padButton' ;
   			element.value = (a[z] != undefined) ? a[z] : '';
   			element.onclick = function() { buttonClick(form, this,divId,action); };
   			cell.appendChild(element);
   			z++;
  		}
 	}
	row = table.insertRow(table.rows.length);
	row.id = 'row_4';
	row.style.textAlign = 'center';	
	cell = row.insertCell(0);
	cell.setAttribute('colSpan', '4');
	cell.id = 'cell_0_4';

	var row = table.insertRow(table.rows.length);
	row.id = 'row_5';
	row.style.textAlign = 'center';
	cell = row.insertCell(0);
	cell.setAttribute('colSpan', '2');
	cell.id = 'cell_0_5';
	element = document.createElement('input');

	element.className = 'groovybutton' ;
	element.type = 'button';
	element.id = 'button_0_5';
	element.value = CANCEL;

 	element.onclick = function(){buttonClick(form, this,divId,action);};

	cell.appendChild(element);
	cell = row.insertCell(1);
	cell.setAttribute('colSpan', '2');
	cell.id = 'cell_1_5';
	element = document.createElement('input');
	element.className = 'groovybutton' ;
	element.type = 'button';
	element.id = 'button_1_5';
	element.value = RESET;
	element.onclick = function(){buttonClick(form, this,divId,action);};
	cell.appendChild(element);
	
	row = table.insertRow(table.rows.length);
	row.style.textAlign = 'center';
	cell = row.insertCell(0);
	cell.setAttribute('colSpan', '4');
	element = document.createTextNode(String.fromCharCode(160));
	cell.appendChild(element);
	
	row = table.insertRow(table.rows.length);
	row.id = 'row_6';
	row.style.textAlign = 'center';
	cell = row.insertCell(0);
	cell.setAttribute('colSpan', '4');
	cell.id = 'cell_0_6';
	element = document.createElement('input');
	element.className = 'groovybutton' ;
	element.type = 'submit';
	element.id = 'button_0_6';
	element.value = SUBMIT;
	element.style.width = '60px';
	element.onclick = function(){buttonClick(form, this,divId,action);};
	cell.appendChild(element);

}

/**
 *
 */
function shakePad() 
{
	for (var i = 0; i < 4; i++) 
	{
		for (var j = 0; j < 4; j++) 
		{
			m = Math.round(parseInt(Math.random() * 3) + 1);
			n = Math.round(parseInt(Math.random() * 3 ) + 1);
			
			var v = document.getElementById('button_' + i + '_' + j).value;
			var w = document.getElementById('button_' + m + '_' + n).value;
			
			document.getElementById('button_' + i + '_' + j).value = w;
			document.getElementById('button_' + m + '_' + n).value = v;
		}
	}
}

/**
 *
 */
function buttonClick(form, button,divId,action) 
{
 	if (button.id == 'button_0_5') 
 	{
  		document.getElementById('buttonVisualNumPad').disabled = false;
  		document.getElementById(divId).innerHTML='';
 	}
 	else if (button.id == 'button_1_5') 
 	{
  		document.getElementById('password').value = '';
  		shakePad();
 	}
 	else if (button.id == 'button_0_6') 
 	{
  		document.getElementById('passwd').value = document.getElementById('password').value;
  		form.action=action;
  		form.submit();
 	}
 	else 
 	{
 	    if (document.getElementById('password').value.length < password_maxlength) {
			document.getElementById('password').value += button.value;
		}
 	}
}

