
//////////////////////// Variables and inline code

var current_host 	= "http://"+location.host+"/";
var current_sport	= 'hockey';
var playoff_yn 		= 'Y';

// Lang Flag
	var lang_flag = 'E';
	if ( ( location.href.toLowerCase() ).indexOf("french") != -1 ) {
		lang_flag = 'F';
	}

// Mirror
	var is_mirror = false;
	if ( (location.href.toLowerCase()).indexOf("mirror") != -1 ) {
		// Mirror
		is_mirror = true;
	}

// Browser
	var bName = navigator.appName;
	var bVer  = parseInt(navigator.appVersion);

// Screen resolution - default to low_res (ie 800x600) unless specifically discovered to be otherwise
	var low_res = true;
	
	if ( bVer > 3 && screen != null && screen.height != null && screen.width != null ) {
		if ( screen.height >= 768 || screen.width >= 1024 ) {
			low_res = false;
		}
	}

////////////////////////////////////////////////////////// Login Functions

function do_login_document(d) {
	var pool_id 		= d.forms['login_form'].elements['pool_id'].value;
	var pool_password 	= d.forms['login_form'].elements['pool_password'].value;
	
	do_login(pool_id,pool_password,playoff_yn);
}

function do_login(pool_id,pool_password,playoff_yn) {

	//if ( pool_id == '' || pool_id == 'Pool ID:' ) {
	if ( pool_id == '' ) {
		if ( lang_flag != 'F' ) {
			alert('Please enter your Pool ID');
		}
		else {
			alert('Entrez votre Utilisateur');
		}
		return;
	}
	
	//if ( pool_password == '' || pool_password == 'Password:' ) {
	if ( pool_password == '' ) {
		if ( lang_flag != 'F' ) {
			alert('Please enter your pool Password');
		}
		else {
			alert('Entrez votre Mot de passe');
		}
		return;
	}
	
	var bigpool_id		= '';
	var week_login		= '';
	
	var picklist_yn		= 'N';
	var lstats_yn		= 'N';
	
	// Build login source - a complete HTML document to write to the login window with a submit trigger on the onLoad event to automtically submit it...
		var src = '';
		
		src += "<HTML><HEAD><TITLE>Logging In...</TITLE></HEAD>";
			src += "<BODY onLoad=document.forms['login_form'].submit();>";
				
				// FORM - all fields hidden
				// WARNING WARNING WARNING - must not use TABS in spacing source code below - they disappear on write to window!!!
					src += "<FORM METHOD=POST NAME=login_form ACTION='" + current_host + "nhockey/ppg1.pl'>";
						src += "<INPUT TYPE=hidden NAME=current_sport   VALUE='"+current_sport 	 +"'>";
						src += "<INPUT TYPE=hidden NAME=pool_id         VALUE='"+pool_id	 	 +"'>";
						src += "<INPUT TYPE=hidden NAME=pool_password   VALUE='"+pool_password	 +"'>";
						src += "<INPUT TYPE=hidden NAME=playoff_yn      VALUE='"+playoff_yn	 	 +"'>";
						src += "<INPUT TYPE=hidden NAME=lang_flag       VALUE='"+lang_flag		 +"'>";
						src += "<INPUT TYPE=hidden NAME=bigpool_id      VALUE='"+bigpool_id	 	 +"'>";
						src += "<INPUT TYPE=hidden NAME=week-login      VALUE='"+week_login 	 +"'>";
						src += "<INPUT TYPE=hidden NAME=picklist_yn     VALUE='"+picklist_yn	 +"'>";
						src += "<INPUT TYPE=hidden NAME=lstats_yn       VALUE='"+lstats_yn		 +"'>";
					src += "</FORM>";
			
			src += "</BODY>";
		src += "</HTML>";

	// Check for doublequote in string - will cause javascript open statement below to fail
		if ( src.match(/"/) ) {
			alert('Error - doublequote character found in Pool ID or Password - please re-enter');
			return;
		}

	// Open window - allow one per pool id - remove junk characters in case invalid pool id is entered
		var window_name = pool_id.toLowerCase().replace(/[^a-z]/g,'');
		var open_with_js = true;

		if ( open_with_js ) {
			//alert(src);
			if ( low_res ) { var login_win = open('javascript:"'+src+'"',window_name,"WIDTH=770,HEIGHT=460,STATUS=yes,MENUBAR=no,SCROLLBARS=yes,RESIZABLE=yes") }
					  else { var login_win = open('javascript:"'+src+'"',window_name,"WIDTH=820,HEIGHT=560,STATUS=yes,MENUBAR=no,SCROLLBARS=yes,RESIZABLE=yes")	}
		}
		else {
			if ( low_res ) { var login_win = open("",window_name,"WIDTH=770,HEIGHT=460,STATUS=yes,MENUBAR=no,SCROLLBARS=yes,RESIZABLE=yes") }
					  else { var login_win = open("",window_name,"WIDTH=820,HEIGHT=560,STATUS=yes,MENUBAR=no,SCROLLBARS=yes,RESIZABLE=yes")	}
			
			// Write the source
			login_win.document.open();
			login_win.document.writeln(src);
			login_win.document.close();
		}

	// Move window so it's not partially obscured
		if ( bVer > 3 ) {
			if ( low_res ) {
				login_win.moveTo(10,10);
			}
			else {
				login_win.moveTo(60,60);
			}
		}

}

//////////////////////////////////////////////////////// Pool ID and Password focus/blur

function focus_poolid() {
	//if ( document.forms['login_form'].elements['pool_id'].value == 'Pool ID:' ) {
	//	document.forms['login_form'].elements['pool_id'].value = '';
	//}
	if ( lang_flag != 'F' ) {
		write_login_prompt('ENTER YOUR POOL ID:');
	}
	else {
		write_login_prompt('ENTREZ VOTRE UTILISATEUR:');
	}
}

function focus_password() {
	//if ( document.forms['login_form'].elements['pool_password'].value == 'Password:' ) {
	//	document.forms['login_form'].elements['pool_password'].value = '';
	//}
	if ( lang_flag != 'F' ) {
		write_login_prompt('ENTER YOUR PASSWORD:');
	}
	else {
		write_login_prompt('ENTREZ VOTRE MOT DE PASSE:');
	}
}

function blur_poolid() {
	//if ( document.forms['login_form'].elements['pool_id'].value == '' ) {
	//	document.forms['login_form'].elements['pool_id'].value = 'Pool ID:';
	//}
	//write_login_prompt('LOG IN TO YOUR POOL:');
	if ( lang_flag != 'F' ) {
		write_login_prompt('POOL ID / PASSWORD:');
	}
	else {
		write_login_prompt('UTILISATEUR / MOT DE PASSE:');
	}
}

function blur_password() {
	//if ( document.forms['login_form'].elements['pool_password'].value == '' ) {
	//	document.forms['login_form'].elements['pool_password'].value = 'Password:';
	//}
	//write_login_prompt('LOG IN TO YOUR POOL:');
	if ( lang_flag != 'F' ) {
		write_login_prompt('POOL ID / PASSWORD:');
	}
	else {
		write_login_prompt('UTILISATEUR / MOT DE PASSE:');
	}
}

function write_login_prompt(prompt) {
	var login_prompt = document.getElementById('login_prompt');
	login_prompt.innerHTML = prompt;
}

////////////////////////////////////////////////////////// Playoff / Regular season

function choose_season(season,d) {
	playoff_yn = season;
	show_season();
	if ( document.forms != null && document.forms['login_form'] != null && document.forms['login_form'].elements['playoff_yn'] != null ) {
		document.forms['login_form'].elements['playoff_yn'].value = season;
	}
	//document.forms['login_form'].elements['pool_id'].focus();
	//window.focus();
}

function show_season() {
	var regular_season_font = document.getElementById('regular_season_font');
	var playoff_season_font = document.getElementById('playoff_season_font');
	var regular_season_link = document.getElementById('regular_season_link');
	var playoff_season_link = document.getElementById('playoff_season_link');
	
	if ( playoff_yn == 'N' ) {
		regular_season_font.color 					= '#B91200';
		playoff_season_font.color 					= 'gray';
		regular_season_link.style.textDecoration 	= 'underline';
		playoff_season_link.style.textDecoration 	= 'none';
	}
	else {
		regular_season_font.color 					= 'gray';
		playoff_season_font.color 					= '#B91200';
		regular_season_link.style.textDecoration 	= 'none';
		playoff_season_link.style.textDecoration 	= 'underline';
	}
}

////////////////////////////////////////////////////////// Pool list display

var cookie_array_length = 7;
var current_cookie_div 	= null;

function key_down(event) {
	if ( (event.which && event.which == 13) || (event.keyCode && event.keyCode == 13) ) {
		document.forms['login_form'].submit();
	}
}

function login_loaded() {
	save_login_div();
	display_pool_list();
	display_first_cookie();
	
	if ( cookie_get('newpool') != '' ) {
		var newpool_array = cookie_get('newpool').split(/,/);
		
		document.forms['login_form'].elements['pool_id'].value = newpool_array[0];
		document.forms['login_form'].elements['pool_password'].value = newpool_array[2];
		
		playoff_yn = newpool_array[3];
		choose_season(playoff_yn);
		
		if ( lang_flag != 'F' ) {
			var keep_cookie = confirm('Welcome new user! Your new Pool ID ('+newpool_array[0]+') and administrator password ('+newpool_array[2]+') have been typed in for you so you can log in as pool administrator and start entering your pool.\n\nOnce you\'ve entered some teams, log into your pool using your Pool ID ('+newpool_array[0]+') and your guest password ('+newpool_array[1]+') to view your pool standings - and provide this info to others in your pool.\n\nNote: this message will appear for 48 hours - if you don\'t need this help, click CANCEL to remove this message permanently');
		}
		else {
			var keep_cookie = confirm('Bienvenue nouvel usager! Votre nouveau Nom d\'Utilisateur ('+newpool_array[0]+') et mot de passe administrateur ('+newpool_array[2]+') ont étés entrés pour vous afin que vous puissiez vous connecter en tant qu\'administrateur de pool et commencer a entrer votre pool.\n\nLorsque vous aurez entré certaines équipes, connectez-vous à votre pool avec votre Nom d\'Utilisateur ('+newpool_array[0]+') et votre mot de passe invité ('+newpool_array[1]+') pour voir le classement de votre pool - et fournir cette information aux autres dans votre pool.\n\nNote: ce message apparaîtra pendant 48 heures - si vous n\'avez pas besoin de cette aide, cliquez sur ANNULER pour enlever ce message en permanence');
		}
		
		if ( ! keep_cookie ) {
			if ( lang_flag != 'F' ) {
				alert('Message erased. Please WRITE DOWN your Pool ID / Passwords =>\n\nPool ID: '+newpool_array[0]+'\nGuest Password: '+newpool_array[1]+'\nAdministrator Password: '+newpool_array[2]);
			}
			else {
				alert('Message effacé. SVP NOTEZ vos Nom d\'Utilisateur / Mots de passe =>\n\nNom d\'Utilisateur: '+newpool_array[0]+'\nMot de passe Invité: '+newpool_array[1]+'\nMot de passe Administrateur: '+newpool_array[2]);
			}
			cookie_delete('newpool');
		}
	}
}

// show_multi_pool() is called from rframes.html/guest.html - as are cookie_get/set/delete
function show_multi_pool() {
	display_pool_list();
}

function display_pool_list() {
	var src = '';
	
	var ck_pool_id = '';
	var pool_count = 0;
	
	var firewall_login = false;
	if ( ( location.href.toLowerCase() ).indexOf("indexfirewall") != -1 ) {
		firewall_login = true;
	}
	
	src += '<TABLE CELLPADDING=0 CELLSPACING=1 BORDER=0>';
		for (var i=1; i <= cookie_array_length; i++) {
			ck_pool_id = cookie_get('pid'+i);

//IE pool list bug test
//alert('Pool: '+i+' = '+ck_pool_id+((ck_pool_id=='')?' (empty)':''));
			if ( ck_pool_id != '' ) {
				pool_count++;
				
				src += 	"<TR>"+
							"<TD NOWRAP><font size=1 face=verdana>"+
								((firewall_login)?
								("<A HREF=/nhockey/ppg1.pl?pool_id="+ck_pool_id+cookie_get('xtr'+i)+"&pool_password="+cookie_get('pwd'+i)+"&playoff_yn="+cookie_get('ply'+i)+"&lang_flag="+lang_flag+" STYLE=text-decoration:none TARGET=_blank onClick=choose_pool_firewall("+i+")>" + ck_pool_id + "</A></font>"):
								("<A HREF=javascript:top.choose_pool('"+i+"') STYLE=text-decoration:none>" + ck_pool_id + "</A></font>")
								)+
							"</font></TD>"+
							"<TD NOWRAP><font size=1 face=verdana>"+
								"&nbsp;<A HREF=javascript:top.move_pool('"+i+"') STYLE=text-decoration:none>" + '^' + "</A>"+
							"</font></TD>"+
							"<TD NOWRAP><font size=1 face=verdana>"+
								"&nbsp;<A HREF=javascript:top.delete_pool('"+i+"') STYLE=text-decoration:none>" + 'x' + "</A>"+
							"</font></TD>"+
							"<TD NOWRAP><font size=1 face=verdana>"+
								"&nbsp;<A HREF=javascript:top.choose_pool_admin('"+i+"') STYLE=text-decoration:none>" + 'a' + "</A>"+
							"</font></TD>"+
						"</TR>";
			}
		}
	src += "</TABLE>";
	src += '<img src="graphics/shim.gif" width="200" height="3" />';

	if ( pool_count > 1) {
		if ( lang_flag != 'F' ) {
			write_list_div('POOL AUTOLOGIN:',src);
		}
		else {
			write_list_div('CONNEXION AUTOMATIQUE:',src);
		}
	}
	else {
		write_list_div('','');
	}
}

function write_list_div(title,body) {
	var login_info_title_div = document.getElementById('login_info_title');
	var login_info_body_div = document.getElementById('login_info_body');

	if ( login_info_title_div != null ) {
		if ( title != '' ) {
			login_info_title_div.innerHTML 	= title;
			login_info_body_div.innerHTML 	= body;
		}
		else {
			login_info_title_div.innerHTML 	= save_login_info_title
			login_info_body_div.innerHTML 	= save_login_info_body
		}
	}
}

var save_login_info_title = '';
var save_login_info_body  = '';

function save_login_div() {
	var login_info_title_div = document.getElementById('login_info_title');
	var login_info_body_div = document.getElementById('login_info_body');
	
	if ( login_info_title_div != null ) {
		save_login_info_title = login_info_title_div.innerHTML;
	}
	
	if ( login_info_body_div != null ) {
		save_login_info_body = login_info_body_div.innerHTML;
	}
}

////////////////////////////////////////////////////////// Pool list operations


function delete_pool(i) {
	if ( lang_flag != 'F' ) {
		if (! confirm("Delete pool "+cookie_get('pid'+i)+" from your pool list?") ) {
			return;
		}
	}
	else {
		if (! confirm("Effacer le pool "+cookie_get('pid'+i)+" de votre liste de pool?") ) {
			return;
		}
	}

	var current_first_cookie = get_first_cookie();
	
	cookie_delete('pid'	+i);
	cookie_delete('pwd'	+i);
	cookie_delete('xtr'	+i);
	cookie_delete('ply'	+i);

	display_pool_list();
	display_first_cookie();
}

function move_pool(i) {
	var current_first_cookie = get_first_cookie();

	// Find first non-empty cookie above moved pool
	var j = 0;
	var found_id = false;
	for (var k=i-1; k>0 && !found_id; k--) {
		if ( cookie_get('pid'+k) != '' ) {
			found_id = true;
			j = k;
		}
	}
	
	if ( !found_id ) {
		return;
	}
	
	cookie_swap(i,j);
	
	display_pool_list();
	display_first_cookie();
}

function cookie_swap(i,j) {
	var save_id 	= cookie_get('pid'	+i);
	var save_pwd 	= cookie_get('pwd'	+i);
	var save_smega 	= cookie_get('xtr'	+i);
	var save_ply 	= cookie_get('ply'	+i);
	
	cookie_set('pid'+i,	cookie_get('pid'+j),	1000);
	cookie_set('pwd'+i,	cookie_get('pwd'+j),	1000);
	cookie_set('xtr'+i,	cookie_get('xtr'+j),	1000);
	cookie_set('ply'+i,	cookie_get('ply'+j),	1000);
	
	cookie_set('pid'+j,	save_id,				1000);
	cookie_set('pwd'+j,	save_pwd,				1000);
	cookie_set('xtr'+j,	save_smega,				1000);
	cookie_set('ply'+j,	save_ply,				1000);
}

function choose_pool(i) {
	var pool_id 		= cookie_get('pid'+i)+cookie_get('xtr'+i);
	var pool_password 	= cookie_get('pwd'+i);
	var playoff_yn		= cookie_get('ply'+i);
	
	document.forms.login_form.elements.pool_id.value		= pool_id;
	document.forms.login_form.elements.pool_password.value	= pool_password;
	choose_season(playoff_yn);
	
	//document.forms.login_form.elements.pool_id.focus();
	do_login(pool_id,pool_password,playoff_yn);
}

function choose_pool_firewall(i) {
	var pool_id 		= cookie_get('pid'+i)+cookie_get('xtr'+i);
	var pool_password 	= cookie_get('pwd'+i);
	var playoff_yn		= cookie_get('ply'+i);
	
	document.forms.login_form.elements.pool_id.value		= pool_id;
	document.forms.login_form.elements.pool_password.value	= pool_password;
	choose_season(playoff_yn);
}

function choose_pool_admin(i) {
	document.forms.login_form.elements.pool_id.value		= cookie_get('pid'+i)+cookie_get('xtr'+i);
	document.forms.login_form.elements.pool_password.value	= '';
	choose_season(cookie_get('ply'+i));
	document.forms.login_form.elements.pool_password.focus();
}

function display_first_cookie() {
	var cookie_found 	= false;
	var ck_pool_id		= '';
	
	for (var i=1; i <= cookie_array_length && !cookie_found; i++) {
		ck_pool_id = cookie_get('pid'+i);
		if ( ck_pool_id != '' ) {
			cookie_found = true;
			document.forms["login_form"].elements["pool_id"].value 			= cookie_get('pid'+i)+cookie_get('xtr'+i);
			document.forms["login_form"].elements["pool_password"].value 	= cookie_get('pwd'+i);
			choose_season(cookie_get('ply'+i));
		}
	}
	
	if ( ! cookie_found ) {
		//document.forms['login_form'].elements['pool_id'].value 		= 'Pool ID:';
		//document.forms['login_form'].elements['pool_password'].value 	= 'Password:';
		
		// Choose default season
		choose_season(playoff_yn);
	}
	
	return cookie_found;
}

function get_first_cookie() {
	var cookie_found 	= false;
	var ck_pool_id		= '';
	
	for (var i=1; i <= cookie_array_length && !cookie_found; i++) {
		ck_pool_id = cookie_get('pid'+i);
		if ( ck_pool_id != '' ) {
			cookie_found = true;
		}
	}
	
	return ck_pool_id;
}

function get_first_cookie_num() {
	var cookie_found 	= false;
	var ck_pool_id		= '';
	
	for (var i=1; i <= cookie_array_length && !cookie_found; i++) {
		ck_pool_id = cookie_get('pid'+i);
		if ( ck_pool_id != '' ) {
			return i;
		}
	}
	
	return 0;
}

function cookie_count() {
	var ck_found_count = 0;
	
	for (var i=1; i <= cookie_array_length; i++) {
		ck_pool_id = cookie_get('pid'+i);
		if ( ck_pool_id != '' ) {
			ck_found_count++;
		}
	}
	
	return ck_found_count;
}

function help() {
	if ( lang_flag != 'F' ) {
		alert("\nThe 'My Pool' list is designed to reduce typing for people in multiple pools - just click any Pool ID on the list, no typing!\n\nx  =>  to delete a pool from the list\n^  =>  to move a pool up the list\na  =>  to log in as administrator (will enter the Pool ID only)\n\nTo add a new pool to the list, just log into the pool - it will be added to the list automatically\n\nThe pool at the top of the list is the one automatically chosen when you arrive at officepools.com - use the ^ link to move any pool to the top so it's automatically selected for you\n\nSimultaneous viewing of multiple pools - you can log into mutiple pools simultaneously by simply leaving each pool's window open when logging into an additional pool - a new window will open for each pool. If you log into a pool that already has a window open, it's current window will be re-used");
	}
	else {
		alert("\n\nLa liste 'Mes Pools' est conçue pour réduire la saisie aux gens qui ont plusieurs pools - simplement cliquer sur le nom du Pool dans la liste!\n\nx  =>  pour effacer un pool de la liste\n^  =>  pour monter un pool dans la liste\na  =>  pour se connecter en administrateur (va entrer le nom du pool seulement)\n\nPour ajouter un nouveau pool à votre liste, simplement vous connecter au pool - il sera automatiquement ajouté à la liste\n\nLe pool au sommet de la liste est celui choisi automatiquement lorsque vous arrivez à officepools.com - utilisez le lien ^ pour monter un autre pool au sommet afin qu'il soit sélectionné automatiquement pour vous\n\nVoir plusieurs pools simultanément - vous pouvez vous connecter à plusieurs pools en même temps, simplement en laissant la fenêtre de chaque pool ouverte lorsque vous vous connectez à un nouveau pool - une nouvelle fenêtre s'ouvre pour chaque pool. Si vous vous connectez à un pool qui a déjà une fenêtre d'ouverte, la fenêtre actuelle sera réutilisée");
	}
}

//////////// General cookie management

function cookie_expirydate(nodays){
	var UTCstring;
	Today = new Date();
	nomilli = Date.parse(Today);
	Today.setTime(nomilli+nodays*24*60*60*1000);
	UTCstring = Today.toUTCString();
	return UTCstring;
}

function cookie_get(cookiename) {
	 var cookiestring = "" + document.cookie;
	 var index1 = cookiestring.indexOf(cookiename+'=');
	 if (index1 == -1 || cookiename == "") return ""; 
	 
	 var index2 = cookiestring.indexOf(';',index1);
	 if (index2 == -1) index2 = cookiestring.length; 
	 return cookiestring.substring(index1+cookiename.length+1,index2);
}

function cookie_set(name,value,duration_in){
	if ( name == null || name == '' ) {
		return false;
	}
	
	var duration = duration_in;
	if ( value == null || value == '' ) {
		duration = -1;
	}
	
	cookiestring = name + "=" + value + ";EXPIRES=" + cookie_expirydate(duration)+';PATH=/';
	document.cookie = cookiestring;

//IE pool list bug test
//alert(cookiestring+'\n\n'+document.cookie);	
	if( ! cookie_get(name) ){
		return false;
	}
	else{
		return true;
	}
}

function cookie_delete(cookiename) {
	cookie_set(cookiename,'',-1);
}


