$(function() {
    $("a[rel='external']").attr('target', '_blank');
   
    $("select.go-to").change(function() {
        window.location.href = $(this).val();
    });
    
    $("#open_login").click(function() {
        var $loginDetails = $('#loginDetails');
        if($loginDetails.is(':visible')) {
            $loginDetails.fadeOut('slow');
        } else {
            $loginDetails.fadeIn('slow');
        }
        return false;
    });
    
    $("#alterar_cidade").click(function() {
        var $chooseCity = $('#chooseCity');
        if($chooseCity.is(':visible')) {
            $chooseCity.fadeOut('slow');
        } else {
            $chooseCity.fadeIn('slow');
        }
        return false;
    });
    
    $("input[name='data[Profissional][email]']").example('Seu e-mail');
    //$("input[name='data[Profissional][senha]']").example('Sua senha');
    $("input[name='data[Busca][term]']").example('Eu procuro por...');
	
    boxCidade('#CidadeAtualEstadoId', '#CidadeAtualCidadeId', null, 'busca');
    

    
	switch(Acharefacil.params.controller) {
		case 'home':
			Home.init();
			break;
		case 'profissionais':
			switch(Acharefacil.params.action) {
				case 'cadastro_basico':
					Profissionais.cadastroBasico();
					break;
				case 'cadastro_detalhes':
					Profissionais.cadastroDetalhes();
					break;
				case 'cadastro_premium':
					Profissionais.cadastroPremium();
					break;
				case 'usuario_foto':
					Profissionais.usuarioFoto();
					break;
			}
			break;
		case 'busca':
			switch(Acharefacil.params.action) {
				case 'index':
					Busca.init();
					break;
				case 'mensagem_busca': 
					Busca.mensagemBusca();
					break;	
				case 'index_avancada': 
					Busca.init();
					//Busca.busca_avancada();
					break;	
				case 'busca_avancada': 
					//Busca.init();
					Busca.busca_avancada();
					break;	
			}
			break;
		case 'anuncios':
			switch(Acharefacil.params.action) {
				case 'view':
					Anuncio.init();
					break;
			}
			break;
	}
});

var Home = {
	init: function() { 
        $("#CidadeAtualCidadeId").live('change', function() {
            $(this).parents('form:first').submit();
        });
	    this.animatePostsBlog();
		this.animateCategories();
	},
    animatePostsBlog: function() {
        $("#ticker").jStockTicker({interval: 45, speed :1}); 
    },
	animateCategories: function() {
		function homeCategories_initCallback(carousel) {
			$('#arrow-right a').bind('click', function() {
				carousel.next();
				$(this).blur();
				return false;
			});
			
			$('#arrow-left a').bind('click', function() {
				carousel.prev();
				$(this).blur();
				return false;
			});
		}
		
		$("#homeCategories").jcarousel({
			scroll: 1,
			initCallback: homeCategories_initCallback,
			buttonNextHTML: null,
			buttonPrevHTML: null
		});
	}
};

var Anuncio = {
	init: function() {
		$("input.star").rating();
		$(".star_disabled").rating('readOnly', true);
		//$("input.star_disabled").rating('readOnly', true);
	}
}

var Busca = {
	init: function() {
		$("#sideNav .categories, #sideNav .mainCategory").not(":has(li.active)").each(function() {
			$(this).find('.all').addClass('active');
		});
		$("#sideNav .view-more a").click(function() {
			$(this).parents('ul:first').find('.none').fadeIn('slow');
			return false;
		});
		$(".active.none").removeClass('none');
		
		boxCidade('#BuscaEstadoId', '#BuscaCidadeId', 'Cidade', 'normal');
		$("input.star").rating();
		$(".star_disabled").rating('readOnly', true);
		
		
	},
	mensagemBusca: function() {
		boxCidade('#CidadeEstadoId', '#ProfissionalCidadeId', null, 'busca');
	},
	busca_avancada: function() {
		boxCidade('#CidadeEstadoId', '#BuscaCidadeId', null, 'busca');
		$("input.star").rating();
		$(".star_disabled").rating('readOnly', true);
	}
};

var Profissionais = {
	init: function() {
		
	},
	cadastroBasico: function() {
		boxCidade('#CidadeEstadoId', '#ProfissionalCidadeId', null, 'busca');
	},
	
	cadastroPremium: function() {
		var url_categorias = Acharefacil.basePath + 'categorias/get_categorias/';
		var options = {
			empty_value: 'null',
			indexed: true, 
			on_each_change: url_categorias, 
			set_value_on: 'each', 
			choose: function(level) {
				if(level == 1) {
					return 'Selecione a categoria: ';
				} else {
					return 'Selecione a sub-categoria: ';
				}
			},
			preselect_only_once: true
		};
		$.getJSON(url_categorias, function(tree) {
			$('#AnuncioCategoriaId').optionTree(tree, options);
		});
		var url_arquivo_delete = Acharefacil.basePath + 'arquivos/delete/{arquivo_id}';
		function addClose() {
			$('.removable:not(:has(a.close))').each(function(index){
				$(this).prepend( 
					$('<a></a>')
						.attr({href: '#', title: 'Close'})
						.addClass('close')
						.text('Remover')
						.click(function() {
							var id = $(this).parent().find('img[rel]').attr('rel');
							var url = url_arquivo_delete.replace('{arquivo_id}', id);
							var $this = $(this);
							
							$.get(url, {}, function(data) {
								if(data == '1') {
									$this.parent().fadeOut('slow', function() {
										$(this).remove();
									});
								} else {
									alert('Não foi possível apagar o arquivo.');
								}
								
							}, 'html');
							
							
							return false;
							
						})
				);
			});
		}
		addClose();
		function myUploadSuccess2(file, serverData) {
			try {
				var progress = new FileProgress(file, this.customSettings.progressTarget);
				progress.setComplete();
				progress.setStatus("Complete.");
				progress.toggleCancel(false);
				
				var img = serverData;
				//alert(img);
				var $div1 = $("<div />").addClass("column width1 removable");
				var $div2 = $("<div />").addClass("box").html(img).appendTo($div1);
				
				$div1.appendTo($('#files2'));
				
				addClose();
			} catch (ex) {
				this.debug(ex);
			}
		}
		function myUploadSuccess(file, serverData) {
			try {
				var progress = new FileProgress(file, this.customSettings.progressTarget);
				progress.setComplete();
				progress.setStatus("Complete.");
				progress.toggleCancel(false);
				
				var img = serverData;
				var $div1 = $("<div />").addClass("column width1 removable");
				var $div2 = $("<div />").addClass("box").html(img).appendTo($div1);
				
				$div1.appendTo($('#files'));
				
				addClose();
			} catch (ex) {
				this.debug(ex);
			}
		}
		initSwfUpload({
			'upload_success_handler': myUploadSuccess,
			'post_params': {
				'data[Arquivo][tipo_arquivo]': 'I',
				'data[Arquivo][habilitar_premium]': 1
			},
			'file_types': '*.jpg;*.jpeg',
			'file_upload_limit' : 15
		});
		initSwfUpload({
			'custom_settings': {
				'progressTarget': 'fsUploadProgress2',
				'cancelButtonId': 'btnCancel2'
			},
			'button_placeholder_id': 'spanButtonPlaceHolder2',
			'upload_success_handler': myUploadSuccess2,
			'button_text': '<span class="theFont">Selecionar Currículo</span>',
			'post_params': {
				'data[Arquivo][tipo_arquivo]': 'C'
			},
			'file_types': '*.pdf;',
			'file_upload_limit' : 1
		});
	},
	
	cadastroDetalhes: function() {
	var url_arquivo_delete = Acharefacil.basePath + 'arquivos/delete/{arquivo_id}';
		
		function addClose() {
			$('.removable:not(:has(a.close))').each(function(index){
				$(this).prepend( 
					$('<a></a>')
						.attr({href: '#', title: 'Close'})
						.addClass('close')
						.text('Remover')
						.click(function() {
							var id = $(this).parent().find('img[rel]').attr('rel');
							var url = url_arquivo_delete.replace('{arquivo_id}', id);
							var $this = $(this);
							
							$.get(url, {}, function(data) {
								if(data == '1') {
									$this.parent().fadeOut('slow', function() {
										$(this).remove();
									});
								} else {
									alert('Não foi possível apagar o arquivo.');
								}
								
							}, 'html');
							
							
							return false;
							
						})
				);
			});
		}
		addClose();
		
		function myUploadSuccess2(file, serverData) {
			try {
				var progress = new FileProgress(file, this.customSettings.progressTarget);
				progress.setComplete();
				progress.setStatus("Complete.");
				progress.toggleCancel(false);
				
				var img = serverData;
				//alert(img);
				var $div1 = $("<div />").addClass("column width1 removable");
				var $div2 = $("<div />").addClass("box").html(img).appendTo($div1);
				
				$div1.appendTo($('#files2'));
				
				addClose();
			} catch (ex) {
				this.debug(ex);
			}
		}
		
		initSwfUpload({
			'custom_settings': {
				'progressTarget': 'fsUploadProgress2',
				'cancelButtonId': 'btnCancel2'
			},
			'button_placeholder_id': 'spanButtonPlaceHolder2',
			'upload_success_handler': myUploadSuccess2,
			'button_width': "160",
			'button_height': "35",			
			'button_text': '<span class="theFont">Selecionar Currículo</span>',
			'button_text_top_padding': 7,
			'button_text_left_padding': 16,
			'post_params': {
				'data[Arquivo][tipo_arquivo]': 'C'
			},
			'file_types': '*.pdf',
			'file_upload_limit' : 1
		});
	},

	usuarioFoto: function() {
		var url_arquivo_delete = Acharefacil.basePath + 'arquivos/delete/{arquivo_id}';
		function addClose() {
			$('.removable:not(:has(a.close))').each(function(index){
				$(this).prepend( 
					$('<a></a>')
						.attr({href: '#', title: 'Close'})
						.addClass('close')
						.text('Remover')
						.click(function() {
							var id = $(this).parent().find('img[rel]').attr('rel');
							var url = url_arquivo_delete.replace('{arquivo_id}', id);
							var $this = $(this);
							
							$.get(url, {}, function(data) {
								if(data == '1') {
									$this.parent().fadeOut('slow', function() {
										$(this).remove();
									});
								} else {
									alert('Não foi possível apagar o arquivo.');
								}
								
							}, 'html');
							
							
							return false;
							
						})
				);
			});
		}
		addClose();
		function myUploadSuccess2(file, serverData) {
			try {
				var progress = new FileProgress(file, this.customSettings.progressTarget);
				progress.setComplete();
				progress.setStatus("Complete.");
				progress.toggleCancel(false);
				
				var img = serverData;
				//alert(img);
				var $div1 = $("<div />").addClass("column width1 removable");
				var $div2 = $("<div />").addClass("box").html(img).appendTo($div1);
				
				$div1.appendTo($('#files2'));
				
				addClose();
			} catch (ex) {
				this.debug(ex);
			}
		}
		function myUploadSuccess(file, serverData) {
			try {
				var progress = new FileProgress(file, this.customSettings.progressTarget);
				progress.setComplete();
				progress.setStatus("Complete.");
				progress.toggleCancel(false);
				
				var img = serverData;
				var $div1 = $("<div />").addClass("column width1 removable");
				var $div2 = $("<div />").addClass("box").html(img).appendTo($div1);
				
				$div1.appendTo($('#files'));
				
				addClose();
			} catch (ex) {
				this.debug(ex);
			}
		}
		initSwfUpload({
			'tipo': 'I',
			'upload_success_handler': myUploadSuccess,
			'post_params': {
				'data[Arquivo][tipo_arquivo]': 'I',
				'data[Arquivo][habilitar_premium]': 1
			},
			'file_types': '*.jpg;*.jpeg',
			'file_upload_limit' : 15
		});
		
		initSwfUpload({
			'tipo': 'C',
			'custom_settings': {
				'progressTarget': 'fsUploadProgress2',
				'cancelButtonId': 'btnCancel2'
			},
			'button_placeholder_id': 'spanButtonPlaceHolder2',
			
			'upload_success_handler': myUploadSuccess2,
			'button_text': '<span class="theFont">Selecionar Currículo</span>',
			'post_params': {
				'data[Arquivo][tipo_arquivo]': 'C'
			},
			'file_types': '*.pdf',
			'file_upload_limit' : 1
		});
	}
	
}

function initSwfUpload(custom_config) {
	
	if(typeof(custom_config) == 'undefined') {
		custom_config = {};
	}
	
	var url_arquivo = Acharefacil.basePath + '';
	var url_arquivo_edit = Acharefacil.basePath + '';
	var url_arquivo_delete = Acharefacil.basePath + '';
	
	var flash_url = Acharefacil.basePath + 'js/swfupload/swfupload.swf';
	var upload_url = Acharefacil.basePath + 'arquivos/do_upload';
	
	var profissional_id = $("#ProfissionalId").val();
	
	var image_button = Acharefacil.basePath + 'media_admin/js/swfupload/TestImageNoText.png?1239df8';
	
	var swfu;
	
	var settings = {
		'flash_url' : flash_url,
		'upload_url': upload_url,
		post_params: {"PHPSESSID" : "", 'data[Arquivo][profissional_id]': profissional_id},
		file_size_limit : "2 MB",
		file_types : "*.*",
		file_types_description : "All Files",
		file_upload_limit : 100,
		file_queue_limit : 0,
		custom_settings : {
			progressTarget : "fsUploadProgress",
			cancelButtonId : "btnCancel"
		},
		debug: false,
		file_post_name: 'data[Arquivo][arquivo]',
		// Button settings
		button_image_url: image_button,
		button_width: "135",
		button_height: "28",
		button_placeholder_id: "spanButtonPlaceHolder",
		button_text: '<span class="theFont">Selecionar Imagens</span>',
		button_text_style: ".theFont { color: #777777; font-family: Tahoma,Arial,sans-serif; font-size: 11px; font-weight: bold; padding: 10px 10px; }",
		button_text_left_padding: 12,
		button_text_top_padding: 3,
		
		// The event handler functions are defined in handlers.js
		file_queued_handler : fileQueued,
		file_queue_error_handler : fileQueueError,
		file_dialog_complete_handler : fileDialogComplete,
		upload_start_handler : uploadStart,
		upload_progress_handler : uploadProgress,
		upload_error_handler : uploadError,
		upload_success_handler : uploadSuccess,
		upload_complete_handler : uploadComplete,
		queue_complete_handler : queueComplete	// Queue plugin event
	};
	
	settings = $.extend(true, {}, settings, custom_config);

	swfu = new SWFUpload(settings);

}

function boxCidade(select_estado, select_cidade, blank_cidade, tipo) {
	var url_cidades = Acharefacil.basePath + 'cidades/getbyestado/{estado_id}/';
	if(!blank_cidade) {
		blank_cidade = 'Selecione uma Cidade';	
	}
	
	if(tipo) {
		url_cidades = url_cidades + tipo;
	} 
	
	$(select_estado).change(function() {
		var url = url_cidades.replace('{estado_id}', $(this).val());
		
		var $target = $(select_cidade).empty();
		var $img_loader = $("<img />").attr('src', Acharefacil.basePath + 'media_admin/img/ajax-loader-16x16.gif');
		$target.before($img_loader);
		
		$.get(url, {}, function(data) {
		   $target.append($("<option />").attr('value', '').text(blank_cidade));
		   $.each(data, function(index, value) {
			   var $option = $("<option />").attr('value', index).text(value);
			   $target.append($option);
		   });
		   $img_loader.remove();		   
		}, 'json');		
	});
   
	if($("option", select_cidade).size() == 0) {
	   $(select_estado).change();
	}
}
function abreDiv( ul ){
	if ( document.getElementById(ul).style.display == '' ){
			document.getElementById(ul).style.display = 'none';
		}else{
				document.getElementById(ul).style.display = '';
			}
}
function Mascara(objeto){
   if(objeto.value.length == 0)
     objeto.value = '(' + objeto.value;

   if(objeto.value.length == 3)
      objeto.value = objeto.value + ') ';

 if(objeto.value.length == 9)
     objeto.value = objeto.value + '-';
}
function abrir(URL) {

  var width = 150;
  var height = 250;

  var left = 99;
  var top = 99;

  window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');

}
