var currPage = "";
function IniMenuPage() {
	var id = "lang_" + UIL;
	var img = $get(id);
	if (img) img.className = "selectedflag";
	IniMenu();
	IniPlayer();
	var dd = null;
	if ($get("divSearchPage")) currPage = "SEARCH";
	else if ($get("divGP")) currPage = "GRAND_PRIX";
	else if ($get("divHistoryPage")) currPage = "HISTORY";
	else if ($get("divQP")) currPage = "QUINTE_PLUS";
	else if ($get("divTR")) currPage = "TODAY_RACES";
	else if (window.location.href.toLowerCase().indexOf("homepage.aspx") > -1) currPage = "HOME";
	try {dd = targetRaceData } catch(e) {}
	if (dd) {
		ShowTargetRace(dd);
	}
	else {
		if (!(currPage == "SEARCH" || currPage == "GRAND_PRIX" || currPage == "HISTORY" || currPage == "HOME" || currPage == "QUINTE_PLUS" || currPage == "TODAY_RACES")) {
			try {dd = crData } catch(e) {}
			if (dd) StartPlaying(dd);
		}
	}
}
function IniMenu() {
	var arr = null;
	try {
		arr = MenuArgs;
	} catch (e) {}
	if (arr) {
		if (arr[1] > 0) {
			var d1 = $get("mmc_" + arr[0]);
			var d2 = $get("mme_" + arr[0]);
			var d3 = $get("mm2_" + arr[1]);
			if (d1 && d2 && d3) {
				d3.className = "stdsubnavcellselect";
				d1.style.display = "none";
				d2.style.display = "block";
			}
		}
	}

}
function ChangeLanguage(me, ev, lang) {
	CancelEvent(ev)
	DoBlur(me);
	MediaPlayer_FullStop();
	var loc = window.location.href;
	var arr = GetQsArray(loc);
	WriteCookie("uil", lang, true);
	if (arr.length == 0) loc = loc + "?uil=" + lang
	else {
		loc = window.location.protocol + "//" + window.location.host + window.location.pathname + "?uil=" + lang;
		for (var i = 0; i < arr.length; i++) {
			if (arr[i].name != "uil") {
				loc += "&" + arr[i].name + "=" + arr[i].value;
			}
		}			
	}
	window.location = loc;
	return false;
}
var currLhsIt = 0;
function LhsIt(me, ev, id, mode, img) {
	var d2 = $get("divGt2_" + id);
	var d4 = $get("divGt4_" + id);
	var d7 = $get("divGt7_" + id);
	var d8 = $get("divGt8_" + id);
	if (!d2 || !d4 || !d7 || !d8) {
		return;
	}
	if (mode == 1) {
		if (currLhsIt == id) return;
		currLhsIt = id;
		d2.className = "gratuitlinkorange";
		SwapImage(d4, img);
		d7.style.display = "none";
		d8.style.display = "block";
	}
	else {
		currLhsIt = 0;
		d2.className = "gratuitlink";
		SwapImage(d4, img);
		d8.style.display = "none";
		d7.style.display = "block";
	}
}
var blSubmitted = false;
function DoLogin(me, ev) {
	CancelEvent(ev);
	DoBlur(me);
	if (blSubmitted) {
		alert(GetStringFromResource('REQUEST_ALREADY_SENT', ['\n']));
		return false;
	}
	var inp = $get("lUsername");
	inp.value = trim(inp.value);
	if (inp.value.length == 0) {
		alert(GetStringFromResource('USERNAME_EMPTY_PROMPT'));
		inp.focus()
		return false;
	}
	if (!CheckEmail(inp.value)) {
		alert(GetStringFromResource('USERNAME_INVALID_PROMPT'));
		inp.focus()
		return false;
	}
	var inp = $get("lPassword");
	inp.value = trim(inp.value);
	if (inp.value.length == 0) {
		alert(GetStringFromResource('PASSWORD_EMPTY_PROMPT'));
		inp.focus()
		return false;
	}
	blSubmitted = true;
	$get("formLogin").submit();
	return false;
}
function DoLoginFocus(me, ev, m) {
	var val = trim(me.value)
	var bl = "";
	if (m == "un") bl = GetStringFromResource('USERNAME_FIELD');
	else if (m == "pw") bl = GetStringFromResource('PASSWORD_FIELD');
	if (val == bl) me.value = "";
	if (m == "un") {
		var el = $get("lPassword");
		var val2 = trim(el.value);
		bl = GetStringFromResource('PASSWORD_FIELD');
		if (val2 == bl); el.value = "";
	}
}
function DoLoginSubmitCheck(me, ev) {
	if (ev.keyCode == 13) {
		DoLogin(me, ev);
	}
}
function MMExpand(me, ev, id) {
	DoBlur(me);
	CancelEvent(ev);
	var d1 = $get("mme_" + id);
	var d2 = $get("mmc_" + id);
	if (d1 && d2) {
		d2.style.display = "none";	
		d1.style.display = "block";
	}
	return false;
}
function MMCollapse(me, ev, id) {
	DoBlur(me);
	CancelEvent(ev);
	var d1 = $get("mme_" + id);
	var d2 = $get("mmc_" + id);
	if (d1 && d2) {
		d1.style.display = "none";	
		d2.style.display = "block";
	}
	return false;
}
//-------------------------------------------------------------------- forms
function AniField(el, resName, id, str) {
	var s = (str ? str : GetStringFromResource(resName));
	alert(s);
	if (el) {
		var c1 = el.className;
		var c2 = "subdetailsformfieldselect";
		if (c1 == "hotlineformfield") c2 = "hotlineformfieldactive";
		else if (c1 == "creditformfield2") c2 = "creditformfield2active";
		else if (c1 == "subdetailsformfield2") c2 = "subdetailsformfieldselect2";
		el.className = c2;
		el.focus();
		setTimeout("$get('" + el.id + "').className = '" + c1 + "';", 700);
		setTimeout("$get('" + el.id + "').className = '" + c2 + "';", 1200);
		setTimeout("$get('" + el.id + "').className = '" + c1 + "';", 1900);
	}
	else {
		$get(id).className = "orangebg";
		setTimeout("$get('" + id + "').className = '';", 700);
		setTimeout("$get('" + id + "').className = 'orangebg';", 1200);
		setTimeout("$get('" + id + "').className = '';", 1900);
	}
}
function HighlightFields(arr) {
	for (var i = 0; i < arr.length; i++) {
		if (arr[i].length > 0) HighlightField(arr[i]);
	}
}
function HighlightField(name) {
	if (name == "dob" || name == "fromDate") {
		var n1, n2, n3;
		if (name == "dob") {
			n1 = $get("dobDay");
			n2 = $get("dobMonth");
			n3 = $get("dobYear");
		}
		else if (name == "fromDate") {
			n1 = $get("fromDay");
			n2 = $get("fromMonth");
			n3 = $get("fromYear");
		}
		if (n1) n1.className = "subdetailsformfieldselect";
		if (n2) n2.className = "subdetailsformfieldselect";
		if (n3) n3.className = "subdetailsformfieldselect";
		return;
	}
	var el = $get(name);
	if (el) {
		var tn = el.tagName.toUpperCase();
		var ty = (el.type ? el.type.toUpperCase() : "");
		if (tn == "INPUT" && (ty == "TEXT" || ty == "PASSWORD")) {
			el.className = "subdetailsformfieldselect";
		}
		else {
			el.className = "orangebg"
		}
	}
}
//-------------------------------------------------------------------- player
var MP, MPB, PS, SI, SD, CD, VSD, VSI;
var g_TargetPos = -1;
var check_stop = false;
var repeat_required = false;
var g_Duration = -1;
var g_nTimerID = -1;
var g_DurationStr;
var g_SliderCapture = 0;
var g_VolumeSliderCapture = 0;
var g_LeftOffset = -1;
var g_OffsetWidth = -1;
var g_VolumeLeftOffset = -1;
var g_VolumeOffsetWidth = -1;
var targetPos = -1;


var wmp, wmpC, pIni = false;
var tt = -1, g_nCurrentClock;
var currPlaySpeed = 1, currVolume = 100, curr_state = -1, is_playing = false;
var curr_size = 1, curr_setting = 1, curr_stream_speed = 1, curr_down_speed = 1, curr_dur = 1;

var playerUrl = "public/player.aspx"
var getRaceUrl = "public/getRace.aspx"
var currRace = null, targetRace = null, targetDur = 1;

function StartPlaying(raceData) {
	currRace = raceData;
	ShowCurrentRace(raceData);
	HidePlaceholder();
	var s = WebRoot + playerUrl + "?mm=p" + GetPlayerExt();
	MPF.src = s;
}
function GetPlayerExt() {
	return "&rid=" + currRace.id + "&clip=" + currRace.clipId + "&pos=" + curr_dur;
}
function FormatDate2(s) {
	var ss = s.split("-");
	return ss[2] + "/" + ss[1] + "/" + ss[0];
}
function IniPlayer() {
	if (pIni) return;
	MPF = $get("MediaPlayerFrame");
	if (!MPF) return;
	wmp = ReadCookie("wmp");
	if (wmp == "7") wmp = "wmp7";
	else if (wmp == "6") wmp = "wmp6";
	if (wmp == "wmp7" || wmp == "wmp6") {
		var d1 = $get("divPlayerControls1");
		var d2 = $get("divPlayerControls2");
		d1.style.display = "none";
		d2.style.display = "block";
		wmpC = true;
	}
	else {
		wmpC = false;
	}
	if (wmpC) {
		MPF.style.width = "480px";
		MPF.style.height = "361px";
	}
	else {
		MPF.style.width = "480px";
		MPF.style.height = "421px";
	}
	//$get("divMP").style.display = "block";
	if (wmpC) {
		MPB = $get("play");
		CD = $get("pcClock");
		SI = $get("SliderImg");
		SD = $get("SliderDiv");
		PS = $get("pcStatus");
		MediaPlayer_UpdateSliders();
		setTimeout("MediaPlayer_UpdateSliders();", 2000);
	}
	else {
		MPB = $get("playf");
	}
	RestoreSettings();
	pIni = true;
}
function GetCurrentSettings() {
	var c1 = ReadCookie("nwp");
	if (!c1 || c1.length == 0) {
		c1 = ReadCookie("nws");
	}
	if (c1.length != 4 || isNaN(c1)) c1 = "1212";
	curr_size = parseInt(c1.substr(0, 1));
	curr_stream_speed = parseInt(c1.substr(1, 1));
	curr_setting = parseInt(c1.substr(2, 1));
	curr_down_speed = parseInt(c1.substr(3, 1));

}
function RestoreSettings() {
	GetCurrentSettings();
	if (curr_size == 1) {
		//do nothing
	}
	else {
		curr_size == 2;
	}
	if (curr_setting == 2) {
		$get("nw2").checked = true;
	}
	else if (curr_setting == 3) {
		$get("nw3").checked = true;
	}
	else if (curr_setting == 4) {
		$get("nw4").checked = true;
	}
	else {
		curr_setting = 1;
		$get("nw1").checked = true;
	}
	PcZoom(null, null, curr_size, true);
	PcDuration(null, null, curr_dur, true);
}
function PcOptions(me, ev, opt) {
	DoBlur(me);
	CancelEvent(ev);
	var d1 = $get("options1");
	var d2 = $get("options2");
	if (opt == 2) {
		d2.style.display = "none";
		d1.style.display = "block";
	}
	else {
		d1.style.display = "none";
		d2.style.display = "block";
	}
	return false;
}
function PcControl(me, ev, cmd) {
	CancelEvent(ev);
	DoBlur(me);
	if (!MP) { 
		if (currPage == "HOME" || currPage == "GRAND_PRIX") {
			var dd;
			try {dd = crData } catch(e) {}
			if (dd) StartPlaying(dd);
		}
		return;
	}
	if (cmd == 1) MediaPlayer_Stop();
	else if (cmd == 2) MediaPlayer_PlayPause();
	else if (cmd == 3) MediaPlayer_FastForward();
	else if (cmd == 4) MediaPlayer_FastReverse();
	return;
}
function PlayQuinte(me, ev) {
	CancelEvent(ev);
	DoBlur(me);
	//is page loaded?
	var _mpf2 = null;
	try {
		_mpf2 = MPF;
	} catch(e) {}
	if (!_mpf2) {
		setTimeout("PlayQuinte()", 500);
		return false;
	}
	var dd;
	try {dd = crData } catch(e) {}
	if (dd) StartPlaying(dd);
	return false;
}
function PcZoom(me, ev, size, refresh) {
	CancelEvent(ev);
	DoBlur(me);
	if (curr_size == size && !refresh) return false;
	if (size == 3) {
		if (!MP) return;
		if (wmpC) MediaPlayer_ViewFullScreen();
		else {
			var msg = GetStringFromResource("FULL_SCREEN_MESSAGE_FIREFOX");
			alert(msg);
		}
	}
	else {
		curr_size = size;
		var b1, b2;
		if (wmpC) {
			b1 = $get("zoom1");
			b2 = $get("zoom2");
		}
		else {
			b1 = $get("zoom1f");
			b2 = $get("zoom2f");
		}
		if (size == 1) {
			SwapImage(b1, 'zoom_100_active.gif');
			SwapImage(b2, 'zoom_150_off.gif');
		}
		else {
			SwapImage(b1, 'zoom_100_off.gif');
			SwapImage(b2, 'zoom_150_active.gif');
		}
		if (MP) {
			if (wmpC) {
				if (size == 1) {
					MP.width = 320;
					MP.height = 240;
				}
				else {
					MP.width = 480;
					MP.height = 360;
				}
				SaveSettings();
			}
			else {
				var url = WebRoot + playerUrl + "?mm=p&size=" + size + GetPlayerExt();
				MPF.src = url;
			}
		}
		else {
			SaveSettings();
		}
	}
	return false;
}
function PcNw(me, ev, set) {
	if (set == curr_setting) return;
	curr_setting = set;
	if (MP) {
		MediaPlayer_FullStop();
		var url = WebRoot + playerUrl + "?mm=p&set=" + set + GetPlayerExt();
		MPF.src = url;	
	}
	else SaveSettings();
}
function PcDuration(me, ev, dur, buttonsOnly) {
	DoBlur(me);
	CancelEvent(ev);
	curr_dur = dur;
	if (wmpC) {
		if (!buttonsOnly && MP) {
			var pos = 0;
			if (dur == 1) {
				MediaPlayer_SetCurrentPosition(0);
			}
			else {
				var dur2 = MediaPlayer_GetDuration(0);
				pos = GetLast500(dur2);
				MediaPlayer_SetCurrentPosition(pos);
			}
			//g_nCurrentClock = pos;
			//MediaPlayer_UpdateSliderPosition(pos);
		}
		if (dur == 1) {
			SwapImage($get("dur1"), "fullrace_active.gif");
			SwapImage($get("dur2"), "30secs_off.gif");
		}
		else {
			SwapImage($get("dur1"), "fullrace_off.gif");
			SwapImage($get("dur2"), "30secs_active.gif");
		}
	}
	else {
		if (!buttonsOnly && MP) {
			var url = WebRoot + playerUrl + "?mm=p" + GetPlayerExt();
			MPF.src = url;	
		}
		if (dur == 1) {
			SwapImage($get("dur1f"), "fullrace_active.gif");
			SwapImage($get("dur2f"), "30secs_off.gif");
		}
		else {
			SwapImage($get("dur1f"), "fullrace_off.gif");
			SwapImage($get("dur2f"), "30secs_active.gif");
		}
	}
	return false;
}
function crPlay(me, ev, dur) {
	PcDuration(me, ev, dur);
}
function ChangeVolume (me, ev, pos) {
	CancelEvent(ev);
	DoBlur(me);
	var steps = 14, step = 100 / steps;
	var vol = Math.floor((pos + 1) * step);
	if (MP) {
		MediaPlayer_SetVolume(vol);
	}
	MediaPlayer_UpdateVolumePosition(vol);
	return false;
}
function SaveSettings() {
	var set = String(curr_size) + String(curr_stream_speed) + String(curr_setting) + String(curr_down_speed);
	WriteCookie("nws", set, false);
	WriteCookie("nwp", set, true);
}
function SwapImage2(me, img) {
	var el = GetLinkImage(me);
	var src = String(el.src);
	var ss = src.substring(src.length - 11);
	if (ss == "_active.gif") return;
	SwapImage(me, img);
}
function SwapImage3(me, on) {
	if (on == 1) {
		if (is_playing) SwapImage(me, 'player_pause_on.gif');
		else SwapImage(me, 'player_play_on.gif');
	}
	else {
		if (is_playing) SwapImage(me, 'player_pause_off.gif');
		else SwapImage(me, 'player_play_off.gif');
	}
}
function MediaPlayer_UpdateSliders() {
	if (!wmpC) return;
	var pos = GetCSSInt(SI.style.left)
	SI.style.left = (pos + 100) + "px";
	SI.style.display = "none";
	SI.style.display = "block";
	SI.style.visibility = "hidden";
	SI.style.visibility = "visible";
	SI.style.left = pos + "px";
}
function MediaPlayer_Ini() {
	if (!wmpC) return;
	MediaPlayer_StartClock();
	currVolume = MediaPlayer_GetVolume();
	MediaPlayer_UpdateVolumePosition();
	if (MediaPlayer_IsPlaying() && !is_playing) {
		if (wmp == "wmp7") MediaPlayer_PlayStateChange(3, null);
		else MediaPlayer_PlayStateChange(1, 2);
	}
}
function MediaPlayer_Unini() {
	MediaPlayer_StopClock();
	g_Duration = -1;
}
function MediaPlayer_ResetControls() {
	MediaPlayer_Unini();
}
function MediaPlayer_SetVolume(vol) {
	if (wmp == "wmp7") {
		MP.settings.Volume = parseInt(vol);
	}
	else if (wmp == "wmp6") {
		var v = 0;
		if (vol < 10) {
			v = -10000;
		}
		else {
			v = parseInt(-2000 + (vol * 20));
		}
		MP.Volume = v;
	}
	else {
		return;
	}
	WriteCookie("vol", vol, false);
}
function MediaPlayer_GetVolume() {
	var vol = 0;
	if (wmp == "wmp7") vol = MP.settings.Volume;
	else if (wmp == "wmp6") {
		vol = (MP.Volume + 2000) / 20;
		if (vol < 0) vol = 0;
	}
	return vol;
}

function MediaPlayer_StartClock() {
	if (!wmpC) return;
	if(g_nTimerID == -1) {
		MediaPlayer_UpdatePlayerClock(-1);
		g_nTimerID = setInterval("MediaPlayer_UpdatePlayerClock(-1)",1000);
	}
}
function MediaPlayer_StopClock() {
	if(g_nTimerID!=-1) {
		clearInterval(g_nTimerID);
		g_nTimerID=-1;
	}
}
function MediaPlayer_UpdatePlayerClock(tt) {
	if (tt == -1 && g_SliderCapture) return;
	var ct;
	if (tt == -1) {
		ct = g_nCurrentClock = MediaPlayer_GetCurrentPosition();
	}
	else {
		ct = tt;
	}
	var s = _BA(ct);
	CD.innerHTML = s;
	if (tt == -1) MediaPlayer_UpdateSliderPosition();
}
function MediaPlayer_GetCurrentPosition() {
	if (!MP) return 0;
	if (wmp == "wmp7") {
		try {
			return MP.Controls.currentPosition;
		}
		catch (e) {}
	}
	else {
		try {
			return MP.CurrentPosition;
		}
		catch (e) {}
	}
	return 0;
}
function _BA(tm) {
	var _bA = ":";
	var nSeconds=Math.ceil(tm);
	var nHours=Math.floor(nSeconds / 3600);
	nSeconds-=(nHours*3600);
	var nMins=Math.floor(nSeconds / 60);
	nSeconds=Math.round(nSeconds-(nMins*60));
	if(nSeconds==60) {
		nSeconds=0;
		nMins++;
	}
	var szTime=nHours+_bA;
	if(nMins<10) szTime+="0";
	szTime+=nMins+_bA;
	if(nSeconds<10) szTime+="0";
	szTime+=nSeconds;
	return szTime;
}
function MediaPlayer_UpdateSliderPosition(clock) {
	//Log("SliderPos: " + g_Duration + ":" + g_SliderCapture + ":" + targetPos + ":" + Math.floor( g_OffsetWidth * g_nCurrentClock / g_Duration));
	if (!clock) clock = g_nCurrentClock;
	if (g_Duration <= 0 || g_SliderCapture || targetPos != -1) return;
	if (g_LeftOffset == -1) IniSliderValues();
	var x = Math.floor( g_OffsetWidth * clock / g_Duration)
	SI.style.left = x + "px";
}
function MediaPlayer_UpdateVolumePosition(vol) {
	if (!vol) vol = MediaPlayer_GetVolume();
	var steps = 14, step = 100 / steps;
	for (var i = 0; i < steps; i++) {
		var e = $get("va" + i);
		if (vol > i * step) e.className = "volumeblockcellon";
		else e.className = "volumeblockcelloff";
	}
}
function MediaPlayer_SetCurrentPosition(pos) {
	if (MP == null) return;
	if (wmp == "wmp7") {
		if (MediaPlayer_CanSeek()) {
			targetPos = pos;
			//Log("set pos - check stop = true");
			check_stop = true;
			repeat_required = false;
			setTimeout("check_stop = false;CheckTargetPos();", 2000);
			MP.Controls.currentPosition = pos;
			MP.controls.Play();
			return 1;
		}
		else return 0;
	}
	else if (mp == "wmp6") {
		if (MediaPlayer_CanSeek()) {
			targetPos = pos;
			check_stop = true;
			repeat_required = false;
			setTimeout("check_stop = false;", 3000);
			MP.Play();
			if (MP.CurrentPosition != pos) setTimeout("MP.CurrentPosition="+pos+";",100);
			return 1;
		}
		return 0;
	}
	return 0;
}
function MediaPlayer_CanSeek() {
	if (MP == null) return false;
	else if (wmp == "wmp7") //return MP.Controls.isAvailable("CurrentPosition");
	{
		if (MP.PlayState == 3) return true;
		else return false;
	}
	else if (wmp == "wmp6") //return MP.CanSeek;
	{
		if (MP.PlayState == 2) return true;
		else return false;
	}
	return false;
}
function MediaPlayer_IsPlaying() {
	if (!MP) return 0;
	if (wmp == "embed") return 1;
	if (wmp == "wmp7") {
		var s = MP.PlayState;
		if (s == 3) return 1;
	}
	else {
		var s = MP.PlayState;
		if (s == 2) return 1;
	}
	return 0;
}
function MediaPlayer_PlayPause() {
	if (wmp == "wmp7") {
		if (curr_state == 3) {
			MP.controls.Pause();
		}
		else if (curr_state == 1) {
			MediaPlayer_FullStop();
			MPF.src = MPF.src;
			return true;			
		}
		else {
			MP.controls.Play();
			currPlaySpeed = 1;
		}
	}
	else if (wmp == "wmp6") {
		if (curr_state == 2) {
			MP.Pause();
		}
		else if (curr_state == 0) {
			MediaPlayer_FullStop();
			MPF.src = MPF.src;
			return true;
		}
		else {
			MP.Play();
			currPlaySpeed = 1;
		}
	}
	else {
		MPF.src = MPF.src;
		frameCnt++;
		return false;
	}
	return false;
}
function MediaPlayer_Stop() {
	if (!MP) return;
	if (wmp == "wmp7") {
		MP.controls.Stop();
	}
	else if (wmp == "wmp6") {
		MP.Stop();
	}
	else {
		MPF.src = WebRoot + playerUrl + "?mm=h";
	}
}
function MediaPlayer_FullStop() {
	MediaPlayer_Stop();
	MediaPlayer_StopClock();
	g_Duration = -1;
	MP = null;
}
function MediaPlayer_Pause() {
	if (!MP) return 0;
	if (wmp == "wmp7") {
		var s = MP.PlayState;
		if (s == 1 || s == 10) {
			MP.Controls.Play();
			MP.Controls.Pause();
			return 1;
		}
		else if (s == 3) {
			MP.Controls.Pause();
			return 1;
		}
		return 0;
	}
	else if (wmp == "wmp6") {
		var s = MP.PlayState;
		if (s == 0) {
			MP.Play();
			MP.Pause();
			return 1;
		}
		else if (s == 2) {
			try {
				MP.Pause();
				return 1;
			}
			catch (e) {}
		}
		return 0;
	}
}
function MediaPlayer_FastForward() {
	if (currPlaySpeed == 5) {
		if (wmp == "wmp7") {
			MP.controls.play();
		}
		else if (wmp == "wmp6") {
			MP.Play();
		}
		currPlaySpeed = 1;
	}
	else {
		if (wmp == "wmp7") {
			MP.controls.fastForward();
		}
		else if (wmp == "wmp6") {
			MP.FastForward();
		}
		currPlaySpeed = 5;
	}
}
function MediaPlayer_FastReverse() {
	if (currPlaySpeed == -5) {
		if (wmp == "wmp7") {
			MP.controls.play();
		}
		else if (wmp == "wmp6") {
			MP.Play();
		}
		currPlaySpeed = 1;
	}
	else {
		if (wmp == "wmp7") {
			MP.controls.fastReverse();
		}
		else if (wmp == "wmp6") {
			MP.FastReverse();
		}
		currPlaySpeed = -5;
	}
}


function MediaPlayer_PlayStateChange(os, ns) {
	if (wmp == "wmp7") {
		curr_state = os;
		if (os == 3) {
			var tit = GetStringFromResource('PAUSE_BUTTON_TITLE');
			MPB.title = tit;
			SwapImage(MPB, 'player_pause_off.gif');
			var img = GetLinkImage(MPB);
			img.alt = tit;
			if (g_Duration == -1) {
				g_Duration = MediaPlayer_GetDuration();
			}
			is_playing = true;
		}
		else {
			var tit = GetStringFromResource('PLAY_BUTTON_TITLE');
			MPB.title = tit;
			SwapImage(MPB, 'player_play_off.gif');
			var img = GetLinkImage(MPB);
			img.alt = tit;
			is_playing = false;
		}
		if (os == 1) {
			CheckTargetPos();
			//Log("state change, stop");
		}
		var s = "WMP7_PS_" + os;
		s = GetStringFromResource(s);
		if (PS) PS.innerHTML = s;
	}
	else if (wmp == "wmp6") {
		curr_state = ns;
		if (ns == 2) {
			MPB.title = GetStringFromResource('PAUSE_BUTTON_TITLE');
			SwapImage(MPB, 'player_pause_on.gif');
			if (g_Duration == -1) {
				g_Duration = MediaPlayer_GetDuration();
			}
			is_playing = true;
		}
		else {
			MPB.title = GetStringFromResource('PLAY_BUTTON_TITLE');
			SwapImage(MPB, 'player_play_on.gif');
			is_playing = false;
		}
		if (ns == 0) {
			CheckTargetPos();
		}
		var s = "WMP6_PS_" + ns;
		s = GetStringFromResource(s);
		if (PS) PS.innerHTML = s;
	}
	CheckTargetPosTwo();
}
function CheckTargetPos() {
	//Log("ctp: " + check_stop);
	if (!check_stop) {
		targetPos = -1;
		repeat_required = false;
		return;
	}
	MediaPlayer_PlayPause();
	repeat_required = true;
	check_stop = false;
}
function CheckTargetPosTwo() {
	//Log("ctp2: " + repeat_required + ":" + check_stop + ":" + MediaPlayer_CanSeek());
	if (!repeat_required) {
		if (!check_stop) targetPos = -1;
		else setTimeout("CheckTargetPosTwo()", 1000);
		return;
	}
	if (MediaPlayer_CanSeek()) {
		var tp = targetPos;
		targetPos = -1;
		MediaPlayer_SetCurrentPosition(tp);
		repeat_required = false;
	}
}

function MediaPlayer_GetDuration() {
	if (!MP) return 0;
	if (wmp == "wmp7") {
		return MP.currentMedia.duration;
	}
	else {
		return MP.Duration;
	}
}
function MediaPlayer_Buffering(start) {
	if (s) {
		if (PS) PS.innerHTML = GetStringFromResource('WMP_BUFFERING');
	}
	else {
		MediaPlayer_UpdateState();
	}
}
function MediaPlayer_OpenStateChange (os, ns) {
	if (wmp == "wmp7") {
		var s = "WMP7_OS_" + os;
		s = GetStringFromResource(s);
		if (PS) PS.innerHTML = s;
	}
	else if (wmp == "wmp6") {
		var s = "WMP6_OS_" + ns;
		s = GetStringFromResource(s);
		if (PS) PS.innerHTML = s;
	}
}
function MediaPlayer_Error() {
	var c = MediaPlayer_ErrorCode()
	var d = MediaPlayer_ErrorDescription();
	var h = GetHex(c);
	var arr = new Array();
	arr[0] = c;
	arr[1] = d;
	arr[2] = h;
	var s = "";
	if (wmp == "wmp7") {
		arr[3] = '<a href="#" onclick="return OpenMsHelp(this, event)">';
		arr[4] = '</a>';
		s = GetStringFromResource('WMP7_ERROR_MESSAGE', arr);
	}
	else {
		s = GetStringFromResource('WMP6_ERROR_MESSAGE', arr);
	}
	ShowPopupMessage(null, null, "mp_error", "", s, "", "bu_continue_off.gif");
}
function OpenMsHelp(me, ev) {
	CancelEvent(ev);
	DoBlur(me);
	MP.error.webHelp();
	return false;
}
function MediaPlayer_ErrorCode() {
	if (wmp == "wmp7") {
		return MP.error.item(0).errorCode;
	}
	else if (wmp == "wmp6") {
		return MP.ErrorCode;
	}
}
function MediaPlayer_ErrorDescription() {
	if (wmp == "wmp7") {
		return MP.error.item(0).errorDescription;
	}
	else if (wmp == "wmp6") {
		return MP.ErrorDescription;
	}
}
function GetHex(n) {
	var n2 = parseInt(n);
	if (n2 > -100000) return n2.toString(16);
	var h = (n2 + 1).toString(16);
	var s1 = h.toString().toUpperCase();
	var s2 = "";
	for (i = 0; i < s1.length; i++) {
		var c = s1.substr(i, 1);
		if (c == "0") s2 += "F";
		else if (c == "1") s2 += "E";
		else if (c == "2") s2 += "D";
		else if (c == "3") s2 += "C";
		else if (c == "4") s2 += "B";
		else if (c == "5") s2 += "A";
		else if (c == "6") s2 += "9";
		else if (c == "7") s2 += "8";
		else if (c == "8") s2 += "7";
		else if (c == "9") s2 += "6";
		else if (c == "A") s2 += "5";
		else if (c == "B") s2 += "4";
		else if (c == "C") s2 += "3";
		else if (c == "D") s2 += "2";
		else if (c == "E") s2 += "1";
		else if (c == "F") s2 += "0";
	}
	return s2;
}
function MediaPlayer_ViewFullScreen() {
	if (MP == null) return;
	if (wmp == "wmp7") {
		if (MP.openState == 13) {
			try {
				MP.fullScreen = 'true';
			} catch(e) {}
		}
	}
	else if (wmp == "wmp6") {
		if (MP.playState == 2) {
			try {
				MP.DisplaySize = 3;
			} catch (e) {}
		}
	}
}

function Slider_OnMouseDown(me, ev) {
	Slider_SetCapture(1);
	Slider_OnMouseMove(me, ev);
}
function Slider_SetCapture(bCapture) {
	g_SliderCapture = bCapture;
	if (!isNS) {
		if (bCapture) SD.setCapture();
		else {
			SD.releaseCapture();
			//Log("released");
		}
	}
}
function IniSliderValues() {
	var arr = new Array();
	arr[0] = 0;
	arr[1] = 0;
	GetAbsolutePos(SD, arr);
	g_LeftOffset = arr[0];
	g_OffsetWidth = SD.offsetWidth - SI.offsetWidth;
}
function Slider_OnMouseMove(me, ev) {
	if(g_SliderCapture) {
		if (g_LeftOffset == -1) {
			IniSliderValues();
		}
		xSlider = ev.clientX + document.body.scrollLeft - g_LeftOffset - SI.offsetWidth / 2;
		if (xSlider < 0) xSlider = 0;
		if (xSlider > g_OffsetWidth) xSlider = g_OffsetWidth;
		res = xSlider;
		SI.style.left = res + "px";
		//setTimeout('SI.style.left = "' + res + 'px"', 1);
		g_TargetPos = Math.floor(g_Duration * xSlider / g_OffsetWidth);
		if (wmp == "wmp6") {
			setTimeout("MediaPlayer_UpdatePlayerClock(" + g_TargetPos + ");", 100);
		}
		else {
			MediaPlayer_UpdatePlayerClock(g_TargetPos);
		}
	}
}
function Slider_OnMouseUp(me, ev) {
	//Log("capture: " + g_SliderCapture);
	if (!g_SliderCapture) return;
	Slider_SetCapture(0);
	if (wmp == "wmp6") {
		//Log("target: " + g_TargetPos);
		setTimeout("MediaPlayer_SetCurrentPosition(" + g_TargetPos + ");", 100);
		return;
	}
	//Log("target: " + g_TargetPos);
	MediaPlayer_SetCurrentPosition(g_TargetPos);
}
function GetAbsolutePos(el, arr) {
	var l = el.offsetLeft;
	var t = el.offsetTop;
	var p = el.offsetParent;
	arr[0] += l;
	arr[1] += t;
	if (p != null && p != el)
		GetAbsolutePos(p, arr);
}
function Log(s) {
	return;
	$get("log").innerHTML = s + "<br>" + $get("log").innerHTML;
}
//-------------------------------------------------------------------- search
function RaceData(id, date, name, racecourse, clipId, spec, dist, isGp, winnerNum, winnerName, dur) {
	var ss = id.split("|");
	this.id = id;
	this.dateId = parseInt(ss[0]);
	this.raceId = parseInt(ss[1]); 
	this.date = date;
	this.name = name;
	this.rc = racecourse;
	if (!clipId || clipId == "") this.clipId = 0;
	else this.clipId = parseInt(clipId);
	if (winnerNum && winnerNum.length > 0 && winnerNum != "0") {
		this.winnerNum = winnerNum;
	}
	if (winnerName && winnerName.length > 0) {
		this.winnerName = winnerName;
	}
	if (isGp && isGp == "1") {
		this.isGp = true;
	}
	else {
		this.isGp = false;
	}
	this.spec = spec;
	if (!dist || dist == "") this.dist = 0;
	else this.dist = dist;
	this.dur = dur;
}
function GetRaceFromMd(id) {
	var d =  $get("raceDat_" + id);
	var s = d.innerHTML;
	var ss = s.split("|");
	var race = new RaceData(ss[0] + '|' + ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[8], ss[9], ss[10]);
	return race;
}
function ShowTargetRace(race) {
	ShowCurrentRace(race, true);
	var dur = (race.dur == 2 ? 2 : 1);
	PlayRace2(null, null, race, dur);
}

function PlayRace(me, ev, id, dur) {
	DoBlur(me);
	CancelEvent(ev);
	var race = GetRaceFromMd(id);
	PlayRace2(me, ev, race, dur);
	return false;
}
function PlayRace2(me, ev, race, dur) {
	var canPlay = false, isFree = false;
	if (crData.raceId == race.raceId) {
		canPlay = true;
		isFree = true;
	}
	if (!canPlay) {
		if (race.isGp && IsLoggedIn) {
			canPlay = true;
			isFree = true;
		}
	}
	if (!canPlay) {
		for (var i = 0; i < raceArr.length; i++) {
			if (raceArr[i] == race.raceId) {
				canPlay = true;
				break;
			}
		}
	}
	targetRace = race;
	targetDur = dur;
	if (IsSubscribed) {
		PlaySubscribed(me, ev);
		return false;
	}
	else if (!IsLoggedIn) {
		ShowNotLogedMessage(me, ev);
		return false;
	}
	else if (!isFree) {
		if (canPlay) {
			ShowPurchasedMessage(me, ev);
			return false;
		}
		else if ((ptsCredit + ptsBonus) < videoPrice) {
			ShowTopupMessage(me, ev);
			return false;
		}
	}
	//alert(race.raceId + "\n" + race.id + "\n" + canPlay + "\n" + race.isGp);
	if (!canPlay) {
		ShowPurchasePromptMessage(me, ev);
	}
	else {
		if (isFree) ShowFreeMessage(me, ev);
		else ShowPurchasedMessage(me, ev);
	}
	return false;
}
function ProcessPurchase(me, ev, race, dur) {
	if ((ptsCredit + ptsBonus) < videoPrice) {
		ShowTopupMessage(me, ev);
		return;
	}
	var qp = $get("divQP");
	if (qp && quintePrice > 0) {
		if ((ptsCredit + ptsBonus) > quintePrice) {
			ShowQuinteMessage(me, ev);
			return;
		}
	}
	else {
		var tr = $get("divTR");
		if (tr && dayPrice > 0) {
			if ((ptsCredit + ptsBonus) > dayPrice) {
				ShowTodayMessage(me, ev);
				return;
			}
		}
	}
	MediaPlayer_FullStop();
	var s = WebRoot + getRaceUrl + "?rid=" + targetRace.id + "&pos=" + targetDur;
	MPF.src = s;
	try {
		MPF.scrollIntoView(true);
	} catch (e) {}
}
function RegisterRace(rArr, rid, cred, bon) {
	raceArr = rArr;
	ptsCredit = cred;
	ptsBonus = bon;
	if (!IsSubscribed) {
		$get("tdTotalPoints").innerHTML = formatMoney(ptsCredit + ptsBonus);
		$get("tdBonusPoints").innerHTML = formatMoney(ptsBonus, true);
	}
	if (curr_dur != targetDur) PcDuration(null, null, targetDur, true);
	currRace = targetRace;
	ShowCurrentRace(currRace, true);
}
function formatMoney(n, noZero) {
	var n2 = Math.round(n);
	if (n2 == 0 && noZero) return "&nbsp;";
	return String(n2);
}
function formatMoney2(n) {
	var n2 = Math.round(n * 100);
	var s = String(n2);
	if (s.length == 0) return "0.00";
	else if (s.length == 1) return "0.0" + s;
	else if (s.length == 2) return "0." + s;
	else return s.substr(0, s.length - 2) + "." + s.substr(s.length - 2);
}
function ShowFreeMessage(me, ev) {
	var text = GetStringFromResource('SEARCH_FREE_RACE');
	ShowPopupMessage(me, ev, "free", "", text, "", "bu_continue_off.gif");
}
function ShowPurchasePromptMessage(me, ev) {
	var text = GetStringFromResource('SEARCH_PURCHASE_PROMPT');
	ShowPopupMessage(me, ev, "purchase-prompt", "", text, "bu_cancel_off.gif", "bu_continue_off.gif");
}
function ShowPurchasedMessage(me, ev) {
	//var text = GetStringFromResource('SEARCH_ARREADY_PURCHASED');
	//ShowPopupMessage(me, ev, "free", "", text, "", "bu_continue_off.gif");
	currPopupType = "free";
	popupMsgBtnClick(me, ev, 1);
}
function PlaySubscribed(me, ev) {
	//var text = GetStringFromResource('SEARCH_ARREADY_PURCHASED');
	//ShowPopupMessage(me, ev, "free", "", text, "", "bu_continue_off.gif");
	currPopupType = "subscribed";
	popupMsgBtnClick(me, ev, 1);
}
function ShowTopupMessage(me, ev) {
	var text = GetStringFromResource('SEARCH_NO_CREDIT');
	ShowPopupMessage(me, ev, "topup", "", text, "bu_cancel_off.gif", "bu_continue_off.gif");
}
function ShowNotLogedMessage(me, ev) {
	var text = GetStringFromResource('SEARCH_NOT_LOGED');
	ShowPopupMessage(me, ev, "notlogged", "", text, "", "bu_ok_off.gif");
}
function ShowQuinteMessage(me, ev) {
	var text = GetStringFromResource('SEARCH_QUINTE_PLUS_PROMPT', [quintePrice]);
	ShowPopupMessage(me, ev, "quinte", "", text, "bu_yes_off.gif", "bu_no_off.gif");
}
function ShowTodayMessage(me, ev) {
	var text = GetStringFromResource('SEARCH_TODAY_RACES_PROMPT', [dayPrice]);
	ShowPopupMessage(me, ev, "today-races", "", text, "bu_yes_off.gif", "bu_no_off.gif");
}
function ShowCloseAccountMessage(me, ev) {
	var text = GetStringFromResource('CLOSE_ACCOUNT_POPUP_PROMPT', ["<br/><br/>"]);
	ShowPopupMessage(me, ev, "close-account", "", text, "bu_yes_off.gif", "bu_no_off.gif");
}
function ShowFavoriteMessage(me, ev) {
	var text = GetStringFromResource('FAVORITES_ADDED_PROMPT');
	ShowPopupMessage(me, ev, "favorite-add", "", text, "", "bu_close_off.gif");
}
function ShowLoginMessage(me, ev) {
	var text = GetStringFromResource('SEARCH_NOT_LOGED');
	ShowPopupMessage(me, ev, "topup", "", text, "bu_cancel_off.gif", "");
}

function ExpRace(me, ev, id) {
	DoBlur(me);
	CancelEvent(ev);
	var d = $get("raceDet_" + id);
	if (d.style.display == "none") {
		d.style.display = "block";
		SwapImage(me, "search_collapse.gif");
	}
	else {
		d.style.display = "none";
		SwapImage(me, "search_expand.gif");
	}	
	return false;
}
var currPopupType = "";
function ShowPopupMessage(me, ev, popType, title, text, btn1, btn2) {
	var x, y;
	var wh, ww;
	if (document.documentElement.clientWidth) {
		wh = document.documentElement.clientHeight;
		ww = document.documentElement.clientWidth;
	}
	else {
		wh = document.body.clientHeight;
		ww = document.body.clientWidth;
	}
	x = ww / 2 - 150;
	if (me) {
		var arr = [0,0];
		GetAbsolutePosArr(me, arr);
		y = arr[1] - 50;
	}
	else {
		if (MP == null) y = 300;
		else y = 600;
	}
	var d = $get("popupMsgDiv");
	var frm = $get("popupMsgDivFrm");
	if (d.style.display == "block") {
		frm.style.display = "none";
		d.style.display = "none";
	}
	if (title && title.length > 0) $get("popupMsgTitle").innerHTML = "title";
	else $get("popupMsgTitle").innerHTML = "&nbsp;";
	$get("popupMsgText").innerHTML = text;
	if (btn1 && btn1.length > 0) {
		$get("popupBtn1").style.display = "block";
		SwapImage($get("popupBtn11"), btn1);
	}
	else {
		$get("popupBtn1").style.display = "none";
	}
	if (btn2 && btn2.length > 0) {
		$get("popupBtn2").style.display = "block";
		SwapImage($get("popupBtn21"), btn2);
	}
	else {
		$get("popupBtn2").style.display = "none";
	}
	d.style.top = y + "px";
	d.style.left = x + "px";
	d.style.display = "block";
	if (true) {
		frm.style.top = y + "px";
		frm.style.left = x + "px";
		frm.style.width = d.offsetWidth + "px";
		frm.style.height = d.offsetHeight + "px";
		frm.style.display = "block";
	}
	currPopupType = popType;
}
function closePopupMessage(me,ev) {
	DoBlur(me);
	CancelEvent(ev);
	$get("popupMsgDivFrm").style.display = "none";
	$get("popupMsgDiv").style.display = "none";
	currPopupType = "";
	return false;
}
function popupMsgBtnClick(me, ev, btn) {
	DoBlur(me);
	CancelEvent(ev);
	$get("popupMsgDivFrm").style.display = "none";
	$get("popupMsgDiv").style.display = "none";
	if (!MPF) MPF = $get("MediaPlayerFrame");
	if (currPopupType == "free") {
		if (curr_dur != targetDur) PcDuration(me, ev, targetDur, true);
		currRace = targetRace;
		var doLog = false;
		if (currRace.isGp) {
			doLog = true;
			for (var i = 0; i < raceArr.length; i++) {
				if (raceArr[i] == currRace.raceId) {
					doLog = false;
					break;
				}
			}
		}
		MediaPlayer_FullStop();
		var s = "";
		if (doLog) {
			s = WebRoot + getRaceUrl + "?rid=" + targetRace.id + "&pos=" + targetDur + "&mode=GP";
		}
		else {
			s = WebRoot + playerUrl + "?mm=p" + GetPlayerExt();
		}
		MPF.src = s;
		ShowCurrentRace(currRace, true);
	}
	else if (currPopupType == "topup") {
		if (btn == 2) {
			WriteCookie("targetRace", targetRace.id);
			MediaPlayer_FullStop();
			var s = WebRoot + "public/topup.aspx"
			window.location = s;
		}
	}
	else if (currPopupType == "subscribed") {
		MediaPlayer_FullStop();
		var s = WebRoot + getRaceUrl + "?rid=" + targetRace.id + "&pos=" + targetDur;
		MPF.src = s;
		try {
			MPF.scrollIntoView(true);
		} catch (e) {}
	}
	else if (currPopupType == "notlogged") {
		WriteCookie("targetRace", targetRace.id);
		MediaPlayer_FullStop();
	}
	else if (currPopupType == "quinte") {
		MediaPlayer_FullStop();
		var s;
		if (btn == 1) {
			s = WebRoot + getRaceUrl + "?rid=" + targetRace.id + "&pos=" + targetDur + "&mode=QP";
		}
		else {
			s = WebRoot + getRaceUrl + "?rid=" + targetRace.id + "&pos=" + targetDur;
		}
		MPF.src = s;
		try {
			MPF.scrollIntoView(true);
		} catch (e) {}
	}
	else if (currPopupType == "today-races") {
		var s;
		MediaPlayer_FullStop();
		if (btn == 1) {
			s = WebRoot + getRaceUrl + "?rid=" + targetRace.id + "&pos=" + targetDur + "&mode=TR";
		}
		else {
			s = WebRoot + getRaceUrl + "?rid=" + targetRace.id + "&pos=" + targetDur;
		}
		MPF.src = s;
		try {
			MPF.scrollIntoView(true);
		} catch (e) {}
	}
	else if (currPopupType == "close-account") {
		var s;
		if (btn == 1) {
			$get("DetailsForm").submit();
		}
		else {
			s = WebRoot + "homepage.aspx";
			window.location = s;
		}
	}
	else if (currPopupType == "favorite-add") {
	}
	else if (currPopupType == "purchase-prompt") {
		if (btn == 2) {
			MediaPlayer_FullStop();
			ProcessPurchase(me, ev, targetRace, targetDur);
		}		
	}
	currPopupType = "";
	return false;
}
function ShowCurrentRace(raceData, title) {
	HidePlaceholder();
	var d = $get("divMP2");
	if (d && d.style.display == "none") d.style.display = "block";
	$get("tdCrNum").innerHTML = (raceData.winnerNum ? raceData.winnerNum : "");
	$get("tdCrHorse").innerHTML = (raceData.winnerName ? raceData.winnerName : "");
	$get("tdCrRace").innerHTML = (raceData.name ? raceData.name : "");
	$get("tdCrRaceCourse").innerHTML = (raceData.rc ? raceData.rc : "");
	$get("tdCrDate").innerHTML = (raceData.date ? FormatDate2(raceData.date): "");
	$get("divCurrentRace").style.display = "block";
	if (title) {
		var s = (raceData.date ? FormatDate2(raceData.date): "") + " - " + (raceData.name ? raceData.name : "");
		$get("tdRaceTitle").innerHTML = s;
	}
}
function HidePlaceholder() {
	var d2 = $get("divPlaceholderImage");
	var d3 = $get("divMP");
	if (d2) d2.style.display = "none";
	if (d3) d3.style.display = "block";
}
function GpChange(me, ev) {
	var sel = $get("selGrandPrix");
	var val = sel.options[sel.selectedIndex].value;
	var dd = document.getElementsByName("divGrandPrix");
	var d2 = $get("divGrandPrix_" + val);
	if (d2) {
		for (var i = 0; i < sel.options.length; i++) {
			var val2 = sel.options[i].value;
			if (val2.length == 0) continue;
			var d3 = $get("divGrandPrix_" + val2);
			if (d3 == d2) d3.style.display = "block";
			else d3.style.display = "none";
		}
	}
	else {
		for (var i = 0; i < sel.options.length; i++) {
			var val2 = sel.options[i].value;
			if (val2.length == 0) continue;
			var d3 = $get("divGrandPrix_" + val2);
			d3.style.display = "none";
		}
	}
}
function GetLast500(dur) {
	var pos, def = false;
	if (!currRace || currRace.dist == 0) def = true;
	else {
		var mult = 6.4;
		if (currRace.spec == "A" || currRace.spec == "M") mult = 8;
		pos = Math.round((currRace.dist - 500) * mult / 100);
		if (pos > dur) def = true;
	}
	if (def) {
		pos = dur - 30;
		if (pos < 0) pos = 0;
	}
	return pos;
}
function AddToFavorites(me, ev) {
	DoBlur(me);
	CancelEvent(ev);
	var s = WebRoot + "public/favoritesAdd.aspx?rid=" + currRace.id;
	$get("hiddenFrame1").src = s;
	return false;
}
function RegisterFavorite(rid) {
	ShowFavoriteMessage(null, null, rid);
}
function OpenTermsPopup(me, ev, link) {
	DoBlur(me);
	var w = null;
	var cont = false;
	if (!link) link = WebRoot + "public/Terms.aspx";
	try {
		w = window.open(link, "PmuTerms", "width=765,height=485,history=no,resizable=yes,status=no,scrollbars=no,menubar=no");
		w.focus();
		cont = true;
	} catch (e) {}
	if (cont) {
		CancelEvent(ev);
		return false;
	}
	else {
		return true;
	}
}
function OpenCopyright(me, ev, link) {
	DoBlur(me);
	var w = null;
	var cont = false;
	try {
		w = window.open(link, "PmuTerms", "width=400,height=400,history=no,resizable=yes,status=no,scrollbars=no,menubar=no");
		w.focus();
		cont = true;
	} catch (e) {}
	if (cont) {
		CancelEvent(ev);
		return false;
	}
	else {
		return true;
	}
}
function BeforeLink(me, ev) {
	MediaPlayer_FullStop();
}
/* ------------------------------------ search ------------------------------------------------ */
var SEARCH_START_INTERVAL = 1000;
var SEARCH_HIDE_POPUP_INTERVAL = 1000;
function SearchTextField(id, popId) {
	this._id = id;
	this._el = $get(id);
	this._popId = popId;
	this._pop = $get(popId);
	this._timer = null;
	this._textBoxHasFocus = false;
	this._flyoutHasFocus = false;
	this._selectedIndex = -1;
	this._minimumPrefixLength = 3;
	this._currentPrefix = null;
	this._doCache = true;
	this._cache = null;
	this._completionListItemCssClass = "searchpopitem";
	this._completionListItemCssClass2 = "searchpopitem2";
	this._highlightedItemCssClass = "searchpopitemactive";
	this._firstRowSelected = false;
	this._currValue = null;
	this._requests = null;
	this._requestArr = null;
	this._url = "public/getSearch.aspx";
}
SearchTextField.prototype = {
	onFocus : function(ev) {
		this._textBoxHasFocus = true;
		if (this._flyoutHasFocus) {
			this.hidePopup();
		}
		this.startTimer();
	},
	startTimer : function() {
		this.stopTimer();
		this._timer = window.setTimeout("SearchiFieldTimeout('startTimer','" + this._id + "')", SEARCH_START_INTERVAL);
	},
	stopTimer : function() {
		if (this._timer != null) window.clearTimeout(this._timer);
		this._timer = null;
	},
	showPopup : function() {
		var pop = this._pop;
		var arr = GetAbsolutePosArr(this._el);
		var left = arr[0];
		var top = arr[1] + this._el.offsetHeight;
		if (isIE) this._pop.style.width = "100px";
		pop.style.left = left + "px";
		pop.style.top = top + "px";
		pop.style.display = "block";
		var w1 = pop.offsetWidth;
		var w2 = 0;
		var children = pop.childNodes;
		var ss = "";
		for (var i = 0; i < children.length; i++) {
			var w3 = children[i].offsetWidth;
			ss += w3 + ",";
			if (w2 < w3) w2 = w3;
		}
		var w3 = this._el.offsetWidth;
		if (w1 < w2) w1 = w2;
		if (w1 < w3) w1 = w3;
		pop.style.width = w1 + "px";
		if (isIE) {
			var frm = $get("popIframe");
			frm.style.left = left + "px";
			frm.style.top = top + "px";
			frm.style.width = pop.offsetWidth + "px";
			frm.style.height = pop.offsetHeight + "px";
			frm.style.display = "block";
		}
	},
	hidePopup : function() {
		if (isIE) $get("popIframe").style.display = "none";
		this._pop.innerHTML = '';
		this._pop.style.width = '';
		this._pop.style.display = "none";
		this._selectIndex = -1;
		this._flyoutHasFocus = false;
	},
	onBlur : function(ev) {
		this._textBoxHasFocus = false;
		this.stopTimer(false);
		window.setTimeout("SearchiFieldTimeout('onBlur','" + this._id + "')", SEARCH_HIDE_POPUP_INTERVAL);
	},
	onKeyDown : function(ev) {
		var k = ev.keyCode ? ev.keyCode : ev.rawEvent.keyCode;
		if (k === 27) { //escape
			this.hidePopup();
			CancelEvent(ev);
		}
		else if (k === 38) { //key up
			if (this._selectIndex > 0) {
				this._selectIndex--;
				this._handleScroll(this._pop.childNodes[this._selectIndex], this._selectIndex);
				this._highlightItem(this._pop.childNodes[this._selectIndex]);
				CancelEvent(ev);
			}
		}
		else if (k === 40) {//key down
			if (this._selectIndex < (this._pop.childNodes.length - 1)) {
				sel = this._pop.childNodes[this._selectIndex + 1];
				if (sel._value != null) {
					this._selectIndex++;
					this._handleScroll(sel, this._selectIndex);
					this._highlightItem(sel);
				}
				CancelEvent(ev);
			}
		}
		else if (k === 13) { //enter
			if (this._selectIndex !== -1) {
				this._setText(this._pop.childNodes[this._selectIndex]);
				CancelEvent(ev);
			}
			else {
				this.hidePopup();
			}
		}
		else if (k === 9) {//tab
			if (this._selectIndex !== -1) {
				this._setText(this._pop.childNodes[this._selectIndex]);
			}
		}
		else {
			this._currValue = null;
			this.startTimer();
		}
	},
	_setText: function(item) {
		this.stopTimer();
		this._el.value = item._text;
		this._currValue = item._value;
		this._currentPrefix = this._currentCompletionWord();
		this.hidePopup();
	},
	handleFlyoutFocus : function() {
		if(!this._textBoxHasFocus) {
			 if (!this._flyoutHasFocus) {
				 this.hidePopup();
			}
		}
	},
	_handleScroll : function(element, index) {
	},
	onTimer : function () {
		var text = this._currentCompletionWord();
		if (text.length < this._minimumPrefixLength) {
			this._currentPrefix = null;
			this._update('', null, false);
			return;
		}
		if ((this._currentPrefix !== text) || ((text == "") && (this._minimumPrefixLength == 0))) {
			this._currentPrefix = text;
			if ((text != "") && this._cache && this._cache[text]) {
				this._update(text, this._cache[text], false);
				return;
			}
			for (var i = text.length - 1; i >= 0; i--) {
				var t2 = text.substring(0, i);
				if (this._cache && this._cache[t2]) {
					if (this._cache[t2] == "SC_NO_RESULTS") {
						this._update(text, this._cache[t2], false);
						return;
					}
					break;
				}
			}
			this.SendHttpRequest(this._currentPrefix);
		}

	},
	_currentCompletionWord: function() {
		return trim(this._el.value);
	},
	_update: function(prefixText, completionItems, cacheResults) {
		if (cacheResults && this._doCache) {
			if (!this._cache) {
				this._cache = {};
			}
			this._cache[prefixText] = completionItems;
		}
		if ((!this._textBoxHasFocus) || (prefixText != this._currentCompletionWord())) {
			this.hidePopup();
			return;
		}
		if (completionItems && completionItems.length > 0) {
			this._pop.innerHTML = '';
			this._selectIndex = -1;
			var _firstChild = null;
			if (completionItems == "SC_NO_RESULTS") {
				var itemElement = document.createElement('div');
				itemElement.innerHTML = GetStringFromResource('SEARCH_NO_MATCHES');
				itemElement._value = null;
				itemElement._text = null;
				itemElement.__item = '';
				itemElement.className = this._completionListItemCssClass;
				this._pop.appendChild(itemElement);
			}
			else {
				var ss = completionItems.split("\n");
				for (var i = 0; i < ss.length; i++) {
					var itemElement = document.createElement('div');
					if( _firstChild == null ){
						_firstChild = itemElement;
					}
					var ss2 = ss[i].split("|");
					if (ss2.length == 2) {
						itemElement.innerHTML = this.getHighlightedItem(prefixText, ss2[1]);
						itemElement._value = ss2[0];
						itemElement._text = ss2[1];
						itemElement.__item = '';
						itemElement.className = this._completionListItemCssClass;
					}
					this._pop.appendChild(itemElement);
				}
			}
			this._pop.scrollTop = 0;
			this.showPopup();
			if (this._firstRowSelected && (_firstChild != null)) {
				this._highlightItem( _firstChild );
				this._selectIndex = 0;
			}
		 
		}
		else {
			this.hidePopup();
		}
	},
	getHighlightedItem: function(prefixText, text) {
		if (!prefixText || prefixText.length == 0) return text;
		return '<span class="' + this._completionListItemCssClass2 + '">' + text.substr(0, prefixText.length) +
			'</span>' + text.substr(prefixText.length);
	},
	_highlightItem: function(item) {
		var children = this._pop.childNodes;
		for (var i = 0; i < children.length; i++) {
			var child = children[i];
			if (child._highlighted)	child.className = this._completionListItemCssClass;
		}
		item.className = this._highlightedItemCssClass;
		item._highlighted = true;
	},
	SendHttpRequest : function() {
		var prefix = this._currentPrefix;
		if (!_httpVersion) return;

		if (!this._requests) {
			this._requests = {};
			this._requestArr = [];
		}
		if (this._requests[prefix]) return;
		var xmlhttp = null;
		if (_httpVersion == "XMLHttpRequest" ) xmlhttp = new XMLHttpRequest();
		else xmlhttp = new ActiveXObject(_httpVersion);
		var url = WebRoot + this._url + "?mode=" + this._id + "&prefix=" + escape(prefix);
		var slot = {_prefix: prefix, _http : xmlhttp};
		this._requests[prefix] = slot;
		this._requestArr[this._requestArr.length] = prefix;
		xmlhttp.onreadystatechange = Function.createDelegate(this, this.state_Change);
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	},
	state_Change : function() {
		for (var i = this._requestArr.length - 1;i >=0 ;i--) {
			var s = this._requests[this._requestArr[i]];
			if (!s) {
				this.removeSlot(i);
				return;
			}
			if (s._http.readyState==4) {
				this.processRequest(s);
				this._requests[s._prefix] = null;
				this.removeSlot(i);
				return;				
			}
		}
	},
	removeSlot : function(num) {
		var arr = [];
		for (var i = 0; i < num; i++) {
			arr[i] = this._requestArr[i]
		}
		for (var i = num + 1; i < this._requestArr.length; i++) {
			arr[i - 1] = this._requestArr[i]
		}
		this._requestArr = arr;
	},
	processRequest : function(slot) {
		if (slot._http.status != 200) {
			return;
		}
		var s = slot._http.responseText;
		if (s == "SESSION_EXPIRED") {
			window.location = WebRoot + "homepage.aspx";
			return;
		}
		else if (s.substring(0, 9) == "SC_ERROR:") {
			return;
		}
		this._update(slot._prefix, s, true);
	},
	_onCompletionListBlur: function(ev) {
		this.hidePopup();
	},
	_onListMouseDown: function(ev) {
		var tgt = this._getEventTarget(ev);
		if (tgt !== this._pop) {
			if (tgt && tgt._value) this._setText(tgt);
			this._flyoutHasFocus = false;
		}
		else {
			 this._flyoutHasFocus = true;
		}
	},
	_onListMouseUp: function(ev) {
		this._el.focus();
	},
	_onListMouseOver: function(ev) {
		var item = this._getEventTarget(ev);
		if(item !== this._pop) {
			var children = this._pop.childNodes;
			for (var i = 0; i < children.length; ++i) {
				if (item === children[i] && item._value != null) {
					this._highlightItem(item);
					this._selectIndex = i;
					break;
				}
			}
		}
	},
	_getEventTarget : function (ev) {
		return ev.target ? ev.target : ev.srcElement;
	}

}
function GetHttpVersion (){
	var xmlhttp = null;
	var n = null;
	if (window.XMLHttpRequest) {
		try {
			xmlhttp = new XMLHttpRequest();
			n = "XMLHttpRequest";
		} catch(e) {}
	}
	else if (window.ActiveXObject) {
		try {
			xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.6.0");
			n = "Msxml2.XMLHTTP.6.0";
		} catch(e) {}
		if (xmlhttp == null) {
			try {
				xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.5.0");
				n = "Msxml2.XMLHTTP.5.0";
			} catch(e) {}
		}
		if (xmlhttp == null) {
			try {
				xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.4.0");
				n = "Msxml2.XMLHTTP.4.0";
			} catch(e) {}
		}
		if (xmlhttp == null) {
			try {
				xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
				n = "Msxml2.XMLHTTP";
			} catch(e) {}
		}
		if (xmlhttp == null) {
			try {
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
				n = "Microsoft.XMLHTTP";
			} catch(e) {}
		}
	}
	return n;
}
function SearchFieldOnFocus(me, ev) {
	var f = searchFields.findField(me.id);
	if (!f) {alert("SearchFieldOnFocus: not found: " + me.id); return;}
	f.onFocus(ev);
}
function SearchFieldOnBlur(me, ev) {
	var f = searchFields.findField(me.id);
	if (!f) {alert("SearchFieldOnBlur: not found: " + me.id); return;}
	f.onBlur(ev);
}
function SearchFieldOnKeyDown(me, ev) {
	var f = searchFields.findField(me.id);
	if (!f) {alert("SearchFieldOnKeyDown: not found: " + me.id); return;}
	f.onKeyDown(ev);
}
function SearchPopupAction(me, ev, method, id) {
	var f = searchFields.findField(id);
	if (!f) {alert("SearchPopupAction: not found: " + id); return;}
	if (method == 'down') f._onListMouseDown(ev);
	else if (method == 'up') f._onListMouseUp(ev);
	else if (method == 'over') f._onListMouseOver(ev);
	else if (method == 'blur') f._onCompletionListBlur();
	else alert("SearchPopupAction: unknown method: " + method);
}
function SearchBodyClick(me, ev) {
	for (var i = 0; i < searchFields._fields.length; i++) {
		var f = searchFields[searchFields._fields[i]];
		if (f) f._onCompletionListBlur();
	}
}
function SearchiFieldTimeout(method, id) {
	var f = searchFields.findField(id);
	if (!f) {alert("SearchiFieldTimeout: not found: " + id); return;}
	if (method == 'startTimer') f.onTimer();
	else if (method == 'onBlur') f.handleFlyoutFocus();
	else alert("SearchiFieldTimeout: unknown method: " + method);
}