function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

 function fieldClear(fieldText) {
     if (fieldText.value == fieldText.defaultValue) {
         fieldText.value = ""
     }
 }
 
 /* Begin RL stuff */
 
$(document).ready(function() {
	
	$(".show_posts").click(function() {
		var id = $(this).attr("id");
		$("#match_posts_"+id).show('fast');
		$(".show_posts").each(function(){
			if ($(this).attr("id") == id){
				$(this).hide();
			}
		})
		$(".hide_posts").each(function(){
			if ($(this).attr("id") == id){
				$(this).show();
			}
		})
	});
	
	$(".hide_posts").click(function() {
		var id = $(this).attr("id");
		$("#match_posts_"+id).hide('fast');
		$(".hide_posts").each(function(){
			if ($(this).attr("id") == id){
				$(this).hide();
			}
		})
		$(".show_posts").each(function(){
			if ($(this).attr("id") == id){
				$(this).show();
			}
		})
	});
	
	$(".show_all_posts").click(function() {
		$(".show_all_posts").each(function(){
			$(this).hide('');
		});
		$(".match_posts").each(function(){
			$(this).show('fast');
		});
		$(".show_posts").each(function(){
			$(this).hide();
		});
		$(".hide_posts").each(function(){
			$(this).show();
		});
		$(".hide_all_posts").each(function(){
			$(this).show('');
		});
	});
	
	$(".hide_all_posts").click(function() {
		$(".hide_all_posts").each(function(){
			$(this).hide('');
		});
		$(".match_posts").each(function(){
			$(this).hide('fast');
		});
		$(".hide_posts").each(function(){
			$(this).hide();
		});
		$(".show_posts").each(function(){
			$(this).show();
		});
		$(".show_all_posts").each(function(){
			$(this).show('');
		});
	});

	$(".state_select").change(function(){
		//alert(mw+', '+jv+', '+team_id);
		var id_string = $(this).attr('id');
		var id = id_string.substr((id_string.length-1), 1);
		var state = $(this).val();
		var url = "opponents.php?state="+state+"&m_w="+mw+"&j_v="+jv+"&tid="+team_id;
		$("#opponent_select_"+id).load(url);
		
	});
	
	$(".opponent_select").change(function(){
		//alert(mw+', '+jv+', '+team_id);
		var id_string = $(this).attr('id');
		var n = id_string.substr((id_string.length-1), 1);
		var t1 = $(this).val();
		var conf = $("#home_conf").val();
		var cl = $("#home_class").val();
		var url = "ajax/conf_game.php?t1="+t1+"&conf="+conf+"&cl="+cl;
		$.get(url, function(data){
			$("#conf_game_"+n).attr('selectedIndex', data);
		});		
	});
		

	$(".show_posts, .hide_posts, .show_all_posts, .hide_all_posts").hover(
            function(){
                $(this).addClass("over");
              },
              function(){
                $(this).removeClass("over");
              } 
            );
	
//	$("#banner_start_date, #banner_end_date").val('');
//	$("#banner_state_select").val('0');
	
	$("#banner_state_select").change(function(){
		$("#banner_info").hide();
		$("#current_header").html('Current banners for selection above.');
		$("#bnr_id").val('-1');
		switch($(this).val()){
		case "0":
//			$(".banner_urls").hide();
			//$("#banner_city_select").html('');
			$("#banner_school_select").html('');
			$("#current_banners").html('');
			$("#current_header").hide();

			break;
		case "-1":
			//$('#banner_city_select').attr('disabled', 'true');
			$('#banner_school_select').attr('disabled', 'true');
			$("#banner_school_select").html('');
			$("#banner_school_select").html('');
			$("#current_banners").load('get_banners.php?state=-1');
			$("#current_header").show();
			break;
		default:
			//$(".banner_urls").hide();
			var url = "get_schools_by_state.php?s="+$(this).val();
			//$('#banner_city_select').attr('disabled', '');
			$('#banner_school_select').attr('disabled', '');
			$("#banner_school_select").load(url);
			$("#current_banners").load('get_banners.php?state='+$(this).val());
			$("#current_header").show();
			break;
		}
		
	});
	
//	$("#banner_city_select").change(function(){
//		$("#current_header").html('Current banners for selection above.');
//		switch($(this).val()){
//		case  "0":
////			$(".banner_urls").hide();
//			$("#banner_school_select").html('');
//			break;
//		case "-1":
//			$('#banner_school_select').attr('disabled', 'disabled');
//			$("#banner_school_select").html('');
//			$("#current_banners").load('get_banners.php?state='+$("#banner_state_select").val());
//			$("#current_header").show();
//			break;
//		default:
////			$(".banner_urls").hide();
//			var url = "get_schools_by_city.php?city="+$(this).val();
//			$('#banner_school_select').attr('disabled', '');
//			$("#banner_school_select").load(url);
//			$("#current_banners").load('get_banners.php?state='+$("#banner_state_select").val()+'&city='+$(this).val());
//			$("#current_header").show();
//		}
//	});
	
	$('#banner_school_select').change(function(){
		$("#current_header").html('Current banners for selection above.');
		$(".banner_urls").show();
		$("#current_banners").load('get_banners.php?state='+$("#banner_state_select").val()+'&city='+$("#banner_city_select").val()+'&school='+$(this).val());
	});
	
	$(".current_banners").live('click', function(){
		var bannerArray;
		$(".current_banners").each(function(){
			$(this).removeClass('selected');
		});
		$(this).addClass('selected');
		$(".current_banners").each(function(){
			if(!$(this).hasClass('selected')){
				$(this).hide('fast');
				}
		});
		var id = $(this).attr('id');
		$.getJSON('get_banners.php?id='+id, function(bannerArray) {
			var b = bannerArray;
			
			//$("#banner_city_select").val(bannerArray[0]['city']);
			$("#banner_school_select").load("get_schools_by_state.php?s="+$("#banner_state_select").val(),
					function(){$("#banner_school_select").val(bannerArray[0]['school'])}
			);
			
			$("#banner_start_date").val(bannerArray[0]['start']);
			$("#banner_end_date").val(bannerArray[0]['end']);
			$("#banner_link").val(bannerArray[0]['link_url']);
			$("#bnr_id").val(bannerArray[0]['id']);
			$("#current_bnr").val(bannerArray[0]['filename']);
			
			//$('#banner_city_select').attr('disabled', '');
			$('#banner_school_select').attr('disabled', '');
			
			$("#current_header").html('You are editing the banner below.');  
		 });
	});
	
	$("#banner_save").click(function(){
		//$("#banner_update_form").submit();
		//alert($("#banner_update_form").serialize());
	});
	
	$("#cancel_button").click(function(){
		window.location.href = window.location.href;
		return false;
	});
	
	$(".delete_school").click(function(){
		var id = $(this).attr('id');
		if(confirm("You are ablout to delete this school, (school_id = "+id+") and all the teams, matches, scores and posts associated with it.\nAre you sure you want to do this?")){
			$.get('admin_delete_school.php?id='+id, function(data){
				alert(data);
				window.location.href = '/admin.php';
			});
		} else {
			return false;
		}
	});
	
	$(".delete_conf > a").click(function(){
		var id = $(this).attr('id').substring($(this).attr('id').indexOf('_')+1);
		if(confirm("You are about to delete this conference.\nIs that what you want to do?")){
			$.get('admin_delete_conference.php?id='+id, function(data){
				alert(data);
				window.location.reload();
			});
			
		}
		return false;
	});
	
//	$("#email_edit").change(function(){
//		$("#email_conf_edit").val('');
//		$("#hidden_email").attr('name', 'hidden_email');
//		$("#hidden_email").val('1');
//		$("#email_conf_edit").attr('name', 'email_conf');
//		$("#conf_email_div").show();
//		$("#email_conf_edit").focus();
//	});
//	
//	$("#pwd_edit").change(function(){
//		//$(this).attr('name', 'pwd');
//		$("#pwd_conf_edit").attr('name', 'pwd_conf');
//		$("#conf_pwd_div").show();
//		$("#pwd_conf_edit").focus();
//	});
	
	$("#first_name").change(function(){
		var s = $(this).val();
		$(this).val(cleanTextInput(s));
	});
	
	$("#last_name").change(function(){
		var s = $(this).val();
		$(this).val(cleanTextInput(s));
	});
	
	/* autocomplete */
	$(".school_search").autocomplete("school_search.php", {
		width: 260,
		selectFirst: false,
		max: 15,
		cacheLength: 0
	}).result(function(event,item){
		var host = $(location).attr('href');
		var needle = $(location).attr('pathname')+$(location).attr('search');
		//alert(needle);
		var newhost = host.replace(needle, '/find_school.php?s='+item);
		//alert(newhost);
		location.href = newhost;
	});
	
	$(".user_search").autocomplete("ajax/user_search.php", {
		width: 360,
		selectFirst: false,
		max: 15
	}).result(function(event,data, formatted){
		//$("#hiddenIDbox").val(data[1]);
		$("#user_list").load('ajax/admin_user_data.php?user_id='+data[1]);
		$("#show_all_users").show();
	});
	
	$("#show_top_20").click(function(){
		$("#user_list").load('ajax/admin_user_data.php?newest=true');
		$("#show_all_users").show();
	});
	
	$("#show_recent").click(function(){
		$("#user_list").load('ajax/admin_user_data.php?recent=true');
		$("#show_all_users").show();
	});
	
	
	$("#show_all_users").click(function(){
		window.location.reload();
	});
	
	/* DatePicker */
	$(".datepicker").datetimepicker({
		//dateFormat: 'yy-mm-dd',
		ampm: true
	});
	
	$(".timepicker").timepicker({});
	
	
	$("#cal_date").datepicker({ 
		defaultDate: $("#alt_date").val(),
		dateFormat: 'yy-mm-dd',
		altField: "#alt_date",
		altFormat: "yy-mm-dd"	
	});
	
	$("#cal_date").change(function(){
		var c = $.urlParam('c');
		var mw= $.urlParam('mw');
		var s = $.urlParam('s');
		var d = $.urlParam('d');
		location.href='page_calendar.php?c='+c+'&mw='+mw+'&s='+s+'&d='+$(this).val();
		//$("#cal").load('ajax/class_calendar.php?c='+c+'&mw='+mw+'&s='+s+'&d='+$(this).val());
		//$("#php_date").load('ajax/date_format.php?d='+$(this).val());
	});
	
	$(".show_class_rank").click(function(){
		
		if($('#class_rank').is(':visible')){
			$("#class_rank").toggle('fast');
			$(this).html('Show Class Rankings');			
		} else {
			$("#please_wait").show();
			$("#class_rank").toggle('fast');			
			var c = $.urlParam('id');
			$("#class_rank").load('ajax/class_ranking.php?c='+c, function(){
				$(".show_class_rank").html('Hide Rankings');
				$("#please_wait").hide();
			});			
		}		
	});
	
	$(".show_state_rank").click(function(){
		
		if($('#state_rank').is(':visible')){
			$("#state_rank").toggle('fast');
			$(this).html('Show State Rankings');			
		} else {
			$("#please_wait").show();
			$("#state_rank").toggle('fast');			
			var s = $.urlParam('s');
			$("#state_rank").load('ajax/state_ranking.php?s='+s, function(){
				$(".show_state_rank").html('Hide Rankings');
				$("#please_wait").hide();
			});			
		}		
	});
	
	$(".show_ranking").click(function(){
		
		$("#state_rank").hide('fast');
		$(".show_ranking").each(function(){
			$(this).css('font-weight', 'normal');
		});
		$(this).css('font-weight', 'bold');
		
		if($(this).hasClass('state')){
			var s = $(this).attr('id');
			$("#state_rank").toggle('fast');
			$("#state_rank").html('Pease Wait&nbsp;&nbsp;<img src="/skin01/images/ui-anim_basic_16x16.gif" />');
			$("#state_rank").load('ajax/state_ranking.php?s='+s, function(){
				//$("#state_rank").toggle('fast');
			});
		} else {
			var c = $(this).attr('id');
			$("#state_rank").toggle('fast');
			$("#state_rank").html('Pease Wait&nbsp;&nbsp;<img src="/skin01/images/ui-anim_basic_16x16.gif" />');
			$("#state_rank").load('ajax/class_ranking.php?c='+c, function(){
				//$("#state_rank").toggle('fast');
			});
		}
		$("#showhide_ranking").html('Hide Ranking');
	});
	
	$("#showhide_ranking").click(function(){
		$(".show_ranking").each(function(){
			$(this).css('font-weight', 'normal');
		});
		$("#state_rank").hide('fast');
		$(this).html('Show Ranking');
	});
	
	$("#conf_sel,#class_sel").change(function(){
		$("#schools").load('ajax/class_conf_assign.php?s='+$("#state_field").val()+'&c='+$("#class_sel").val()+'&co='+$("#conf_sel").val());
	});
	
	$("#post_class_conf").click(function(){
		$.post('ajax/class_conf_assign_post.php', $("#class_form").serialize(), function(data){
			alert('posted');
			$("#schools").load('ajax/class_conf_assign.php?s='+$("#state_field").val()+'&c='+$("#class_sel").val()+'&co='+$("#conf_sel").val());
		});
	});
	

	/* Pagination*/
	$("#user_list").load('ajax/admin_user_data.php?page=1');
	$(".paginate").live('click',function(){
		var page = $(this).attr('id');
		$("#user_list").load('ajax/admin_user_data.php?page='+page);
	});
	
	$.urlParam = function(name){
		var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
		if (!results) { return 0; }
		return results[1] || 0;}
	
	/*  Tounament */
	$(".t_select").each(function(){
		var id=$(this).attr("id");
		var hidden = id+"id";
		$(this).autocomplete("ajax/team_search.php", {
			width: 360,
			selectFirst: false,
			max: 32
		}).result(function(event,data, formatted){
			$("#"+hidden).val(data[1]);
			var id=$(this).attr("id");
			var base=id.substring(0, id.length-1);
			var t1 = $("#"+base+"1").val();
			var t2 = $("#"+base+"2").val();
			if(t1!="" && t2!=""){
				$("#score_"+base+"1").show();
				$("#score_"+base+"2").show();
				updateScore($(this));
			}
		});
		
//		$(this).change(function(){
//			
//		});
		
	});
	
	
	
	$(".t_score, .t_shootout").keyup(function(){
		updateScore($(this));
	});
	
	function updateScore(elem){
		var id=$(elem).attr('id');
		if($(elem).hasClass('t_score')){
			var match=id.substring(6, id.length-3);
		} else {
			if($(elem).hasClass('t_shootout')){
				var match=id.substring(9, id.length-3);
			} else {
				if($(elem).hasClass('t_select')){
					var match=id.substring(0, id.length-3);
				}
			}
		}
		var team_1_name = $("#"+match+"_t1").val();
		var team_1_id 	= $("#"+match+"_t1id").val();
		var team_2_name = $("#"+match+"_t2").val();
		var team_2_id 	= $("#"+match+"_t2id").val();
		
		var r_num		=parseInt(match.substr(1,1));
		var m_num		=parseInt(match.substr(4,1));
		var next_r_num	=r_num+1;
		var im			=(m_num%2!=0?m_num+1:m_num);
		var next_m_num	=im/2;
		var next_match	='r'+next_r_num+'_m'+next_m_num;
		var next_t_num	=(m_num%2!=0?1:2);
		
		var shootout	='shootout_'+match;		
		
		if($("#score_"+match+"_t1").val()!=''&& $("#score_"+match+"_t2").val()!='' && team_1_id!=''&& team_2_id!=''){
			
			var s1			=parseInt($("#score_"+match+"_t1").val());
			var s2			=parseInt($("#score_"+match+"_t2").val());
			
			var sh1			=parseInt($("#"+shootout+"_t1").val());
			var sh2			=parseInt($("#"+shootout+"_t2").val());

			if(s1!=s2){
				$("#"+shootout+"_t1, #"+shootout+"_t2").hide();
				$("#"+shootout+"_t1, #"+shootout+"_t2").val('');
				var winner = findWinner(s1, s2, team_1_name, team_2_name, team_1_id, team_2_id);
				if(typeof(winner)!=='undefined'){
					advanceWinner(next_match, next_t_num, winner[0], winner[1]);
				}
			}

			if (s1==s2){
				$("#"+shootout+"_t1, #"+shootout+"_t2").show();
				$("#"+next_match+"_t"+next_t_num).val('');
				$("#"+next_match+"_t"+next_t_num+"id").val('');
				$("#"+next_match+"_t"+next_t_num).attr('disabled','disabled');
				if(!isNaN(sh1)&& !isNaN(sh2)){
					var winner = findWinner(sh1, sh2, team_1_name, team_2_name, team_1_id, team_2_id);
					if(typeof(winner)!=='undefined'){
						advanceWinner(next_match, next_t_num, winner[0], winner[1]);
					}
				}
			}
		}
	}
	
	function findWinner(s1, s2, t1, t2, t1id, t2id){
		if(s1>s2){return Array(t1, t1id);}
		if(s2>s1){return Array(t2, t2id);}
	}
	
	function advanceWinner(next_match, next_t_num, team_name, team_id){
		$("#"+next_match+"_t"+next_t_num).removeAttr('disabled');
		$("#"+next_match+"_t"+next_t_num).val(team_name);
		$("#"+next_match+"_t"+next_t_num+"id").val(team_id);
		$("#"+next_match+"_t"+next_t_num).change();
		$("#"+next_match+"_t"+next_t_num).focus();
	}
});

function cleanTextInput(s){
	s=s.replace(/[^a-zA-Z .'-]+/g,"");
	return trim(s);
}

function trim(str){
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

