var re = new RegExp("[A-Z]|[0-9]|[a-z]|[-,_]")

function actualizarContactoFotos(forma) {
	if (forma.idCiudad[forma.idCiudad.selectedIndex].value != 1) {
		forma.contactoParaFotos[1].checked = true;
	}

}

function validarLogin(login) {

	for (i = 0; i < login.value.length; i++) {

		if (re.exec(login.value.charAt(i)) == null) {

			_errores += "        Login\n"

			if (_campoError ==  null) {

				_campoError = login

			}

		}

	}

	return true;

}

function validarEmail(forma) {

	if (!isEmail(forma.EMAIL.value)) {

		_errores += "\n        Email\n"

	}

	if (_campoError ==  null) {

		_campoError = forma.EMAIL

	}

}

function ciudad(idCiudad, esEnLasAfueras, codigoPais, codigo) {

	this.idCiudad = idCiudad

	this.esEnLasAfueras = esEnLasAfueras

	this.codigoPais    = codigoPais

	this.codigo = codigo

}



function verificarSiCiudadEsEnLasAfueras(nombrePueblo) {

	if (!ciudadEsEnLasAfueras(nombrePueblo.form)) {

		nombrePueblo.value = "N / A"

		nombrePueblo.blur();

	}

}



function ciudadCambio(campo) {

	seNecesitaValidarDireccion = true;

	//verificarNombrePueblo(campo)

}



function verificarNombrePueblo(ciudad) {

	var laForma = ciudad.form;

	if (!ciudadEsEnLasAfueras(laForma)) {

		laForma.nombrePueblo.value = "N / A"

	} else if (laForma.nombrePueblo.value == "N / A") {

		laForma.nombrePueblo.value = ""

	}

}



function obtenerCiudadActual(forma) {

	var ciudadSeleccionada;
	
	var forma = document.laForma; 

	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value

	} else {

		ciudadSeleccionada = forma.idCiudad.value

	}

	var i;

	for (i = 0;i < ciudades.length ; i++) {

		if (ciudades[i].idCiudad == ciudadSeleccionada) {

			break;

		}

	}

	if (i == ciudades.length) {

		return null;

	}

	return ciudades[i]



}
function obtenerIdCiudadActual(forma) {

	var ciudadSeleccionada;
	
	var forma = document.laForma; 

	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value

	} else {

		ciudadSeleccionada = forma.idCiudad.value

	}

	

	return ciudadSeleccionada;



}
function obtenerCiudadActual2(ciudadAu) {

	
	var i;

	for (i = 0;i < ciudades.length ; i++) {

		if (ciudades[i].idCiudad == ciudadAu) {

			break;

		}

	}

	if (i == ciudades.length) {

		return null;

	}

	return ciudades[i]



}




function ciudadEsEnLasAfueras(forma) {

	var laCiudad = obtenerCiudadActual(forma);

	if (laCiudad && laCiudad.esEnLasAfueras == 'S') {

		return true;

	}

	return false;

}



function validarNombrePueblo(campo, msg) {

	if (!fuePublicado ) {

		forma = campo.form;

		if (ciudadEsEnLasAfueras(forma)) {

			validarCampo(campo, msg);

		}

	}

}





function verificarNroInterior(seleccion, forma) {

	if (!forma.nroInterior) {

		return

	}

	if (seleccion == "N") {

		forma.nroInterior.value = "N / A"

	} else {

		forma.nroInterior.value  = ""

	}

}

function verificarEnInterior(nroInterior) {

	if (!nroInterior) {

		return

	}

	forma = nroInterior.form

	if (forma.enInterior[1].checked || !forma.enInterior[0].checked) {

		nroInterior.value = "N / A";

		nroInterior.blur()

	}

}





function adicionarMeses(fechaInicial, meses) {

	var paraRetornar = new Date(fechaInicial.getTime());

	if (meses <= 0) {

		return paraRetornar;

	}

	paraRetornar.setMonth(paraRetornar.getMonth() * 1 + meses * 1);

	if (paraRetornar.getDate() != fechaInicial.getDate()) {

		var mes = paraRetornar.getMonth();

		do {

			paraRetornar.setDate(paraRetornar.getDate() - 1);

		} while (mes == paraRetornar.getMonth());

		return paraRetornar;

	}



	var otraFecha = new Date(fechaInicial.getTime());

	otraFecha.setDate(otraFecha.getDate() + 1)

	if (otraFecha.getMonth() != fechaInicial.getMonth()) {

		var mes = paraRetornar.getMonth();

		do {

			paraRetornar.setDate(paraRetornar.getDate() + 1);

		} while (mes == paraRetornar.getMonth());

		paraRetornar.setDate(paraRetornar.getDate() - 1);

	}

	return paraRetornar;

}





function validarFechaExpiracionOld(forma) {

	if (validarFecha(forma.diaExpiracion, forma.mesExpiracion, forma.anoExpiracion, "Fecha de expiraci�n")) {

		fechaPublicacion = forma.diaPublicacion.value + "/" +

			forma.mesPublicacion.options[forma.mesPublicacion.selectedIndex].value + "/" +

			forma.anoPublicacion.value;



		fechaExpiracion = forma.diaExpiracion.value + "/" +

			forma.mesExpiracion.options[forma.mesExpiracion.selectedIndex].value + "/" +

			forma.anoExpiracion.value

		if (compareDatesDMY(fechaExpiracion, fechaPublicacion) < 0) {

			appendErrorMessage("La fecha de expiraci�n debe ser mayor que la fecha de publicaci�n");

			_campoError = forma.diaExpiracion;

			return false;

		}



		if (vigente &&  _nroPeriodosOriginal == forma.nroPeriodosPublicacion.value * 1) {

			hoy = new Date();

			fHoy = hoy.getDate() + "/" + (hoy.getMonth() + 1) + "/" + hoy.getFullYear();



			if (compareDatesDMY(fechaExpiracion, fHoy) < 0) {

				appendErrorMessage("La fecha de expiraci�n debe ser mayor o igual que la fecha actual");

				_campoError = forma.diaExpiracion;

				return false;

			}

		}



		if (_comoNuevo) {

			maxFecExp = adicionarMeses(new Date(forma.anoPublicacion.value, forma.mesPublicacion.options[forma.mesPublicacion.selectedIndex].value - 1, forma.diaPublicacion.value), forma.nroPeriodosPublicacion.value * mesesXPeriodo);

			maxFec = maxFecExp.getDate() + "/" + (maxFecExp.getMonth() + 1) + "/" + maxFecExp.getFullYear()

			if (compareDatesDMY(maxFec, fechaExpiracion) < 0) {

				appendErrorMessage("La fecha de expiraci�n debe ser menor que la fecha de publicaci�n + el n�mero de meses comprados (" + maxFec + ")");

				_campoError = forma.diaExpiracion;

				return false;

			}

		}

		if ((vigente) || enEdicion) {

			fop = fechaOriginalPublicacion.split('/');

			maxFecExp = adicionarMeses(new Date(fop[2], fop[1]*1 - 1, fop[0]), forma.nroPeriodosPublicacion.value * mesesXPeriodo);

			maxFec = maxFecExp.getDate() + "/" + (maxFecExp.getMonth() + 1) + "/" + maxFecExp.getFullYear()

			if (compareDatesDMY(maxFec, fechaExpiracion) < 0) {

				appendErrorMessage("La fecha de expiraci�n debe ser menor que la fecha de publicaci�n + el n�mero de meses comprados (" + maxFec + ")");

				_campoError = forma.diaExpiracion;

				return false;

			}

		}

		return true;

	}

	return false;

}

function validarFechaExpiracionEdicion(forma) {

	if (validarFecha(forma.diaExpiracion, forma.mesExpiracion, forma.anoExpiracion, "Fecha de expiraci�n")) {
		fechaPublicacion = forma.diaPublicacion.value + "/" + forma.mesPublicacion.value + "/" +
				forma.anoPublicacion.value;

		fechaExpiracion = forma.diaExpiracion.value + "/" +

			forma.mesExpiracion.options[forma.mesExpiracion.selectedIndex].value + "/" +

			forma.anoExpiracion.value;
		
		if (compareDatesDMY(fechaExpiracion, fechaPublicacion) < 0) {

			appendErrorMessage("La fecha de expiraci�n debe ser mayor que la fecha de publicaci�n");
			_campoError = forma.diaExpiracion;
			return false;
		}
		
		hoy = new Date();
		fHoy = hoy.getDate() + "/" + (hoy.getMonth() + 1) + "/" + hoy.getFullYear();

		if (compareDatesDMY(fechaExpiracion, fHoy) < 0) {
			appendErrorMessage("La fecha de expiraci�n debe ser mayor o igual que la fecha actual");
			_campoError = forma.diaExpiracion;
			return false;
		}
		return true;

	}

	return false;

}

function validarFechaExpiracion(forma) {

	if (validarFecha(forma.diaExpiracion, forma.mesExpiracion, forma.anoExpiracion, "Fecha de expiraci�n")) {

		fechaPublicacion = forma.diaPublicacion.value + "/" +

			forma.mesPublicacion.value + "/" +

			forma.anoPublicacion.value;



		fechaExpiracion = forma.diaExpiracion.value + "/" +

			forma.mesExpiracion.value + "/" +

			forma.anoExpiracion.value

		if (compareDatesDMY(fechaExpiracion, fechaPublicacion) < 0) {

			appendErrorMessage("La fecha de expiraci�n debe ser mayor que la fecha de publicaci�n");

			_campoError = forma.diaExpiracion;

			return false;

		}



		if (vigente &&  _nroPeriodosOriginal == forma.nroPeriodosPublicacion.value * 1) {

			hoy = new Date();

			fHoy = hoy.getDate() + "/" + (hoy.getMonth() + 1) + "/" + hoy.getFullYear();



			if (compareDatesDMY(fechaExpiracion, fHoy) < 0) {

				appendErrorMessage("La fecha de expiraci�n debe ser mayor o igual que la fecha actual");

				_campoError = forma.diaExpiracion;

				return false;

			}

		}



		if (_comoNuevo) {

			maxFecExp = adicionarMeses(new Date(forma.anoPublicacion.value, forma.mesPublicacion.value, forma.diaPublicacion.value), forma.nroPeriodosPublicacion.value * mesesXPeriodo);

			maxFec = maxFecExp.getDate() + "/" + (maxFecExp.getMonth() + 1) + "/" + maxFecExp.getFullYear()

			if (compareDatesDMY(maxFec, fechaExpiracion) < 0) {

				appendErrorMessage("La fecha de expiraci�n debe ser menor que la fecha de publicaci�n + el n�mero de meses comprados (" + maxFec + ")");

				_campoError = forma.diaExpiracion;

				return false;

			}

		}

		if ((vigente) || enEdicion) {

			//alert("Fecha Original de Publicacion " + fechaOriginalPublicacion);

			fop = fechaOriginalPublicacion.split('/');

			//alert("xx" + (fop[1]*1 - 1));

			maxFecExp = adicionarMeses(new Date(fop[2], fop[1]*1 - 1, fop[0]), forma.nroPeriodosPublicacion.value * mesesXPeriodo);

			maxFec = maxFecExp.getDate() + "/" + (maxFecExp.getMonth() + 1) + "/" + maxFecExp.getFullYear()

			//alert("Maxima FEcha" + maxFec);

			//alert("Fecha Expiracion" + fechaExpiracion)

			if (compareDatesDMY(maxFec, fechaExpiracion) < 0) {

				appendErrorMessage("La fecha de expiraci�n debe ser menor que la fecha de publicaci�n + el n�mero de meses comprados (" + maxFec + ")");

				_campoError = forma.diaExpiracion;

				return false;

			}

		}

		return true;

	}

	return false;

}



function ContarPalabras2(idInmueble) {
	var cadena = document.laForma.textoClasificado.value;
	if(document.all)
		document.all('textoClasificado').innerHTML = cadena;
	else if(document.getElementById)
		document.getElementById('textoClasificado').innerHTML = cadena;
	document.laForma.t_texto.value = palabras(cadena);
	document.laForma.textAviso.value = cadena;
	
	document.laForma.textAviso2.value = cadena;	
	return true;
}



var maxNroPeriodos = 12

function validarForma2(forma)
{
	
	//var iFrameCiudades = document.getElementById("iFrameCiudades");
	//var iFrameCaracteristicas = document.getElementById("iFrameCaract");
	var iFrameCiudades = top.frames[1].document;
	var iFrameCaracteristicas = top.frames[2].document;
	
	var theFormCiudades=iFrameCiudades.laForma3;
	var theFormCaracteristicas=iFrameCaracteristicas.laForma2;
	
		
	
	forma.idRegion.value = theFormCiudades.idRegion[theFormCiudades.idRegion.selectedIndex].value;
	forma.idCiudad.value = theFormCiudades.idCiudad[theFormCiudades.idCiudad.selectedIndex].value;
	var ciuAux= theFormCiudades.idCiudad[theFormCiudades.idCiudad.selectedIndex].value;
	var dirAux=theFormCaracteristicas.direccion.value;
	if(forma.idCiudad.value==1 && (forma.idProducto.value==34||forma.idProducto.value==37))
	{
		alert ("La opci�n que ud eligi� es para inmuebles fuera de Bogot�");
		return false;
	}
	forma.idTipoInmueble.value = theFormCaracteristicas.idTipoInmueble[theFormCaracteristicas.idTipoInmueble.selectedIndex].value;
	//var valorNegocio= theFormCaracteristicas.tipoNegocio[theFormCaracteristicas.tipoNegocio.selectedIndex].value;
	//alert("theFormCaracteristicas.tipoNegocio[theFormCaracteristicas.tipoNegocio.selectedIndex].value  "+theFormCaracteristicas.tipoNegocio[theFormCaracteristicas.tipoNegocio.selectedIndex].value);
	if(theFormCaracteristicas.tipoNegocio[0].checked){
		//alert("llego aqui 1");
		forma.seVende.value="S";
		forma.seArrienda.value="N";
	}else if (theFormCaracteristicas.tipoNegocio[1].checked){
		//alert("llego aqui 2");
		forma.seVende.value="N";
		forma.seArrienda.value="S";
	}else if (theFormCaracteristicas.tipoNegocio[2].checked){
		//alert("llego aqui 3");
		forma.seVende.value="S";
		forma.seArrienda.value="S";
	}
	//alert("forma.idTipoInmueble.value "+forma.idTipoInmueble.value);
	//alert("valorNegocio "+valorNegocio.value);
	//alert("se vende: "+forma.seVende.value);
	//alert("se arrienda: "+forma.seArrienda.value);
	forma.direccion.value = theFormCaracteristicas.direccion.value;
	forma.direccionAproximada.value = theFormCaracteristicas.direccion.value;
	forma.nombreComunBarrio.value= theFormCaracteristicas.nombreComunBarrio.value;
	
	
	
	soloFaltaLaDireccion = false;
	
	_errores = ""
	_campoError = null;
	validarCampos2();
	if (theFormCaracteristicas.idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}
	if(theFormCiudades.idCiudad[theFormCiudades.idCiudad.selectedIndex].value==0){
		appendErrorMessage("No se ha seleccionado una ciudad");
	}
	if (!forma.fotosDigitales[0].checked && !forma.fotosDigitales[1].checked) {
		appendErrorMessage("Debe seleccionar si publica sus propias fotos");
	}
	if (forma.fotosDigitales[1].checked && !forma.contactoParaFotos[0].checked && !forma.contactoParaFotos[1].checked && forma.idCiudad.value == 1) {
		appendErrorMessage("Debe seleccionar si quiere que se le tomen fotos");
	}
	if (forma.contactoParaFotos[0].checked && forma.idCiudad.value != 1) {
		appendErrorMessage("La toma de fotograf�a solo es v�lida para la ciudad de Bogot�");
	}
	
	if (_errores != "") {
		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);
		//_campoError.focus();
		return false;
	}
	
	
	var i;

	for (i = 0; i < theFormCaracteristicas.elements.length; i++ ) {

		if (theFormCaracteristicas.elements[i].value) {

			if (theFormCaracteristicas.elements[i].value == "N / A") {

				theFormCaracteristicas.elements[i].value = "";

			}

		}

	}
	var adic = "";
	//alert("theFormCaracteristicas.elements.length "+theFormCaracteristicas.elements.length);
	for (i=0;i<=theFormCaracteristicas.elements.length-1;i++) {
		switch(theFormCaracteristicas.elements[i].type) {
			case "checkbox":
				if(theFormCaracteristicas.elements[i].checked) {
					adic = adic + theFormCaracteristicas.elements[i].name + "," + theFormCaracteristicas.elements[i].value + ";";
				}
				break;
			case "radio":
				if(theFormCaracteristicas.elements[i].checked) {
					adic = adic + theFormCaracteristicas.elements[i].name + "," + theFormCaracteristicas.elements[i].value + ";";
				}
				break;
			case "select-one":
				if(theFormCaracteristicas.elements[i].value != "") {
					adic = adic + theFormCaracteristicas.elements[i].name + "," + theFormCaracteristicas.elements[i].value + ";";
				}
				break;
			case "text":
				if(theFormCaracteristicas.elements[i].value != "") {
				    if(theFormCaracteristicas.elements[i].name=="valorArriendo"||theFormCaracteristicas.elements[i].name=="valorVenta"|| theFormCaracteristicas.elements[i].name=="valorAdmon"||theFormCaracteristicas.elements[i].name=="area"||theFormCaracteristicas.elements[i].name=="nroPiso"||theFormCaracteristicas.elements[i].name=="nroGarajesoficina")
					{
						//alert (theFormCaracteristicas.elements[i].name);
						//alert(Delete_miles(theFormCaracteristicas.elements[i].value));
						adic = adic + theFormCaracteristicas.elements[i].name + "," + Delete_miles(theFormCaracteristicas.elements[i].value) + ";";
					}
					else
					{
						adic = adic + theFormCaracteristicas.elements[i].name + "," + theFormCaracteristicas.elements[i].value + ";";
					}
				}
				break;
		}
	}
	//alert("adic "+adic.value);
	forma.adicionales.value=adic.substring(0,adic.length-1);
	
	//alert("direccion aproximada2 "+forma.direccionAproximada.value);
	if (seNecesitaValidarDireccion && forma.idTipoInmueble.value != 7 && (ciuAux == 1 || ciuAux == 3 || ciuAux == 6 || ciuAux == 7 || ciuAux == 4 || ciuAux == 5 || ciuAux == 9 || ciuAux == 10 || ciuAux == 11 || ciuAux == 15)) {
	//if (seNecesitaValidarDireccion &&  !ciudadEsEnLasAfueras(forma) && idTipoInmueble != 7) {
		alert("La dirección de su propiedad será verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operación tomará algunos segundos");
		soloFaltaLaDireccion = true;
		//alert(ciuAux);
		//alert(dirAux);
		//alert (forma.direccion.value);
		var i;
		for (i = 0;i < ciudades.length ; i++) {
			if (ciudades[i].idCiudad == ciuAux) {
				break;
			}
		}
		if (i == ciudades.length) {
			return null;
		}
		var laCiudad= ciudades[i];
		url = '/servlet/co.com.m2.servlet.oferta.ValidarDireccion?idInmueble='+forma.idInmueble.value+'&country=' +
    	laCiudad.codigoPais + "&city=" + ciuAux + "&address=" +
		escape(dirAux) + "&x=" + Math.random()
		//alert (url);
		window.open(url,'ValidarDireccion','width=280,height=245,scrollbars=no,resizable=no');
		//validarDireccionConElGIS2(ciuAux,dirAux);
		return false;
	}
	return true;
}

function validarFormaIIII()
{
	
	document.laForma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.ofertaNueva.MostrarOtrosDatosPublicacion?idInmueble=" + document.laForma.idInmueble.value + "&idProducto=" + document.laForma.idProducto.value;
	document.laForma.otrosDatos.value="S";
	
}

function validarForma(forma) {

	soloFaltaLaDireccion = false;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada;

	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value;

	} else {

		ciudadSeleccionada = forma.idCiudad.value;

	}

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{

	

	}

	

	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}
	
	//Validar el tipo de producto por ciudad
		/*if (ciudadSeleccionada != 1 && ( forma.idProducto.value == 22 || forma.idProducto.value == 30))
		 {
		   _errores += "\n           Este producto solo se vende a inmuebles en Bogot�";
		   _campoError = forma.idCiudad;
		
	     }*/

	if (!forma.fotosDigitales[0].checked && !forma.fotosDigitales[1].checked) {
		appendErrorMessage("Debe seleccionar si publica sus propias fotos");
	}
	if (forma.fotosDigitales[1].checked && !forma.contactoParaFotos[0].checked && !forma.contactoParaFotos[1].checked && ciudadSeleccionada == 1) {
		appendErrorMessage("Debe seleccionar si quiere que se le tomen fotos");
	}
	if (forma.contactoParaFotos[0].checked && ciudadSeleccionada != 1) {
		appendErrorMessage("La toma de fotograf�a solo es v�lida para la ciudad de Bogot�");
	}
	
	if (_errores != "") {
		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);
		_campoError.focus();
		return false;
	}
	
	if (forma.fotosDigitales[0].checked && forma.idProducto.value == 20) {
		forma.nroFotos.value = 3;
	}
	
	if (seNecesitaValidarDireccion && idTipoInmueble != 7 && (ciudadSeleccionada == 1 || ciudadSeleccionada == 3 || ciudadSeleccionada == 6 || ciudadSeleccionada == 7 || ciudadSeleccionada == 4 || ciudadSeleccionada == 5 || ciudadSeleccionada == 9 || ciudadSeleccionada == 10 || ciudadSeleccionada == 11 || ciudadSeleccionada == 15)) {
	//if (seNecesitaValidarDireccion &&  !ciudadEsEnLasAfueras(forma) && idTipoInmueble != 7) {
		alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");
		soloFaltaLaDireccion = true;
		validarDireccionConElGIS(forma)
		return false;
	}
	
	var i;

	for (i = 0; i < forma.elements.length; i++ ) {

		if (forma.elements[i].value) {

			if (forma.elements[i].value == "N / A") {

				forma.elements[i].value = "";

			}

		}

	}

	return true;

}
function validarFormaEditar(forma) {

	soloFaltaLaDireccion = false;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada;

	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value;

	} else {

		ciudadSeleccionada = forma.idCiudad.value;

	}

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{

	

	}

	

	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}
	
	//Validar el tipo de producto por ciudad
		/*if (ciudadSeleccionada != 1 && ( forma.idProducto.value == 22 || forma.idProducto.value == 30))
		 {
		   _errores += "\n           Este producto solo se vende a inmuebles en Bogot�";
		   _campoError = forma.idCiudad;
		
	     }*/

	
	
	if (_errores != "") {
		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);
		_campoError.focus();
		return false;
	}
	
	
	
	if (seNecesitaValidarDireccion && idTipoInmueble != 7 && (ciudadSeleccionada == 1 || ciudadSeleccionada == 3 || ciudadSeleccionada == 6 || ciudadSeleccionada == 7 || ciudadSeleccionada == 4 || ciudadSeleccionada == 5 || ciudadSeleccionada == 9 || ciudadSeleccionada == 10 || ciudadSeleccionada == 11 || ciudadSeleccionada == 15)) {
	//if (seNecesitaValidarDireccion &&  !ciudadEsEnLasAfueras(forma) && idTipoInmueble != 7) {
		alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");
		soloFaltaLaDireccion = true;
		validarDireccionConElGIS(forma)
		return false;
	}
	
	var i;

	for (i = 0; i < forma.elements.length; i++ ) {

		if (forma.elements[i].value) {

			if (forma.elements[i].value == "N / A") {

				forma.elements[i].value = "";

			}

		}

	}

	return true;

}

function validarFormaConsignacion(forma) {

	soloFaltaLaDireccion = false;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada;

	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value;

	} else {

		ciudadSeleccionada = forma.idCiudad.value;

	}

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{

	

	}

	

	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}
	
	//Validar el tipo de producto por ciudad
		/*if (ciudadSeleccionada != 1 && ( forma.idProducto.value == 22 || forma.idProducto.value == 30))
		 {
		   _errores += "\n           Este producto solo se vende a inmuebles en Bogot�";
		   _campoError = forma.idCiudad;
		
	     }*/

	if (!forma.fotosDigitales[0].checked && !forma.fotosDigitales[1].checked) {
		appendErrorMessage("Debe seleccionar si publica sus propias fotos");
	}
	if (forma.fotosDigitales[1].checked && !forma.contactoParaFotos[0].checked && !forma.contactoParaFotos[1].checked && ciudadSeleccionada == 1) {
		appendErrorMessage("Debe seleccionar si quiere que se le tomen fotos");
	}
 if(!forma.contactoParaFotos){ //para el caso de que el formulario no tenga el campo u objeto a validar
	 }	
	else
	  {
		  if (forma.contactoParaFotos[0].checked && ciudadSeleccionada != 1) {
			appendErrorMessage("La toma de fotograf�a solo es v�lida para la ciudad de Bogot�");
		}
	  }
	if (_errores != "") {
		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);
		_campoError.focus();
		return false;
	}
	/*gioarg*/
	if (seNecesitaValidarDireccion && idTipoInmueble != 7 && (ciudadSeleccionada == 1 || ciudadSeleccionada == 3 || ciudadSeleccionada == 6 || ciudadSeleccionada == 7 || ciudadSeleccionada == 4 || ciudadSeleccionada == 5 || ciudadSeleccionada == 9 || ciudadSeleccionada == 10 || ciudadSeleccionada == 11 || ciudadSeleccionada == 15)) {
		alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");
		soloFaltaLaDireccion = true;
		validarDireccionConElGIS(forma)
		return false;
	}
	
	var i;

	for (i = 0; i < forma.elements.length; i++ ) {

		if (forma.elements[i].value) {

			if (forma.elements[i].value == "N / A") {

				forma.elements[i].value = "";

			}

		}

	}

	return true;
}

function validarFormaII() {

	soloFaltaLaDireccion = false;

	var forma = document.laForma;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada = document.laForma.idCiudad.value;
	
	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{



	}



	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		//return false;

	}

	else {

		document.laForma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.oferta.MostrarOtrosDatosPublicacion?idInmueble=" + document.laForma.idInmueble.value + "&idProducto=" + document.laForma.idProducto.value;

		if (seNecesitaValidarDireccion && idTipoInmueble != 7 && ciudadSeleccionada == 1) {

 		//if (seNecesitaValidarDireccion &&  !ciudadEsEnLasAfueras(forma) &&  idTipoInmueble != 7) {

			alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

			soloFaltaLaDireccion = true;

			validarDireccionConElGIS(forma)

			//return false;

		}

		var i;

		for (i = 0; i < forma.elements.length; i++ ) {

			if (forma.elements[i].value) {

				if (forma.elements[i].value == "N / A") {

					forma.elements[i].value = "";

				}

			}

		}

		if (_errores == "" && !seNecesitaValidarDireccion) {

			document.laForma.submit();

		}

	}

	//return true;

}



function validarFormaIII() {

	soloFaltaLaDireccion = false;

	var forma = document.laForma;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada = document.laForma.idCiudad.value;
	
	/*var ciudadSeleccionada

	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value

	} else {

		ciudadSeleccionada = forma.idCiudad.value

	}*/

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{



	}



	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		//return false;

	}

	else {

		document.laForma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.oferta.MostrarOtrosDatosPublicacionClasificados?idInmueble=" + document.laForma.idInmueble.value + "&idProducto=" + document.laForma.idProducto.value;

		if (seNecesitaValidarDireccion && idTipoInmueble != 7 && ciudadSeleccionada == 1) {
		
		//if (seNecesitaValidarDireccion &&  !ciudadEsEnLasAfueras(forma) && idTipoInmueble != 7) {

			alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

			soloFaltaLaDireccion = true;

			validarDireccionConElGIS(forma)

			//return false;

		}

		var i;

		for (i = 0; i < forma.elements.length; i++ ) {

			if (forma.elements[i].value) {

				if (forma.elements[i].value == "N / A") {

					forma.elements[i].value = "";

				}

			}

		}

		if (_errores == "" && !seNecesitaValidarDireccion) {

			document.laForma.submit();

		}

	}

	//return true;

}



function validarFechaPublicacionOld(forma) {



	if (validarFecha(forma.diaPublicacion, forma.mesPublicacion, forma.anoPublicacion, "Fecha de publicaci�n")) {

		var fechaPublicacion = forma.diaPublicacion.value + "/" +

			forma.mesPublicacion.options[forma.mesPublicacion.selectedIndex].value + "/" +

			forma.anoPublicacion.value

		if ((_comoNuevo || enEdicion ||

				(vigente && _nroPeriodosOriginal != forma.nroPeriodosPublicacion.value * 1))

				&& compareDatesDMY(fechaPublicacion, fechaEsperadaPublicacion) < 0) {

			appendErrorMessage("La fecha de publicaci�n debe ser mayor o igual que '" +

				fechaEsperadaPublicacion +"'");

            _campoError = forma.diaPublicacion;

			return false;

		}



		if (vigente && _nroPeriodosOriginal == forma.nroPeriodosPublicacion.value * 1 &&

				compareDatesDMY(fechaPublicacion, fechaOriginalPublicacion) < 0) {

			appendErrorMessage("La fecha de publicaci�n debe ser mayor o igual que '" +

				fechaOriginalPublicacion + "'");

            _campoError = forma.diaPublicacion;

			return false;

		}



		fop = fechaOriginalPublicacion.split('/');

		maxFecPub = adicionarMeses(new Date(fop[2], fop[1]*1 - 1, fop[0]), forma.nroPeriodosPublicacion.value * mesesXPeriodo);

		maxFec = maxFecPub.getDate() + "/" + (maxFecPub.getMonth() + 1) + "/" + maxFecPub.getFullYear()

		if ((vigente || enEdicion) &&

				compareDatesDMY(maxFec, fechaPublicacion) < 0) {

			appendErrorMessage("La fecha de publicaci�n debe ser menor o igual que '" +

				maxFec + "'");

            _campoError = forma.diaPublicacion;

			return false;

		}

		return true;

	}

	return false;

}



function validarFechaPublicacion(forma) {



	if (validarFecha(forma.diaPublicacion, forma.mesPublicacion, forma.anoPublicacion, "Fecha de publicaci�n")) {

		var fechaPublicacion = forma.diaPublicacion.value + "/" +

			forma.mesPublicacion.value + "/" +

			forma.anoPublicacion.value

		if ((_comoNuevo || enEdicion ||

				(vigente && _nroPeriodosOriginal != forma.nroPeriodosPublicacion.value * 1))

				&& compareDatesDMY(fechaPublicacion, fechaEsperadaPublicacion) < 0) {

			appendErrorMessage("La fecha de publicaci�n debe ser mayor o igual que '" +

				fechaEsperadaPublicacion +"'");

            _campoError = forma.diaPublicacion;

			return false;

		}



		if (vigente && _nroPeriodosOriginal == forma.nroPeriodosPublicacion.value * 1 &&

				compareDatesDMY(fechaPublicacion, fechaOriginalPublicacion) < 0) {

			appendErrorMessage("La fecha de publicaci�n debe ser mayor o igual que '" +

				fechaOriginalPublicacion + "'");

            _campoError = forma.diaPublicacion;

			return false;

		}



		fop = fechaOriginalPublicacion.split('/');

		maxFecPub = adicionarMeses(new Date(fop[2], fop[1]*1 - 1, fop[0]), forma.nroPeriodosPublicacion.value * mesesXPeriodo);

		maxFec = maxFecPub.getDate() + "/" + (maxFecPub.getMonth()) + "/" + maxFecPub.getFullYear()

		if ((vigente || enEdicion) &&

				compareDatesDMY(maxFec, fechaPublicacion) < 0) {

			appendErrorMessage("La fecha de publicaci�n debe ser menor o igual que '" +

				maxFec + "'");

            _campoError = forma.diaPublicacion;

			return false;

		}

		return true;

	}

	return false;

}







function otrosDatos() {

	if (validarForma(document.laForma)) {

		document.laForma.submit();

	}

}





function informacionCombos() {

	if (validarForma(document.laForma)) {

		document.laForma.REDIRECT_TO.value = " /servlet/co.com.pragma.m2.servlet.oferta.MostrarInformacionCombos?idInmueble=" + document.laForma.idInmueble.value

		document.laForma.submit();

	}

}



function informacionInteractiva() {

	if (validarForma(document.laForma)) {

		document.laForma.REDIRECT_TO.value = " /servlet/co.com.pragma.m2.servlet.oferta.MostrarInformacionInteractiva?idInmueble=" + document.laForma.idInmueble.value

		document.laForma.submit();

	}

}



function cargo() {

	if (direccionExistente) {

		alert("Por favor verifique la direcci�n del inmueble.\Nuestro sistema ya contiene otro inmueble con la misma direcci�n")

		document.laForma.direccion.focus()

	}

	if (document.laForma.idTipoInmueble.value != 7) {

		pintarDireccion(zona, sector, barrio)

	}

}





function actualizarDireccionValidada(direccion, zona, sector, barrio, idZona, idSector, longitud, latitud, score) {

	forma = document.laForma;

	forma.idZona.value = idZona

	forma.idSector.value = idSector

	forma.latitud.value = latitud

	forma.longitud.value = longitud

	forma.barrio.value = barrio

	seNecesitaValidarDireccion = false

	pintarDireccion(zona, sector, barrio);

	if (score == 100) {

		forma.direccionAproximada.value = ""

		forma.direccion.value = direccion

	} else {

		forma.direccionAproximada.value = direccion

	}

	if (soloFaltaLaDireccion) {

		if (forma.idTipoInmueble.value == 13) {

			informacionInteractiva()

		} else {

			otrosDatos();

		}

	}

}



function actualizarDireccionValidadaDataTiempo(direccion, zona, sector, barrio, idZona, idSector, longitud, latitud, score) {

	forma = document.laForma;

	forma.idZona.value = idZona

	forma.idSector.value = idSector

	forma.latitud.value = latitud

	forma.longitud.value = longitud

	forma.barrio.value = barrio

	seNecesitaValidarDireccion = false

	//pintarDireccion(zona, sector, barrio);

	if (score == 100) {

		forma.direccionAproximada.value = ""

		forma.direccion.value = direccion

	} else {

		forma.direccionAproximada.value = direccion

	}

	if (soloFaltaLaDireccion) {

		document.laForma.submit();

	}

}



function pintarDireccion(zona, sector, barrio) {

	var layer = "layerBaseDatosDireccion";

	if (ns4) {

		var point = getPosition("layerBaseDatosDireccion");

		setPosition("direccion", point.x, point.y)

		layer = "direccion";

	}

	layerWrite(layer, "<span class='laDireccion'><b>Zona: </b><font color='#000000'>" + zona + "</font><br><b>Sector: </b>" +

		"<font color='#000000'>" + sector + "</font><br><b>Barrio: </b><font color='#000000'>" + barrio + "</font></span>")

	show(layer)

}



function direccionIncorrecta() {

	document.laForma.direccion.focus()

}



function validarDireccionConElGIS(forma) {

	var laCiudad = obtenerCiudadActual(forma)

	url = '/servlet/co.com.m2.servlet.oferta.ValidarDireccion?idInmueble='+forma.idInmueble.value+'&country=' +
         
		laCiudad.codigoPais + "&city=" + forma.idCiudad.value + "&address=" +
		
		escape(forma.direccion.value) + "&x=" + Math.random()

	window.open(url,'ValidarDireccion','width=280,height=245,scrollbars=no,resizable=no');

}
function validarDireccionConElGIS2(ciudadAu,direccion) {
	alert("dentro de validacion GIS 2 ciudad: "+ciudadAu);
	alert("dentro de validacion GIS 2 direccion: "+direccion);
	var laCiudad = obtenerCiudadActual2(ciudadAu);

	url = '/servlet/co.com.m2.servlet.oferta.ValidarDireccion?country=' +
         
		laCiudad.codigoPais + "&city=" + laCiudad.codigo + "&address=" +
		
		escape(direccion.value) + "&x=" + Math.random()

	window.open(url,'ValidarDireccion','width=280,height=245,scrollbars=no,resizable=no');

}



function validarDireccionConElGISEntidades(forma) {

	var laCiudad = obtenerCiudadActual(forma)

	url = ' /servlet/co.com.m2.servlet.oferta.ValidarDireccionEntidades?country=' +

		laCiudad.codigoPais + "&city=" + laCiudad.codigo + "&address=" +

		escape(forma.direccion.value) + "&usuario="+ escape(forma.usuario.value) 

		+ "&x=" + Math.random()

	window.open(url,'ValidarDireccion','width=280,height=245,scrollbars=no,resizable=no');

}



function validarDireccionConElGISDataTiempo(forma) {

	var laCiudad = obtenerCiudadActual(forma)

	url = ' /servlet/co.com.pragma.m2.servlet.oferta.ValidarDireccionDataTiempo?country=' +

		laCiudad.codigoPais + "&city=" + laCiudad.codigo + "&address=" +

		escape(forma.direccion.value) + "&x=" + Math.random()

	//alert("url" + url)

	window.open(url,'ValidarDireccion','width=450,height=200,scrollbars=YES,resizable=yes');

}



var soloFaltaLaDireccion = false;

function validarDireccion() {

	_errores = ""

	_campoError = null;

	validarLista(document.laForma.idCiudad, 'Ciudad')

	validarCampo(document.laForma.direccion, 'Direcci�n')



	if (_errores != "") {

		alert("Para validar la direcci�n primero debe completar la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		return;

	}

	if (ciudadEsEnLasAfueras(document.laForma)) {

		alert("Para validar su direcci�n con nuestro sistema de georreferenciaci�n �sta debe encontrarse dentro de una ciudad y no en sus afueras");

		return

	}

	validarDireccionConElGIS(document.laForma)

}





function abrirConvenciones() {

	window.open(" /oferta/convencionesDirecciones.html?" + Math.random(),'Convenciones','width=350,height=465,scrollbars=no,resizable=no');

}



function sugerirFechaPublicacion(laForma) {

	var maxFecPub = adicionarMeses(new Date(laForma.anoPublicacion.value, laForma.mesPublicacion.value - 1, laForma.diaPublicacion.value), laForma.nroPeriodosPublicacion.value * mesesXPeriodo);

	laForma.anoExpiracion.value = maxFecPub.getFullYear();

	laForma.diaExpiracion.value = maxFecPub.getDate();

	laForma.mesExpiracion.value = maxFecPub.getMonth() + 1;

}



function sugerirFechaPublicacionOld(laForma) {

	var maxFecPub = adicionarMeses(new Date(laForma.anoPublicacion.value, laForma.mesPublicacion.selectedIndex - 1, laForma.diaPublicacion.value), laForma.nroPeriodosPublicacion.value * mesesXPeriodo);

	laForma.anoExpiracion.value = maxFecPub.getFullYear();

	laForma.diaExpiracion.value = maxFecPub.getDate();

	laForma.mesExpiracion.selectedIndex = maxFecPub.getMonth() + 1;

}



function validarEstrato() {

	if (!ciudadEsEnLasAfueras(document.laForma)) {

		validarEntero(document.laForma.estrato,"Estrato",1,6)

	}

}



function verificarTipoDeNegocio(forma) {

	if (!isChecked(forma.seVende) && !isChecked(forma.seArrienda)) {

		alert("Se debe seleccionar por lo menos un tipo de negocio");

		return false;

	}

	forma.REDIRECT_TO.value = document.location

	forma.submit()

	return true;

}



function validarFormaDataTiempo(forma) {

	soloFaltaLaDireccion = false;
	
	var ciudadSeleccionada;
	
	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value

	} else {

		ciudadSeleccionada = forma.idCiudad.value

	}

	//_errores = ""

	//_campoError = null;



	//sugerirFechaPublicacion(forma);

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	//{

	//

	//}

	

	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		return false;

	}

	if (seNecesitaValidarDireccion &&  ciudadSeleccionada==1 &&  idTipoInmueble != 7) {

		alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

		soloFaltaLaDireccion = true;

		validarDireccionConElGISDataTiempo(forma)

		return false;

	}

	var i;

	for (i = 0; i < forma.elements.length; i++ ) {

		if (forma.elements[i].value) {

			if (forma.elements[i].value == "N / A") {

				forma.elements[i].value = "";

			}

		}

	}

	return true;

}

function continuarDataTiempo() {

	_campoError = null;

	_errores = "";

	var forma = document.laForma;

	validarCampo(forma.FIRST_NAME, "Nombre")

	validarCampo(forma.LAST_NAME, "Apellidos")

	//validarCampo(forma.ADDRESS1, "Direccion")

	//validarCampo(forma.WORKPHONE, "Telefono")

	//validarCampo(forma.FAX, "Fax")

	validarCampo(forma.CITY, "Ciudad del Usuario")

	if (!forma.esInmobiliaria[0].checked && !forma.esInmobiliaria[1].checked) {

	   _errores += "\n        Es inmobiliaria\n"

	   if (_campoError ==  null) {

	      _campoError = forma.esInmobiliaria

  	   }

	}

	if (forma.esInmobiliaria[0].checked && !validarCampo(forma.COMPANY, "Debe Ingresar Nombre Empresa")) {

	   if (_campoError ==  null) {

	      _campoError = forma.COMPANY

	   }

	}

	validarLogin(forma.LOGINID)

	validarCampo(forma.PASSWORD, "Clave")

	if (forma.PASSWORD.value != forma.PASSWORDCONFIRMATION.value) {

	   forma.PASSWORD.value = ""

	   forma.PASSWORDCONFIRMATION.value = ""

	   _errores += "        Clave\n"

	   if (_campoError ==  null) {

	      _campoError = forma.PASSWORD

	   }

	}

	validarEmail(forma)

	forma.LOGINID.value = forma.LOGINID.value.toLowerCase();

	if (validarFormaDataTiempo(document.laForma)) {

		document.laForma.submit();

	}

}



function validarFormaEdicion(forma) {

	soloFaltaLaDireccion = false;

	_errores = ""

	_campoError = null;
	
	var ciudadSeleccionada;
	
	if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value

	} else {

		ciudadSeleccionada = forma.idCiudad.value

	}



	sugerirFechaPublicacion(forma);

	/*if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

			validarFechaPublicacion(forma)) {

	  if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	        sugerirFechaPublicacion(forma);

	        validarFechaExpiracion(forma);

	  }

	}*/

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{

	

	}

	

	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500) 



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		return false;

	}



	if (seNecesitaValidarDireccion &&  ciudadSeleccionada==1 && idTipoInmueble != 7) {

		alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

		soloFaltaLaDireccion = true;

		validarDireccionConElGIS(forma)

		return false;

	}

	var i;

	for (i = 0; i < forma.elements.length; i++ ) {

		if (forma.elements[i].value) {

			if (forma.elements[i].value == "N / A") {

				forma.elements[i].value = "";

			}

		}

	}

	return true;

}



function guardarOtrosDatos() {

	var forma = document.laForma;

	forma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.oferta.MostrarInmueble?idInmueble=" + forma.idInmueble.value + "&idProducto=" + forma.idProducto.value;

	forma.submit();

}



function validarFormaEdicion() {

	soloFaltaLaDireccion = false;

	var forma = document.laForma;

	_errores = ""

	_campoError = null;
	
	var ciudadSeleccionada = document.laForma.idCiudad.value;

	sugerirFechaPublicacion(forma);

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{



	}



	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		//return false;

	}

	else {

		document.laForma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.oferta.EditarOtrosDatos?idInmueble=" + document.laForma.idInmueble.value;

		if (seNecesitaValidarDireccion &&  ciudadSeleccionada==1 && idTipoInmueble != 7) {

			alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

			soloFaltaLaDireccion = true;

			validarDireccionConElGIS(forma)

			//return false;

		}

		var i;

		for (i = 0; i < forma.elements.length; i++ ) {

			if (forma.elements[i].value) {

				if (forma.elements[i].value == "N / A") {

					forma.elements[i].value = "";

				}

			}

		}

		if (_errores == "" && !seNecesitaValidarDireccion) {

			document.laForma.submit();

		}

	}

	//return true;

}

function guardarOtrosDatosEdicion() {

	var forma = document.laForma;

	forma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.oferta.EditarInmueble?idInmueble=" + forma.idInmueble.value;

	forma.submit();

}



function validarFormaInmuebleConsignacion() {

	soloFaltaLaDireccion = false;

	var forma = document.laForma;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada = document.laForma.idCiudad.value;

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{



	}



	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		//return false;

	}

	else {

		document.laForma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.consignacion.MostrarOtrosDatosEntidades?idInmueble=" + document.laForma.idInmueble.value + "&usuario=" + document.laForma.usuario.value;

		if (seNecesitaValidarDireccion &&  ciudadSeleccionada==1 && idTipoInmueble != 7) {

			alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

			soloFaltaLaDireccion = true;

			validarDireccionConElGIS(forma)

			//return false;

		}

		var i;

		for (i = 0; i < forma.elements.length; i++ ) {

			if (forma.elements[i].value) {

				if (forma.elements[i].value == "N / A") {

					forma.elements[i].value = "";

				}

			}

		}

		if (_errores == "" && !seNecesitaValidarDireccion) {

			document.laForma.submit();

		}

	}

	//return true;

}



function validarFormaInmuebleConsignacionCavipetrol() {

	soloFaltaLaDireccion = false;

	var forma = document.laForma;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada = document.laForma.idCiudad.value;

	/*if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value

	} else {

		ciudadSeleccionada = forma.idCiudad.value

	}*/

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos) &&

	//		validarFechaPublicacion(forma)) {

	//if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos)) {

	//        sugerirFechaPublicacion(forma);

		//validarFechaExpiracion(forma);

	//}

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{



	}



	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		//return false;

	}

	else {

		document.laForma.REDIRECT_TO.value = document.laForma.REDIRECT_TO_III.value;

		//if (seNecesitaValidarDireccion &&  !ciudadEsEnLasAfueras(forma) && idTipoInmueble != 7) {
		if (seNecesitaValidarDireccion && idTipoInmueble != 7 && ciudadSeleccionada == 1) {

			alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

			soloFaltaLaDireccion = true;

			//validarDireccionConElGIS(forma)

			validarDireccionConElGISEntidades(forma);
			//return false;

		}

		var i;

		for (i = 0; i < forma.elements.length; i++ ) {

			if (forma.elements[i].value) {

				if (forma.elements[i].value == "N / A") {

					forma.elements[i].value = "";

				}

			}

		}

		if (_errores == "" && !seNecesitaValidarDireccion) {

			//document.laForma.submit();
			

		}
        document.laForma.submit();


	}

	//return true;

}



function guardarOtrosDatosConsignacion() {

	var forma = document.laForma;

	forma.REDIRECT_TO.value =" /servlet/co.com.m2.servlet.consignacion.MostrarInmuebleConsignarEntidades?usuario=" + forma.usuario.value + "&idTipoInmueble=" + forma.idTipoInmueble.value + "&idInmueble=" + forma.idInmueble.value;

	forma.submit();

}



function guardarOtrosDatosConsignacionCavipetrol() {

	var forma = document.laForma;

	forma.REDIRECT_TO.value = forma.REDIRECT_TO_II.value;

	forma.submit();

}



function validarFormaEntidades(forma) {

	soloFaltaLaDireccion = false;

	_errores = ""

	_campoError = null;

	sugerirFechaPublicacion(forma);
	
	var ciudadSeleccionada = document.laForma.idCiudad.value;

	/*if (forma.idCiudad.options) {

		ciudadSeleccionada = forma.idCiudad.options[forma.idCiudad.selectedIndex].value

	} else {

		ciudadSeleccionada = forma.idCiudad.value

	}*/

	if (validarEntero(forma.nroPeriodosPublicacion,  "N�mero de meses", _nroPeriodosOriginal, maxNroPeriodos))

	{

	

	}

	

	validarCampos();

	if (idTipoInmueble == 13 || trim(forma.comentarioPublicacion.value) != "") {

		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)



	}

	if (_errores != "") {

		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);

		_campoError.focus();

		return false;

	}

	if (seNecesitaValidarDireccion &&  (ciudadSeleccionada == 1 || ciudadSeleccionada == 3 || ciudadSeleccionada == 6 || ciudadSeleccionada == 7 || ciudadSeleccionada == 4 || ciudadSeleccionada == 5 || ciudadSeleccionada == 9 || ciudadSeleccionada == 10 || ciudadSeleccionada == 11 || ciudadSeleccionada == 15) && idTipoInmueble != 7) {
   //if (seNecesitaValidarDireccion &&  !ciudadEsEnLasAfueras(forma) && idTipoInmueble != 7) {

		alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");

		soloFaltaLaDireccion = true;

		validarDireccionConElGISEntidades(forma)

		return false;

	}

	var i;

	for (i = 0; i < forma.elements.length; i++ ) {

		if (forma.elements[i].value) {

			if (forma.elements[i].value == "N / A") {

				forma.elements[i].value = "";

			}

		}

	}

	return true;

}



function continuarDataTiempoII() {

	_campoError = null;

	_errores = "";

	var forma = document.laForma;

	validarCampo(forma.FIRST_NAME, "Nombre")

	validarCampo(forma.LAST_NAME, "Apellidos")

	//validarCampo(forma.ADDRESS1, "Direccion")

	//validarCampo(forma.WORKPHONE, "Telefono")

	//validarCampo(forma.FAX, "Fax")

	validarCampo(forma.CITY, "Ciudad del Usuario")

	if (!forma.esInmobiliaria[0].checked && !forma.esInmobiliaria[1].checked) {

	   _errores += "\n        Es inmobiliaria\n"

	   if (_campoError ==  null) {

	      _campoError = forma.esInmobiliaria

  	   }

	}

	if (forma.esInmobiliaria[0].checked && !validarCampo(forma.COMPANY, "Debe Ingresar Nombre Empresa")) {

	   if (_campoError ==  null) {

	      _campoError = forma.COMPANY

	   }

	}

	validarLogin(forma.LOGINID)

	validarCampo(forma.PASSWORD, "Clave")

	if (forma.PASSWORD.value != forma.PASSWORDCONFIRMATION.value) {

	   forma.PASSWORD.value = ""

	   forma.PASSWORDCONFIRMATION.value = ""

	   _errores += "        Clave\n"

	   if (_campoError ==  null) {

	      _campoError = forma.PASSWORD

	   }

	}

	validarEmail(forma)

	forma.LOGINID.value = forma.LOGINID.value.toLowerCase();

	forma.direccion.value = forma.direccion.value.toUpperCase();

	if (forma.direccion.value != forma.direccionActual.value ) 
	{

		seNecesitaValidarDireccion = true;

	}

	if (validarFormaDataTiempo(document.laForma)) {

		document.laForma.submit();

	}

}

function validarFormaOtrosDatosEntidades(forma) {
	_errores = ""
    _campoError = null;
	validarCampos();
	if (_errores != "") {
		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);
		_campoError.focus();
		return false;
	}	
	return true;
}

function validarMaximaFechaExpiracion(forma) {
	//Obtener la fecha original de publicacion
	year = parseInt(forma.anoOriginalExpiracion.value);
	month = parseInt(forma.mesOriginalExpiracion.value);
	day = parseInt(forma.diaOriginalExpiracion.value);
	
	fechaOriginal = new Date(year, month-1, day)
	limiteSuperior = fechaOriginal.getTime() + (7 * 86400000);
	fechaMaxima = new Date(limiteSuperior);
	fSuperior = fechaMaxima.getDate() + "/" + (fechaMaxima.getMonth() + 1) + "/" + fechaMaxima.getFullYear();
	
	fechaExpiracion = forma.diaExpiracion.value + "/" +
	                  forma.mesExpiracion.options[forma.mesExpiracion.selectedIndex].value + "/" +
			  forma.anoExpiracion.value;

	if (compareDatesDMY(fechaExpiracion, fSuperior) > 0) {
		appendErrorMessage("La fecha de expiraci�n no debe ser superior a " + fSuperior);
		_campoError = forma.diaExpiracion;
		return false;
	}
	return true;
}


function validarFormaEdicionInmueble(forma) {
	soloFaltaLaDireccion = false;
	_errores = ""
	_campoError = null;
	var ciudadSeleccionada = forma.idCiudad.value;
	validarFechaExpiracionEdicion(forma);
	validarMaximaFechaExpiracion(forma);
	
	validarCampos();

	if (forma.idTipoInmueble.value == 13 || trim(forma.comentarioPublicacion.value) != "") {
		validarCampo(forma.comentarioPublicacion, "Otras observaciones (M�x. 500 caracteres)", 1, 500)
	}

	if (_errores != "") {
		alert("Por favor verifique la siguiente informaci�n: \n\n" + _errores);
		_campoError.focus();
		return false;
	}
	if (seNecesitaValidarDireccion && idTipoInmueble != 7 && (ciudadSeleccionada == 1 || ciudadSeleccionada == 3 || ciudadSeleccionada == 6 || ciudadSeleccionada == 7 || ciudadSeleccionada == 4 || ciudadSeleccionada == 5 || ciudadSeleccionada == 9 || ciudadSeleccionada == 10 || ciudadSeleccionada == 11 || ciudadSeleccionada == 15)) {
		alert("La direcci�n de su propiedad ser� verificada por nuestro sistema para ubicarla correctamente.\n\n Esta operaci�n tomar� algunos segundos");
		soloFaltaLaDireccion = true;
		validarDireccionConElGIS(forma)
		return false;

	}
	if (!(ciudadSeleccionada == 1 || ciudadSeleccionada == 3 || ciudadSeleccionada == 6 || ciudadSeleccionada == 7 || ciudadSeleccionada == 4 || ciudadSeleccionada == 5 || ciudadSeleccionada == 9 || ciudadSeleccionada == 10 || ciudadSeleccionada == 11 || ciudadSeleccionada == 15)) {
		forma.idSector.value = "";
		forma.idZona.value = "";
		forma.longitud.value = "";
		forma.latitud.value = "";
	}

	var i;
	for (i = 0; i < forma.elements.length; i++ ) {
		if (forma.elements[i].value) {
			if (forma.elements[i].value == "N / A") {
				forma.elements[i].value = "";
			}
		}
	}
	//return true;
	//alert("idCiudad " + forma.idCiudad.value);
	//alert("Barrio " + forma.barrio.value);
	//alert("Sector " + forma.idSector.value);
	//alert("Zona " + forma.idZona.value)
	//alert("Longitud " + forma.longitud.value)
	//alert("Latitud " + forma.latitud.value)
	return true;
}

