function SendConfirmation(strUID) {
	document.getElementById("sendmail").value = strUID
	document.getElementById("frmSendMail").submit()
}

function ForgotPassword() {
	if(document.getElementById("strEmail").value =="") {
		alert("Please type your e-mail address.")
	}
	else {
		document.getElementById("forgotpassword").value = "true"
		document.getElementById("frmLogin").submit()
	}
}

function ShowForgotPassword() {
	v = "document.getElementById('forgotpw').style.display"
	if (eval(v) == "none") {
		eval(v + "='block'")
	} else {
		eval(v + "='none'")
	}
}


// ## SHOUTS ##
var fShouts;
var bInit;
var oRequest;

function InitAjax() {
	oRequest = false;
	if (window.XMLHttpRequest) {
		try {oRequest = new XMLHttpRequest()}
		catch (e) {oRequest = false}
	}
	else if (window.ActiveXObject) {
		try {oRequest = new ActiveXObject("Msxml2.XMLHTTP")}
		catch (e) {
			try {oRequest = new ActiveXObject("Microsoft.XMLHTTP")}
			catch (e) {oRequest = false}
		}
	}
	else {oRequest = false}
	return oRequest
}

function InitShouts() {
	if (document.getElementById("sShout")) {
		document.getElementById("sShout").focus();
	}
	CheckShouts();
}

function CheckShouts() {
	bInit = InitAjax()
	if (bInit) {
		fs = setTimeout("GetShouts('')",10000);
	}
}

function GetShouts(sNewShout) {
	// if sNewShout <> "" then new shout will be added tot database, before checking for new shouts
	iLastID = document.getElementById("iLastID").value;
	sCheckShoutAlign = checkShoutAlign();
	sNoCache = new Date().getTime();
	sURL = "checkshouts.asp?id="+iLastID+"&sht="+sCheckShoutAlign+"&add="+sNewShout+"&nc="+sNoCache;
	oRequest.open("GET", sURL, true);
	oRequest.onreadystatechange = CheckData;
	oRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	oRequest.send(null);
}

function SendShout() {
	// First check if all fades have finished
	if (bFading) {
		setTimeout("SendShout()",500);
	} else {
		GoSendShout();
	}
}

function GoSendShout() {
	if (bInit) {
		sNewShout = document.getElementById("sShout").value;
		if (sNewShout != "" && !document.getElementById("btn_shout").disabled) {
			document.getElementById("btn_shout").disabled = true;
			GetShouts(sNewShout);
			document.getElementById("sShout").value = "";
		}
	}
//	return false; // no form submit
}

function checkShoutAlign() {
	// Search for alignment newest shout (left/right)
	try {
		sBaloons = document.getElementById("shouts").innerHTML;
		iPosLeft = sBaloons.indexOf("shoutleft");
		iPosRight = sBaloons.indexOf("shoutright");
		if (iPosLeft < iPosRight) {
			return "left";
		} else {
			return "right";
		}
	} catch (e) {
		// in case of no shouts, pretent there is one on the right :)
		return "right";
	}
}

function CheckData() {
	if (oRequest.readyState == 4 && oRequest.status == 200)	{
		sData = oRequest.responseText;
		if (sData!=" " && sData!=null) {
			WriteShouts(sData)
		} else {
			// No new shouts, let's check for new members
			CheckMembers();
		}
	}
}

function WriteShouts(sData) {
	sSearch = "||";
	// Find ID (at the end): ||ID=435
	iIDPos = sData.lastIndexOf(sSearch);
	iLenID = sData.length - iIDPos;

	// Remove data + "||"
	sNewID = sData.slice(-(iLenID-sSearch.length));
	// Remove "||" + ID
	sData = sData.slice(0,iIDPos);

	sCurrentShouts = document.getElementById("shouts").innerHTML;
	document.getElementById("shouts").innerHTML = sData + sCurrentShouts;
	document.getElementById("iLastID").value = sNewID;

	// Find id's of new shouts
	aIDs = GetNewIDs(sData);
	// Fade-in new shouts
	bFading = true;
	FadeIn();
}


// ## FADE-IN ##
var aShoutColors = ["d08200","c07500","b06800","a05b00","904e00","804100","703400","602700","401a00","200d00","000"]
var aShoutColorsDate = ["d08200","cb840f","c6861e","c1882d","bc8a3c","b78c4b","b18e5a","ab9069","a59377","9f9689","999"]
var iC = 0;
var iD = 0;
var aIDs = [];
var bFading = false;
var fi;

function ConvertString2XML(sText) {
	if (window.DOMParser) {
		parser=new DOMParser();
		xmlDoc=parser.parseFromString(sText,"text/xml");
	} else {
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(sText); 
	}
	return xmlDoc;
}

function GetNewIDs(sDivs) {
	xmlShouts=ConvertString2XML("<shouts>"+sDivs+"</shouts>");
	xmlShouts=xmlShouts.getElementsByTagName("div");
	for (i=0; i<xmlShouts.length; i++) {
		iID = xmlShouts[i].getAttribute("id");
		if (xmlShouts[i].getAttribute("class").indexOf("shoutdate") < 0) {
			// Do not add dates to array
			aIDs[i] = iID;
		}
	}
	return aIDs;
}

function FadeIn() {
	for (i=0; i<aIDs.length; i++) {
		iID = aIDs[i];
		if(iC < aShoutColors.length) {
			document.getElementById(iID).style.color = "#" + aShoutColors[iC];
		}
		if (iD < aShoutColorsDate.length) {
			document.getElementById("dat"+iID).style.color = "#" + aShoutColorsDate[iD];
		}
	}
	iC++;
	iD++;
	if (iC<aShoutColors.length || iD<aShoutColorsDate.length) {
		if (iD==1) {
			// Keep first color for a while
			ff = setTimeout("FadeIn()",4000);
		} else {
			// Start fading
			ff = setTimeout("FadeIn()",100);
		}
	} else {
		iC=0;
		iD=0;
		bFading = false;
		aIDs.length = 0;
		if (document.getElementById("btn_shout").disabled) {
			// Enable shout button
			document.getElementById("btn_shout").disabled = false;
		}
		// Check for new members
		CheckMembers();
	}
}


// ## NEW MEMBERS ##
var aMove = [1,4,10,19,31,46,64,85,109];
var iMove = 0;
var sMemberData = "";

function CheckMembers() {
	if (bInit) {
		// Find id of newest member
		try {
			iLastMemberID = document.getElementById("members").getElementsByTagName("img")[1].id;
			GetMembers(iLastMemberID);
	//		GetMembers(11134);
		} catch (e) {
			GetMembers(0);
		}
	}
}

function GetMembers(iMemberID) {
	sNoCache = new Date().getTime();
	sURL = "checkmembers.asp?id="+iMemberID+"&nc="+sNoCache;
//document.getElementById("testdata").innerHTML = sURL;
	oRequest.open("GET", sURL, true);
	oRequest.onreadystatechange = WriteMembers;
	oRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	oRequest.send(null);
}

function WriteMembers() {
	if (oRequest.readyState == 4 && oRequest.status == 200)	{
		sMemberData = oRequest.responseText;
		if (sMemberData!=" " && sMemberData!=null) {
			MoveDown();
		} else {
			fs = setTimeout("GetShouts('')",6000);
		}
	}
}

function MoveDown() {
	iNewPadding = (aMove[iMove]) + "px";
	document.getElementById("imgMove").style.height = iNewPadding;
	iMove++;
	if (iMove < aMove.length) {
		fm = setTimeout("MoveDown()",50);
	} else {
		iMove = aMove.length-1;
		document.getElementById("members").innerHTML = "<img src=\"/images/x.gif\" id=\"imgMove\" width=\"1\" height=\"" + aMove[aMove.length-1] + "\" alt=\"\" title=\"\">" + sMemberData;
		MoveUp();
	}
}

function MoveUp() {
	iNewPadding = (aMove[iMove]) + "px";
	document.getElementById("imgMove").style.height = iNewPadding;
	iMove--;
	if (iMove >= 0) {
		fm = setTimeout("MoveUp()",50);
	} else {
		iMove = 0;
		// Continue checking for new shouts
		fs = setTimeout("GetShouts('')",6000);
	}
}

// ## TOP 10 ## //
function TopTen(bTop) {
	if (bTop==1) {
		// show top 10 race
		document.getElementById("top10race").className = "active";
		document.getElementById("top10overall").className = "notactive";
		document.getElementById("tblTopTenRace").style.display = "block";
		document.getElementById("tblTopTenOverall").style.display = "none";
		document.getElementById("tblTopSubleaguesRace").style.display = "block";
		document.getElementById("tblTopSubleaguesOverall").style.display = "none";
		document.getElementById("tblPlayerPositionRace").style.display = "block";
		document.getElementById("tblPlayerPositionOverall").style.display = "none";
		document.getElementById("tblSubleaguePositionRace").style.display = "block";
		document.getElementById("tblSubleaguePositionOverall").style.display = "none";
	} else {
		// show top 10 overall
		document.getElementById("top10race").className = "notactive";
		document.getElementById("top10overall").className = "active";
		document.getElementById("tblTopTenRace").style.display = "none";
		document.getElementById("tblTopTenOverall").style.display = "block";
		document.getElementById("tblTopSubleaguesRace").style.display = "none";
		document.getElementById("tblTopSubleaguesOverall").style.display = "block";
		document.getElementById("tblPlayerPositionRace").style.display = "none";
		document.getElementById("tblPlayerPositionOverall").style.display = "block";
		document.getElementById("tblSubleaguePositionRace").style.display = "none";
		document.getElementById("tblSubleaguePositionOverall").style.display = "block";
	}
}

