/**********************************************
*checkDate
*
*	Verifica que la fecha sea valida
**********************************************/
function checkDate(d, m, a)
{
	var fecha = new Date(a, m-1, d);

	//alert(fecha.getDate()  + "-" + fecha.getMonth() + "-" + fecha.getFullYear());
	if (fecha.getDate() == d && fecha.getMonth() == m-1 && fecha.getFullYear() == a)
		return true;
	else
		return false;
}

/*****************************************************
*checkTextDate(date,sep,pattern)
* patterns : dd<sep>mm<sep>yyyy y mm<sep>dd<sep>yyyy
*	Verifica que la fecha sea valida
*****************************************************/
function checkTextDate(date,sep,pattern){
	var first,tmp,second,third;
	first = date.substring(0,date.indexOf(sep));
	tmp = date.substring(date.indexOf(sep) + 1,date.length);
	second = tmp.substring(0,tmp.indexOf(sep));
	third = tmp.substring(tmp.indexOf(sep) + 1,tmp.length);
	var d, m, y;
	if(pattern==("dd" + sep + "mm" + sep + "yyyy")){
		d = first;
		m = second;
		y = third;
	}else{
		if(pattern==("mm" + sep + "dd" + sep + "yyyy")){
			m = first;
			d = second;
			y = third;
		}
	}
	return checkDate(d,m,y);
}

/**********************************************
*habilitarPeliculaFlash
*
*	No es necesario el click inicial para
*   habilitar la pelicula flash
**********************************************/
function habilitarPeliculaFlash() {
	objects = document.getElementsByTagName("object");
	for (var i = 0; i < objects.length; i++)
	{
	    objects[i].outerHTML = objects[i].outerHTML;
	}
}

/*****************************************************
*isInteger(value)
*
*	Verifica que el valor ingresado sea un entero
*****************************************************/
function isInteger(valor){
	var r = new RegExp("^[0-9]*$");
	return (r.test(valor));
}

/*****************************************************
*isFloat(value)
*
*	Verifica que el valor ingresado sea un
	float valido
*****************************************************/
function isFloat(valor){
	var RegExPattern = /^\d*\.?\d*$/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}

/*****************************************************
*isFloatWithSign(value)
*
*	Verifica que el valor ingresado sea un
	float válido permitiendo valores negativos
*****************************************************/
function isFloatWithSign(valor){
	var RegExPattern = /^[+-]?\d+((\.{0})||(\.\d{0,2}))$/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}


/*****************************************************
*isNegativeFloat(value)
*
*	Verifica que el valor ingresado sea un
	float válido permitiendo sólo valores negativos.
*****************************************************/
function isNegativeFloat(valor){
	var RegExPattern = /^-\d+(\.\d+)?$/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}


/**********************************************
*validEmail
*
*	Verifica que la direccion de mail
*   este correctamente formada.
**********************************************/
function validEmail(mail){
	var ret = true;
	var filter = /^[A-Za-z][A-Za-z0-9_.\-]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (!filter.test(mail)){
		ret = false;
	}
	return ret;
}

/**********************************************
*validPhone
*
*	Verifica que telefono sea válido
*   (solo nros. enteros y guiones)
**********************************************/
function validPhone(valor){
	var RegExPattern = /^\d*\-?\d*$/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}

/*****************************************************
*isString(value)
*
*	Verifica que el valor ingresado sea un string
*   conteniendo solo letras.
*****************************************************/

function isString(valor){
	var r = new RegExp("^[a-zA-Z]*$");
	return (r.test(valor));
}

/*****************************************************
*isValidString(value)
*
*	Verifica que el valor ingresado sea un string
*   conteniendo solo letras y espacios en blanco.
*****************************************************/

function isValidString(valor){
	var RegExPattern = /^[a-zA-Z\s]*$/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}

/*****************************************************
*isValidAlphanumeric(value)
*
*	Verifica que el valor ingresado sea un string
*   conteniendo solo letras, nros. y espacios en blanco.
*****************************************************/

function isValidAlphanumeric(valor){
	var RegExPattern = /^[a-zA-Z0-9\s]*$/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}

/*****************************************************
*isValidAlphanumericPunto(value)
*
*	Verifica que el valor ingresado sea un string
*   conteniendo solo letras, nros., punto y espacios en blanco.
*****************************************************/

function isValidAlphanumericPunto(valor){
	var RegExPattern = /^[a-zA-Z0-9.]*$/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}

/*****************************************************
*isValidAlphanumericAcentos(value)
*
*	Verifica que el valor ingresado sea un string
*   conteniendo solo letras, numeros, espacion en blanco y acentos.
*****************************************************/

function isValidAlphanumericAcentos(valor){
	var RegExPattern = /^[a-zA-Z0-9\sáéíóúñÁÉÍÓÚÑüÜ]/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}


/*****************************************************
*isValidAlphanumericPuntosVenta(value)
*
*	Verifica que el valor ingresado sea un string
*   conteniendo solo letras, numeros, espacion en blanco, 
*   guiones, puntos y acentos.
*****************************************************/

function isValidAlphanumericPuntosVenta(valor){
	var RegExPattern = /^[a-zA-Z0-9\s\.\-áéíóúñÁÉÍÓÚÑüÜ]/;
	if (!(valor.match(RegExPattern))) {
		return false;
	}
	return true;
}

/*****************************************************

/*****************************************************
*isNotStrange(value)
*
*	Verifica que el valor ingresado sea un string
*   compuesto por letras y/o nros. solamente
*****************************************************/
function isStrange(valor){
	var r = new RegExp("^[a-zA-Z0-9]*$");
	return (r.test(valor));
}

/*****************************************************
*isEmpty(value)
*
*	Verifica que el valor ingresado no este vacio
*****************************************************/
function isEmpty(valor){
	if (valor == ''){
		return true;
	}
	return false;
}

/*****************************************************
*isImagen(formulario, archivo)
*
*	Verifica que el archivo tenga extension de
	imagen valida
*****************************************************/
function isImagen(archivo) {
	var permitidas = new Array("gif", "jpg", "bmp", "npg", "jpeg", "ico");
	var estaPermitida = false;
	var extension = "";
   	//chequeo que archivo tenga un "."
   	if(archivo.lastIndexOf(".") != -1) {
		//recupero la extensi�n de este nombre de archivo
		extension = (archivo.substring(archivo.lastIndexOf(".") + 1)).toLowerCase();
		//compruebo si la extensi�n est� entre las permitidas.
   		for(var i = 0; i < permitidas.length; i++) {
      		if (permitidas[i] == extension) {
         		estaPermitida = true;
         		break;
      		}
   		}
   	}

	return estaPermitida;
}

/*****************************************************
*isBanner(formulario, archivo)
*
*	Verifica que el archivo tenga extension de
	imagen valida
*****************************************************/
function isBanner(archivo) {
	var permitidas = new Array("gif", "jpg", "bmp", "npg", "jpeg", "ico", "swf");
	var estaPermitida = false;
	var extension = "";
   	//chequeo que archivo tenga un "."
   	if(archivo.lastIndexOf(".") != -1) {
		//recupero la extensi�n de este nombre de archivo
		extension = (archivo.substring(archivo.lastIndexOf(".") + 1)).toLowerCase();
		//compruebo si la extensi�n est� entre las permitidas.
   		for(var i = 0; i < permitidas.length; i++) {
      		if (permitidas[i] == extension) {
         		estaPermitida = true;
         		break;
      		}
   		}
   	}

	return estaPermitida;
}

/*****************************************************
*isValidURL(url)
*
*	Verifica que la URL este bien formada
*****************************************************/
function isValidURL(url) {
	var re=/^http:\/\/\w+(\.\w+)*\./;
	return re.test(url);
}


/*****************************************************
*checkIp(ip)
*
*	Verifica que la dirección ip pasada como parámetro
*	esté bien formada, utilizando Expresiones Regulares
*****************************************************/


function checkIp(ip){
	var regexp = new RegExp(/^(([01]?\d\d?)|(2[0-4]\d)|(25[0-5])).(([01]?\d\d?)|(2[0-4]\d)|(25[0-5])).(([01]?\d\d?)|(2[0-4]\d)|(25[0-5])).(([01]?\d\d?)|(2[0-4]\d)|(25[0-5]))$/);

	return regexp.test(ip);
}

function onSubmitStruts(action, form, go) {
	var htmlForm = document.forms[form];
	htmlForm.action.value = action;
	htmlForm.method.value = go;
	htmlForm.submit();
}

function onSubmitStrutsValidate(action, form, go) {	
	var htmlForm = document.forms[form];
	htmlForm.action.value = action;
	htmlForm.method.value = go;	
	if (eval(htmlForm.onsubmit())) {		
		htmlForm.submit();		
	}
}

function go(link){
	document.location.href = link;
}

function centrarWindow(theURL, winName, features, myWidth, myHeight, isCenter) { //v3.0
    var ventana;
    if(window.screen)if(isCenter)if(isCenter=="true"){
            var myLeft = (screen.width-myWidth)/2;
            var myTop = (screen.height-myHeight)/2;
            features+=(features!='')?',':'';
            features+='left='+myLeft+',top='+myTop;
    }
    winName = winName.replace(/ /g, "");
    ventana = window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight);
    return ventana;
}


