/**
 * @author Jordi Touza Bonnin
 */

var KEY_RETURN 			= 13;
var KEY_TAB 			= 9;
var KEY_ESC 			= 27;
var KEY_ARROW_LF 		= 37;
var KEY_ARROW_UP 		= 38;
var KEY_ARROW_RG 		= 39;
var KEY_ARROW_DN 		= 40;

var PATTERN_ALPHA 		= /^[a-zA-Z_]+$/;
var PATTERN_ALPHANUM 	= /^[a-zA-Z0-9_]+$/;
var PATTERN_EMAIL 		= /^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/;
var PATTERN_URL 		= /(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;
	
if (typeof(funky) == "undefined")
	_funky = funky 	= {};	

/**
 * Array prototype indexOf
 * busca la cadena en el array y devuelve el indice
 * @param {string} sValue
 */	
Array.prototype.indexOf = function(sValue) {
	
	for (var i=0; i<this.length; i++) if(this[i] == sValue) return i;
	return false;
}

/**
 * String prototype trim
 * Elimina los espacions en blanco del principio de la cadena
 */
String.prototype.trim = function(){ 

	return this.replace(/^\s+|\s+$/g,'');
}

/**
 * String prototype strReplace
 * Remplaza el texto por el buscado en la cadena
 * @param {String} str_search
 * @param {String} str_replace
 */
String.prototype.strReplace = function(str_search, str_replace){
	
	return this.split(str_search).join(str_replace);
}

String.prototype.isEmail	= function(){ return PATTERN_EMAIL.test(this);}
String.prototype.isVoid  	= function(){ return this == "";}
String.prototype.isALPHA 	= function(){ return ALPHA.test(this);}
String.prototype.isALPHANUM = function(){ return ALPHANUM.test(this);}
String.prototype.isURL 		= function(){ return URL.test(this);}
