var t=0;
function trim(stringToTrim){ return stringToTrim.replace(/^\s+|\s+$/g,""); }
function handleAjaxErr(){
	window.status = "A strange response was received from the server";
}
function onInitpage(){
  generalInit()
}
function initBtns(){
  //$("button").button();
  //$("button.disabled").button({ disabled: true });
	btns = $(".ui-button");
	btns.addClass('ui-widget ui-state-default ui-corner-all');
	btns.hover(function(){
		$(this).addClass('ui-state-hover');
	},function(){$(this).removeClass('ui-state-hover')});
	$(".closebtn").click(function(){$(this).parents(".closable").toggle("medium")});
}
function generalInit(){
	initBtns();
  $(".drawersystem .drawerhandle .openctl, .drawersystem .drawerhandle .closectl").click(function (){
    $(this).parent().children(".openctl, .closectl").toggle();
    //$(".drawersystem .drawerhandle .openctl").toggle();
    //$(".drawersystem .drawerhandle .closectl").toggle();
    $(this).parents(".drawersystem").filter(':first').children(".drawer").toggle('normal');
    //$(".drawersystem .drawer").toggle('normal');
    });
}
function cbGeneric(data, textStatus){
  $(".dialog").dialog('close');
  var retData = eval( '(' +data+ ')' );
  if(retData.dest){
    window.location=retData.dest;
  }
  if(retData.msg && retData.msg.txt){
    $(".toppagemsg .message").html(retData.msg.txt);
    $(".toppagemsg").show("medium");
  }
}
//generic callback that Reloads On Good
function cbGenericROG(data, textStatus){
	$(".dialog").dialog('close');
  var retData = eval( '(' +data+ ')' );
  if(retData.status == "OK" || retData.s == "OK"){
    window.location.reload();
  }else{
    if(retData.msg && retData.msg.txt){
      $(".toppagemsg .message").html(retData.msg.txt);
      $(".toppagemsg").show("medium");
    }
  }
}
//waitElement is a function that replaces a DOM element with a Wait spinner.
function waitElement(el){
  var m_ctxt = this;
  this.newwaitel = null;
	this.el = el;
	this.show = function(duration,cbDone){
		m_ctxt.newwaitel = $('#waitelement').clone();
		var parnt = $(this.el).parent();
		m_ctxt.newwaitel.appendTo( parnt );
		$(this.el).hide(duration,function(){
			
			m_ctxt.newwaitel.show(duration,cbDone);
		});
	}
	this.hide = function(duration, cbDone){
		m_ctxt.newwaitel.hide(duration,cbDone);
	}
}
function onInithomepage(){
	/*if(isloggedin){
	$("#homeaccountmodule").hide();
		$("#homemyteammodule").show();
	}*/
	if(iseditor ){
		initInPlaceEdit();
	}
	var url = (curlang == 'fr') ? 'http://www.nhl.com/rss/nouvelles.xml' : 'http://www.nhl.com/rss/news.xml';
	$('#nhlnews').rssfeed(url, {
    limit: 6, header: false, date: true
  });
}
function onInitmepage(){
	var delbtns = $("a.button.delete")
	delbtns.addClass("ui-icon ui-icon-close");
	delbtns.hover(function(){
		$(this).addClass('ui-icon-closethick').removeClass('ui-icon-close');
		},function(){
		$(this).addClass('ui-icon-close').removeClass('ui-icon-closethick')
	});
	delbtns.click(function(){
		var childel = $(this).parents(".child");
		var childid = childel.attr("id").split("_",2)[1];
		var subjectstr = '"currentuser"';
		var objectstr = '{"model":"people","people":{"id":'+childid+'}}';
		var actionstr = '{"name":"unrelate","params":{"model":"peoplepeople","subject":'+subjectstr+',"object":'+objectstr+'}}';
		var wait = new waitElement(this);
		
		var l10nButtonsUNR = {};
		l10nButtonsUNR[txt['cancel']] = function(){$("#dialogunrelate").dialog('close');};
		l10nButtonsUNR[txt['unrelateaction']] = function(){
			$("#dialogunrelate").dialog('close');
			wait.show('medium',function(){
				postSingleAction(actionstr,cbUnrelate);
			});
		};
		$("#dialogunrelate .name").html(childel.find(".name").html());
		
		$("#dialogunrelate").dialog({
			autoOpen: true,//height: 220,
			width: 400, modal: true, buttons: l10nButtonsUNR
		});
		function cbUnrelate(data, textStatus){
			wait.hide('medium');
			var retData = eval( '(' +data+ ')' );
			if(retData.status == "OK"){
				childel.hide('medium').remove();
			}
			if(retData.msg && retData.msg.txt){
				$(".toppagemsg .message").html(retData.msg.txt);
				$(".toppagemsg").show("medium");
			}			
		}		
		
		
		
		
	});
}
function onInitdynamicpage(){
	initInPlaceEdit();
}
function onInitassociationpage(){
	if(isAdmin){
		generalInit();
		//initUserPicker();
		var upickerAdmins = new UserPicker({'action':'getusers','display':['fn','ln','email']});
		upickerAdmins.RegisterUI($("#adminspicker"));
		$.datepicker.setDefaults($.datepicker.regional['']);
		//$("#startdatepicker").datepicker($.datepicker.regional['fr']);
		$('#rightenddatepicker').datepicker({dateFormat: 'yy-mm-dd',showOtherMonths: true, selectOtherMonths: true,changeYear: true});
	}
}
function onInitgestiondusitepage(){
  generalInit();
	initUserPicker();
}
function saveInPlaceEdit(){
  postSingleAction('{"name":"getusers","params":{"fn":"'+fn+'","ln":"'+ln+'","email":"'+em+'"}}',handleFoundUsers,handleJSONFailure);  
}
function initInPlaceEdit(){
  $(".savebtn, .savelink").click(function () {
    themod = $(this).parents(".module");
    pageid = themod.find(".pageid").val();
    editorid = themod.find(".tinymce").attr('id');
    data = tinyMCE.get(editorid).getContent();
    varname = themod.find(".tinymce").attr("name");
    //alert("Page id is: "+pageid);
    postSingleAction('{"name":"savecontent","module":{"pageid":"'+pageid+'","name":"'+varname+'","data":"'+escape(data)+'"}}',cbIPEditSuccess,cbIPEditFailed);
    themod.find(".content").html(data);
    themod.find(".savelink").css("display", "none");
    themod.find(".editlink").css("display", "block");
    themod.find(".editor").css("display", "none");
    themod.find(".content").css("display", "block");
    return false;
  });
  $(".previewbtn").click(function () {
    themod = $(this).parents(".module");
    //data = themod.find(".tinymce").html();
    //data = themod.find(".tinymce").get('text').getContent();
    //data = tinyMCE.activeEditor.getContent();
    //data = themod.find(".tinymce").getContent();
    editorid = themod.find(".tinymce").attr('id');
    data = tinyMCE.get(editorid).getContent();
    themod.find(".content").html(data);
    themod.find(".content").css("display", "block");
    themod.find(".editor").css("display", "none");
    themod.find(".editlink").css("display", "block");
    themod.find(".savelink").css("display", "block");
    return false;
    //varname = themod.find(".tinymce").attr("name");
  });
  $(".cancelbtn").click(function () {
    location.reload();
    /*themod = $(this).parents(".module");
    themod.find(".content").css("display", "block");
    themod.find(".editor").css("display", "none");
    themod.find(".editlink").css("display", "block");
    themod.find(".savebtn").unbind('click');*/
    return false;
  });
  $(".editlink").click(function () {
    $(this).parents(".module").find(".editlink").css("display", "none");
    $(this).parents(".module").find(".savelink").css("display", "none");
    $(this).parents(".module").find(".content").css("display", "none");
    $(this).parents(".module").find(".editor").css("display", "block");
    data = $(this).parents(".module").find(".content").html();
    $(this).parents(".module").find(".tinymce").val( data );
    $(".module.editmode").css("display", "block");
    $('textarea.tinymce').tinymce({
			// Location of TinyMCE script
			script_url : '/s/js/tiny_mce/tiny_mce.js',

			// General options
			theme : "advanced",
			plugins : "safari,pagebreak,style,table,save,advhr,advimage,advlink,iespell,inlinepopups,preview,media,searchreplace,print,contextmenu,paste,fullscreen,noneditable,visualchars,nonbreaking",

			// Theme options
			theme_advanced_buttons1 : "save|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect,|,fullscreen",
      theme_advanced_buttons2 : "cut,copy,paste|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,image,cleanup,code,|,forecolor,backcolor",
			theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media",
			theme_advanced_toolbar_location : "top",
			theme_advanced_toolbar_align : "left",
			theme_advanced_statusbar_location : "bottom",
			theme_advanced_resizing : true,
			// Example content CSS (should be your site CSS)
			content_css : "/css/hlsl.css"

			// Drop lists for link/image/media/template dialogs
			//template_external_list_url : "lists/template_list.js",
			//external_link_list_url : "lists/link_list.js",
			//external_image_list_url : "lists/image_list.js",
			//media_external_list_url : "lists/media_list.js"
		});
	});

}
function onInitLeaguepage(){
  $(".adminbtn").click(function () {
    $(".adminctl").toggle('slow');
    $(".adminbtn .opctl").toggleClass('shown');
    $(".adminbtn .clctl").toggleClass('shown');
  });
}
function onInitofficielpage(){
	generalInit();
	$(".lnmi_officiel").addClass("current");
	if(ischief){
		initAssocGrid('official');
	}
}
function onInitofficielspage(){
	$(".lnmi_officiels").addClass("current");
	generalInit();
	initUserPicker();
	$("#createofficialform").submit(function(){
		var uid = $("#fe_uid").attr("value");
		
		var reqobjstr = '{"model":"users","id":'+uid+'}';
		if(ischief){
			var associd = $("#assocsel").attr("value");
			if ($("#elitectrls input[@name='doubleletters']:checked").val() == 1){
				var cntrlobjstr = '[{"model":"elite","id":null},{"model":"associations","id":'+associd+'}]';
				postSingleAction(	'{"name":"giveright","params":{"type":"official","cntrlobjects":'+cntrlobjstr+',"requestobj":'+reqobjstr+'}}',
													cbGenericROG,handleJSONFailure);
			}else{
				var cntrlobjstr = '{"model":"associations","id":'+associd+'}';
				postSingleAction(	'{"name":"giveright","params":{"type":"official","cntrlobject":'+cntrlobjstr+',"requestobj":'+reqobjstr+'}}',
													cbGenericROG,handleJSONFailure);				
			}
		}else{
			postSingleAction(	'{"name":"giveright","params":{"command":"supari","requestobj":'+reqobjstr+'}}',
												cbGenericROG,handleJSONFailure);
		}
		return false;
	});
	$(".removeright").click(function(){
		var uid = $(this).parents(".userdata").attr("id").split("_",2)[1];
		var dlgdata = {
			'OK':{'txt':txt['delete'],
			'cb':function(){
				$.ajax({
					type: "POST",
					url: "/proc.php",
					data: "action=delete&params[model]=officials&params[user][id]="+uid,
					success: function(resp){
						window.location.href = window.location.pathname + "?msg=officialremoved";
						},
					error: function(XMLHttpRequest, textStatus, errorThrown) {
						handleAjaxErr();
					}
				 });
			}
			},
			'Cancel':{'txt':txt['cancel'],
			'cb':function(){
				$(this).dialog('close');
			}
		}};
		doConfirmDlg(dlgdata);
	});	
}
function onInitcreategamepage(){
	generalInit();
	$(".lnmi_creategame").addClass("current");
	$("#datepicker").datepicker({ dateFormat: 'yy-mm-dd' });
	
	$(".creategame .gradepicker, .creategame .levelpicker").change(function(){
		$(".creategame .assocpicker").val('selectedIndex',0);
		$(".creategame .teampicker").attr('disabled','disabled');		
	});
	$(".levelpicker").change(function(){});
	$(".creategame .assocpicker").change(function(){
		loadTeamsInPicker(	$(this).val(),
												$(".creategame .gradepicker").val(),
												$(".creategame .levelpicker").val(),
												$(this).parents(".teamassocpickers").find(".teampicker").get(0));
	});
	var curDlgLauncher = null;
	var l10nButtons = {};
	l10nButtons[txt['cancel']] = function(){$("#dialogcreateassoc").dialog('close');};
	l10nButtons[txt['create']] = function(){
		regionid=$("#regionpicker").val();
		assocname=$("#assocname").val();
		$.ajax({
			type: "POST",
			url: "/proc.php",
			data: "action=create&params[model]=associations&params[assoc][region_id]="+regionid+"&params[assoc][name]="+assocname,
			success: function(resp){
				document.getElementById("maincontainer").style.cursor="default";
				var tempstr ="res = "+resp;
				eval(tempstr);
				if(res.s == "OK"){
					//$('.assocpicker').append($("<option/>"), {value: res.associd,text: assocname});
					//$('.assocpicker').append('<option value="'+res.associd+'" selected="selected">'+assocname+'</option>');
					$(curDlgLauncher).parents('.formitem').find('.assocpicker').append('<option value="'+res.associd+'" selected="selected">'+assocname+'</option>');
					$("#dialogcreateteam .assocpicker").append('<option value="'+res.associd+'" selected="selected">'+assocname+'</option>');
					$("#dialogcreateassoc").dialog('close');
				}else{
					$j(".createassocwarningtext").html(txt['err_assocalreadythere']);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				alert(txt['unkerror']);
				$("#dialogcreateassoc").dialog('close');
			}
		});	
	};
	$(".btnAddAssocDlg").click(function(){
		curDlgLauncher = this;
		$("#dialogcreateassoc").dialog('open');
	});
	$("#dialogcreateassoc").dialog({
		autoOpen: false,
		height: 400,
		width: 500,
		modal: true,
		buttons: l10nButtons
	});
	var l10nButtonsCT = {};
	l10nButtonsCT[txt['cancel']] = function(){$("#dialogcreateteam").dialog('close');};
	l10nButtonsCT[txt['create']] = function(){
		regionid=$("#regionpicker").val();
		teamname=$("#teamname_dlg").val()
		$.ajax({
			type: "POST",
			url: "/proc.php",
			data: "action=create&params[model]=teams&params[teams][region_id]="+regionid+
						"&params[teams][grade_id]="+$("#gradepicker_dlg").val()+
						"&params[teams][level_id]="+$("#levelpicker_dlg").val()+
						"&params[teams][association_id]="+$("#assocpicker_dlg").val()+
						"&params[teams][name]="+teamname
						,
			success: function(resp){
				document.getElementById("maincontainer").style.cursor="default";
				var tempstr ="res = "+resp;
				eval(tempstr);
				if(res.s == "OK"){
					//$('.assocpicker').append($("<option/>"), {value: res.associd,text: assocname});
					//$('.teampicker').append('<option value="'+res.teamid+'" selected="selected">'+teamname+'</option>');
					$(curDlgLauncher).parents('.formitem').find('.teampicker').append('<option value="'+res.teamid+'" selected="selected">'+teamname+'</option>');
					$(curDlgLauncher).parents('.formitem').find('.teampicker').removeAttr('disabled');
					$("#dialogcreateteam").dialog('close');
				}else{
					$(".createteamwarningtext").html(txt['err_assocalreadythere']);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				alert(txt['unkerror']);
				$("#dialogcreateteam").dialog('close');
			}
		});	
	};	
	$(".btnAddTeamDlg").click(function(){
		curDlgLauncher = this;
		$("#dialogcreateteam").dialog('open');
	});	
	$("#dialogcreateteam").dialog({
		autoOpen: false,
		height: 400,
		width: 500,
		modal: true,
		buttons: l10nButtonsCT
	});	
	

}
function loadTeamsInPicker(associd,gradeid,levelid,el){
	$.ajax({
		type: "POST",
		url: "/proc.php",
		data: "action=read&params[model]=teams&params[filter][readtype]=raw&params[filter][association_id]="+associd+"&params[filter][grade_id]="+gradeid+"&params[filter][level_id]="+levelid,
		success: function(resp){
			document.getElementById("maincontainer").style.cursor="default";
			var tempstr ="res = "+resp;
			eval(tempstr);
			if(res.s == "OK"){
				if($(el).find('option').length)
					$(el).find('option').remove();
				if(!res.teams.length){
					$(el).attr('disabled', 'disabled');
				}
				for(var i=0; i < res.teams.length; i++){
					teamname = res.teams[i].name+" de "+res.teams[i].assocname;
					$(el).append('<option value="'+res.teams[i].id+'">'+teamname+'</option>');
				}
				$(el).removeAttr('disabled');
			}else{
				
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(txt['unkerror']);
			$("#dialogcreateassoc").dialog('close');
		}
	});		
}
function onInitevalofficielpage(){
	$(".evaluationform .savebtn").click(function(){
		
		if($("#evaluatedrole").length){
			var valrole = $("#evaluatedrole").attr('value');
			if( !valrole.length ){
				$("#selrolelbl").addClass("redbold");
				scroll(0,0);
				return false;
			}
		}
		if($("#evaluateduid").length){
			var valuid = $("#evaluateduid").attr('value');
			if( !parseInt(valuid) ){
				$("#selofficiallbl").addClass("redbold");
				scroll(0,0);
				return false;
			}
		}
	});
	$("#evaluateduid").change(function(){
		$("#selofficiallbl").removeClass("redbold");
	});
	$("#evaluatedrole").change(function(){
		$("#selrolelbl").removeClass("redbold");
	});	
	
	$(".evaluationform .savebtn").hover(function(){
		$(this).addClass('ui-state-hover')
	},function(){$(this).removeClass('ui-state-hover')});
	if ($.browser.msie){
		$('select.widens')
		.bind('focus mouseover', function() { $(this).addClass('expand').removeClass('clicked'); })
		.bind('click', function() { $(this).toggleClass('clicked'); })
		.bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); }})
		.bind('blur', function() { $(this).removeClass('expand clicked'); });
	}	
}

function onInitevaluationspage(){
	generalInit();
	if(openFilters){
		$(".drawersystem .drawer").toggle('normal');
	}
	$(".lnmi_evaluations").addClass("current");
	$("#datepicker_from").datepicker({ dateFormat: 'yy-mm-dd' });
	$("#datepicker_to").datepicker({ dateFormat: 'yy-mm-dd' });
	$(".applyfilterbtn").click(function(){
		$(".filtersengaged").attr('value', 1);
	});
	$(".clearbtn").click(function(){
		window.location.href = window.location.pathname;
	});
	$("#markpaidbtn").click(function(){
		return confirm(txt['confirmmarkpaid']);
	});
}
function onInitsuperviseurpage(){
	$(".lnmi_superviseur").addClass("current");
	generalInit();
	$(".lnmi_superviseur").addClass("current");

	if( (typeof isAdmin != 'undefined') && isAdmin){
		initAssocGrid('evaluator');
	}
}
function initAssocGrid(righttype){
$("#elitectrls [name='doubleletters']").change(function(){
			$("#elitectrls button").toggle('medium');
		});
		$("#elitectrls button").click(function(){
			if ($("#elitectrls input[@name='doubleletters']:checked").val() == 1){
				var taction = 'giveright';
			}else{
				var taction = 'deleteright';
			}
			var cntrlobjstr = '{"model":"elite","id":"null"}';
			var reqobjstr = '{"model":"users","id":'+subjectuserid+'}';
			postSingleAction(	'{"name":"'+taction+'","params":{"type":"'+righttype+'","cntrlobject":'+cntrlobjstr+',"requestobj":'+reqobjstr+'}}',
												cbGenericROG,handleJSONFailure);
			return false;
		});
		$("#chooseasscform").submit(function(){
			var aid = $("#assocsel").val()
			var cntrlobjstr = '{"model":"associations","id":'+aid+'}';
			var reqobjstr = '{"model":"users","id":'+subjectuserid+'}';
			postSingleAction(	'{"name":"giveright","params":{"type":"'+righttype+'","cntrlobject":'+cntrlobjstr+',"requestobj":'+reqobjstr+'}}',
												cbGenericROG,handleJSONFailure);
			return false;
		});
		function dyndelbtnClicked(){
			var l10nButtons = {};
			var deletableEl = $(this).parents(".deletable");
			var assocel = deletableEl.find(".association");
			var assocname = assocel.html();
			var associd = assocel.attr("id").split("_",2)[1];
			l10nButtons[txt['cancel']] = function(){
				$("#dialogconfirm").dialog('close');
			};
			l10nButtons[txt['delete']] = function(){
				$("#dialogconfirm").dialog('close');
				$("body").css("cursor", "progress");
				var cntrlobjstr = '{"model":"associations","id":'+associd+'}';
				var reqobjstr = '{"model":"users","id":'+subjectuserid+'}';
				postSingleAction(	'{"name":"deleteright","params":{"type":"'+righttype+'","cntrlobject":'+cntrlobjstr+',"requestobj":'+reqobjstr+'}}',
												cbDeleteAssocRts,handleJSONFailure);
				function cbDeleteAssocRts(data, textStatus){
					$("body").css("cursor", "auto");
					var retData = eval( '(' +data+ ')' );
					if(retData.msg && retData.msg.txt){
						$(".toppagemsg .message").html(retData.msg.txt);$(".toppagemsg").show("medium");
					}
					if(retData.status == "OK"){
						deletableEl.hide('medium',function(){
							deletableEl.remove();
						});
					}
				}
			};
			$("#dialogconfirm .assocname").html('"'+assocname+'"');
			$("#dialogconfirm").dialog({
				autoOpen: true,
				height: 220,
				width: 500,
				modal: true,
				buttons: l10nButtons
			});
		}	
		var dyndelbtn = null;
		$(".deletable").hover(
			function(){
				$(this).addClass("hover");
				dyndelbtn = $("<a id='dyndelbtn' class='ui-icon ui-icon-closethick'>close</a>");
				//closebtn = $("<button id='removestudentbtn'>delete</button>");
				dyndelbtn.appendTo(this);
				dyndelbtn.click(dyndelbtnClicked);
			},function(){
				$(this).removeClass("hover");
				dyndelbtn.remove();
			}
		);	
}
function onInitsuperviseurspage(){
	$(".lnmi_superviseurs").addClass("current");
	generalInit();
	initUserPicker();
	$(".removeright").click(function(){
		var uid = $(this).parents(".userdata").attr("id").split("_",2)[1];
		//alert("clicked!"+uid);
		var dlgdata = {
			'OK':{'txt':txt['delete'],
			'cb':function(){
				//perform the rights removal request
				$.ajax({
					type: "POST",
					url: "/proc.php",
					data: "action=deleteright&params[cntrlobject][id]=&params[cntrlobject][model]=evaluations&params[requestobj][model]=users&params[requestobj][id]="+uid,
					success: function(resp){
						window.location.href = window.location.pathname + "?msg=rightremoved";
						/*document.getElementById("container").style.cursor="default";
						var tempstr ="res = "+resp;
						eval(tempstr);
						if(res.s == "OK" && res.paid){
							onclickPrintLabelWithPostage();
						}else{
							$j(".popup_print_label").css("display", "block");
						}*/
						},
					error: function(XMLHttpRequest, textStatus, errorThrown) {
						handleAjaxErr();
					}
				 });
			}
			},
			'Cancel':{'txt':txt['cancel'],
			'cb':function(){
				$(this).dialog('close');
			}
		}};
		doConfirmDlg(dlgdata);
	});
}
function onInitgestiondusagerpage(){
  initUserPicker();
  if($("#ACOpicker").length){
    initACOpicker()
  }
}
function initUserPicker(){
  if($(".usersearch").length){
    $("#fe_fn").keyup(function(){
      onSearckKeyHit();
    });
    $("#fe_ln").keyup(function(){
      onSearckKeyHit();
    });
    $("#fe_email").keyup(function(){
      onSearckKeyHit();
    });    
  }
	$(".ui-icon").hover(function(){ $(this).addClass("ui-state-hover"); },
											function(){ $(this).removeClass("ui-state-hover"); });
	$("#usersearch_clearbtn").click(function(){
		$("#fe_fn").attr("value","");
		$("#fe_ln").attr("value","");
		$("#fe_email").attr("value","");
		var el = $("#usersearchres");
		el.empty();		
	});
}
function onInitAccountpage(){
	generalInit();
  if($(".usersearch").length){
    $("#fe_fn").keyup(function(){
      onSearckKeyHit();
    });
    $("#fe_ln").keyup(function(){
      onSearckKeyHit();
    });
    $("#fe_email").keyup(function(){
      onSearckKeyHit();
    });    
  }
  if($("#ACOpicker").length){
    initACOpicker()
  }
	$("#destroyaccountform").submit(function(){
		alert(txt['areyousure']);
		return false;
	});
}
function onInitloginpage(){
  $("input:text:visible:first").focus();
  $('#password').keyup(function(e) {
    if(e.keyCode == 13) {
      Login();
    }
  });
}
function onInitregistrationpage(){
}
function onInitcreateteamnewspage(){
	onInitblogpage();
}
function onInitteamnewspage(){
	//onInitblogpage();
	initBtns();
	$(".ui-icon").hover(function(){ $(this).addClass("ui-state-hover"); },
											function(){ $(this).removeClass("ui-state-hover"); });
	if(document.getElementById("dialog-confirm-delpost")){
		var pid=0;
		var clickedel = null;
		$('.delpostbtn').click(function(){
			clickedel = $(this);
			$("#dialog-confirm-delpost").dialog('open');
			pid = $(this).parents(".newsitem").attr("id").split("_",2)[1];
			$("#deleteeventform .eventid").attr("value", pid);
		});
		var l10nButtonsDP = {};
		l10nButtonsDP[txt['cancel']] = function(){$("#dialog-confirm-delpost").dialog('close');};
		l10nButtonsDP[txt['delete']] = function(){
			$("body").css("cursor", "progress");
			$("#dialog-confirm-delpost").dialog('close');
			//$("#deleteeventform").submit();
			postSingleAction('{"name":"delete","params":{"model":"posts_forteams","posts_forteams":{"id":"'+pid+'"},"team":{"id":"'+teamid+'"}}}',cbDelTeamPost,handleJSONFailure);
		};
		function cbDelTeamPost(data, textStatus){
			$("body").css("cursor", "auto");
			var retData = eval( '(' +data+ ')' );
			if(retData.msg && retData.msg.txt){
				$(".toppagemsg .message").html(retData.msg.txt);
				$(".toppagemsg").show("medium");
			}
			if(retData.status == "OK"){
				clickedel.parents(".newsitem").hide("medium");
			}else{
				alert(retData.msg);
			}
		}
		$("#dialog-confirm-delpost").dialog({
			resizable: false,
			autoOpen: false,
			height: 180,
			width: 500,
			modal: true,
			buttons: l10nButtonsDP
		});
	}
}
function onInitteamschedulepage(){
	var calinited = 0;
	$("#seeascalendarbtn").click(function(){
		$('.centralblock').css("width","800px");
		if(!calinited){
			var foundevents = scrapeEvents();
			if(foundevents.length){
				var firstDate = new Date(foundevents[0].jsstart);
				var lastDate = new Date(foundevents[foundevents.length-1].jsstart);
				var today = new Date();
				var startmonth=0,startyear=0;
				if(today<firstDate){
					startmonth = firstDate.getMonth();
				}else if(today>lastDate){
					startmonth = lastDate.getMonth();
					startyear = lastDate.getFullYear();					
				}
				$('#calendar').fullCalendar({
					month: startmonth,
					year: startyear,
					header: {
						left: 'prev,next today',
						center: 'title',
						right: 'month,agendaWeek'
					},				
					events: foundevents
				});
				calinited = 1;
			}
		}
		$(this).hide();
		
		$('#seeaslistbtn').show("medium");
		$(".toprightad").hide("medium");
		$("#eventslist").hide("medium");		
		$('#calendar').show("medium");
	});
	$("#seeaslistbtn").click(function(){
		$('.centralblock').css("width","505px");
		$(this).hide();
		$("#seeascalendarbtn").show();
		$(".toprightad").show("medium");
		$("#eventslist").show("medium");		
		$('#calendar').hide("medium");		
	});
	function scrapeEvents(){
		var arrEvents=new Array();
    $('#eventslist .event').each(function(index){
			var arrEvent=new Array();
			if($(this).find(".opponent").length){
				var titlestr = $(this).find(".opponent").html();
			}else{
				var titlestr = $(this).find(".type").html();
			}
			arrEvent["title"] = titlestr+" "+$(this).find(".arenacode").html()+" "+$(this).find(".locationtxt").html();
			arrEvent["start"] = String($(this).find(".datetimestr").html());
			arrEvent["jsstart"] = $(this).find(".jsdatetimestr").html();
			arrEvent["end"] = $(this).find(".enddatetimestr").html();
			arrEvent["allDay"] = 0;
			arrEvents[index] = arrEvent;
    });
		return arrEvents;
	}
}
function onInitblogviewpage(){
	generalInit();
	if($("#rssfeed").length){
		var url='';
		if(datasrc=='nhl'){
			url = (curlang == 'fr') ? 'http://www.nhl.com/rss/nouvelles.xml' : 'http://www.nhl.com/rss/news.xml';
		}else if(datasrc=='habsrds'){
			url = 'http://www.rds.ca/canadien/fildepresse_rds.xml';
		}else if(datasrc=='midgetaaa'){
			url = 'http://www.rds.ca/midgetaaa/fildepresse_rds.xml';
		}else if(datasrc=='lhjmq'){
			url = 'http://www.rds.ca/lhjmq/fildepresse_rds.xml';
		}else if(datasrc=='habs'){
			url = (curlang == 'fr') ? 'http://canadiens.nhl.com/fr/rss/nouvelles.xml' : 'http://canadiens.nhl.com/rss/news.xml';
		}
		$('#rssfeed').rssfeed(url, {
			limit: 30, header: true
		});
	}	
	
}
function onInitblogpage(){
	function showUnilingual(){
		if(curlang=='fr'){
			$(".formitem.en").hide();
			$(".formitem.fr .langname").hide();
		}else{
			$(".formitem.fr").hide();
			$(".formitem.en .langname").hide();		
		}
	}
	function showMultilingual(){
		$(".formitem").show();
		$(".formitem .langname").show();
	}
	if(view=='edit'){
		if(curlang=='fr'){
			var view1 = $("#fe_titleen").val();
			var view1 = $("#fe_contenten").val();
			if( $("#fe_titleen").val().length!==0 || $("#fe_contenten").val().length!==0) {
				$('#fe_unilingual').attr("checked","");
				$('#fe_multilingual').attr("checked","checked");
				showMultilingual();
			}else{
				showUnilingual();
			}
		}else{
			var view1 = $("#fe_titlefr").val();
			var view1 = $("#fe_contentfr").val();
			if( $("#fe_titlefr").val().length!==0 || $("#fe_contentfr").val().length!==0) {
				$('#fe_unilingual').attr("checked","");
				$('#fe_multilingual').attr("checked","checked");
				showMultilingual();
			}else{
				showUnilingual();
			}		
		}
	}
	generalInit();
	$(":input[@name='langtype']").change(function(){
		if ($("input[@name='rdio']:checked").val() == 'unilingual'){
			showUnilingual();
		}else{
			showMultilingual();
			//$(".formitem").show();
			//$(".formitem.fr .langname").toggle();
		}
	});	
  $('textarea.tinymce').tinymce({
    // Location of TinyMCE script
    script_url : '/s/js/tiny_mce/tiny_mce.js',
    theme : "advanced",
    plugins : "safari,pagebreak,style,table,save,advhr,advimage,advlink,iespell,inlinepopups,preview,media,searchreplace,print,contextmenu,paste,fullscreen,noneditable,visualchars,nonbreaking",
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect,|,fullscreen,|,link,unlink,image,cleanup,code,|,forecolor,backcolor,|,undo,redo",
    theme_advanced_buttons2 : "cut,copy,paste|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media",
    theme_advanced_buttons3 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_resizing : true,
    content_css : "/css/hlsl.css"
  });
	$(".fe_draft").change(function(){
		if( $("input[name='params[post][draft]']:checked").val() == "1" ){
			$(".emailrosterckboxarea").hide('normal');
			$("input[name='params[emailteam]']").attr("checked", false); 
		}else{
			$(".emailrosterckboxarea").show('normal');
		}
	});
	//emailrosterckboxarea
}
function onInitgameresultspage(){
	initBtns();
  $(".nogamechk").click(function(){
    var elClicked = this;
    /*vaschecked = $(".nogamechk").attr("checked");
    $(".nogamechk").attr("checked", "");
    this.checked = !vaschecked;*/
    $(':checkbox.nogamechk').each(function(){
    if(elClicked != this)
    this.checked = false;
    });
 });
	var cnt=0;
	$("#btnaddsaction").click(function(){
		var newctrls = $("#stufftoclone .sanctionctrls").clone(true)
		newctrls.appendTo("#sanctionctrlscont")
		cnt++;
	});
	$("#stufftoclone .deletebtn").click(function(){
		$(this).parents(".sanctionctrls").remove();
	});
	$("#currentsanctions .btnDeleteSanction").click(function(){
		var clikEl = this;
		var epid = $(this).parents(".sanction").find(".eventpersonid").html();
		postSingleAction('{"name":"delete","params":{"model":"eventperson","eventperson":{"id":'+epid+'}}}',cbDeleteSanction,handleJSONFailure);
		function cbDeleteSanction(data, textStatus){
			var retData = eval( '(' +data+ ')' );
			if(retData.msg && retData.msg.txt){
				$(".toppagemsg .message").html(retData.msg.txt);
				$(".toppagemsg").show("medium");
			}
			$(clikEl).parents(".sanction").remove();
		}		
	});
}
function onInitschedulepage(){
}
function onInituberleaguepage(){
  generalInit();
}
function onInitclassementpage(){
}
function onInitseasonspage(){
  generalInit();
  $.datepicker.setDefaults($.datepicker.regional['']);
  //$("#startdatepicker").datepicker($.datepicker.regional['fr']);
  $('#startdatepicker').datepicker({dateFormat: 'yy-mm-dd',showOtherMonths: true, selectOtherMonths: true,changeYear: true});
  //$('#startdatepicker').datepicker('option', {regional: 'fr'});
  $('#enddatepicker').datepicker({dateFormat: 'yy-mm-dd',showOtherMonths: true, selectOtherMonths: true,changeYear: true});
  
  /*$("#datepicker").datepicker($.datepicker.regional['fr']);
    
  $.datepicker.setDefaults($.datepicker.regional['']);
		$("#datepicker").datepicker($.datepicker.regional['fr']);
		$("#locale").change(function() {
			$('#datepicker').datepicker('option', $.datepicker.regional[$(this).val()]);
		});*/
}
function onInitteamhomepage(){
	generalInit();
	if(showAdminCtls){
		$('.deleventbtn').click(function(){
				$("#dialog-confirm-delpractice").dialog('open');
				var eid = $(this).parents(".event").attr("id").split("_",2)[1];
				$("#deleteeventform .eventid").attr("value", eid);
			});
		var l10nButtonsCT = {};
		l10nButtonsCT[txt['cancel']] = function(){$("#dialog-confirm-delpractice").dialog('close');};
		l10nButtonsCT[txt['delete']] = function(){
			$("#deleteeventform").submit();
		};
		$("#dialog-confirm-delpractice").dialog({
			resizable: false,
			autoOpen: false,
			height: 180,
			width: 500,
			modal: true,
			buttons: l10nButtonsCT
		});
		
		var l10nButtonsCN = {};
		l10nButtonsCN[txt['cancel']] = function(){$("#dialogcreatenews").dialog('close');};
		l10nButtonsCN[txt['add']] = function(){
			window.location.href = '/actualites?view=create&teamid='+teamid;
			//$("#dialogcreatenews").dialog('close');
			//$("#deleteeventform").submit();
		};
		$("#dialogcreatenews").dialog({
			resizable: false,
			autoOpen: false,
			height: 180,
			width: 500,
			modal: true,
			buttons: l10nButtonsCN
		});
		$(".btnAddTeamNewsDlg").click(function(){
			$("#dialogcreatenews").dialog('open');
		});
		$(".ui-icon").hover(function(){ $(this).addClass("ui-state-hover"); },
												function(){ $(this).removeClass("ui-state-hover"); });	
	}
}
function onInitteamrightspage(){
	generalInit();
	var upickerAdmins = new UserPicker({'action':'getusers','display':['fn','ln','email']});
	upickerAdmins.RegisterUI($("#adminspicker"));
	var upickerMembers = new UserPicker({'action':'getusers','display':['fn','ln','email']});
	upickerMembers.RegisterUI($("#memberspicker"));
}
function onInitteameventpage(){
	generalInit();
	initAttendance();
	$('#datepicker').datepicker({dateFormat: 'yy-mm-dd',showOtherMonths: true, selectOtherMonths: true,changeYear: true});
	$("#deleventform").submit(function(){
		return confirm("Do you really want to delete this event?");
	});
}
function initAttendance(){
	//if the attenance form is on the page, initialize it
	if($("#attendanceform").length) {
		var pid = $('input[name=pid]', '#attendanceform').val();
		$("#attendanceform").submit(function(){
			var val = $('input[name=attendance]:checked', '#attendanceform').val();
			if(!val){
				alert("Faites un choix");
				return false;
			}
			var actionstr = '{"name":"setattendance","params":{"model":"events","events":{"id":'+eventid+',"team_id":'+teamid+'},"person":{"id":'+pid+'},"value":"'+val+'"}}';
			postSingleAction(actionstr,cbGeneric);
			return false;
		});
		function cbGeneric(data, textStatus){
			var retData = eval( '(' +data+ ')' );
			if(retData.msg && retData.msg.txt){
				$(".toppagemsg .message").html(retData.msg.txt);
				$(".toppagemsg").show("medium");
			}
			var idstr = "#person_"+pid;
			$("#theroster "+idstr+" .attendance").html(retData.valuetxt);
		}		
	}	
}
function initRoster(){
	$("#theroster .fn, .roster .ln").mouseenter(function(){
		$(this).parents(".player").find(".fn,.ln").addClass("hovering");
	});
	$("#theroster .fn, .roster .ln").mouseleave(function(){
		$(this).parents(".player").find(".fn,.ln").removeClass("hovering");
	});
	$("#theroster .fn, .roster .ln").click(function(){
		document.location = $(this).parents(".player").find(".ln a").attr("href");
	});
}
function onInitteamrosterpage(){
	generalInit();
	initRoster();
	if ($("#dialogeditplayerteamdata").length) {
		initEditPlayerTeamDataDlg();
	}
	var l10nButtonsCT = {};
	l10nButtonsCT[txt['cancel']] = function(){$("#dialogcreateplayer").dialog('close');};
	l10nButtonsCT[txt['create']] = function(){
		byear = $("#dialogcreateplayer select[name='birthYear']").val();
		bmonth = $("#dialogcreateplayer select[name='birthMonth']").val();
		bday = $("#dialogcreateplayer select[name='birthDay']").val();
		fn = $('#dialogcreateplayer .fe_fn').val();
		ln = $('#dialogcreateplayer .fe_ln').val();
		em = $('#dialogcreateplayer .fe_em').val() ? $('#dialogcreateplayer .fe_em').val() : '';
		postSingleAction('{"name":"create","params":{"model":"person","person":{"firstname":"'+fn+'","lastname":"'+ln+'","birthdate":{"year":"'+byear+'","month":"'+bmonth+'","day":"'+bday+'"},"email":"'+em+'"}}}',cbCreatePerson,handleJSONFailure);
		$("#dialogcreateplayer").dialog('close');
	};
	function cbCreatePerson(data, textStatus){
		var retData = eval( '(' +data+ ')' );
		if(retData.s == "OK"){
			memberize(retData.pid, teamid, 'player'); //alert(retData.pid);			
		}else{
			alert(retData.debugmsg);
		}
	}
	$("#dialogcreateplayer").dialog({
		autoOpen: false,
		height: 300,
		width: 500,
		modal: true,
		buttons: l10nButtonsCT
	});
	$('.createplayerbtn').click(function(){
		$('#dialogcreateplayer .fe_fn').val( $(this).parents('.personpicker').find('.fe_fn').val() );
		$('#dialogcreateplayer .fe_ln').val( $(this).parents('.personpicker').find('.fe_ln').val() );
		$('#dialogcreateplayer').dialog('open');
	});
	
	if($('.drawersystem')){
  var upicker = new UserPicker({'action':'ta_peopleinteams',
                                'display':['fn','ln','seasonname','role','teamname','gradename','levelname'],
                                'container':'smartdiv',
                                'doneCB':initResultsTable
                                });
  upicker.RegisterUI($(".playerpicker"));		
	}
	function initResultsTable(){
		$('.userfound').hover(function(){
			$(this).addClass("hover");
		},function(){
				$(this).removeClass("hover");
		});
	}	
}
function onInitteamnorightspage(){
	generalInit();
	if ($("#dialogreqteamrightsplayer").length > 0) {
		initDialogNoTeamRightsPlayer();
	}
	$("#secretcodeform").submit(function(){
		//alert("sending code");
		var code = $("#teamsecretcode").val();
		postSingleAction('{"name":"validatecode","params":{"model":"teamseasons","teamseasons":{"season_id":'+seasonid+',"team_id":'+teamid+',"accesscode":"'+code+'"}}}',cbValidateCode,handleJSONFailure);
		return false;
	});
	function cbValidateCode(data, textStatus){
		var retData = eval( '(' +data+ ')' );
		if(retData.status == "OK"){
			window.location='/team/id/'+teamid+'/welcome?sid='+seasonid;
		}else{
			if(retData.msg && retData.msg.txt){
				$(".toppagemsg .message").html(retData.msg.txt);
				$(".toppagemsg").show("medium");
			}			
		}
	}
}
function onInitteamsecretcodepage(){
	var elwait = $("#wait");
	$("#btnRemoveCode").click(function(){
		var l10nButtonsCDC = {};
		l10nButtonsCDC[txt['cancel']] = function(){$("#dialogconfdelcode").dialog('close');};
		l10nButtonsCDC[txt['deletecode']] = function(){
			$("#dialogconfdelcode").dialog('close');
			elwait.show('medium');
			$("#formcreatecode .controls").hide('medium');
			postSingleAction('{"name":"deleteaccesscode","params":{"model":"teamseasons","teamseasons":{"season_id":'+seasonid+',"team_id":'+teamid+'}}}',cbDeleteCode,handleJSONFailure);
		};
		$("#dialogconfdelcode").dialog({
			autoOpen: true,//height: 220,
			width: 400, modal: true, buttons: l10nButtonsCDC
		});
		function cbDeleteCode(data, textStatus){
			elwait.hide('medium');
			var retData = eval( '(' +data+ ')' );
			if(retData.status == "OK"){
				$("#codeval").hide("medium").html("---").show("medium");
				if(retData.msg && retData.msg.txt){
					outstr = "<div class='alertbox'>" + retData.msg.txt + "</div>";
					$(outstr).prependTo("#formcreatecode");
				}
			}else{
				alert('Strange error, please try again later.')
			}
		}		
	});
	$("#btnCreateCode").click(function(){
		if(hascode){
			alert("hascode not implemented");
		}else{
			elwait.show('medium');
			$("#formcreatecode .controls").hide('medium');
			createSecretCode();
		}
		return false;
	});
	function createSecretCode(){
		postSingleAction('{"name":"setaccesscode","params":{"model":"teamseasons","teamseasons":{"season_id":'+seasonid+',"team_id":'+teamid+'}}}',cbCreateCode,handleJSONFailure);
	}
	function cbCreateCode(data, textStatus){
		elwait.hide('medium');
		var retData = eval( '(' +data+ ')' );
		if(retData.status == "OK"){
			$("#codeval").html(retData.code)
			if(retData.msg && retData.msg.txt){
				outstr = "<div class='alertbox'>" + retData.msg.txt + "</div>";
				$(outstr).prependTo("#formcreatecode");
			}
		}else{
			
		}
	}
}
function onInitwelcomepage(){
	initBtns();
	$('#connecttoplayerform input[name=typeofmember]:radio').checked = false;
	$("#parentradio").change(function(){
		$("#childintro").hide("medium");
		$("#parentintro").show("medium");
		$("#selplayerpersonid").show("medium");
	});
	$("#playerradio").change(function(){
		$("#childintro").show("medium");
		$("#parentintro").hide("medium");
		$("#selplayerpersonid").show("medium");
	});
	$("#selplayerpersonid").change(function(){
		$("#btnsaveteamrel").show("medium");
	});
	$("#connecttoplayerform").submit(function(){
		var playerpid=$("#selplayerpersonid").val();
		var subjectstr = '"currentuser"';
		var role = $('input[name=typeofmember]:checked', '#connecttoplayerform').val();
		var objectstr = '{"model":"people","people":{"id":'+playerpid+'}}';
		//"subject_person_id":'+parentPID+',"object_person_id":"'+childPID+'","role":"parent";
		var actionstr = '{"name":"relate","params":{"model":"teams","teams":{"season_id":'+seasonid+',"team_id":'+teamid+'},"role":"'+role+'","subject":'+subjectstr+',"object":'+objectstr+'}}';
		postSingleAction(actionstr,cbGeneric);
		return false;
	});
}
function initDialogNoTeamRightsPlayer(){
	var l10nButtonsCT = {};
	var m_reqtype = "";
	l10nButtonsCT[txt['cancel']] = function(){$("#dialogreqteamrightsplayer").dialog('close');};
	l10nButtonsCT[txt['sendrequest']] = function(){
		message =  $("#dialogreqteamrightsplayer [name='message']").val();
		$("#dialogreqteamrightsplayer").dialog('close');
		var actionstr = '{"name":"requestteamrights","params":{"model":"courses","courses":{"title_fr":"'+titlefr+'","title_en":"'+titleen+'","description_fr":"'+descfr+'","description_en":"'+descen+'","grades":'+gradeids+'}}}';
		//alert(actionstr);
		postSingleAction(actionstr,cbGenericROG);
	};
	$("#dialogreqteamrightsplayer").dialog({
		autoOpen: false,
		//height: 220,
		width: 400,
		modal: true,
		buttons: l10nButtonsCT
	});
	$("#iamonthisteam").click(function(){
		m_reqtype = "player";
		$('#dialogreqteamrightsplayer').dialog('open');
	});
	$("#iamparentonthisteam").click(function(){
		m_reqtype = "parent";
		$('#dialogreqteamrightsplayer').dialog('open');
	});	
}
function onInitsessionpage(){
	generalInit();
	handleSessionForm();
	
	/*var dlgdata = {
		'OK':{'txt':txt['delete'],
			'cb':function(){
				$.ajax({
					type: "POST",
					url: "/proc.php",
					data: "action=delete&params[model]=officials&params[user][id]="+uid,
					success: function(resp){
						window.location.href = window.location.pathname + "?msg=officialremoved";
						},
					error: function(XMLHttpRequest, textStatus, errorThrown) {
						handleAjaxErr();
					}
				 });
			}
		},
		'Cancel':{'txt':txt['cancel'],
		'cb':function(){
			$(this).dialog('close');
		}
	}};
	doConfirmDlg(dlgdata);	*/
	if(typeof(isadmin) != "undefined"){
		function RmvBtnClicked(){
			var l10nButtonsRS = {};
			var studentel = $(this).parents(".student");
			var name = studentel.find(".name").html();
			var studentid = studentel.attr("id").split("_",2)[1];
			l10nButtonsRS[txt['cancel']] = function(){$("#dialog-confirm").dialog('close');};
			l10nButtonsRS[txt['delete']] = function(){
				$("#dialog-confirm").dialog('close');
				$("body").css("cursor", "progress");
				var objectstr = '{"model":"coursesession","coursesession":{"id":'+sessionid+'}}';
				var subjectstr = '{"model":"student","student":{"id":'+studentid+'}}';
				var actionstr = '{"name":"unrelate","params":{"model":"coursesessions","subject":'+subjectstr+',"object":'+objectstr+'}}';
				postSingleAction(actionstr, cbUnRelStudent,handleJSONFailure);
			};
			function cbUnRelStudent(data, textStatus){
				$("body").css("cursor", "auto");
				var retData = eval( '(' +data+ ')' );
				if(retData.msg && retData.msg.txt){
					$(".toppagemsg .message").html(retData.msg.txt);
					$(".toppagemsg").show("medium");
				}
				if(retData.status == "OK"){
					studentel.hide('medium').remove();
				}
			}			
			$("#dlgtxtname").html('"'+name+'"');
			$("#dialog-confirm").dialog({
				autoOpen: true,
				height: 220,
				width: 500,
				modal: true,
				buttons: l10nButtonsRS
			});		
		}
		var closebtn = null;
		$(".student").hover(
			function(){
				closebtn = $("<a id='removestudentbtn' class='ui-icon ui-icon-closethick'>close</a>");
				//closebtn = $("<button id='removestudentbtn'>delete</button>");
				closebtn.appendTo(this);
				closebtn.click(RmvBtnClicked);
			},function(){
				closebtn.remove();
			}
		);
	}
}
function onInitcoursepage(){
	generalInit();
	handleCourseForm();
	handleSessionForm();
	$("#btndelete").click(function(){
		var actionstr = '{"name":"delete","params":{"model":"courses","courses":{"id":'+courseid+'}}}';
		postSingleAction(actionstr,cbDelCourse);
		function cbDelCourse(data, textStatus){
			var retData = eval( '(' +data+ ')' );
			if(retData.status == "OK"){
				window.location='/cours';
			}else{
				if(retData.msg && retData.msg.txt){
					$(".toppagemsg .message").html(retData.msg.txt);
					$(".toppagemsg").show("medium");
				}
			}
		}		
		
	});
}
function onInitcoursespage(){
	generalInit();
	handleCourseForm();
}
function handleCourseForm(){
	$("FORM.course").submit(function(){
		var elform = $("FORM.course");
		var titlefr = elform.find("INPUT[name='title_fr']").val();
		var titleen = elform.find("INPUT[name='title_en']").val();
		var action = elform.find("INPUT[name='action']").val();
		var courseid = elform.find("INPUT[name='id']").val();
		var descfr = encodeURIComponent( elform.find("TEXTAREA[name='description_fr']").val() );
		var descen = encodeURIComponent( elform.find("TEXTAREA[name='description_en']").val() );
		var chbxcoll = elform.find("#grades input:checked");
		var gradeids="[";
		var len = chbxcoll.length;
		chbxcoll.each(function(index, element) {
			gradeids += $(this).val();
			if(index < len - 1) {
				gradeids += ','
			}
    });
		gradeids += "]";
		var chbxcoll = elform.find("#levels input:checked");
		var levelids="[";
		var len = chbxcoll.length;
		chbxcoll.each(function(index, element) {
			levelids += $(this).val();
			if(index < len - 1) {
				levelids += ','
			}
    });
		levelids += "]";
		
		if(action=="update"){ 
			var actionstr = '{"name":"update","params":{"model":"courses","courses":{"id":'+courseid+',"title_fr":"'+titlefr+'","title_en":"'+titleen+'","description_fr":"'+descfr+'","description_en":"'+descen+'","grades":'+gradeids+',"levels":'+levelids+'}}}';
		}else{
			var actionstr = '{"name":"create","params":{"model":"courses","courses":{"title_fr":"'+titlefr+'","title_en":"'+titleen+'","description_fr":"'+descfr+'","description_en":"'+descen+'","grades":'+gradeids+',"levels":'+levelids+'}}}';
		}
		
		//alert(actionstr);
		postSingleAction(actionstr,cbGenericROG);
		//postSingleAction(actionstr,cbGeneric);
		return false;
	});	
}
function handleSessionForm(){
	$('#datetimepicker').datetimepicker({stepMinute: 10,dateFormat: 'yy-mm-dd'});
	$('#expdatepicker').datepicker({dateFormat: 'yy-mm-dd'});
	var sessionform = $("FORM.coursesession");
	
	$(".numseats").change(function(){
		var numseats=$(this).val();
		if(parseInt(numseats)){
			if(sessionform.find(".assocseatnum:last .association").val() != 0){
				$newOpt = $(".assocseatnum:first").clone(true);
				$newOpt.attr('selectedIndex', '0');
				$newOpt.appendTo("#formstuff");
				$newOpt.find("option:selected").attr("selected", false);
				$newOpt.find("option:selected").removeAttr("selected");
				//$("#selectID").attr('selectedIndex', '-1');
			}
		}
	});
	//sessionform.find("BUTTON.savebtn").click(function(){
	sessionform.submit(function(){
		var action = sessionform.find("INPUT[name='action']").val();		
		var id = sessionform.find("INPUT[name='id']").val();
		var courseid = sessionform.find("INPUT[name='course_id']").val();
		var datetime = sessionform.find("INPUT[name='datetime']").val();
		var duration = sessionform.find("INPUT[name='duration']").val();
		var totalseats = sessionform.find("INPUT[name='numseats']").val();
		var expdate = sessionform.find("INPUT[name='expdate']").val();
		var titlefr = sessionform.find("INPUT[name='title_fr']").val();
		var titleen = sessionform.find("INPUT[name='title_en']").val();
		var sessparams = ' "course_id":"'+courseid+'","datetime":"'+datetime+'","duration":'+duration+',"numseats":'+totalseats+',"title_fr":"'+titlefr+'","title_en":"'+titleen+'","seatexpirationdate":"'+expdate+'"';
		var assocseats = '"coursesession_associations":[';
		var seatcnt=0;
		sessionform.find(".assocseatnum").each(function(i){
			associd = $(this).find(".association").val();
			numseats = $(this).find(".numseats").val();
			if(i>0){
				assocseats = assocseats+",";
			}			
			assocseats = assocseats+' {"association_id":'+associd+', "numseats":'+numseats+'}';
			seatcnt = seatcnt + parseInt(numseats);
		});
		assocseats = assocseats+"]"
		
		if(action=="update"){
			sessparams = '"id":'+id+','+sessparams;
		}
		if(seatcnt > totalseats){
			alert("Le total des places choisies("+seatcnt+") est plus grand que le nombre de places("+totalseats+").");
			return false;
		}
		var actionstr = '{"name":"'+action+'","params":{"model":"coursesessions","coursesessions":{'+sessparams+'},'+assocseats+'}}';
		postSingleAction(actionstr,cbGenericROG);
		//alert(actionstr);return false;
		//postSingleAction(actionstr,cbGeneric);
		
		return false;
		
	});

}
function memberize(pid, tid, role){
	postSingleAction('{"name":"memberize","params":{"cntrlobject":{"model":"teams","id":'+tid+'},"person":{"id":'+pid+'},"role":"'+role+'","season":{"id":'+seasonid+'}}}',cbMemberize,handleJSONFailure);
	function cbMemberize(data, textStatus){
		window.location.reload();
	}	
}
function relateperson(parentPID,childPID,role,CB){
	function cbRelPerson(data, textStatus){
		var retData = eval( '(' +data+ ')' );
		CB(retData.s);
	}
	var str = '{"name":"create","params":{"model":"people_people","people_people":{"subject_person_id":'+parentPID+',"object_person_id":"'+childPID+'","role":"parent"}}}';
	postSingleAction(str,cbRelPerson,handleJSONFailure);
}
/*****************************************************/
/*** Edit Player team data widget ********************/
function initEditPlayerTeamDataDlg(){
	var l10nButtonsCT = {};
	var pid = 0;
	l10nButtonsCT[txt['cancel']] = function(){$("#dialogeditplayerteamdata").dialog('close');};
	l10nButtonsCT[txt['save']] = function(){
		subrole = $("#dialogeditplayerteamdata .fe_playerpos").val();
		num =  $("#dialogeditplayerteamdata .fe_playernum").val();
		savePersonTeamData(pid,teamid,seasonid,'player',subrole,num);
	};
	$("#dialogeditplayerteamdata").dialog({
		autoOpen: false,
		height: 220,
		width: 500,
		modal: true,
		buttons: l10nButtonsCT
	});
	$(".btnshowEPTDdlg").click(function(){
		var playerEl = $(this).parents(".player");
		var num = playerEl.find(".number").html();
		var fname = playerEl.find(".fn").html();;
		var lname = playerEl.find(".ln").html();;
		var pos = playerEl.find(".pos").html();
		if(pos == '&nbsp;') pos = "";
		pid = playerEl.attr("id").split("_",2)[1];
		
		//parentPID = .attr("id").split("_",2)[1];
		$("#dialogeditplayerteamdata .fe_playernum").val(num);
		$("#dialogeditplayerteamdata .fe_playerpos").val(pos);
		$("#dialogeditplayerteamdata .firstname").html(fname);
		$("#dialogeditplayerteamdata .lastname").html(lname);
		
		$('#dialogeditplayerteamdata').dialog('open');
	});
}
/*****************************************************/
/*** Create a new parent widget **********************/
function initCreateParentDlg(){
	function cbCreateParent(data, textStatus){
		var retData = eval( '(' +data+ ')' );
		if(retData.s == "OK"){
			//relateperson(retData.pid,pid,"parent", relateCB);
			window.location.reload();
		}else{
			$("#dialogcreateparent .alertarea").hide();
			$("#dialogcreateparent .errorarea").show();
			$("#dialogcreateparent .errortxt").html(retData.msg);
			//alert("There was an error when trying to create this Parent. Please try again later.")
			//window.location.reload();
		}		
	}
	var l10nButtonsCP = {};
	l10nButtonsCP[txt['cancel']] = function(){$("#dialogcreateparent").dialog('close');};
	l10nButtonsCP[txt['save']] = function(){
		var fn = $('#dialogcreateparent .fe_fn').val();
		var ln = $('#dialogcreateparent .fe_ln').val();
		var em = $('#dialogcreateparent .fe_em').val();
		postSingleAction('{"name":"create","params":{"model":"person","person":{"firstname":"'+fn+'","lastname":"'+ln+'","email":"'+em+'"},"child":{"pid":'+pid+'}}}',cbCreateParent,handleJSONFailure);
	};	
	$("#dialogcreateparent").dialog({
		autoOpen: false,
		height: 350,
		width: 500,
		modal: true,
		buttons: l10nButtonsCP
	});
	$(".btnshowcreateparentdlg").click(function(){
		$('#dialogcreateparent .fe_fn').val( $(".parentpicker .fe_fn").val() );
		$('#dialogcreateparent .fe_ln').val( $(".parentpicker .fe_ln").val() );
		$('#dialogcreateparent').dialog('open');
	});
}
function onInitpersonpage(){
	generalInit();
	if($("#dialogeditplayerteamdata").length){
		initEditPlayerTeamDataDlg();
	}
	if($("#dialogcreateparent").length){
		initCreateParentDlg();
	}
	/*****************************************************/
	/*** Search and select a parent **********************/
	if($('.drawersystem')){
		//alert('initing upicker');
		function uPickerCB(){
			$(".personpicker .btnadd").click(function(){
				parentPID = $(this).parents(".userfound").attr("id").split("_",2)[1];
				relateperson(parentPID,pid,"parent", relateCB);
				return false;
			});
		};
		function relateCB(status){
			alert(status);
			if(status == 'OK')
				window.location.reload();
			else{
				alert("There was an error when trying to relate this person to this player. Please try again later.")
			}
		}
		var initparams = {'action':'ta_peopleinteams',
																	'display':['fn','ln','seasonname','role','teamname','gradename','levelname'],
																	'container':'parentsmartdiv',
																	'doneCB':uPickerCB };
		var upicker = new UserPicker(initparams);
		upicker.RegisterUI($(".personpicker"));
	}	
}
function savePersonTeamData(pid,teamid,seasonid, role, subrole, number){
	postSingleAction('{"name":"update","params":{"cntrlobject":{"model":"tps","person_id":'+pid+',"team_id":'+teamid+',"season_id":'+seasonid+'},"data":{"role":"'+role+'","subrole":"'+subrole+'","number":'+number+'}}}',cbSPTD,handleJSONFailure);
	function cbSPTD(data, textStatus){
		var retData = eval( '(' +data+ ')' );
		if(retData.status == "OK"){
			window.location.reload();
		}else{
		}
	}
}
function onSearckKeyHit(){
  var strFn = $("#fe_fn").attr("value");
  var strLn = $("#fe_ln").attr("value");
  var strEmail = $("#fe_email").attr("value");
  clearTimeout(t);
  t = setTimeout('handleUserString("'+strFn+'","'+strLn+'","'+strEmail+'")',300);
}
function handleUserString(fn,ln,em){
  postSingleAction('{"name":"getusers","params":{"fn":"'+fn+'","ln":"'+ln+'","email":"'+em+'"}}',handleFoundUsers,handleJSONFailure);  
}
function postSingleAction(action,goodcb, badcb) {
	var jsout='{"action":'+action+'}';
  var data = "format=json&jso="+escape(jsout);
  $.ajax({
    type: "POST",
    url: "/proc.php",
    success: goodcb,
    error: badcb,
    timeout: 10000,
    data:data});
}
function initACOpicker(){
  $("#ACOpicker").change(function(){
    $("#chosenACO").html($("#ACOpicker :selected").text());
    });
}
function initUserSearchResTable(){
  $("#usersearchres TR").hover(function(){
     $(this).children("TD").addClass("hover");
  },function(){
    $(this).children("TD").removeClass("hover");
  });
  $("#usersearchres TR").click(function(){
    fname = $(this).children(".fn").html();
    lname = $(this).children(".ln").html();
    email = $(this).children(".em").html();
    uid = $(this).attr("id").split("_",2)[1];
    $("#fe_fn").attr("value",fname);
    $("#fe_ln").attr("value",lname);
    $("#fe_email").attr("value",email);
    $("#fe_uid").attr("value",uid);
    $("#chosenUser").html(fname+" "+lname+", &lt;"+email+"&gt;");
    onSearckKeyHit();
  });
}

function onInitAccountpageOld(){
  var password = $("#password"),
      newpassword = $("#newpassword"),
      newpassword2 = $("#newpassword2"),
      allPasswordFields = $([]).add(password).add(newpassword).add(newpassword2);

  $("#showchpswd_btn").click(function(){
    $('#changepassbox').dialog('open');
  });

  $("#changepassbox").dialog({
    bgiframe: true,resizable: false,
    autoOpen: false,
    height: 250,
    modal: true,
    buttons: {
      Cancel: function() {
        $(this).dialog('close');
      },      
      'OK': function() {
        var bValid = true;
        allPasswordFields.removeClass('ui-state-error');

        bValid = bValid && checkLength(password,"password",5,16);
        bValid = bValid && checkLength(password,"newpassword",5,16);
        bValid = bValid && checkLength(password,"newpassword2",5,16);
        bValid = bValid && checkRegexp(newpassword,/^([0-9a-zA-Z])+$/,"Password field only allow : a-z 0-9");
        
        if (bValid) {
          $('#users tbody').append('<tr>' +
            '<td>' + name.val() + '</td>' + 
            '<td>' + email.val() + '</td>' + 
            '<td>' + password.val() + '</td>' +
            '</tr>'); 
          $(this).dialog('close');
        }
      }
    },
    close: function() {
      allPasswordFields.val('').removeClass('ui-state-error');
    }
  });
}
function checkLength(o,n,min,max) {
  if ( o.val().length > max || o.val().length < min ) {
    o.addClass('ui-state-error');
    updateTips("Length of " + n + " must be between "+min+" and "+max+".");
    return false;
  } else {
    return true;
  }
}
function Login(){
  var key 		= document.getElementById('key');
  var handle 		= document.getElementById('handle');
  var password 	= document.getElementById('password');
  var prehash 	= document.getElementById('prehash');
  $.ajax({
    type: "POST",
    url: "/proc.php",
		timeout: 20000,
    data: "action=login&getkey=1&handle="+trim(handle.value),
    success: function(resp){
      if(resp !== undefined){
        var tempstr ="resp = "+resp;
        eval(tempstr);
        if(resp.status == "OK"){
          var handle_lower=trim(handle.value);
          handle_lower=handle_lower.toLowerCase();
          var code_string = handle_lower+'|'+password.value+'|'+resp.key.replace(/^\s*|\s(?=\s)|\s*$/g, "");
					//var code_string = handle_lower+'|'+password.value+'|'+resp.key;
          key.value=MD5(code_string);
          password.value='';
          document.login_form.submit();
        }else if(resp.status == "passwordexpired"){
          /*$("#messages").css("display","none");
          $("#messages").html("<div class='alert'>"+resp.msg+"</div>");
          $("#messages").fadeIn(1000);
          $.ajax({
            url: "/proc.php",type: "POST",
            data: ({'action':'loadtemplate','name':'element_setpassform.tpl', 'lang':lang}),
            cache: false,
            success: function(html){
              $(".nullwrapper").fadeOut(1000,function(){
                $(".nullwrapper").html(html);
                $(".nullwrapper").fadeIn(1000);
              });
            }
          });*/
        }else{
          alert(resp.msg.fr);
        }
      }      
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert("There was an error when trying to log you in. Please reload the page and try again.");
    }
  });
  return false;
}
//----- CALLBACKS ----------- CALLBACKS ----------- CALLBACKS ----------- CALLBACKS ----------- CALLBACKS ------
function cbIPEditSuccess(data, textStatus){
}
function cbIPEditFailed(XMLHttpRequest, textStatus, errorThrown){
}
function handleJSONFailure(XMLHttpRequest, textStatus, errorThrown) {
	$("body").css("cursor", "auto");
  if(XMLHttpRequest.status == "403")
    alert("Sorry, you don't seem to be logged-in. Perhaps something happened to your cookies. Go to the home page and log-in. "+XMLHttpRequest.status);
  else
    alert("Sorry, there was an error. Please try again. "+XMLHttpRequest.status);  
}
function handleFoundUsers(data, textStatus){
  var retData = eval( '(' +data+ ')' );
  var el = $("#usersearchres");
  el.empty();
  if(retData.s == "OK"){
    if(!retData.users.length){
    }else{
      if(retData.users.length==1){
        //found just 1, so we are good to go
        $(".fe_uid").val(retData.users[0].id);
      }
      for(var i=0; i<retData.users.length; i++){
        var row = el[0].insertRow(0);
        if(!i) row.className = "first userfound";
        row.className="userfound";
	row.id="user_"+retData.users[i].id;
        var cell1 = row.insertCell(0);
        var cell2 = row.insertCell(1);
        var cell3 = row.insertCell(2);
        cell1.innerHTML = retData.users[i].fn ? unescape(retData.users[i].fn) : "";
        $(cell1).addClass("fn");
        cell2.innerHTML = retData.users[i].ln ? unescape(retData.users[i].ln) : "";
        $(cell2).addClass("ln");
        cell3.innerHTML = retData.users[i].email;
        $(cell3).addClass("em");
      }
      initUserSearchResTable();
    }
  }
}
function doConfirmDlg(data){
	var l10nButtons = {};
	l10nButtons[data['OK']['txt']] = data['OK']['cb'];
	l10nButtons[data['Cancel']['txt']] = data['Cancel']['cb'];
	$("#dialog-confirm").dialog({
		resizable: false,
		height:220,
		width:500,
		modal: true,
		buttons: l10nButtons
	});
	/*
	 option: {buttons: l10nButtons}		
	 buttons: {
			deltxt : function() {
				$(this).dialog('close');
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		}*/
}
