/* LICENCE
 * Copyright (c) 2010 Ewoud Dronkert <ewoud@dronkert.net>
 * Source code ownership, sale & re-distribution rights reserved.
 * Otherwise unlimited commercial use licence granted to Sportsblogs, Inc.
 */

function vds_init()
{
	hoverEventsTable();

	if (document.frmsignup && document.frmsignup.pdcusername) {
		document.frmsignup.pdcusername.onkeyup = vds_sbnresetuser;
		document.frmsignup.pdcusername.onblur = vds_sbncheckuser;
	}

	if (document.frmlogin && document.frmlogin.username)
		document.frmlogin.username.focus();

	var i, j, k, f, o, r;
	for (i = 0; i < document.forms.length; ++i)
		if (document.forms[i].oldresult) {
			f = document.forms[i];
			for (j = 0; j < f.oldresult.length; ++j) {
				o = f.oldresult[j];
				f["points[" + o.rank + "]"].value = o.points;
				r = f["riders[" + o.rank + "]"];
				for (k = 0; k < r.options.length; ++k)
					if (r.options[k].value == o.riderid) {
						r.selectedIndex = k;
						break;
					}
			}
		}
}

function vds_searchrider(frm)
{
	if (frm.q.value.length < 3 || frm.q.value == frm.p.value)
		return false;

	frm.p.value = frm.q.value;
	ajax("searchrider.php", "u=" + frm.userid.value + "&t=" + frm.teamid.value + "&q=" + encodeURIComponent(frm.q.value), vds_searchridercallback);
	return false;
}

function vds_searchridercallback(html)
{
	var div;
	if (div = document.getElementById("searchriderresult"))
		div.innerHTML = html;
}

function vds_clearform(frm)
{
	if (frm.name == "searchrider") {
		frm.nat.selectedIndex = 0;
		frm.uci.selectedIndex = 0;
		frm.rider.value = "";
		frm.cmin.selectedIndex = 0;
		frm.cmax.selectedIndex = 0;
	}
}

function vds_sbnresetuser(e)
{
	e = e || window.event;
	var inp = e.target || e.srcElement;

	vds_sbnresetinput(inp);
}

function vds_sbnresetinput(inp)
{
	if (inp.value.length == 0 || inp.value != inp.form.prev.value) {
		inp.form.pdcemail.value = "";
		inp.form.pdcemail.style.backgroundColor = BGOK;
		document.getElementById("sbnresult").innerHTML = "";
	}
}

function vds_sbncheckuser(e)
{
	e = e || window.event;
	var inp = e.target || e.srcElement;

	if (inp.value.length && inp.value != inp.form.prev.value)
		vds_sbncheckinput(inp);
}

function vds_sbncheckinput(inp)
{
	document.getElementById("sbnresult").innerHTML = '<img src="img/spinner.gif" alt="Please wait &hellip;" />';
	inp.form.btnsubmit.disabled = true;
	inp.disabled = true;
	ajax("sbnread.php", "user=" + encodeURIComponent(inp.value), vds_sbncallback);
}

function vds_sbncallback(kode)
{
	var frm = document.getElementById("frmsignup");
	var res = document.getElementById("sbnresult");
	frm.prev.value = frm.pdcusername.value;

	if (!kode.length || kode == "404" || kode == "417") {
		res.innerHTML = '<img src="img/cross.png" alt="[x]" title="Not found" />';
		frm.pdcemail.style.backgroundColor = BGERR;
		if (kode == "404")
			frm.pdcemail.value = "SBN profile page not found";
		else if (kode == "417")
			frm.pdcemail.value = "Email not found on SBN profile page";
		else
			frm.pdcemail.value = "Page not found. Is SBN down?";
	} else {
		while (kode.substr(0, 4) == "kode") {
			eval(kode);
		}
		res.innerHTML = '<img src="img/accept.png" alt="[√]" alt="Success" />';
		frm.pdcemail.value = kode.match(/>(.*)</)[1];
		kode = null;
	}
	frm.pdcusername.disabled = false;
	frm.btnsubmit.disabled = false;
}

function vds_sbncheckform(frm)
{
	if (frm.pdcusername.value.length && frm.pdcusername.value != frm.prev.value) {
		vds_sbncheckinput(frm.pdcusername);
		return false;
	}

	return checkForm(frm);
}

function vds_hire(ridername)
{
	return window.confirm('Hire "' + ridername + '" onto your team?');
}

function vds_fire(ridername)
{
	var msg = 'Fire "' + ridername + '" from your team?';
	if (ridername == "Laurens ten Dam")
		msg = "Get well soon Laurens! Are you sure you have\nno need for him on your team anymore..?";
	return window.confirm(msg);
}

function vds_hirewarnlogin()
{
	window.alert('You must be logged in to hire riders onto your team.');
	return false;
}

function vds_exportwarnlogin()
{
	window.alert('You must be logged in to use the export function.');
	return false;
}

function vds_winpop(url, w, h)
{
	var width = 450; if (w) width = w;
	var height = 200; if (h) height = h;
	
	var winref = window.open(url, "vdspopup",
		"width=" + width + ",height=" + height +
		",titlebar=yes,resizable=yes,scrollbars=yes,menubar=no,toolbar=no,location=no,status=no");

	if (winref) {
		winref.focus();
		return false;
	} else
		return true;
}
