//Funcion Inicial
var tooltip_options = {
      fill: '#000', 
	  hoverIntentOpts: {timeout: 0},
	  strokeStyle: '#666666', 
	  spikeLength: 10,
	  spikeGirth: 10,
	  overlap: 0,
	  centerPointY: 0.5,   
	  opacity: 0.5,
	  cssStyles: {
		    //fontFamily: '"Lucida Grande",Helvetica,Arial,Verdana,sans-serif', 
		    //fontSize: '12px',
		    padding: '10px 14px',
		    color: '#fff'
	  },
	  cssClass: 'tooltip',
	  shadow: true,
	  shadowColor: 'rgba(0,0,0,.5)',
	  shadowBlur: 8,
	  shadowOffsetX: 4,
	  shadowOffsetY: 4,
	  cornerRadius: 8,
	  positions: ['top', 'bottom']
};
function setTooltipDefaults(){
    jQuery.bt.defaults['fill'] = '#000';
    jQuery.bt.defaults['hoverIntentOpts'] = {timeout: 0};
    jQuery.bt.defaults['strokeStyle'] = '#666666';
    jQuery.bt.defaults['spikeLength'] = 10;
    jQuery.bt.defaults['spikeGirth'] = 20;
    jQuery.bt.defaults['overlap'] = 0;
    jQuery.bt.defaults['centerPointY'] = 0.5;
    jQuery.bt.defaults['opacity'] = 0.5;
    jQuery.bt.defaults['cssStyles'] = {
		    //fontFamily: '"Lucida Grande",Helvetica,Arial,Verdana,sans-serif',
		    //fontSize: '12px',
		    padding: '10px 14px',
		    color: '#fff'
	  };
    jQuery.bt.defaults['cssClass'] = 'tooltip';
    jQuery.bt.defaults['shadow'] = true;
    jQuery.bt.defaults['shadowColor'] = 'rgba(0,0,0,.5)';
    jQuery.bt.defaults['shadowBlur'] = 8;
    jQuery.bt.defaults['shadowOffsetX'] = 4;
    jQuery.bt.defaults['shadowOffsetY'] = 4;
    jQuery.bt.defaults['cornerRadius'] = 8;
    jQuery.bt.defaults['positions'] = ['top', 'bottom'];
    
//    jQuery.bt.defaults['showTip'] = function(box){
//        var $content = $('.bt-content', box); /* hide the content until after the animation */
//        var $canvas = $('canvas', box).hide(); /* hide the canvas for a moment */
//        var origWidth = $canvas[0].width; /* jQuery's .width() doesn't work on canvas element */
//        var origHeight = $canvas[0].height;
//        $(box).show(); /* show the wrapper, however elements inside (canvas, content) are now hidden */
//        $canvas
//          .css({width: origWidth * .5, height: origHeight * .5, left: origWidth * .25, top: origHeight * .25, opacity: .1})
//          .show()
//          .animate({width: origWidth, height: origHeight, left: 0, top: 0, opacity: 1}, 400, 'easeOutBounce',
//            function(){$content.show()} /* show the content when animation is done */
//            );
//    };

}
$(document).ready(function(){
    setTooltipDefaults();
	championship_dashboard();
	championship_tabs();
	fixture_function();
	jquery_uify();
	step2();
	history_pager();
	followTooltip();
	joinChampionshipTooltip();
    simpleTooltips();
    signinTooltip();
    teamPlayerTooltip();
    sublinks();
    notificationsTooltip();
    autocompleteSearch();
    //animateInfoIcons(2);
});
function autocompleteSearch(){
	if($("#search_query").length){
		$("#search_query").autocomplete({
			minLength: 1,
			source: function( request, response ) {
				$.ajax({
					url: "/search/autocomplete",
					dataType: "json",
					data: { query: request.term },
					success: function( data ) {
					    
						response( $.map( data.data, function( item ) {
							return {
								label: item.label,
								value: item.value,
								url: item.url
							}
						}));
					}
				});
			},
			focus: function( event, ui ) {
				$( "#search_query" ).val( ui.item.value );
				return false;
			},
			select: function( event, ui ) {
				$( "#search_query" ).val( ui.item.value );
				
				window.location = ui.item.item.attr('url');
				/*
				$( "#project-id" ).val( ui.item.value );
				$( "#project-description" ).html( ui.item.desc );
				$( "#project-icon" ).attr( "src", "images/" + ui.item.icon );
				*/
				return false;
			},
			open: function(event, ui){
				return false;
			}
		})
		.data( "autocomplete" )._renderItem = function( ul, item ) {	
		   
			return $( '<li url="'+item.url+'"></li>' )
				.data( "item.autocomplete", item )
				.append( '' + item.label +"</span>" + "")
				.appendTo( ul );
		};
	}
	
}
function notificationsTooltip(){
	$("#notifications_link").bt($("#notifications").html(), {
		trigger: 'click', 
		positions: 'bottom',
		fill: '#e9e9e9'
	});
}
function signinTooltip(){
	$("#signin_rut").bt($('#signin_tooltip').html(), tooltip_options);
}
function animateInfoIcons(offset){
    var position = (-16+offset)+"px -144px";
    $('.info-icon').animate({'background-position':position}, 200, 'easeOutBounce');
    setTimeout('animateInfoIcons('+-offset+')',210);
}
function followTooltip(){
	$(".follow-team").bt($('#follow-tooltip').html(), tooltip_options);
}
function joinChampionshipTooltip(){
	$('.join_team').bt($('#join_team_tooltip').html(), tooltip_options);
	$('#join_championship_button').bt($('#join_championship_tooltip').html(), tooltip_options);
}
function teamPlayerTooltip(){
	$("#team_player_rut").bt($('#team_player_tooltip').html(), tooltip_options);
}
function editPhaseTooltip(){
	$("#assign_teams_click").bt($('#team-autoassign-tooltip').html(), tooltip_options);
	$("#auto_assign_group_button").bt($('#group-autoassign-tooltip').html(), tooltip_options);
	$("#update_fixture_button").bt($('#fixture-tooltip').html(), tooltip_options);
	$("#generate_brackets_button").bt($('#brackets-generate-tooltip').html(), tooltip_options);
	$("#auto_assign_playoff_button").bt($('#playoff-autoassign-tooltip').html(), tooltip_options);
	$("#championship-fixture-button").bt($('#championship-fixture-tooltip').html(), tooltip_options);
}

function simpleTooltips(){

        $(".simple-tooltiped").bt();

}
//Utilidades
function flash_message(message){
	$('#flash').slideUp();
	$('#flash').html(message);
	$('#flash').css('background-color','#729A1E').slideDown().delay(2000).slideUp();
}

function flash_error_message(message){
	$('#flash').slideUp();
	$('#flash').html(message);
	$('#flash').css('background-color','#C27A1E').slideDown().delay(2000).slideUp();
}
function set_loader(input){
	loader = '<img id="loader_gif" src="/images/loaders/loader_grey.gif" />';
	input.after(loader);
	input.hide();
}
function unset_loader(input){
	input.show();
	$('#loader_gif').remove();
}
function jquery_uify(){
	$('.datepicker').datepicker({ dateFormat: 'dd-mm-yy' , monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre']});
	$('.autocomplete').autocomplete({ source: $('.autocomplete').attr('target')+''});
}

//Editar Fases
function championship_tabs(){
	$("#phase_tabs").tabs({ajaxOptions: { async: false }, tabTemplate: '<li><div class="phase_list_div"><a href="#{href}" title="Fase"><span>#{label}</span></a></div></li>' , load: function(event, ui){ phase_function();}  });
}

//Editar Fase
function phase_function(){
	//ToolTips
	editPhaseTooltip()
	//phase type fields functionality
	$('#phase_type_group').click(function(event, ui){
		$('.hidden_field').css('display', 'none');
		$('.group').css('display', 'table-row');
	});
	$('#phase_type_swiss').click(function(event, ui){
		$('.hidden_field').css('display', 'none');
		$('.swiss').css('display', 'table-row');
	});
	$('#phase_type_playoff').click(function(event, ui){
		$('.hidden_field').css('display', 'none');
		$('.playoff').css('display', 'table-row');
	});
	$('#phase_type_roundrobin').click(function(event, ui){
		$('.hidden_field').css('display', 'none');
		$('.roundrobin').css('display', 'table-row');
	});
	//Add Phase Ajax submit	
	$('#add_phase_form').submit(function(event, ui){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		$('#add_phase').attr('disabled','disabled');
		$.ajax({url: $("#add_phase_form").attr('action'), type: "POST", data: $("#add_phase_form").serialize(), dataType: 'json', success: function(response){
				if( response.text == 'Ok'){
					//cambiar en produccion
					index = Number($('.phase_tab').length);
					$('#phase_tabs').tabs("add",'/frontend_dev.php/championship/phaseData/'+response.phase_id,$('#phase_phase').val(),index-1);
					$('#phase_tabs ul li').removeClass('ui-tabs-selected').removeClass('ui-state-active');
					$('#phase_tabs ul li:nth-child('+Number(index)+') div a').click();
					flash_message(response.flash);
				}else{
					flash_error_message(response.flash);
				}
			}});
	});
	//Edit Phase Ajax Submit
	$('#edit_phase_form').submit(function(event, ui){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		set_loader($('#edit_phase'));
		$('#edit_phase').attr('disabled','disabled');
		$.ajax({url: $("#edit_phase_form").attr('action'), type: "POST", data: $("#edit_phase_form").serialize(), dataType: 'json', success: function(response){
				$('#edit_phase').removeAttr('disabled');
				if( response.text == 'Ok'){
					$('#phase'+response.phase_id+' a span').text($('#phase_phase').val());
					$('#phase_phase').removeAttr('disabled');
					flash_message(response.flash);
				}
				else{
					flash_error_message(response.flash);
				}
				unset_loader($('#edit_phase'));
			}});
	});
	//Create Slot Ajax
	$('#many_slots').show();
	$('#add_slot_click').click(function(event, ui){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		if(!isNaN($('#many_slots').val())){
			$.ajax({url: $(this).attr('href')+'/'+$('#many_slots').val(), type: "GET", dataType: 'json', success: function(response){
				if(response.text="Ok"){
					$('#playing_slots').append(response.slots);
					this_boxSlot($('#playing_slots').children('div.boxSlot:not(.ui-draggable)'));
					flash_message(response.flash);
				}else{
					flash_error_message(response.flash);
				}
			}});
		}
	});
	$('#add_special_slot_click').click(function(event, ui){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		if(!isNaN($('#many_slots').val())){
			$.ajax({url: $(this).attr('href')+'/'+$('#many_slots').val(), type: "GET", dataType: 'json', success: function(response){
				if(response.text="Ok"){
					$('#playing_slots').append(response.slots);
					this_boxSlot($('#playing_slots').children('div.boxSlot:not(.ui-draggable)'));
					flash_message(response.flash);
				}else{
					flash_error_message(response.flash);
				}
			}});
		}
	});
	//boxSlot Functionality
	$.each($('div.boxSlot'),function(){
		this_boxSlot($(this));
	});
	
	//Delete Phase Ajax submit
	$('.delete_phase').click(function(event,ui){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		if(confirm("Seguro que quiere eliminar esta fase?")){
			$.ajax({url: $(this).attr('href'), type: "GET", dataType: 'json', success: function(response){
				if(response.text=='Ok'){
					var $tabs = $('#phase_tabs').tabs();
					var selected = $tabs.tabs('option', 'selected'); 
					$('#phase_tabs').tabs("remove",selected);
					$('#phase_tabs').tabs('select', $('#phase_tabs').tabs('length')-2);
					flash_message(response.flash);
				}else{
					flash_error_message(response.flash);
				}
			}});
		}
	});
	//boxSlot Functionality
	$.each($('div.group_div'),function(){
		this_boxGroup($(this));
	});
	//Bracket Functionality
	$.each($('div.bracket_space'),function(){
		this_bracket($(this));
	});
	$.each($('.bracket_local'),function(){
		$(this).next().find('div').height($(this).next().height()/2);
		$(this).next().next().find('div').height($(this).next().height()/2);
	});
	//$('div.boxSlot.grouped span.group_selector select option.empty_option').remove();
	//Add Group Functionality
	$('a.add_group').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		$.ajax({url: target.attr('href'), type: "GET", dataType: 'json', success: function(response){
			if(response.text == 'Ok'){
				flash_message(response.flash);
				$(response.group_div).appendTo('#display_group_phase');
				$('span.group_selector select').append('<option value="'+response.group_id+'">Grupo '+response.group_name+'</option>');
				$('#groups_number_span').html(Number($('#groups_number_span').html())+1);
				this_boxGroup($('#display_group_phase .group_div:last'));
			}else{
				flash_error_message(response.flash);
			}
		}
		});
	});
	//Remove Group Functionality
	$('a.remove_group').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		$.ajax({url: target.attr('href'), type: "GET", dataType: 'json', success: function(response){
			if(response.text=='Ok'){
				group_div = $('input[value='+response.group_id+']').prev('.group_div');
				$.each(group_div.find('div.boxSlot'),function(){
					id = $(this).find('input').val();
					$('input[value='+id+']').parents('div.boxSlot').removeClass('grouped');
				})
				$('span.group_selector select option[value='+response.group_id+']').remove();
				group_div.remove();
				$('#groups_number_span').html(Number($('#groups_number_span').html())-1);
				flash_message(response.flash);
			}else{
				flash_error_message(response.flash);
			}
		}
		});
	});
	$('#auto_assign_group_button').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		set_loader(target);
		$.ajax({url: $('#auto_assign_group').attr('href'), type: "GET", dataType: 'json', success: function(response){
			if(response.text=='Ok'){
				$('#phase_tabs').tabs('load',$('#phase_tabs').tabs('option','selected'));
				unset_loader(target);
			}
		}
		});
	})
	$('#auto_assign_playoff_button').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		set_loader(target);
		$.ajax({url: $('#auto_assign_playoff').attr('href'), type: "GET", dataType: 'json', success: function(response){
			if(response.text=='Ok'){
				$('#phase_tabs').tabs('load',$('#phase_tabs').tabs('option','selected'));
				unset_loader(target);
			}
		}
		});
	})
	//Generate Brackets Functionality
	$('#generate_brackets_button').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		set_loader(target);
		$.ajax({url: $('#generate_brackets').attr('href'), type: "GET", dataType: 'json', success: function(response){
			if(response.text=='Ok'){
				$('div.boxSlot').removeClass('grouped');
				$('#display_playoff_phase').html(response.brackets);
				flash_message(response.flash);
				unset_loader(target);
				$.each($('div.bracket_space'),function(){
					this_bracket($(this));
				});
			}
		}}
		);
	})
	
	//Previous Phase Functionality
	$('#add_prev_phase').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		$('#edit_prev_phase').empty();
		$('#edit_prev_phase').show();
		$.ajax({url: $('#add_prev_phase').attr('href'), type: "GET", success: function(response){
			$(response).appendTo($('#edit_prev_phase'));
			$('#previous_phase_done').click(function(event){
				if(event.preventDefault) event.preventDefault();
				else event.returnValue = false;
				$.ajax({url: $('#previous_phase_done').attr('href'), type: "GET", dataType: 'json', success: function(response){
					if(response.text=='Ok'){
						$('#teams_block').html(response.teams);
						$('#previous_phase_tabs').tabs({ajaxOptions: { async: false }, tabTemplate: '<li><div class="phase_list_div"><a href="#{href}" title="chosen_phase"><span>#{label}</span></a></div></li>' , load: function(event, ui){ previous_phase_function() } , add: function(event,ui){ $('#phase_tabs').tabs('select', $('#previous_phase_tabs').tabs('length')-2);} });
						//flash_message(response.flash);
					}else{
						flash_error_message(response.flash);
					}
				}
				});
				$('#edit_prev_phase').hide();
			});
			$.each($('#previous_phase_div').find('.phase_list_div a'),function(){this_prevPhase($(this))});
		}});
	});
	$('#previous_phase_tabs').tabs({ajaxOptions: { async: false }, tabTemplate: '<li><div class="phase_list_div"><a href="#{href}" title="chosen_phase"><span>#{label}</span></a></div></li>' , load: function(event, ui){ previous_phase_function() } , add: function(event,ui){ $('#phase_tabs').tabs('select', $('#previous_phase_tabs').tabs('length')-2);} });
	//Fixture Functionality
	$('#update_fixture_button').click(function(event){
		if(confirm('Esto borrara cualquier partido previo que hayas jugado en esta fase. ¿Seguro que quieres proceder?')){
			set_loader($('#update_fixture_button'));
			$.ajax({url: $('#update_fixture').attr('href'), type: "GET", dataType: 'json', success: function(response){
				if(response.text=='Ok'){
					document.location = document.location.href.replace('phase','championshipFixture');
				}else{
					flash_error_message(response.flash);
					unset_loader($('#update_fixture_button'));
				}
			}
		});
		}
	});
	fixture_function();
}

//Editar Fases /Playoff->Brackets
function this_bracket(bracket){
	bracket.droppable({accept: 'div.boxSlot', tolerance: 'pointer', drop: function(event,ui){
		target = $(event.target);
		if(!target.is('div.bracket_space')){
			target = target.parents('div.bracket_space');
		}
		table_data =target.parent(); 
		if(table_data.is('td.bracket_local')){
			local = true;
			
		}else{
			local = false;
		}
		table = table_data.parent().parent().parent();
		bracket_id = table.prev('input').val();
		$('.bracket_space div.boxSlot input[type=hidden][value='+$('#tmp1').val()+']').val('').parent().find('span').html('BY');
		$.ajax({url: '/frontend_dev.php/championship/assignSlotToBracket/'+$('#tmp1').val()+'/'+bracket_id+'/'+local, type: "GET", dataType: 'json', success: function(response){
			if(response.text=='Ok'){
//				current_slot = target.find('div').find('input').val();
//				$('div.boxSlot input[type=hidden][value='+current_slot+']').parent().removeClass('grouped');
//				$('div.boxSlot input[type=hidden][value='+$('#tmp1').val()+']').parent().addClass('grouped');
//				table_data.find('.bracket_space').html(response.bracket_div);
//				flash_message(response.flash);
				if(local){
					$('input.slot_id[value='+$('#tmp1').val()+']').parent('div.boxSlot').find('span.bracket_selector select').val(bracket_id+'-L');
				}else{
					$('input.slot_id[value='+$('#tmp1').val()+']').parent('div.boxSlot').find('span.bracket_selector select').val(bracket_id+'-V');
				}
				$('input.slot_id[value='+response.prev_slot.id+']').parent('div.boxSlot').find('span.bracket_selector select').val(response.prev_bracket.id+'-'+response.prev_bracket.position);
            	var bracket = $('#bracket'+bracket_id);
            	if(local){
            		bracket.find('tr td.bracket_local .bracket_space').html(response.bracket_div);
            	}else{
            		bracket.find('tr td.bracket_visitor .bracket_space').html(response.bracket_div);
            	}
            	var prev_bracket = $('#bracket'+response.prev_bracket.id);
            	if(response.prev_bracket.position=="L"){
            		prev_bracket.find('tr td.bracket_local .bracket_space').html(response.prev_slot.div);
            	}else if(response.prev_bracket.position=="V"){
            		prev_bracket.find('tr td.bracket_visitor .bracket_space').html(response.prev_slot.div);
            	}
				flash_message(response.flash);
			}else{
				flash_error_message(response.flash);
			}
			$('#tmp1').val('');
		}
		});
	}
	});
}
//Al asignar un fase previa
function this_prevPhase(phase){
	phase.click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		if(target.is('.previous')){
			$.ajax({url: target.attr('href'), type: "GET", dataType: 'json', success: function(response){
				if(response.text=='Ok'){
					target.attr('class','phase_tab no-previous');
					target.attr('href',response.phase_link);
					flash_message(response.flash);
				}else{
					flash_error_message(response.flash);
				}
			}
			});
		}else if(target.is('.no-previous')){
			$.ajax({url: target.attr('href'), type: "POST", dataType: 'json', success: function(response){
				if(response.text=='Ok'){
					target.attr('class','phase_tab previous');
					target.attr('href',target.attr('href').replace('add','remove'));
					//$('#phase_slots_actions').hide();
					$('#teams_block h4').html('Fases Previas');
					flash_message(response.flash);
				}else{
					flash_error_message(response.flash);
				}
			}
			});
		}else{
			
		}
	});
}
//Funcionalidad de fase previa
function previous_phase_function(){
	$.each($('.boxSlot'),function(){
		this_boxSlot($(this));
		phase = $('#phase_id').val();
		slotPhase = $(this).find('input.phase_id').val();
		if(slotPhase!=undefined && phase!=slotPhase){
			$(this).find('.unassignSlot').hide();
		}
	});
	$('.assignSlot:not(.set)').click(function(event){
		target = $(event.target);
		phase = $('#phase_id').val();
		position = target.nextAll('input').val();
		//Cambiar en Produccion
		$.ajax({url: '/frontend_dev.php/championship/setPreviousSlot/'+position+'/'+phase, type: "GET", dataType: 'json', success: function(response){
			if(response.text=='Ok'){
				target.parent().replaceWith(response.position_div);
				slot_id = $(response.position_div).find('input[type=hidden]').val();
				$.ajax({url: '/frontend_dev.php/championship/boxFixture/'+slot_id, type: "GET", dataType: 'json', success: function(response){
					if(response.text=='Ok'){
						this_boxSlot($('input[value='+slot_id+']').parent('div.boxSlot'));
						$('#display_roundrobin_phase').append(response.fixture);
					}
				}});
				previous_phase_function();
				//flash_message(response.flash);
			}
			else{
				flash_error_message(response.flash);
			}
		}
		});
	}).addClass('set');
	$('.unassignSlot:not(.set)').click(function(event){
		target = $(event.target);
		phase = $('#phase_id').val();
		slot = target.nextAll('input').val();
		//Cambiar en Produccion
		$.ajax({url: '/frontend_dev.php/championship/unsetPreviousSlot/'+slot, type: "GET", dataType: 'json', success: function(response){
			if(response.text=='Ok'){
				target.parent().replaceWith(response.slot_div);
				$('#display_roundrobin_phase .boxSlot input[value='+slot+']').parent('div.boxSlot').remove();
				previous_phase_function();
				//flash_message(response.flash);
			}
			else{
				flash_error_message(response.flash);
			}
		}
		});
	}).addClass('set');
}
//Editar Fases /Grupos->grupo
function this_boxGroup(group){
	//Droppable
	group.droppable({accept: 'div.boxSlot', hoverClass: 'ui-state-active', tolerance: 'pointer', drop: function(event,ui){
		target = $(event.target);
		if(!target.is('div.group_div')){
			target = target.parents('.group_div');
		}
		group_id = target.next('input').val();
		target.find('h3').css('background-color','#d3e31d');
		tmp1 = $('#tmp1').val();
		repeatedSlots = $('.boxSlotGroupped'+tmp1);
		$.ajaxSetup({async: false});
		$.each(repeatedSlots,function(){
				this_group_id = $(this).parent().next('input').val();
				$.ajax({url: '/frontend_dev.php/championship/deassignSlotGroup/'+tmp1+'/'+this_group_id, type: "GET", dataType: 'json', success: function(response){}});
				$(this).remove();
		});
		
		//cambiar en produccion
		$.ajax({url: '/frontend_dev.php/championship/assignSlotGroup/'+tmp1+'/'+group_id, type: "GET", dataType: 'json', success: function(response){
			if( response.text == 'Ok'){
				element = $(response.slot_box);
				element.appendTo('div.group_div'+group_id);
				target.find('h3').css('background-color','inherit');
				$('.boxSlot'+tmp1).find('.group_selector').find('select').val(group_id);;
				$('.boxSlot'+tmp1).addClass('grouped');
				this_boxSlot(element);
				//flash_message(response.flash);
			}
			else{
				flash_error_message(response.flash);
				target.find('h3').css('background-color','inherit');
			}
		$('#tmp1').val("");
		}});
		//$.ajaxSetup({async: true});
	}, over: function(event,ui){
		target = $(event.target);
		if(!target.is('div.group_div')){
			target = target.parent('div.group_div');
		}
		group_id = target.next('input').val();
		target.find('h3').css('background-color','#d3e31d');
	}, out: function(event,ui){
		target = $(event.target);
		if(!target.is('div')){
			target = target.parent('div');
		}
		target.find('h3').css('background-color','inherit');
	}});
	group.find('h3').dblclick(function(click){
		if($('#tmp1').val()==''){
			name_target = click.target;
			$(name_target).hide();
			$(name_target).next('form').show();
			$(name_target).next('form').find('input').focus();
		}
	});
	group.find('.group_name_form').submit(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		$.ajax({url: target.attr('action'), type: "POST", data: target.serialize(), dataType: 'json', success: function(response){
			if(response.text=="Ok"){
				target.prev('h3').html('Grupo '+target.find('input').val());
				target.hide();
				target.prev('h3').show();
				flash_message(response.flash); 
			}else{
				target.hide();
				target.prev('h3').show();
				flash_error_message(response.flash);
			}
		}});
	});
	group.find('.deleteGroup').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		if(confirm("Seguro que quiere eliminar este grupo?")){
			target = $(event.target);
			$.ajax({url: target.attr('href'), type: "GET", dataType: 'json', success: function(response){
				if(response.text=="Ok"){
					$('div#group'+response.group_id).remove();
					flash_message(response.flash);
				}else{
					flash_error_message(response.flash);
				}
			}});
		}
	});
}
//BoxSlot
function this_boxSlot(boxSlot){
	//Delete Slot Ajax
	if(boxSlot.is('.phase'+$('#phase_id').val())){
		
	}else{
		boxSlot.find('.bracket_selector').remove();
	}
	//Group-Slot assignment
	if(boxSlot.is('.phase'+$('#phase_id').val())){
		boxSlot.mouseenter(function(){
			if($('#tmp1').val()=='')
			$(this).find('.drag_me').css('visibility','visible');
		});
		boxSlot.mouseleave(function(){
			if($('#tmp1').val()=='')
			$(this).find('.drag_me').css('visibility','hidden');
		});
		boxSlot.draggable({snap: '.group_div .bracket_space', revert: true, cancel: '.team_shield, .group_selector, .bracket_selector, .team_select', start: function(event,ui){
			target = $(event.target);
			if(!target.is('div')){
				target = target.parent('div');
			}
			slot_id = target.find('input[type=hidden]').val();
			if($('#tmp1').val()=="")
				$('#tmp1').val(slot_id);
			else
				boxSlot.draggable('stop');
			target.css('background','inherit')
		}, stop: function(event,ui){
			
			target.find('img.drag_me').css('visibility','hidden');
		}});
		boxSlot.find('span.text').click(function(event,ui){
			target = $(event.target);
			if(!target.is('div')){
				target = target.parent('div');
			}
			if(target.parent().is('#playing_slots')){
				slot_id = target.find('input').val();
				tmp1 = $('#tmp1').val();
				if(tmp1!=slot_id){
					$('.boxSlot').css('background-color','inherit');
					$('#tmp1').val(slot_id);
					target.css('background-color','#d3e31d');
				}
				else{
					$('#tmp1').val("");
					target.css('background-color','inherit');
				}
			}
		});
		boxSlot.find('span.group_selector select').change(function(event){
			target = $(event.target);
			slot_id = target.parent().next().next('input').val();
			group_id = target.val();
			//repeatedSlots = $('.boxSlot input[value='+slot_id+']').parent('div.boxSlot');
			repeatedSlots = $('.boxSlotGroupped'+slot_id);
			$.ajaxSetup({async: false});
			$.each(repeatedSlots,function(){
					this_group_id = $(this).parent().next('input').val();
					$.get('/frontend_dev.php/championship/deassignSlotGroup/'+slot_id+'/'+this_group_id);
					$(this).remove();
			});
			//$.ajaxSetup({async: true});
			$.ajax({url: '/frontend_dev.php/championship/assignSlotGroup/'+slot_id+'/'+group_id, type: "GET", dataType: 'json', success: function(response){
				if( response.text == 'Ok'){
					element = $(response.slot_box);
					element.appendTo($('div.group_div'+group_id));
					slot = $('.boxSlot'+slot_id);
					if(group_id==0){
						slot.removeClass('grouped');
					}else{
						slot.addClass('grouped');
					}
					this_boxSlot(element);
					//this_boxSlot($('.boxSlot input[value='+slot_id+']').parent('.group_div div.boxSlot'));
					flash_message(response.flash);
				}else{
					target.find('h3').css('background-color','inherit');
					flash_error_message(response.flash);
				}
			}});
		});
                boxSlot.find('span.bracket_selector select').change(function(event){
                    target = $(event.target);
                    slot_id = target.parent().next('input').val();
                    if(target.val()!='0'){
                        bracket_val = target.val().split('-');
                        bracket_id = bracket_val[0];
                        if(bracket_val[1]=='L'){
	                        $.ajax({url: '/frontend_dev.php/championship/assignSlotToBracket/'+slot_id+'/'+bracket_id+'/true', type: "GET", dataType: 'json', success: function(response){
		                        if(response.text=="Ok"){
		                        	$('div.boxSlot'+response.prev_slot.id).find('span.bracket_selector select').val(response.prev_bracket.id+'-'+response.prev_bracket.position);
		                        	$('input.slot_id[value='+slot_id+']').parent('div.boxSlot').addClass('grouped');
		                        	var bracket = $('#bracket'+bracket_id);
					        		bracket.find('tr td.bracket_local .bracket_space').html(response.bracket_div);
		                        	var prev_bracket = $('#bracket'+response.prev_bracket.id);
		                        	if(response.prev_bracket.position=="L"){
		                        		prev_bracket.find('tr td.bracket_local .bracket_space').html(response.prev_slot.div);
		                        	}else if(response.prev_bracket.position=="V"){
		                        		prev_bracket.find('tr td.bracket_visitor .bracket_space').html(response.prev_slot.div);
		                        	}
									flash_message(response.flash);
		                        }else{
		                        	flash_error_message(response.flash);
		                        }
	                        }});
                        }else{
	                        //$.each($('div.boxSlot span.bracket select'),function(){if($(this.val()==bracket_id+'-V'))$(this).parent().find('select').val(response.prev_bracket.id+'-'+response.prev_bracket.position)});
	                        $.ajax({url: '/frontend_dev.php/championship/assignSlotToBracket/'+slot_id+'/'+bracket_id+'/false', type: "GET", dataType: 'json', success: function(response){
					        	if(response.text=='Ok'){
					        		$('div.boxSlot'+response.prev_slot.id).find('span.bracket_selector select').val(response.prev_bracket.id+'-'+response.prev_bracket.position);
					        		$('input.slot_id[value='+slot_id+']').parent('div.boxSlot').addClass('grouped');
					        		var bracket = $('#bracket'+bracket_id);
					        		bracket.find('tr td.bracket_visitor .bracket_space').html(response.bracket_div);
					        		var prev_bracket = $('#bracket'+response.prev_bracket.id);
					        		if(response.prev_bracket.position=="L"){
		                        		prev_bracket.find('tr td.bracket_local .bracket_space').html(response.prev_slot.div);
		                        	}else if(response.prev_bracket.position=="V"){
		                        		prev_bracket.find('tr td.bracket_visitor .bracket_space').html(response.prev_slot.div);
		                        	}
									flash_message(response.flash);
					        	}else{
					        		flash_error_message(response.flash);
					        	}
	                        }});
                        }
                    }else{
                    	$.ajax({url: '/frontend_dev.php/championship/assignSlotToBracket/'+slot_id+'/0/false', type: "GET", dataType: 'json', success: function(response){$('input.slot_id[value='+slot_id+']').parent('div.boxSlot').removeClass('grouped')}});
                    	$('.bracket_space div.boxSlot input[type=hidden][value='+slot_id+']').val('').parent().find('span').html('BY');
                    }
                })
	}
	//Team-Slot Assignment
	boxSlot.find('.assign_team').click(function(e){
		$('#playing_team_div').dialog({
			modal: true,
			title: 'Assign to Slot',
			buttons: {
				Ok: function() {
					$( this ).dialog( "close" );
				}
			}
		});
		slot_id = $(e.target).parents('div.boxSlot').find('input').val();
		//cambiar en produccion
		$.ajax({url: '/frontend_dev.php/championship/getAvailableTeams/'+$('#phase_id').val(), type: "GET", success: function(response){
			$('#playing_team_div').html(response);
			$('#add_auto_team').submit(function(event){
				if(event.preventDefault) event.preventDefault();
				else event.returnValue = false;
				set_loader($('#add_team_submit'));
				//cambiar en produccion
				$.ajax({url: $('#add_auto_team').attr('action'), type: "POST",data: $('#add_auto_team').serialize(), dataType: 'json', success: function(response){
					if( response.text == 'Ok'){
						$.get('/frontend_dev.php/championship/assignTeamSlot/'+response.team_id+'/'+slot_id,[],function(data){
							$('input[value='+slot_id+']').parent('div.boxSlot').replaceWith(data);
							$('#playing_team_div').css('display','none');
							this_boxSlot($('.boxSlot input[value='+slot_id+']').parent('div.boxSlot'));
						});
						flash_message(response.flash);
					}
					else{
						flash_error_message(response.flash);
					}
					$('#playing_team_div').fadeOut();
					$('#dark_background').fadeOut();
				}});
				unset_loader($('#search_team_submit'));
			});
			$('#playing_team_div .team_capsule .cm_l .cm a.button').click(function(event,ui){
				target = $(event.target);
				if(!target.is('div.team_capsule')){
					target = target.parents('div.team_capsule');
				}
				team_id = target.find('input').val();
				$.each($('div.boxSlot.team'+team_id),function(){
					box = $(this);
					$.ajaxSetup({async: false});
					//cambiar en produccion		
					$.get('/frontend_dev.php/championship/deassignTeamSlot/'+team_id+'/'+box.find('input').val(),[],function(data){
						box.removeAttr('class').attr('class','boxSlot');
						box.find('span:first').html('Free Slot');
						box.find('img:first').attr('href','/uploads/teams/default.png');
					});
					//$.ajaxSetup({async: true});
				});
				//cambiar en produccion		
				$.get('/frontend_dev.php/championship/assignTeamSlot/'+team_id+'/'+slot_id,[],function(data){
					$('input[value='+slot_id+']').parent('div.boxSlot').replaceWith(data);
					$('#playing_team_div').css('display','none');
					this_boxSlot($('.boxSlot input[value='+slot_id+']').parent('div.boxSlot'));
				});
				$('#dark_background').fadeOut();
			});
		}});
	});
	if(boxSlot.is(':not(.phase'+$('#phase_id').val()+')')){
		boxSlot.find('.group_selector').hide();
	}
}
//Fixture
function fixture_function(){
	
	if($('a.notended .phasebox').length == 0){
		$('a.ended:first').click();
	}
	else if($('a.notended')){
		loadFixture(null, $('a.notended')[0]);
	}
}
function loadFixture(event, a){
	
	if(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
	}
	var target = $(a);
	
	$('.phasebox').removeClass('darkgreen');
	$('.phasebox').addClass('allblack');
	target.find('.phasebox').removeClass('allblack');
	target.find('.phasebox').addClass('darkgreen');
	$('#fixture_div').html('Cargando Fixture....')
	$.ajax({url: target.attr('href'), type: "GET", success: function(data){
		
		$('#fixture_div').html(data);
		phase_fixture_function();
	}});
}
function loadIframeFixture(event, a){
	
	if(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
	}
	var target = $(a);
	target.parent('div').parent('div').find('div').find('a').removeClass('tab_on').addClass('tab_off');
	target.removeClass('tab_off');
	target.addClass('tab_on');
	
	$('#fixture_div').html('Cargando Fixture....')
	$.ajax({url: target.attr('href'), type: "GET", success: function(data){
		$('#fixture_div').html(data);
		phase_fixture_function();
	}});
}
function phase_fixture_function(){
	$("#championship-fixture-button").bt($('#championship-fixture-tooltip').html(), tooltip_options);
	jquery_uify();
	$('.toggle_match_form').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		target.next('.submit_match').toggle();
	});
	$('.toggle_events_form').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		target.next('.add_event').toggle();
	});
	$('.submit_match').submit(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		$.ajax({url: target.attr('action'), type: "POST", data: target.serialize(), dataType: 'json', success: function(response){
			if(response.text="Ok"){
				flash_message(response.flash);
			}else{
				flash_error_message(response.flash);
			}
		}});
	});
	
	$('.team_radio_local').click(function(event){
		target = $(event.target);
		$('#local_players_'+target.val()).show();
		$('#local_players_'+target.val()+' li input').click(function(event){
			target = $(event.target);
			target.parent().parent().parent().find('.event_actions').show();
		});
	});
	$('.team_radio_visitor').click(function(event){
		target = $(event.target);
		$('#visitor_players_'+target.val()).show();
		$('#visitor_players_'+target.val()+' li input').click(function(event){
			target = $(event.target);
			target.parent().parent().parent().find('.event_actions').show();
		});
	});
	$('#phase_dates ul li a').click(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		target = $(event.target);
		$.ajax({url: target.attr('href'), type: "GET", success: function(data){
			$('#fixture_div').html(data);
			phase_fixture_function();
		}})
	});
}
//Dashboard
function championship_dashboard(){
	//Invite Teams
	$('#searchTeamForm form').submit(function(event){
		if(event.preventDefault) event.preventDefault();
		else event.returnValue = false;
		set_loader($('#search_team_submit'));
		//cambiar en produccion
		$.post('/frontend_dev.php/championship/searchTeam',$('#searchTeamForm form').serialize(),function(data){
			$('#searchTeamResults').html(data);
			
			$('#create_auto_team').click(function(event){
				if(event.preventDefault) event.preventDefault();
				else event.returnValue = false;
				$.ajax({url: $('#create_auto_team').attr('href'), type: "POST",data: $('#searchTeamForm form').serialize(), dataType: 'json', success: function(response){
					if( response.text == 'Ok'){
						$('#playing_teams_div').append(response.team);
						flash_message(response.flash);
					}
					else{
						flash_error_message(response.flash);
					}
					$('#searchTeamForm').dialog('close');
					
				}});
			});
		});
		unset_loader($('#search_team_submit'));
	});
	$('#searchTeamForm').dialog({
		height: 400,
		width: 580,
		modal: true,
		autoOpen: false
	});
	
	$('#searchTeamForm span.closePopUp').click(function(){
		$('#searchTeamForm').fadeOut();
		$('#dark_background').fadeOut();
	});
	//Championship Logo Form Toggle
	$('#championship_logo_img').click(function(){
		$('#championship_logo_file').dialog({modal: true, width: 400, title: 'Cambia el logo de tu campeonato'});
	});
	$('#championship_logo_file span.closePopUp').click(function(){
		$('#championship_logo_file').fadeOut();
		$('#dark_background').fadeOut();
	});
	//Championship Logo Form Submit
	$('#championship_logo').change(function(){
		//$('#championship_logo_file form').submit();
	});
}

function step2(){
	$('.hidden_field').hide();
	$('.'+$('#championship_type').val()+'_field').show();
}
function history_pager(){
	$('.history').hide();
	$('.history.page0').show();
}

function sublinks(){
	$('.dropdown').mouseenter(function(){  
	  $('.sublinks').stop(false, true).hide();  
	  
	 var submenu = $(this).parent().next();  
	  
	 submenu.css({  
		  position:'absolute',  
		  top: $(this).offset().top + $(this).height() + 'px',  
		  left: $(this).offset().left + 'px',  
		  zIndex:1000  
	  });  
	  
	 submenu.stop().slideDown(300);  
	  
	 submenu.mouseleave(function(){  
		 $(this).slideUp(300);  
	  });  
	});  
}

