$(function() {

    function isLocalHost(){
        var exp = new RegExp('^(192.|local|127.)');
        return exp.test(location.host)?true:false;
    }

    function locationUrl(i,conc) {
        return location.href.split('/')[i]+conc;
    }

    function baseUrl() {
        return isLocalHost()?'http://'+locationUrl(2,'/')+locationUrl(3,'/'):'http://'+location.hostname+'/';
    }

    var BASE_URL = baseUrl();

   $('select.auto_select').change(function() {
        $(this).closest('form').submit();
   });

   function Cursor(src) {
	    var img = document.createElement('img');
	    img.src = src;
	    img.id  = 'cursor';
	    img.style.position = 'absolute';
	    img.style.zIndex   = 999;

	    function getCursorImg() {
			document.getElementById('cursor');
	    }

	    return {
			wait : function() {
				if (getCursorImg() == null) {
					document.body.appendChild(img);
				}
				document.body.style.cursor = 'none';
				img.style.display = 'block';
			},
			normal : function() {
				document.body.style.cursor = 'default';
				document.body.onmousemove = function(){};
				img.style.display = 'none';
			}
	    }
   }

   var cursor = new Cursor(BASE_URL+'img/site/ajax-loader.gif');

   $.ajaxSetup({
        beforeSend : function() {
			cursor.wait();
        },
        complete : function() {
			cursor.normal();
        }
   });

   $('ul.abas li a').click(function() {
       $('ul.abas li').removeClass('aba-selecionada');
       $(this).parent().addClass('aba-selecionada');
       switch($('ul.abas li a').index(this)) {
           case 0 :
               $('ul.destaque-img').fadeIn();
               $('ul.destaque-video').hide();
           break;
           case 1 :
        	   $('ul.destaque-video').fadeIn();
               $('ul.destaque-img').hide();
           break;
       }
       return false;
   });

   function runModal(html) {
	   window.location.href = window.location.href.split("#")[0]+'#topo';
       $('html').css({'overflow':'hidden'});
       $('body').prepend('<div id="modal"></div>').prepend('<div id="overlay"></div>');
       $('#modal').append(html).prepend('<a href="javascript:void()" id="fechar_modal">x</a>').fadeIn(300);

	   var width 		= window.screen.width;
	   var modalWidth  	= $('#modal').width();
	   $('#modal').css({'position':'absolute','left':(width/2) - (modalWidth/2)});
	   $('#overlay,#fechar').one('click',function() {
           $('#modal').fadeOut(300,function(){
                $(this).remove();
                $('#overlay').remove();
                $('html').css({'overflow':'auto'});
           })
       });
   }
    // V  isto nao deveria estar dentro de uma função?
   $('#form_enquete').submit(function() {
        var form = this;
        $.ajax({
            url      : form.action,// < isto nao funciona assim... tem que ser form.attr('action')
            dataType : 'json',
            type     : form.method,
            data     : $(form).find('input,textarea').serialize(),
            success : function(response) {
                $(form).find('input:checked').attr('checked','');
                $.get(BASE_URL+'enquetes/resultado/'+response.id+'/1', function(html) {
                    runModal(html);
                });
            }
        });
        return false;
   });
   
   $('.ver-resultado').click(function() {
        $('.ver-resultado').hide();
	   $.get(BASE_URL+'enquetes/resultado/'+$('#id_enquete').attr('value')+'/1', function(html) {
		   $('.ver-resultado').show();
		   runModal(html);
	   });
   });

   $('#bt_votar').click(function() {
        if ( $('#form_enquete').find('input:checked,textarea').length > 0){
			var form =  $('#form_enquete');
            $.ajax({
                url      : form.attr('action'),
                /*beforeSend : function (){
                    
                },*/
                dataType : 'json',
                type     : form.attr('method'),
                data     : $(form).find('input,textarea').serialize(),
                success : function(response) {
                    $(form).find('input:checked').attr('checked','');
                    $.get(BASE_URL+'enquetes/resultado/'+response.id+'/1', function(html) {
                        runModal(html);
                    });
                }
            });
			$('form#form_enquete').attr('disabled',true);
			$('form#form_enquete:disabled');
			$('#bt_votar').remove();
	    } else { 
	        alert('Selecione pelo menos uma opção para validar seu voto...');
		}
   });

   $('#box-fotos li a,li.lista-fotos a').click(function() {
	   var lnk = this;
	   var targets = '#box-fotos li.foto-principal img,#add_fotos img,.foto-principal';
	   
	   var newFile = $(lnk).children().attr('src').split('/');
	   newFile = newFile[newFile.length-1].split('&')[0];
	   
	   var src = $(targets).attr('src');
	   
	   var oldFile = src.split('/');
	   oldFile = oldFile[oldFile.length-1].split('&')[0];
       var newSrc = src.replace(oldFile,newFile);
	   $(targets).fadeOut(100, function() {
	    $(targets).attr('src','');
		   $(targets).attr('src',newSrc);
	   });
	   $(targets).fadeIn(100);
	   var href = $('a.faca-download').attr('href');
           var newHref = href.replace(oldFile,newFile);
	   $('a.faca-download').attr('href',newHref);
       return false;
   });

   $('#todos_eventos .link_show').click(function() {
       $('#todos_eventos  .box_ultimos_eventos').toggle(550);
   });

   $('#EstadoCivil0,#EstadoCivil1').change(function() {
       if($(this).attr('value')==1) {
           $('#conjuge').toggle(550);
       }else {
           $('#conjuge').hide();
       }
   });

   $('#tem_filhos').click(function() {
       if($(this).is(':checked')) {
           $('#quantos_filhos').toggle(550);
           $('#filhos').toggle(550);
       }else
           $('#filhos').hide();
           $('#quantos_filhos').hide();
   });

   replaceAll = function (string, token, newtoken) {
       while (string.indexOf(token) != -1) {
           string = string.replace(token, newtoken);
       }
       return string;
   }

   $('#PedidosCartaoJavascript').attr('value',1);

   $('#quantos_filhos .qnt_filhos').change(function() {
       var forms = $('#quantos_filhos .qnt_filhos').attr('value');
       var formulario = $('#filhos li:first').html();
       formulario = '<li>'+formulario+'</li>';
       $('#filhos li').remove();
       var label  = 1;
       var indice = 0;
       for(var i = 1;i <= forms;i++) {
           if(i >= 3) {
               label++;
               indice++;
           }
           formulario = formulario.replace('Filho '+label,'Filho '+i);
           if(i > 1) {
               formulario = replaceAll(formulario,'['+indice+']','['+[i-1]+']');
           }
           $('#filhos ul').append(formulario);
       }
       $('#pedido_form').validation();
   });

  // $('#pedido_form,#cadastro_form').validation(customValidation);

   $('.ranking_feminino').hide();
   $('.abas-ranking li a').click(function() {
       $('.abas-ranking li').removeClass('selecionada');
       $(this).parent().attr('class','selecionada');
       
       if ($(this).attr('class') == 'aba_feminino') {
           $('.ranking_masculino').hide();
           $('.ranking_feminino').show();
       }else {
           $('.ranking_feminino').hide();
           $('.ranking_masculino').show();
       }
       return false;
   });

   $('ul.galeria li a').click(function() {
	   $.get(this.href);
	   return false;
   });

	$('.produto_img_pq').click(function() {
		$('.produto_img_box').attr('href',$(this).attr('src'));
	});

	$('.thumbnails a').click(function() {
		var lnk = this;
		$('.target_image').fadeOut(100, function() {
			$('.target_image').attr('src',$(lnk).children().attr('src'));
			$('.target_image').attr('title',$(lnk).attr('title'));
		});
		$('.target_image').fadeIn(100);
	});

	DD_roundies.addRule('#slider', '10px', true);			
	DD_roundies.addRule('input.ok', '2px', true);
	DD_roundies.addRule('#col2', '12px', true);
	DD_roundies.addRule('#col-menus', '0 0 12px 12px', true);
	DD_roundies.addRule('#localizacao_body iframe', '4px', true);
	DD_roundies.addRule('ul.servicos li', '5px', true);
	DD_roundies.addRule('#conteudo-galeria', '12px', true);
	DD_roundies.addRule('.ultimas-galerias li', '5px', true);
	DD_roundies.addRule('.outros-servicos', '9px', true);
	DD_roundies.addRule('#resultado *', '5px', true);
	DD_roundies.addRule('.banner-radius', '10px', true);
	
	$('<br class="clear" />').appendTo('.outros-servicos');
	
	$('.servicos img').tooltip({
		offset: [10, 2],
		effect: 'slide'
	}).dynamic({ bottom: { direction: 'down', bounce: true } });
	
	$('.media-geral ul li').tooltip({
		offset: [20, 0],
		effect: 'slide'
	}).dynamic({ bottom: { direction: 'down', bounce: true } });
	
	var buttons = { previous:$('#lofslidecontent45 .lof-previous') ,
			next:$('#lofslidecontent45 .lof-next') };
			
	$obj = $('#lofslidecontent45').lofJSidernews( { interval : 9000,
									direction		: 'opacitys',	
								 	easing			: 'easeInOutExpo',
									duration		: 1300,
									auto		 	: true,
									maxItemDisplay  : 5,
									navPosition     : 'horizontal',
									navigatorHeight : 40,
									navigatorWidth  : 85,
									mainWidth:488,
									buttons			: buttons } 
								);
	
	$('#AniversarioNascimento, #AniversarioNascimento-responsavel, #AniversarioDia-festa, .date-input').datepicker();
	
	$('#fotos-mais-clicadas ul li a').click(function(){
	    var src = $(this).children().attr('src');
	    src     = src.split('&');
	    new_src = src[0]+'&w=630&h=430'; 
        $('.foto-principal').attr('src', '');
	    $('.foto-principal').attr('src', new_src);
	    $('.faca-dowload').attr('href', new_src+'&download=1');

	    return false;
	});
	
	if ($('#flashMessage').html()!=null){
	    alert($('#flashMessage').html());
    }
    
    $('input#cep').mask('9999-999');
    $('input#telefone').mask('999 999 999');
    $('input#telemovel').mask('999 999 999');
    
    $("a[rel='lightbox']").colorbox();
    
    $(document).ready(function(){    
        var dataMax = new Date();
        var dataMin = new Date();
        dataMin.setFullYear(dataMin.getFullYear() - 2);
        var img     = '../img/site/ico-calendario.png';
        var show    = 'both';
        var format  = 'yy/m/dd';
        var anim    = 'slideDown';
        $('#partida-apartir').datepicker({
            minDate: dataMin,
            maxDate: dataMax,
            showOn: show,
			buttonImage: img,
			buttonImageOnly: true,
			dateFormat: format,
			changeMonth: true,
			changeYear: true,
			onSelect: function(dateText, inst){
                var data = dateText.split('/');
                var prefix = $(this).attr('id').split('-')[1];
                $(this).parent().find('select[name="data['+prefix+'][year]"]').val(data[0]);
                $(this).parent().find('select[name="data['+prefix+'][month]"]').val(data[1]);
                $(this).parent().find('select[name="data['+prefix+'][day]"]').val(data[2]);
            }
        });
        $('#partida-ate').datepicker({
            minDate: dataMin,
            maxDate: dataMax,
            showOn: show,
			buttonImage: img,
			buttonImageOnly: true,
			dateFormat: format,
			changeMonth: true,
			changeYear: true,
		    onSelect: function(dateText, inst){
                var data = dateText.split('/');
                var prefix = $(this).attr('id').split('-')[1];
                $(this).parent().find('select[name="data['+prefix+'][year]"]').val(data[0]);
                $(this).parent().find('select[name="data['+prefix+'][month]"]').val(data[1]);
                $(this).parent().find('select[name="data['+prefix+'][day]"]').val(data[2]);
            }
        });
        
        //------funções da visualização de partidas-----//
        $(function(){
			$('.tit-nome-jogador').click(function(){
				$(this).toggleClass('ico-menos');
				$(this).next().slideToggle();
			});		   
		});
		
		function verificaBotoes() {
            var current = $('ul.lista-partidas li.ativa');
            if ( $(current).next().html() == null )
                $('.paginacao-a a.proxima').addClass('inativo');
            else
                $('.paginacao-a a.proxima').removeClass('inativo');
            if ( $(current).prev().html() == null )
                $('.paginacao-a a.anterior').addClass('inativo');
            else
                $('.paginacao-a a.anterior').removeClass('inativo');
        }

        verificaBotoes();

        $('.paginacao-a a.proxima').click(function(){
            var current = $('ul.lista-partidas li.ativa');
            var next = $(current).next();
            if ( next.html() != null ) {
                $(current).hide();
                $(current).toggleClass('ativa');
                $(next).fadeIn(400,function(){
                    $(next).toggleClass('ativa');
                    verificaBotoes();
                });
                
            }
        });

        $('.paginacao-a a.anterior').click(function(){
            var current = $('ul.lista-partidas li.ativa');
            var prev = $(current).prev();
            if ( prev.html() != null ) {
                $(current).hide();
                $(current).toggleClass('ativa');
                $(prev).fadeIn(400,function(){
                    $(prev).toggleClass('ativa');
                    verificaBotoes();
                });
                
            }
        });
        //$('fieldset.jcalendar1').jcalendar();
        //$('fieldset.jcalendar2').jcalendar();
        
        	
	    //evento radial foto http://www.beach-bowling.com/site/pessoas/editar
	    var exibirFoto = $('input[name="data[Pessoa][foto_net]"]:checked').val();
	    $('#upload-foto').attr('disabled', !parseInt(exibirFoto));
	    
	    $('input[name="data[Pessoa][foto_net]"]').change(function(){
            exibirFoto = $('input[name="data[Pessoa][foto_net]"]:checked').val();
            $('#upload-foto').attr('disabled', !parseInt(exibirFoto));
        });
        
    });
    
    //submir form topo login-logado servicos
    $('select#PessoaServico').change(function(){
        $(this).parent().submit();
    });
    $('select#ranking_centro').change(function(){
        $(this).parent().submit();
    });
	
	//mascara_campos
	$('.mascara-data').mask('99/99/9999');
	//$('.mascara-tel').mask('+999 999 999 999');
	
	//Slider interna( Home-regiao )
	$("#slider").easySlider({
		auto: true, 
		continuous: true,
		numeric: true
	});
});

