//<![CDATA[

function validar(frm, option)
{
	var enviar = false;
	var errores = '';
	
	// Verifica los datos de la reserva
	if (( frm.desde.value == '') || ( frm.desde.value == 'seleccione ->' ))	errores += '   - No ha ingresado la fecha "Desde". \n';
	if (( frm.hasta.value == '') || ( frm.hasta.value == 'seleccione ->' ))	errores += '   - No ha ingresado la fecha "Hasta". \n';
	if ( frm.personas.value == '' )		errores += '   - No ha ingresado la cantidad de personas. \n';
	if ( frm.cuartos.value == '' )		errores += '   - No ha ingresado la cantidad de cuartos. \n';
	
	//si es verdadero verifica todos los datos
	if (option)
	{
		if (( frm.nombre.value == '' ) || ( frm.nombre.value == '[Requerido]' ))	errores += '   - No ha ingresado su Nombre completo. \n';
		
		var mascError;
		mascError = chequearemail(frm.email.value);
		if ( mascError & 1 ) errores += '   - Debe proporcionar una direccion de Email para contactarnos con Ud. \n';
		if ( mascError & 2 ) errores += '   - La direccion de Email proporcionada no es valida\n     (username no valido). \n';
		if ( mascError & 4 ) errores += '   - La direccion de Email proporcionada no es valida\n     (no contiene un dominio). \n';
		if ( mascError & 8 ) errores += '   - La direccion de Email proporcionada no es valida\n     (dominio no valido). \n';

		if (( frm.telefono.value == '' ) 	|| ( frm.telefono.value == '[Requerido]' ))	errores += '   - Debe proporcionarnos un Telefono de contacto. \n';
		if (( frm.donde.value == '' ) 		|| ( frm.donde.value == '[Requerido]' ))	errores += '   - Debe proporcionarnos una Direccion, Ciudad... . \n';
		
		if ( check_checkbox('como')			== 0 ) errores += '   - Indiquenos como nos conocio? \n';
		if ( check_checkbox('servicios')	== 0 ) errores += '   - Indiquenos el servicio por el que esta interesado? \n';

		//if ( check_checkbox2(frm.como) 		== 0 ) errores += '   - Indiquenos como nos conocio? \n';
		//if ( check_checkbox2(frm.servicios)	== 0 ) errores += '   - Indiquenos el servicio por el que esta interesado? \n';
	}
	
	if ( errores != '' )	alert('Por favor corrija los siguientes errores para continuar:\n\n' + errores);	
	
	return (errores == '');
}


function chequeardom(dom)
{
	if ( dom == '' ) return 1;
	if (dom.indexOf('.') < 1 ) return 2
	if (dom.lastIndexOf('.') < dom.length - 4) return 2
	if (dom.lastIndexOf('.') > dom.length - 3) return 2
}


function chequearemail(email)
{
	if ( email == '' ) return 1;
	if ( email.indexOf('\@') < 1 ) return 2;
	
	var domemail = email.substring(email.indexOf('@') + 1, email.length);
	return chequeardom(domemail) << 2;
}


function check_checkbox(checkboxes)
{
	var cont = 0;
	//alert('01 - cont: ' + cont );
	var array_checkbox = document.form01[checkboxes + '[]'];
	for (var x=0; x < array_checkbox.length; x++) {
		//alert('02 - cont: ' + cont );
		if (array_checkbox[x].checked) {
			cont = cont + 1;
			//alert('03 - cont: ' + cont );
			break;
 		}
 	}
 	return cont;
}

function check_checkbox2(checkboxes)
{
	alert('ok');
	var msg = "Checkbox seleccionados: \n";
	var cont = 0;
	for (var x=0; x < checkboxes.length; x++) {
 		if (checkboxes[x].checked) {
			cont = cont + 1;
 			msg += cont + ' ';
 		}
 	}
 	return cont;
}


<!-- Setting botones del calendario -->
Calendar.setup({inputField : "desde", button : "button-desde", ifFormat : "%A, %e %B, %Y" });
Calendar.setup({inputField : "hasta", button : "button-hasta", ifFormat : "%A, %e %B, %Y" });


function fx_form_control(element, text, opt)
{
	if ((opt == 'onfocus') && (element.value == text)) { element.value='' };
	if ((opt == 'onblur')  && (element.value == '')) { element.value= text };
}

//]]>
