﻿/*
 * Patr�n que s�lo permite introducir n�meros en un campo.
 * Par�metros: 	e - evento, form - forma que contiene al campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function numbers1(e){
	pattern = /\d/;
	return allow(e, pattern);
}

function numbers4(e, form){
	pattern = /\d/;
	return allow2(e, form, pattern);
}

/*
 * Patr�n que s�lo permite introducir n�meros, puntos y comas en un campo.
 * Par�metros: 	e - evento, form - forma que contiene al campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function numbers2(e){
	pattern = /[0-9\.,]/;
	return allow(e, pattern);
}

/*
 * Patr�n que s�lo permite introducir n�meros y puntos en un campo.
 * Par�metros: 	e - evento, form - forma que contiene al campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function numbers3(e){
	pattern = /[0-9\.]/;
	return allow(e, pattern);
}

/*
 * Patr�n que s�lo permite introducir letras, acentos, di�resis, ap�strofe y espacio en un campo.
 * Par�metros: 	e - evento, form - forma que contiene al campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function characters1(e){
	pattern = /[a-zA-Zá-úÁ-Úä-üÄ-Üà-ùÀ-Ùâ-ûÂ-ÛñÑ'\s]/;
	return allow(e, pattern);
}

/*
 * Patr�n que s�lo permite introducir letras, n�meros, acentos, di�resis, gui�n, punto, coma y espacio en un campo.
 * Par�metros: 	e - evento, form - forma que contiene al campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function alphanumeric(e){
	pattern = /[a-zA-Z0-9á-úÁ-Úä-üÄ-Üà-ùÀ-Ùâ-ûÂ-ÛñÑ\-\.\s,]/;
	return allow(e, pattern);
}

/*
 * Patr�n que s�lo permite introducir letras y n�meros en un campo.
 * Par�metros: 	e - evento, form - forma que contiene al campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function alphanumeric2(e){
	pattern = /\w/;
	return allow(e, pattern);
}

function alphanumeric3(e, form){
	pattern = /\w/;
	return allow2(e, form, pattern);
}

function alphanumeric4(e, form){
	pattern = /[a-zA-Z0-9á-úÁ-Úä-üÄ-Üà-ùÀ-Ùâ-ûÂ-ÛñÑ\-\.\s]/;
	return allow2(e, form, pattern);
}

function alphanumeric5(e, form){
	pattern = /[a-zA-Z0-9\-]/;
	return allow2(e, form, pattern);
}

/*
 * Patr�n que s�lo permite introducir letras, n�meros, arroba, gui�n bajo, gui�n y punto en un campo.
 * Par�metros: 	e - evento, form - forma que contiene al campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function mail(e){ //
	pattern = /[a-zA-Z0-9_\-\.@]/;
	return allow(e, pattern);
}

/*
 * Patr�n que s�lo permite introducir letras y n�meros en los campos, espec�ficamente usado para el REC.
 * Par�metros: 	i - campo que genera el evento, e - evento, form - forma que contiene al campo, name - nombre del campo.
 * Devuelve:	true o false, depende de la funci�n que controla las teclas permitidas.
 */
function rec(i, e, name){
	pattern = /\w/;
	return serial(i, e, name, pattern);
}

/*
 * Permite s�lo escribir el patr�n definido para cada campo.
 * Al presionar enter se activa la validaci�n de toda la forma.
 * Par�metros:	e - evento, form - forma que contiene al campo, pattern - patr�n de teclas permitidas.
 * Devuelve:	true si la tecla ser� permitida, false en caso contrario.
 */
function allow(e, pattern){
	var keycode;
	if (e) 
		e = e
	else 
		e = window.event
	if (e.which) 
		keycode = e.which
	else 
		keycode = e.keyCode;
	str = String.fromCharCode(keycode);
	if (pattern.test(str) || keycode == 8 || keycode == 9 || keycode == 13) 
		return true;
	return false;
}

/*
 * Permite s�lo escribir el patr�n definido para cada campo.
 * Al presionar enter se activa la validaci�n de toda la forma.
 * Par�metros:	e - evento, form - forma que contiene al campo, pattern - patr�n de teclas permitidas.
 * Devuelve:	true si la tecla ser� permitida, false en caso contrario.
 */
function allow2(e, form, pattern){
	var keycode;
	if (e) 
		e = e
	else 
		e = window.event
	if (e.which) 
		keycode = e.which
	else 
		keycode = e.keyCode;	
	str = String.fromCharCode(keycode);	
	if (keycode == 13)
		return validation(form);
	else if (pattern.test(str) || keycode == 8 || keycode == 9) 
		return true;	
	return false;
}
/************************/
function Upper(field) {
	field.value = field.value.toUpperCase();
	return field.value;
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
		
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	
	if(cents<10) cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+

	num.substring(num.length-(4*i+3));
	
	return (((sign)?'':'-') + num + '.' + cents);
}
/**********************/