var domain = '';
var onLoadCategorias = function(){};
var onLoadEstados = function(){};

$(function(){
	$('#notificaciones').hide();
	$('#text_newsletter').gray( 'E-mail:' );
	$('#send_newsletter').click(function(){$('#newsletter').submit();});
	$('a.contactanos').click( function(){
		var id = '#dialog_contactanos';
		$(id).dialog( 'option', 'buttons', {
			Enviar	: function(){
				var data = {
					email		: $(id+'_email').val(),
					nombre		: $(id+'_nombre').val(),
					motivo		: $(id+'_motivo').val(),
					comentario	: $(id+'_mensaje').val(),
					copia		: $(id+'_copia').attr( 'checked' )
				};
				$.post( domain+'/home/contacto', data, function(){
					$(id).dialog( 'close' );
				});
			},
			Cerrar	: function(){$(this).dialog('close');}
		}).dialog( 'open' );
		return false;
	});
	
	$('#forgot_me').click( function(){
		$('#dialog_login').dialog( 'close' );
	});
	$('a.forgot_password, #forgot_me').click( function(){
		$('#forgot_password_ok, #forgot_password_error').hide();
		$('#dialog_olvidar_password').dialog( 'option', 'buttons', {
			Aceptar		: function(){
				$('#forgot_password_error').hide();
				$.post( domain+'/log/forgot_password', {
					email	: $('#forgot_password').val()
				}, function( response ){
					if (response == 'ok') {
						$('#forgot_password_ok').fadeIn();
						setTimeout( function(){
							$('#dialog_olvidar_password').dialog( 'close' );
						}, 2500 );
					} else {
						$('#forgot_password_error').html( response ).fadeIn();
					}
				});
			},
			Cancelar	: function(){$(this).dialog('close');}
		}).dialog( 'open' );
		return false;
	});
	
	$('#quick_service_tag').each(function(){$(this).gray( 'Palabra clave, tag' ).autocomplete({source:domain+'/solicitudes/tags'});});
	$('#quick_profesional_tag').each(function(){$(this).gray( 'Palabra clave, tag' ).autocomplete({source:domain+'/directorio/tags'});});
	
	$('#quick_service_region').each(function(){$(this).gray( 'Estado o Municipio' ).autocomplete({source:domain+'/solicitudes/region'});});
	$('#quick_profesional_region').each(function(){$(this).gray( 'Estado o Municipio' ).autocomplete({source:domain+'/directorio/region'});});
	
	$('#quick_service_button').click(function(){
		if( $('#quick_service_tag').hasClass( 'gray_text' ) ) $('#quick_service_tag').val( '' );
		$('#quick_service').submit();
	});
	$('#quick_profesional_button').click(function(){
		if( $('#quick_profesional_tag').hasClass( 'gray_text' ) ) $('#quick_profesional_tag').val( '' );
		$('#quick_profesional').submit();
	});
	
	$('.dialog').dialog({
		modal		: true,
		resizable	: false,
		autoOpen	: false,
		width		: 400
	});
	
	$('.dialog_login_button').click( function(){
		$('#dialog_registro').dialog('close');
		$('#dialog_login').dialog('open');
		return false;
	});

	$('.dialog_registro_button').click( function(){
		$('#dialog_login').dialog('close');
		$('#dialog_registro').dialog('open');
		return false;
	});

	$('a.mi_serviciomex24').click( function() {
		var href = $(this).attr( 'href' );
		require( 'any', function(){location.href=href;} );
		return false;
	});

//HEADER{BEGIN}
	var show = function( panel ){
		$('.tab_content_bottom_h').hide();
		$('#panel_'+panel).fadeIn();
		$('#tab_'+panel).parent().parent().find( 'li' ).removeClass( 'active' );
		$('#tab_'+panel).parent().addClass( 'active' );
		return false;
	}

	$('#tab_registro').click( function(){
		return show( 'registro' );
	});

	$('#tab_ingreso').click( function(){
		return show( 'ingreso' );
	});

	$('#barra_registro').click( function(){
		$('#top_header').animate({top:0});
		return show( 'registro' );
	});

	$('#barra_ingreso').click( function(){
		$('#top_header').animate({top:0});
		return show( 'ingreso' );
	});

	$('#header_registro_btn').click( function(){
		$.post( domain+'/log/up/ajax', {
				'user[username]'	: $('#header_registro_username').val(),
				'user[email]'		: $('#header_registro_email').val(),
				'user[password]'	: $('#header_registro_password').val(),
				'password2'			: $('#header_registro_password2').val(),
				'tipo'				: $('#header_registro_tipo').val()
			}, function( response ){
				if( response == 'ok' ){
					location.href = ( $('#header_registro_tipo').val() == 'customer' ) ? '/solicitar?registro=nuevo' : '/miservicio/perfil?registro=nuevo';
				} else {
					var error = eval( '('+response+')' )[0][1];
					$('#header_registro_error').html( error ).fadeIn();
				}
			});
		return false;
	});
	
	$('#header_ingreso_password').keyup( function(k){
		if (k.keyCode == 13) {
			$('#header_ingreso_btn').trigger('click');
			return false;
		}
		return true;
	});

	$('#header_ingreso_btn').click( function(){
		$.post(domain + '/log/in/ajax', {
			username: $('#header_ingreso_username').val(),
			password: $('#header_ingreso_password').val()
		}, function(response){
			if (response == 'ok') {
				update_status();
			}
			else {
				$('#header_ingreso_error').html( response ).fadeIn();
			}
		});
		return false;
	});

	set_header();

	var cerrar_cortina = function(){
		$('#top_header').animate({top:'-500px'});
		return false;
	};
	$('#cerrar_header').click( cerrar_cortina );
	$('html, body').keyup( function( k ){
		if( k.keyCode == 27 ){
			cerrar_cortina();
		};
	});
	
	
//HEADER{END}

//TABLAS PAGINABLES{BEGIN}
	$('table.paginable').alternate_rows().paginate( 5, $('#numeros'), $('#prev'), $('#next') );
//TABLAS PAGINABLES{END}

	set_events_tab();
	$('.get_started, .get_started_btn').click( function(){
		var url = $(this).attr( 'href' );
		require( 'any', function(){
			location.href = url;
		});
		return false;
	});
});

function require( tipo, callback, args ){
	/*PREPARANDO LAS LIGHTBOXES {BEGIN}*/
	var box = $('#dialog_registro_tipo').html( '' );
	if( tipo != 'profesional' ) {
		box.append( $('<option />').attr( 'value', 'customer' ).html( 'Cliente' ) );
	}
	if( tipo != 'customer' ) {
		box.append( $('<option />').attr( 'value', 'profesional' ).html( 'Profesionista' ) );
	}
	box.append( $('<option />').attr( 'value', 'both' ).html( 'Cliente y Profesionista' ) );
	$('#dialog_registro').dialog( 'option', 'buttons', {
		Registrar	: function(){
			$('#dialog_registro_error').removeClass('hidden').hide();
			$.post( domain+'/log/up/ajax', {
				'user[username]'	: $('#dialog_registro_username').val(),
				'user[email]'		: $('#dialog_registro_email').val(),
				'user[password]'	: $('#dialog_registro_password').val(),
				'password2'			: $('#dialog_registro_password2').val(),
				'tipo'				: $('#dialog_registro_tipo').val()
			},
			function( response ){
				if( response == 'ok' ){
					$(this).dialog('close');
					callback( args );
					update_status();
				} else {
					var error = eval( '('+response+')' )[0][1];
					$('#dialog_registro_error').html( error ).fadeIn();
				}
			});
		},
		Cancelar	: function(){$(this).dialog('close');}
	});
	
	var ajax_login = function(){
		$('#dialog_login_error').removeClass('hidden').hide();
		$.post(domain + '/log/in/ajax', {
			username: $('#dialog_login_username').val(),
			password: $('#dialog_login_password').val(),
			tipo	: tipo
		}, function(response){
			if(response == 'ok') {
				$('#dialog_login').dialog('close');
				callback(args);
				update_status();
			} else if( response == 'tipo' ) {
				$('#dialog_login').dialog( 'close' );
				expandir( tipo, callback, args );
				update_status();
			} else {
				$('#dialog_login_error').html(response).fadeIn();
			}
		});
	}
	$('#dialog_login').dialog( 'option', 'buttons', {
		Ingresar	: function(){
			ajax_login();
		},
		Cancelar	: function(){$(this).dialog('close');}
	});
	$('#dialog_login input').keyup( function( k ){
		if( k.keyCode == 13 ){
			ajax_login();
			return false;
		}
		return true;
	});
	/*PREPARANDO LAS LIGHTBOXES {END}*/
	
	
	switch( status ){
		case 'both':
			callback( args );
		break;
		case 'visitor':
			$('#dialog_login').dialog( 'open' );
		break;
		case 'customer':
			switch( tipo ){
				case 'any':
				case 'customer':
					callback( args );
				break;
				case 'profesional':
					expandir( 'profesional', callback, args );
				break;
			}
		break;
		case 'profesional':
			switch( tipo ){
				case 'any':
				case 'profesional':
					callback( args );
				break;
				case 'customer':
					expandir( 'customer', callback, args );
				break;
			}
		break;
	}
}

function expandir( tipo, callback, args ){
	var tipos = {
		'customer'		: '<b>Cliente</b>',
		'profesional'	: '<b>Profesionista</b>'
	};
	var message = 'Necesitas ser un '+tipos[tipo]+' para poder utilizar esta función.';
	message += '<br />';
	message += '¿Deseas expandir tu cuenta a '+tipos[tipo]+'?';
	var func = function(){
		$.post( domain+'/log/expand/'+tipo, function(){
			update_status();
			callback( args );
		});
	};
	
	dialog_confirm( message, func, 'Expandir mi cuenta' );
}

$.fn.gray = function( text ){
	$(this).val( text );
	$(this).addClass( 'gray_text' );
	$(this).focus(function(){
		var val = $(this).val();
		if( val == text ){
			$(this).val( '' );
			$(this).removeClass( 'gray_text' );
		}
	});
	$(this).blur(function(){
		var val = $(this).val();
		if( val == '' ){
			$(this).val( text );
			$(this).addClass( 'gray_text' );
		}
	});
	return $(this);
}

function cargar_regiones( estados_id, municipios_id, colonias_id ){
	var estados = $('#'+estados_id);
	var municipios = $('#'+municipios_id);
	var colonias = $('#'+colonias_id);
	$.getJSON( domain+'/regiones/estados', function( data ){
		estados.html( '<option value="0">Seleccione estado</option>' );
		municipios.html( '<option value="0">Seleccione estado</option>' );
		colonias.html( '<option value="0">Seleccione estado</option>' );
		$.each( data, function( i, item ){
			var estado = item.estado;
			estados.append( $('<option />').attr( 'value', estado.id ).html( estado.nombre ) );
		});
		onLoadEstados();
	});

	estados.change( function(){
		var estado_id = $(this).val();
		$.getJSON( domain+'/regiones/municipios/'+estado_id, function( data ){
			municipios.html( '<option value="0">Seleccione municipio</option>' );
			colonias.html( '<option value="0">Seleccione municipio</option>' );
			$.each( data, function( i, item ){
				var municipio = item.municipio;
				municipios.append( $('<option />').attr( 'value', municipio.id ).html( municipio.nombre ) );
			});
		});
	});

	municipios.change( function(){
		var municipio_id = $(this).val();
		$.getJSON( domain+'/regiones/colonias/'+municipio_id, function( data ){
			colonias.html( '<option value="0">Seleccione colonia</option>' );
			$.each( data, function( i, item ){
				var colonia = item.colonia;
				colonias.append( $('<option />').attr( 'value', colonia.id ).html( colonia.nombre ) );
			});
		});
	});
}

function cargar_categorias( categorias_id, subcategorias_id ){
	var categorias = $('#'+categorias_id);
	var subcategorias = $('#'+subcategorias_id);
	$.getJSON( domain+'/categorias/categorias', function( data ){
		categorias.html( '<option value="0">Seleccione categoria</option>' );
		subcategorias.html( '<option value="0">Seleccione categoria</option>' );
		$.each( data, function( i, item ){
			var categoria = item.categoria;
			categorias.append( $('<option />').attr( 'value', categoria.id ).html( categoria.nombre ) );
		});
		onLoadCategorias();
	});

	categorias.change( function(){
		var categoria_id = $(this).val();
		$.getJSON( domain+'/categorias/subcategorias/'+categoria_id, function( data ){
			subcategorias.html( '<option value="0">Seleccione subcategoría</option>' );
			$.each( data, function( i, item ){
				var subcategoria= item.subcategoria;
				subcategorias.append( $('<option />').attr( 'value', subcategoria.id ).html( subcategoria.nombre ) );
			});
		});
	});
}

function dialog_alert( message, title, callback ){
	$('#dialog_alert div.content p').html( message );
	$('#ui-dialog-title-dialog_alert').html( title || '¡Error!' );
	$('#dialog_alert').dialog( 'option', 'buttons', {
		Aceptar	: function(){$(this).dialog('close');}
	}).dialog( 'option', 'width', '300px' ).dialog( 'open');

	if( callback ){
		$('#dialog_alert').dialog( 'option', 'close', callback);
	} else {
		$('#dialog_alert').dialog( 'option', 'close', function(){});
	}
}

function dialog_confirm( message, callback, title ){
	$('#dialog_alert').dialog( 'option', 'close', function(){});
	$('#dialog_alert div.content p').html( message );
	$('#ui-dialog-title-dialog_alert').html( title || '¡Error!' );
	$('#dialog_alert').dialog( 'option', 'buttons', {
		Aceptar		: function(){
			callback();
			$(this).dialog( 'close' );
		},
		Cancelar	: function(){$(this).dialog('close');}
	}).dialog( 'option', 'width', '300px' ).dialog( 'open');
}

function set_header(){
	$('#header_userpanel').show();
	$('#header_breadcrumbs').hide();
	$('#header_back').click( function(){
		$('.logos_row.place, #header_breadcrumbs').hide();
		$('.logos_row.panel').css('opacity', 1).fadeIn();
		return false;
	});

	$('.header_comprar').click( function(){
		$('.logos_row.panel').css( 'opacity', .25 );
		$.post( '/home/comprar', function( response ){
			$('.logos_row.panel').hide();
			$('.logos_row.place').html( response ).fadeIn();
			$('#header_breadcrumbs').show();
			$('#header_go').html( 'Comprar Puntos' );

			$('#header_comprar_puntos').focus( function(){
				$('input[name="header_comprar_puntos"]').attr( 'checked', '' );
			});

			$('#header_comprar_puntos').keydown( function( k ){
				var whiteList = [8, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
				37, 38, 39, 40, 17, 18, 116, 9, 46, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105];
				if( whiteList.indexOf( k.keyCode ) == -1 ){
					return false;
				}
			});

			$('#header_comprar_puntos').keyup( function( k ){
				var puntos = parseInt( $(this).val() );
				var precio = parseInt( $('#header_comprar_precio').val() );
				var total = puntos*precio ? puntos*precio : 0;
				$('#header_comprar_total').html( '$'+total );
			});

			$('input[name="header_comprar_puntos"]').click( function(){
				$('#header_comprar_puntos').val( '' );
				$('#header_comprar_total').html( '$0' );
			});

			$('#header_comprar_button').click( function(){
				var puntos = parseInt( $('#header_comprar_puntos').val() );
				if( !puntos ){
					puntos = parseInt( $('input[name="header_comprar_puntos"]:checked').val() );
				}
				if( puntos ){
					window.open( '/comprar/mexipuntos/'+puntos );
				}
				return false;
			});
		});
		return false;
	});

	$('.header_historial').click( function(){
		$('.logos_row.panel').css( 'opacity', .25 );
		$.post( '/home/historial', function( response ){
			$('.logos_row.panel').hide();
			$('.logos_row.place').html( response ).fadeIn();
			$('#header_breadcrumbs').show();
			$('#header_go').html( 'Historial de Pagos' );
		});
		return false;
	});

	$('.header_historial_de_uso').click( function(){
		$('.logos_row.panel').css( 'opacity', .25 );
		$.post( '/home/historial_de_uso', function( response ){
			$('.logos_row.panel').hide();
			$('.logos_row.place').html( response ).fadeIn();
			$('#header_breadcrumbs').show();
			$('#header_go').html( 'Historial de Puntos' );
		});
		return false;
	});

	var abrir_comprar = function(){
		$('.header_comprar').trigger( 'click' );
		$('#top_header').animate({top:0});
		return false;
	};
	
	$('#barra_comprar, #comprar_botonsote').click( abrir_comprar );
	$('html, body').keyup( function( k ){
		if( k.keyCode == 113) abrir_comprar();
	});

	$('#barra_cuenta').click( function(){
		$('#header_back').trigger( 'click' );
		$('#top_header').animate({top:0});
		return false;
	});
}

function update_status(){
	$.post( domain+'/home/header', function( response ){
		$('#header_group').replaceWith( response );
		$.post( domain+'/home/header_barra', function( response ) {
			$('#top_bar').replaceWith( response );
			set_header();
		});
	});
	$.post( domain+'/log/status', function( response ){
		status = response;
	});
}

function set_actions(){
	$('a.guardar').click( function(){
		var href = $(this).attr( 'href' );
		var guardar = function(){
			$.post( href, function( response ){
				$('#dialog_favoritos .solicitud ').html( response );
				$('#dialog_favoritos').dialog( 'option', 'width', '600px' ).dialog( 'option', 'buttons',{
					Guardar		: function(){
						$.post( href, {confirm:true} );
						$(this).dialog( 'close' );
					},
					Cancelar	: function(){$(this).dialog('close');}
				}).dialog( 'open' );
			});
		}
		require( 'any', guardar );
		return false;
	});

	$('a.alertas').click( function(){
		$('#dialog_alerta_solicitud_error').hide();
		var href = $(this).attr( 'href' );
		var alerta = function(){
			$.post( href, function( response ){
				$('#dialog_alerta_solicitud .solicitud ').html( response );
				$('#dialog_alerta_solicitud').dialog('option', 'width', '600px').
					dialog( 'open' );
				$('#dialog_alerta_solicitud').dialog( 'option', 'buttons',{
					Guardar		: function(){
						var frec = $('input[name="dialog_alerta_solicitud_frecuencia"]:checked').val();
						if( frec ){
							$.post( href, {
								confirm	: true,
								frecuencia	: frec
							}, function(){
								$('#dialog_alerta_solicitud').dialog( 'close' );
							});
						} else {
							$('#dialog_alerta_solicitud_error').fadeIn();
						}
					},
					Cancelar	: function(){$(this).dialog('close');}
				});
			});
		}
		$.post( href, {confirm:'frec'}, function( response ){
			$('input[name="dialog_alerta_solicitud_frecuencia"]').attr( 'checked', false );
			$('#dialog_alerta_solicitud_frecuencia_'+response).attr( 'checked', 'checked' );
		});
		require( 'any', alerta );
		return false;
	});

	$('a.cotizar').click( function(){
		var url = $(this).attr( 'href' );
		var cotizar = function(){
			auto_cotizar( url );
		}
		require( 'profesional', cotizar );
		return false;
	});
	
	$('#question_question').limit_chars( 200, $('#dialog_pregunta span.caracteres') );
}

$.fn.limit_chars = function( max, counter ){
	$(this).keyup( function(){
		var actual = $(this).val().length;
		var rest = max - actual;
		
		if( rest < 0 ){
			rest = 0;
			$(this).val( $(this).val().substr( 0, max ) );
		}
		
		if( counter ){
			counter.html( rest );
		}
	});
};

$.fn.alternate_rows = function( classname ){
	classname = classname || 'alt';
	var tr;
	if( $(this).hasClass( 'recurrente' ) ){
		tr = $(this).find( 'tr.main' );
	} else {
		tr = $(this).find( 'tr' );
	}
	tr.each( function( i, el ){
		if( i % 2 == 0 ){
			$(el).addClass( classname );
		}
	});
	return this;
}

$.fn.paginate = function( items, numeros_pagina, prev, next ){
	var its = items || 5;

	var inner = $( '<div />' );
	var outter = $( '<div />' ).append( inner );
	var tr;
	if( $(this).hasClass( 'recurrente' ) ){
		tr = $(this).find( 'tr.main' );
	} else {
		tr = $(this).find( 'tr' );
	}

	tr.css( 'width', $(this).css( 'width' ) );
	var width = (parseInt(tr.css( 'width' )) + (parseInt(tr.css( 'margin-right' ))||0) +
		(parseInt(tr.css( 'margin-left' ))||0))||0;
	var pags = parseInt( ( tr.size() - 1)  / its ) + 1;
	var i;

	for( i = 0; i < pags; i++ ){
		var table = $( '<table />' ).attr({
			'class'	: $(this).attr( 'class' ),
			width	: $(this).attr( 'width' )
		});
		var j;
		for( j = i*its; j < (i+1)*its; j++ ){
			table.append( tr[j] );
		}
		inner.append( table );
	}

	var tables = inner.find( 'table' ).css( 'float', 'left' );

	outter.css({
		overflow	: 'hidden',
		position	: 'relative',
		'z-index'	: 2,
		width		: width+'px',
		visibility	: 'visible',
		left		: 0
	});

	inner.css({
		position		: 'relative',
		width		: width*tables.length+'px',
		'z-index'	: 1
	});

	numeros_pagina.html( '' );
	for( i = 1; i <= pags; i++ ){
		numeros_pagina.append( $('<a />').attr( 'href', '' ).html( i ) );
	}
	var nums = numeros_pagina.find( 'a' );
	$(nums[0]).addClass( 'active' );

	nums.unbind();
	nums.click( function(){
		nums.removeClass( 'active' );
		$(this).addClass( 'active' );
		var left = -( parseInt($(this).html()) - 1 ) * width + 'px';
		inner.animate({left:left});
		return false;
	});

	prev.unbind();
	prev.click( function(){
		var pag = parseInt(numeros_pagina.find( '.active' ).html()) - 2;
		if( pag >= 0 ){
			nums.removeClass( 'active' );
			$(nums[pag]).addClass( 'active' );
			var left = -pag * width + 'px';
			inner.animate({left:left});
		}
		return false;
	});

	next.unbind();
	next.click( function(){
		var pag = parseInt(numeros_pagina.find( '.active' ).html());
		if( pag < nums.length ){
			nums.removeClass( 'active' );
			$(nums[pag]).addClass( 'active' );
			var left = -pag * width + 'px';
			inner.animate({left:left});
		}
		return false;
	});

	$(this).replaceWith( outter );
}

$.fn.estrellitas = function( hidden, div ){
	var i;
	var texto = ' Pésimo Malo Regular Bueno Excelente'.split( ' ' );
	hidden.val( 0 );
	for( i = 1; i <= 5; i++ ){
		var star = $('<img />').attr({
			'src'	: '/images/star_ratings.png',
			'class'	: i
		}).css( 'opacity', .2 );

		star.hover( function(){
			val = parseInt($(this).attr( 'class' ));
			$(this).parent().find( 'img' ).css( 'opacity', .2 );
			for( j = 1; j <= val; j++ ){
				$(this).parent().find( '.'+j ).css( 'opacity', 1 );
			}
			div.html( texto[val] );
		}, function(){
			val = hidden.val();
			$(this).parent().find( 'img' ).css( 'opacity', .2 );
			for( j = 1; j <= val; j++ ){
				$(this).parent().find( '.'+j ).css( 'opacity', 1 );
			}
			div.html( texto[val] );
		});

		star.click( function(){
			val = parseInt($(this).attr( 'class' ));
			hidden.val( val );
			div.html( texto[val] );
		});

		$(this).append( star );
	}
}

function header_breadcrumbs( data ){
	var i;
	var breadcrumb = $('<div />');
	for( i = 0; i < data.length - 1; i++ ){
		breadcrumb.append( $('<a />').attr( 'href', '' ).html( ' '+data[i]+' ' ) );
		breadcrumb.append( $('<span />').attr( 'class', 'bullet' ) );
	}
	breadcrumb.append( $('<span />').html( ' '+data[data.length-1] ) );
	return breadcrumb.html();
}

function ping(){
	if( status == 'visitor' ) return;
	var actual = $('#notificaciones .count').html();
	$.post( domain+'/log/ping', function( response ){
		if( response != actual ){
			$('#notificaciones .count').html( response );
		}
		if( $('#notificaciones .count').html() == '0' ){
			$('#notificaciones').hide();
		} else {
			$('#notificaciones').show();
		}
	});
}

function set_events_tab(){
	setInterval( ping, 2000 );
	$('#notificaciones .content').hide();
	$('#notificaciones h2').css( 'cursor', 'pointer' ).click( function(){
		var content = $('#notificaciones .content');
		if( content.css( 'display' ) == 'none' ){
			content.html('').show();
			content.animate({
				height	: 180
			}, function(){
				$(this).load( '/log/notificaciones', function(){
					$('#notificaciones span.eliminar a').click( function(){
						var url = $(this).attr( 'href' );
						var cont = $(this).parent().parent();
						
						$.post( url, function(){
							cont.fadeOut();
							var actual = parseInt($('#notificaciones .count').html());
							$('#notificaciones .count').html( actual - 1 );
						});
						return false;
					});
				});
			});
		} else {
			content.animate({
				height	: 0
			}, function(){
				$(this).hide();
			});
		}
	});
}

function load_events(){
	$('#events_tab div.content').html( '' );
	$.post( domain+'/log/notificaciones', function( response ){
		$('#events_tab div.content').html( response );
		$('.notificacion span a').click( function(){
			var url = $(this).attr( 'href' );
			var div = $(this).parent().parent();
			$.post( url, function(){
				div.animate({
					opacity	: 0
				}, function(){
					div.slideUp();
				});
			});
			return false;
		});
		
		$('.notificacion p a').click( function(){
			var dest = $(this).attr( 'href' );
			var span = $(this).parent().parent().find( 'span a');
			var url = span.attr( 'href' );
			$.post( url, function(){
				location.href = dest;
			}); 
			return false;
		});
	});
}

function set_cotizar(){
	$('a.cotizar').click( function(){
		var url = $(this).attr( 'href' );
		var solicitar_cotizacion = function(url){
			$.getJSON(url, function(response){
				if( response.status == 'error' ){
					dialog_alert( 'No te puedes solicitar una cotización a ti mismo.' );
					return false;
				}
				var services = response.services;
				if (services.length > 0) {
					$('#dialog_solicitar_cotizacion_username').html(response.username);
					$('#dialog_solicitar_cotizacion_servicio').html('');
					$.each(response.services, function(i, item){
						$('#dialog_solicitar_cotizacion_servicio').append($('<option />').attr('value', item.id).html(item.title));
					});
					$('#dialog_solicitar_cotizacion').dialog('option', 'buttons', {
						Enviar: function(){
							var id = '#dialog_solicitar_cotizacion_';
							$.post(url, {
								confirm		: true,
								servicio	: $(id+'servicio').val(),
								mensaje		: $(id+'mensaje').val(),
								copia		: $(id+'copia').attr( 'checked' )
							}, function(response){
								$('#dialog_solicitar_cotizacion').dialog('close');
							});
						},
						Cancelar: function(){
							$(this).dialog('close');
						}
					}).dialog('open');
				}
				else {
					var mensaje = 'En este momento no tienes ninguna solicitud publicada.<br />';
					mensaje += 'Si deseas solicitar una cotización de este profesionista es necesario que ';
					mensaje += '<a href="/solicitar">publiques una solicitud</a>.';
					dialog_alert( mensaje, 'No tienes solicitudes' );
				}
			});
		}
		require( 'customer', solicitar_cotizacion, url );
		return false;
	});
}

function auto_cotizar( url ){
	$.post( url, {
		check	: 'true'
	}, function( response ){
		if( response == 'ok' ){
			location.href = url;
		} else {
			dialog_alert( 'No está permitido cotizar tus propias solicitudes.' );
		}
	});
}