 /** Resta de fechas 
 * @param {String} strInput1 la fecha 1
 * @param {String} strInput2 la fecha 2
 * @return la diferencia en dias
 */
 function restDates(strInput1, strInput2) {
	var arrFecha1 = strInput1.split("-");
	var datFechaValida1 = new Date(arrFecha1[0], arrFecha1[1] - 1, arrFecha1[2]);
	var arrFecha2 = strInput2.split("-");
	var datFechaValida2 = new Date(arrFecha2[0], arrFecha2[1] - 1, arrFecha2[2]);
	var intAjuste = 86400000;
	return ((datFechaValida1 - datFechaValida2) / intAjuste);
}

/** Controla si datFecha es una fecha valida 
 * @param {String} datFecha la fecha 
 * @return true si la fecha es valida,sino false
 */
function isDate(datFecha) {
	var arrFecha = datFecha.split("-");
	var datFechaValida = new Date(arrFecha[0], arrFecha[1] - 1, arrFecha[2]);
	if ((arrFecha[2] == datFechaValida.getDate()) && 
		(arrFecha[1] == (datFechaValida.getMonth() + 1)) && 
		(arrFecha[0] == datFechaValida.getFullYear()))
		return true;
	else
		return false;
}

/** Controla si objInput es una fecha valida 
 * @param {Object} nombre del objeto
 * @return true si la fecha es valida,sino false
 * @see isDate
 */
function isValidDate(objInput) {
	var strRegExp = "^[0-9]{4}\-[0-9]{2}\-[0-9]{2}";
	var objRegExp = new RegExp(strRegExp);
	if ((!objRegExp.test(objInput.value)))
			return false;
	else if(!isDate(objInput.value))
			return false;
	return true;
}

/** Controla si objInput es un float valido 
 * @param {Object} nombre del objeto
 * @return true si es un float valido,sino false 
 */
function isValidFloat (objInput) {
	var strRegExp = "^(([0-9])*)+(\\.[0-9]+)?$";
	var objRegExp = new RegExp(strRegExp);
	if ((!objRegExp.test(objInput.value)))
			return false;
	return true;
}

/** Controla si objInput es un numero valido 
 * @param {Object} nombre del objeto
 * @return true si es un numero valido,sino false 
 */
function isValidNumber(objInput){
	var strRegExp = "^[0-9]+$";
	var objRegExp = new RegExp(strRegExp);
	if ((!objRegExp.test(objInput.value))) 
		return false;
	return true;
}

/** Controla si strInput es un mail valido 
 * @param {Object} nombre del objeto
 * @return true si objInput es valido, sino false
 */
function isValidEmail (objInput) {
	var strRegExp = "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$";
	var objRegExp = new RegExp(strRegExp);
	if ((!objRegExp.test(objInput.value)))
			return false;
	return true;
}

/** Controla si objInput es una url valida 
 * @param {Object} nombre del objeto
 * @return true si objInput es valido, sino false
 */
function isValidUrl (objInput) {
	var strRegExp = "^(http|ftp|https):\\/\\/[\\w]+(.[\\w]+)([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])$";
	var objRegExp = new RegExp(strRegExp);
	if ((!objRegExp.test(strInput.value)))
			return false;
	return true;
}

/** Muestra o oculta un bloque 
 * @param {Object} el id del bloque
 * @param {Boolean} true si desea mostrar el bloque,sino false
 */
function showBlock(id,blShow) {
	if(blShow){
		try{
			document.getElementById(id).style.display='table-row';
		}catch(E){
			try{				
				document.getElementById(id).style.display='block';
			}catch(OPERA){
				document.getElementById(id).style.visibility='visible';
			}
		}
	}else{
		try{
			document.getElementById(id).style.display = 'none';
		}catch(OPERA_ELSE){
			document.getElementById(id).style.visibility = 'hidden';
		}
	}	
}