// JavaScript Document
function procComplete(t, obj){
     //obj.update(t.responseText);
	 obj.innerHTML = t.responseText;
}

function procFailed(t, obj, text){
     obj.innerHTML = 'Se produjo un error en '+text+'.';
}

function buscarComplete(t, obj){
	obj.innerHTML = t.responseText;
	var loading = $('spinner');
	new Effect.SlideDown(obj);
	loading.style.display = 'none';
}

function buscar(desde, ordenpor, orden){
	
	var loading = $('spinner');
	loading.style.display = '';
	
	var results = $('results');
	var patron = $F('patron');
	//document.location.hash = patron;
	var cuantos = $F('cuantos');
	//var marca = $F('marca');
	var tipo_vehiculo = $F('tipo_vehiculo');
	var ano_desde = $F('ano_desde');
	var ano_hasta = $F('ano_hasta');
	var precio_desde = $F('precio_desde');
	var precio_hasta = $F('precio_hasta');
	var bool = $F('advanced_boolean');
	
	var success = function(t){buscarComplete(t, results);}
	var failure = function(t){procFailed(t, results, 'la busqueda');}

	var url = 'proc_buscar.php';
	var pars = 'patron='+patron+'&cuantos='+cuantos+'&desde='+desde+'&ordenpor='+ordenpor+'&orden='+orden+'&tipo_vehiculo='+tipo_vehiculo+'&ano_desde='+ano_desde+'&ano_hasta='+ano_hasta+'&precio_desde='+precio_desde+'&precio_hasta='+precio_hasta+'&bool='+bool;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}

function ordenar(ordenpor, desde){
	
	if(ordenpor==''){
		document.getElementById('orden_precio').value = "desc";
		document.getElementById('orden_kilometros').value = "desc";
		document.getElementById('orden_ano').value = "desc";
		document.getElementById('ultimo_orden').value = "asc";
		document.getElementById('ultimo_ordenpor').value = "precio";
		buscar(0, 'precio', 'asc');
	}
	else{
		var orden = document.getElementById('orden_'+ordenpor);
		if (orden.value == "desc"){
			orden.value = "asc";
			document.getElementById('ultimo_orden').value = 'desc';
			document.getElementById('ultimo_ordenpor').value = ordenpor;
			buscar(desde, ordenpor, "desc");
		}
		else{
			orden.value = "desc";
			document.getElementById('ultimo_orden').value = 'asc';
			document.getElementById('ultimo_ordenpor').value = ordenpor;
			buscar(desde, ordenpor, "asc");
		}
	}
}

function anterior(desde){
	var orden = document.getElementById('ultimo_orden').value;
	var ordenpor = document.getElementById('ultimo_ordenpor').value;
	var cuantos = document.getElementById('cuantos').value;
	var nuevo_desde = desde - cuantos;
		
	var ordenreal = document.getElementById('orden_'+ordenpor);
	
	if (ordenreal.value == "desc"){
		ordenreal.value = "asc";
	}
	else{
		ordenreal.value = "desc";
	}
	
	ordenar(ordenpor, nuevo_desde);
}

function siguiente(desde){
	var orden = document.getElementById('ultimo_orden').value;
	var ordenpor = document.getElementById('ultimo_ordenpor').value;
	var cuantos = document.getElementById('cuantos').value;
	var nuevo_desde = desde + cuantos;
	
	var ordenreal = document.getElementById('orden_'+ordenpor);
	
	if (ordenreal.value == "desc"){
		ordenreal.value = "asc";
	}
	else{
		ordenreal.value = "desc";
	}
	
	ordenar(ordenpor, nuevo_desde);
}

function ver_detalle(id){
	var content = document.getElementById('detail');
	//content.innerHTML = 'Espere un momento...';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = '_detail.php';
	var pars = 'id='+id;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function ver_content(modelo, div){
	
	var content = document.getElementById(div);
	//content.innerHTML = 'Espere un momento...';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = modelo;
	var pars = '';
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function ver_autos(modelo, div, user){
	
	var content = document.getElementById(div);
	//content.innerHTML = 'Espere un momento...';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = modelo;
	var pars = 'user='+user;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}


function ver_sidebar(page){
	
	var content = document.getElementById('sidebar');
	//content.innerHTML = '<img src="templates/images/ajax-loader.gif" />';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = 'templates/_sidebar.html';
	var pars = 'page='+page;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function ver_formulario_publicacion(){
	
	var content = document.getElementById('publicar');
	//content.innerHTML = 'Espere un momento, se esta cargando el formulario de publicaci&oacute;n...';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = '_publicar.php';
	var pars = '';
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function ver_formulario_edicion(id){
	
	var content = document.getElementById('publicar');
	//content.innerHTML = 'Espere un momento, se esta cargando el formulario de edici&oacute;n...';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = '_editar.php';
	var pars = 'id='+id;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function ver_portada(){
	
	var content = document.getElementById('welcome');
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = '_welcome.php';
	var pars = '';
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function ver_premium(modelo, div, login){
	
	var content = document.getElementById(div);
	//content.innerHTML = 'Espere un momento...';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = modelo;
	var pars = 'login='+login;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function comentar(id_publicacion, nombre, email, mensaje, propietario, suscripcion){
	
	var content = document.getElementById('nuevo_comentario');
	//content.innerHTML = 'Espere un momento...';
	new Effect.Highlight(content);
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el envio del comentario');}

	var url = 'proc_comentar.php';
	var pars = 'id_publicacion='+id_publicacion+'&nombre='+nombre+'&email='+email+'&mensaje='+mensaje+'&propietario='+propietario+'&suscripcion='+suscripcion;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function publicar(){
	
	var content = $('publicar');
	var login = $F('username');
	//var marca_ = document.getElementById('marca_vehiculo');
	//var marca = marca_.options[marca_.selectedIndex].value;
	var tipo_ = document.getElementById('tipo');
	var tipo = tipo_.options[tipo_.selectedIndex].value;
	var modelo = $F('modelo');
	var ano_ = document.getElementById('ano');
	var ano = ano_.options[ano_.selectedIndex].value;
	var precio = $F('precio');
	var descripcion = $F('descripcion');
	var ids = $F('ids');
	var nuevo = $F('nuevo');
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el envio del comentario');}

	var url = 'proc_publicar.php';
	var pars = 'login='+login+'&ids='+ids+'&tipo='+tipo+'&modelo='+modelo+'&ano='+ano;
	pars = pars + '&precio='+precio+'&descripcion='+descripcion+'&nuevo='+nuevo;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function procCompleteLogin(t, msg, logon_div){
	if(t.responseText != 0){
		var logon = document.getElementById(logon_div);
		var status = document.getElementById('status');
		status.innerHTML = "<p>"+t.responseText+" | <a href='proc_logout.php'>salir</a></p>";
		if(logon_div.style.display != 'none')
			Effect.toggle(logon_div,'slide', {duration:0.3});
		location.reload(true);
	}
	else{
		msg.innerHTML = "<p>Login o password incorrectos</p>";
	}
}

function login(){
	var username = $F('logon_login');
	var pass = $F('logon_pass');
	var msg = document.getElementById('logon_msg');
	var logon_div = $('logon');
	msg.innerHTML = 'cargando...'
	var success = function(t){procCompleteLogin(t, msg, logon_div);}
	var failure = function(t){procFailed(t, logon_div, 'el registro');}

	var url = 'proc_login.php';
	var pars = 'login='+username+'&pass='+pass;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}

function procCompleteCrearUsuario(t, obj, bot){
	if(t.responseText != 0){
		var username = document.getElementById('username');
		username.value = t.responseText;
		obj.innerHTML = "<p>Usuario creado exit&oacute;samente: <strong>"+t.responseText+'</strong>.</p><p>Puede hacer click en "Mi perfil" y editar sus datos.</p>';
	}
	else
		bot.innerHTML = "<p>Se produjo un error en la creaci&oacute;n de su cuenta, seguramente ya existe un usuario con el login especificado por usted.<br /> Intente con otro.</p><br /><input type='button' name='Crear usuario' value='Crear usuario' onclick='valida_crear_usuario();' />";
}

function crear_usuario(){
	var login = $F('login');
	var email = $F('email');
	var content = $('registro');
	var boton = $('boton_crear_usuario');
	boton.innerHTML = 'Creando usuario...';
	var success = function(t){procCompleteCrearUsuario(t, content, boton);}
	var failure = function(t){procFailed(t, content, 'el la creaci&oacute;n de la cuenta de usuario');}

	var url = 'proc_crear_usuario.php';
	var pars = 'login='+login+'&email='+email;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function borrarPublicacion(id){
	var div = $('auto_'+id);
	new Effect.Fade(div);
	
	var success = function(t){procComplete(t, div);}
	var failure = function(t){procFailed(t, div, 'la eliminaci&oacute;n');}

	var url = 'proc_borrar_publicacion.php';
	var pars = 'id='+id;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function procCompleteRegistrar(t, obj){
     obj.innerHTML = t.responseText;
	 login();
}

function registrar(){
	var div = $('registro');
	var login = $F('login');
	var clave = $F('clave');
	var nombre = $F('nombre');
	var email = $F('email');
	var email_publico = document.getElementById('email_publico').checked;
	if (email_publico)
		var publico = 1;
	else
		var publico = 0;
	
	var telefono = $F('telefono');
	var ciudad = document.getElementById('ciudad').options[document.getElementById('ciudad').selectedIndex].value;
	var comuna = document.getElementById('comuna').options[document.getElementById('comuna').selectedIndex].value;
	if(ciudad == 'OTRA')
		ciudad = document.getElementById('nueva_ciudad').value;
	if(comuna == 'OTRA' || ciudad == 'OTRA')
		comuna = document.getElementById('nueva_comuna').value;
	var direccion = $F('direccion');
	
	var username = $('logon_login');
	var pass = $('logon_pass');
	username.value = login;
	pass.value = clave;
	
	var success = function(t){procCompleteRegistrar(t, div);}
	var failure = function(t){procFailed(t, div, 'el registro');}

	var url = 'proc_registro.php';
	var pars = 'login='+login+'&clave='+clave+'&nombre='+nombre+'&email='+email+'&email_publico='+publico+'&telefono='+telefono+'&ciudad='+ciudad+'&comuna='+comuna+'&direccion='+direccion;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function verificar_disponibilidad(id){
	var span = $('disponibilidad_'+id);
	var input = $F(id);
	
	if(input != ''){
		if(id == 'email' && !isValidEmail(input)){
			span.innerHTML = '<p class="disponibilidad_err">Email inv&aacute;lido.</p>';
			return false;
		}
		span.innerHTML = '<p>Verificando disponibilidad...</p>';
		
		var success = function(t){procComplete(t, span);}
		var failure = function(t){procFailed(t, span, 'la verificacion');}
	
		var url = 'proc_verificar_disponibilidad.php';
		var pars = 'attribute='+id+'&value='+escape(input);
		var myAjax = new Ajax.Request(url, {method:'post',
		postBody:pars, onSuccess:success, onFailure:failure});
	}
}

function miperil_guardarCambios(elemento){
	
	if(elemento == 'ubicacion'){
		var ciudad = document.getElementById('ciudad').options[document.getElementById('ciudad').selectedIndex].value;
		var comuna = document.getElementById('comuna').options[document.getElementById('comuna').selectedIndex].value;
		if(ciudad == 'OTRA')
			ciudad = document.getElementById('nueva_ciudad').value;
		if(comuna == 'OTRA' || ciudad == 'OTRA')
			comuna = document.getElementById('nueva_comuna').value;
		var direccion = $F('direccion');
		
		var pars = 'elemento='+elemento+'&ciudad='+ciudad+'&comuna='+comuna+'&direccion='+direccion;
		
	}
	else{
		if(elemento == 'email_publico'){
			var valor_ = document.getElementById(elemento);
			if(valor_.checked)
				var valor = '1';
			else
				var valor = '0';
		}
		else
			var valor = $F(elemento);
		
		var pars = 'elemento='+elemento+'&valor='+valor;
	}
	
	var url = 'proc_miperfil_guardarCambios.php';
	var span = $(elemento+'_view');
	var success = function(t){procComplete(t, span); miperfil_editar(elemento);}
	var failure = function(t){procFailed(t, span, 'la edicion');}

	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}

function miperfil_cambioClave(){
	var nueva = $F('nuevaclave');
	var span = $('nuevaclave_div');
	
	var success = function(t){procComplete(t, span);}
	var failure = function(t){procFailed(t, span, 'el cambio de clave');}
	
	var url = 'proc_miperfil_cambioClave.php';
	var pars = 'nueva='+nueva;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function cambiar_foto(foto){
	var span = $('imagenprincipal');
	span.innerHTML = '<div class="spinner"></div>';
	
	var success = function(t){procComplete(t, span);}
	var failure = function(t){procFailed(t, span, 'el cambio de foto');}
	
	var url = 'proc_cambiarFoto.php';
	var pars = 'foto='+foto;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}

function denunciar(id){
	var span = $('span_denuncia');
	var motivo = $F('motivo_denuncia');
	
	span.innerHTML = 'Enviando denuncia...';
	
	var success = function(t){procComplete(t, span);}
	var failure = function(t){procFailed(t, span, 'la denuncia');}
	
	var url = 'proc_denunciar.php';
	var pars = 'id='+id+'&motivo='+motivo;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}

function procCompleteMarcarImagen(t, id){
	var old_div = $('id_foto_principal');
	var old_p = $(old_div.value+'_marcar');
	var new_p = $(id+'_marcar');
	
	new_p.innerHTML = '(Foto principal)';
	old_p.innerHTML = '<a href="javascript:;" onclick="edicion_marcarPrincipal(\''+old_div.value+'\');">Marcar principal</a>';
	old_div.value = id;
}

function marcarImagen(id){
	var old_id = $F('id_foto_principal');
	var old_div = $(old_id);
	var new_div = $(id);
	
	new Effect.Highlight(old_div);
	new Effect.Highlight(new_div);
	
	var success = function(t){procCompleteMarcarImagen(t, id);}
	var failure = function(t){procFailed(t, new_div, 'al marcar');}
	
	var url = 'proc_marcarImagen.php';
	var pars = 'new_id='+id;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}

function guardarCambios(){
	var content = $('publicar');
	var id_publicacion = $F('id_publicacion');
	var tipo_ = document.getElementById('tipo');
	var tipo = tipo_.options[tipo_.selectedIndex].value;
	var modelo = $F('modelo');
	var ano_ = document.getElementById('ano');
	var ano = ano_.options[ano_.selectedIndex].value;
	var precio = $F('precio');
	var descripcion = $F('descripcion');
 	var ids = $F('ids');
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'la edicion');}

	var url = 'proc_editar_guardarCambios.php';
	var pars = 'id_publicacion='+id_publicacion+'&tipo='+tipo+'&modelo='+modelo+'&ano='+ano;
	pars = pars + '&precio='+precio+'&descripcion='+descripcion+'&ids='+ids;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}

function procBorrarImagenComplete(t, id){
	var div = $(id);
	var p = $(id+'_borrar');
	if(t.responseText=="principal")	
		alert('No puede eliminar la imagen marcada como principal.');	
	else
		div.style.display = 'none';
}
function edicion_borrarImagen(id){
	if(confirm('Esta seguro que desea eliminar permanentemente esta imagen?')){
		var content = $(id);
		var success = function(t){procBorrarImagenComplete(t, id);}
		var failure = function(t){procFailed(t, content, 'la edicion');}
	
		var url = 'proc_editar_borrarImagen.php';
		var pars = 'id='+id;
		var myAjax = new Ajax.Request(url, {method:'post',
		postBody:pars, onSuccess:success, onFailure:failure});
	}
}

function ver_recomendaciones(id, desde){
	
	var content = document.getElementById('recomendaciones');
	if(desde > 0)
	  content.innerHTML = '<div class="spinner"></div>';
	
	var success = function(t){procComplete(t, content);}
	var failure = function(t){procFailed(t, content, 'el despliegue de informacion');}

	var url = '_recomendacion.php';
	var pars = 'id='+id+'&desde='+desde;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	
}

function buscar_por_usuario(login){
	var patron = $('patron');
	patron.value = 'usuario:'+login;
	
	var loading = $('spinner');
	loading.style.display = '';
	var results = $('results');
	var success = function(t){buscarComplete(t, results);}
	var failure = function(t){procFailed(t, results, 'la busqueda');}

	var url = 'proc_buscar.php';
	var pars = 'patron='+patron.value;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
	//ordenar('');
}

function enviarPswd(email){
	var results = $('rec_msg');
	var success = function(t){buscarComplete(t, results);}
	var failure = function(t){procFailed(t, results, 'el envio');}

	var url = 'proc_enviar_pswd.php';
	var pars = 'email='+email;
	var myAjax = new Ajax.Request(url, {method:'post',
	postBody:pars, onSuccess:success, onFailure:failure});
}
