/*******************************************************************************

== SOCCER ==

hockey-soccer:
	identical

$Id:

$Log:

*******************************************************************************/

Array.prototype.in_array = function(needle) {
  for(var i=0; i < this.length; i++) if(this[ i] === needle) return true;
  
  return false;
}

////////////////////////////////////////////////////////////////////////////////

var browserType = 'unknown';
if (navigator.userAgent.match(/Opera/)) {
	browserType = 'opera';
} else if (navigator.userAgent.match(/MSIE/)) {
	browserType = 'ie';
} else if (navigator.userAgent.match(/Mozilla/)) {
	browserType = 'ns';
}

////////////////////////////////////////////////////////////////////////////////

function domGet(id)
{
	if (typeof(id) != 'string') {
		return id;
	} else {
		return document.getElementById(id);
	}
}

function domGetChild(obj, id)
{
	for (var i=0; i<obj.childNodes.length; i++) {
		var n = obj.childNodes[i];
		if (n.nodeType != 1) continue;
		if (n.id == id) return n;
		var r = domGetChild(n, id);
		if (r != false) return r;
	}
	return false;
}

function domGetBody()
{
	var tmp = document.getElementsByTagName('BODY');
	return tmp[0];
}

function domGetOffset(obj)
{
	obj = domGet(obj);
	var offset = { x:0, y:0 };
	if (obj.offsetX) return { x:obj.offsetX, y:obj.offsetY };
	while (obj) {
		offset.x += obj.offsetLeft;
		offset.y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return offset;
}

function domGetScreenOffset(obj)
{
	obj = domGet(obj);
	var offset = { x:0, y:0 };
	if (obj.offsetX) return { x:obj.offsetX, y:obj.offsetY };
	while (obj) {
		offset.x += obj.offsetLeft - obj.scrollLeft;
		offset.y += obj.offsetTop - obj.scrollTop;
		obj = obj.offsetParent;
	}
	return offset;
}

function domFireEvent(obj, name)
{
	if (browserType == 'ns') {
		if (typeof(obj[name]) == 'function') {
			obj[name]();
		} else if (obj.getAttribute(name)) {
			eval(obj.getAttribute(name));
		}
	} else {
		obj.fireEvent(name, window.event);
	}
}

function domAttachEvent(obj, name, handler)
{
	if (browserType == 'ns') {
		obj.addEventListener(name.slice(2), handler, false);
	} else {
		obj.attachEvent(name, handler);
	}
}

function domDetachEvent(obj, name, handler)
{
	if (browserType == 'ns') {
		obj.removeEventListener(name.slice(2), handler, false);
	} else {
		obj.removeEvent(name, handler);
	}
}

function domOnLoad(handler)
{
	domAttachEvent(window, 'onload', handler);
}

function domEventGetCoords()
{
	if (window.event) {
		return { x:window.event.clientX, y:window.event.clientY };
	} else {
		return { x:window.nsevent.pageX, y:window.nsevent.pageY };
	}
}

function domEventGetTarget()
{
	if (window.event) {
		return window.event.srcElement;
	} else {
		return window.nsevent.target;
	}
}

function domEventPreventDefault()
{
	if (window.event) {
		window.event.returnValue = false;
	} else {
		window.nsevent.preventDefault();
	}
}

function domEventCancelBubble()
{
	if (window.event) {
		window.event.cancelBubble = true;
	} else {
		window.nsevent.stopPropagation();
	}
}

function domGetParent(obj, tagName)
{
	if (!tagName) {
		while (obj && obj.nodeType && obj.nodeType != 1) obj = obj.parentNode;
	} else {
		while (obj && obj.tagName && obj.tagName.toLowerCase() != tagName.toLowerCase()) obj = obj.parentNode;
	}
	return obj;
}

function domGetPrevious(obj, tagName)
{
	obj = domGet(obj);
	while (true) {
		if (obj.nodeType == 1) {
			if (typeof(tagName) == 'object') {
				for (var i=0; i<tagName.length; i++) if (tagName[i].toLowerCase() == obj.tagName.toLowerCase()) return obj;
			} else if (typeof(tagName) == 'string') {
				if (tagName.toLowerCase() == obj.tagName.toLowerCase()) return obj;
			} else {
				return obj;
			}
		}
		if (obj.previousSibling) {
			obj = obj.previousSibling;
		} else if (obj.parentNode) {
			obj = obj.parentNode;
		} else {
			return null;
		}
	}
}

function domGetNext(obj, tagName)
{
	obj = domGet(obj);
	while (true) {
		if (obj.nodeType == 1) {
			if (typeof(tagName) == 'object') {
				for (var i=0; i<tagName.length; i++) if (tagName[i].toLowerCase() == obj.tagName.toLowerCase()) return obj;
			} else if (typeof(tagName) == 'string') {
				if (tagName.toLowerCase() == obj.tagName.toLowerCase()) return obj;
			} else {
				return obj;
			}
		}
		if (obj.nextSibling) {
			obj = obj.nextSibling;
		} else if (obj.parentNode) {
			obj = obj.parentNode;
		} else {
			return null;
		}
	}
}

function domSetAlpha(obj, alpha)
{
	obj = domGet(obj);
	if (document.addEventListener) {
		obj.style.MozOpacity = parseInt(alpha)/100;
	} else {
		obj.style.filter = 'alpha(opacity='+parseInt(alpha)+', finishopacity=0, style=0)';
	}
}

function domRemove(obj)
{
	obj = domGet(obj);
	obj.parentNode.removeChild(obj);
}

var gDomSetFlashVarQueue = new Array();
var gDomSetFlashVarTimer = false;

function domSetFlashVarTimer()
{
	if (gDomSetFlashVarQueue.length == 0) {
		clearInterval(gDomSetFlashVarTimer);
		gDomSetFlashVarTimer = false;
		return;
	}
	var queueItem = gDomSetFlashVarQueue.pop();
	try {
		queueItem.obj.SetVariable(queueItem.name, queueItem.value);
	} catch (e) {
	}
	try {
		queueItem.obj.SetVariable('c.'+queueItem.name, queueItem.value);
	} catch (e) {
	}
	queueItem.count--;
	if (queueItem.count > 0) {
		gDomSetFlashVarQueue.unshift(queueItem);
	}
}

function domSetFlashVar(id, name, value)
{
	var obj = false;
	if (document.embeds) obj = document.embeds[id];
	if (!obj) obj = document.getElementById(id);
	if (!obj) return;
	var queueItem = new Object();
	queueItem.obj = obj;
	queueItem.name = name;
	queueItem.value = value;
	queueItem.count = 3;
	gDomSetFlashVarQueue.unshift(queueItem);
	if (!gDomSetFlashVarTimer) {
		gDomSetFlashVarTimer = setInterval('domSetFlashVarTimer()', 20);
	}
}

function domGetAttr(obj, id, def)
{
	for (var i=0; i<obj.attributes.length; i++) {
		if (obj.attributes[i].name == id) return obj.attributes[i].value;
	}
	return def;
}

function domMakeUnselectable(obj)
{
	obj.unselectable = true;
	for (var i=0; i<obj.childNodes.length; i++) {
		var n = obj.childNodes[i];
		if (n.nodeType == 1) {
			if (n.tagName == 'INPUT') continue;
			if (n.tagName == 'TEXTAREA') continue;
			if (domGetAttr(n, 'unselectable')) continue;
			domMakeUnselectable(n);
		}
	}
}

if (browserType == 'ns') {
	document.addEventListener('mousedown', function(e) { window.nsevent=e; }, true);
	document.addEventListener('mouseup', function(e) { window.nsevent=e; }, true);
	document.addEventListener('mousemove', function(e) { window.nsevent=e; }, true);
	document.addEventListener('click', function(e) { window.nsevent=e; }, true);
	document.addEventListener('keyup', function(e) { window.nsevent=e; }, true);
	document.addEventListener('keydown', function(e) { window.nsevent=e; }, true);
	document.addEventListener('keypressed', function(e) { window.nsevent=e; }, true);
	document.addEventListener('blur', function(e) { window.nsevent=e; }, true);
	document.addEventListener('focus', function(e) { window.nsevent=e; }, true);
}

////////////////////////////////////////////////////////////////////////////////

var g_curTimer = false;
var g_curTimerEndFunc = false;
var g_curTimerStep = 0;

function setTimer(timerFunc, endFunc)
{
	if (g_curTimer) window.clearInterval(g_curTimer);
	if (g_curTimerEndFunc) g_curTimerEndFunc();
	g_curTimerEndFunc = false;
	g_curTimer = false;
	g_curTimerEndFunc = endFunc;
	g_curTimerStep = 0;
	g_curTimer = window.setInterval(timerFunc, 50);
	return g_curTimer;
}

function endTimer(endFunc)
{
	if (endFunc != false && g_curTimerEndFunc != endFunc) return;
	if (g_curTimer) window.clearInterval(g_curTimer);
	if (g_curTimerEndFunc) g_curTimerEndFunc();
	g_curTimerEndFunc = false;
}

////////////////////////////////////////////////////////////////////////////////

function flashHide(obj, x, y, w, h)
{
	for (var i=0; i<obj.childNodes.length; i++) {
		var sn = obj.childNodes[i];
		if (sn.nodeType != 1) continue;
		if ((browserType == 'ie' && sn.nodeName.toLowerCase() == 'object' ) || (browserType != 'ie' && sn.nodeName.toLowerCase() == 'embed')) {
			var a = domGetOffset(sn);
			var fx = a.x; var fy = a.y; var fw = sn.offsetWidth; var fh = sn.offsetHeight;
			if ((fy > y && fy < y+h) || (fy+fh > y && fy+fh < y+h) || (y > fy && y < fy+fh) || (y+h > fy && y+h < fy+fh)) {
				if ((fx > x && fx < x+w) || (fx+fw > x && fx+fw < x+w) || (x > fx && x < fx+fw) || (x+w > fx && x+w < fx+fw)) {
					sn.flashHide_hidden = true;
					sn.style.visibility = 'hidden';
				}
			}
		}
		flashHide(sn, x, y, w, h);
	}
}

function flashShow(obj)
{
	for (var i=0; i<obj.childNodes.length; i++) {
		var sn = obj.childNodes[i];
		if (sn.nodeType != 1) continue;
		if (sn.flashHide_hidden) {
			sn.flashHide_hidden = null;
			sn.style.visibility = 'visible';
		}
		flashShow(sn);
	}
}

var g_bubbleTimeout = false;

function bubbleShow(id, obj, size, content)
{
	if (g_bubbleTimeout) {
		clearTimeout(g_bubbleTimeout);
	}
	var sizeTest = document.createElement('DIV');
	sizeTest.innerHTML = '<font class="white">'+content+'</font>';
	sizeTest.style.width = '210px';
	domGetBody().appendChild(sizeTest);
	var neededHeight = sizeTest.offsetHeight;
	domRemove(sizeTest);
	var sizeOptions = size.split(',', 5);
	var width = parseInt(sizeOptions[0]);
	var height = 30;
	var heightNum = '1';
	if (neededHeight > 50 && sizeOptions[1] == 'a') sizeOptions[1] = 'b';
	if (neededHeight > 90 && sizeOptions[1] != 'c') sizeOptions[1] = 'c';
	switch (sizeOptions[1]) {
		case 'a': heightNum = '1'; height = 30; break;
		case 'b': heightNum = '2'; height = 70; break;
		case 'c': heightNum = '3'; height = 130; break;
	}
	var icon = false;
	var closeButton = false;
	if (sizeOptions.length > 2) for (var i=0; i<sizeOptions[2].length; i++) switch (sizeOptions[2].charAt(i)) {
		case 'q': icon = 'question'; break;
		case 'i': icon = 'info'; break;
		case 'e': icon = 'error'; break;
		case 'c': closeButton = true; break;
	}

	var width_lo = 40;
	var width_li = 30;
	var width_ro = 40;
	var width_ri = 30;
	var border_l = '';
	var border_r = '';
	if (sizeOptions.length > 3) for (var i=0; i<sizeOptions[3].length; i++) switch (sizeOptions[3].charAt(i)) {
		case 'l': width_lo = 70; width_li = 60; border_l = '_a'; break;
		case 'r': width_ro = 70; width_ri = 60; border_r = '_a'; break;
	}

	var timeout = 0;
	if (sizeOptions.length > 4) timeout = parseInt(sizeOptions[4]);

	var closeJS = '';
	if (sizeOptions.length > 5) closeJS = sizeOptions[5];

	var oBody = domGetBody();
	var oOldDiv = domGet('bubble_' + id);
	if (oOldDiv) {
		bubbleHide(oOldDiv);
	}

	if (obj == window) {
		var body = domGetBody();
		var targetPos = { x:0, y:body.scrollTop };
		var target = { offsetWidth:Math.min(820, ((browserType=='ns') ? window.innerWidth : body.offsetWidth)), offsetHeight:((browserType=='ns') ? window.innerHeight : body.offsetHeight) };
	} else {
		obj = domGet(obj);
		var target = obj;
		var targetPos = domGetScreenOffset(target);
	}
	if (browserType != 'ie') flashHide(domGetBody(), targetPos.x+target.offsetWidth, targetPos.y-60, 300, 100);

	var oDiv = document.createElement('DIV');
	oDiv.id = 'bubble_' + id;
	oDiv.style.position = 'absolute';

	if (border_l) {
		oDiv.style.left = (targetPos.x + target.offsetWidth) + 'px';
		oDiv.style.top = (targetPos.y - 40 - height) + 'px';
	} else if (border_r) {
		oDiv.style.left = (targetPos.x - width - 50) + 'px';
		oDiv.style.top = (targetPos.y - 40 - height) + 'px';
	} else {
        //oDiv.style.left = (targetPos.x + target.offsetWidth/2 - (width+20)/2) + 'px';
		oDiv.style.left = (window.document.body.clientWidth/2 - (width+20)/2) + 'px';
		oDiv.style.top = (targetPos.y + target.offsetHeight/2 - (height+60)/2) + 'px';
	}

	if (parseInt(oDiv.style.left) + width > domGetBody().offsetWidth) {
		oDiv.style.left = (domGetBody().offsetWidth-width) + 'px';
	}
	
	var html = '';
	html += '<div style="position:absolute; top:0px; left:0px; width:'+(width+width_li+width_ri-40)+'px; z-index:15;"><table cellpadding="0" cellspacing="0" border="0" width="100%">';
	html += '<tr height="20">';
		html += '<td align="left" valign="top" width="'+width_li+'" onmousedown="bubbleHide(this);'+closeJS+'"><img src="img/'+lang+'/sp.gif" width="'+width_li+'" height="20" border="0"></td>';
		html += '<td align="left" valign="top" onmousedown="bubbleHide(this);"><img src="img/'+lang+'/sp.gif" width="100%" height="20" border="0"></td>';
		html += '<td align="left" valign="top" width="'+width_ri+'" onmousedown="bubbleHide(this);'+closeJS+'">';
		if (closeButton) {
			html += '<img src="img/'+lang+'/sp.gif" width="'+width_ri+'" height="20" border="0" style="cursor:pointer;">';
		} else {
			html += '<img src="img/'+lang+'/sp.gif" width="'+width_ri+'" height="20" border="0">';
		}
		html += '</td>';
	html += '</tr>';
	html += '<tr height="50">';
		html += '<td align="left" valign="top" width="'+width_li+'" onmousedown="bubbleHide(this);'+closeJS+'"><img src="img/'+lang+'/sp.gif" width="'+width_li+'" height="'+(height+20)+'" border="0"></td>';
		html += '<td align="left" valign="top">';
		if (icon)  {
			html += '<img src="img/'+lang+'/bubble_'+icon+'.png" width="40" height="40" border="0" alt="'+icon+'" align="left">';
			html += '<font class="white">'+content+'</font>';
		} else {
			html += '<font class="white">'+content+'</font>';
		}
		html += '</td>';
		html += '<td align="left" valign="top" width="'+width_ri+'" onmousedown="bubbleHide(this);'+closeJS+'"><img src="img/'+lang+'/sp.gif" width="'+width_li+'" height="'+(height+20)+'" border="0"></td>';
	html += '</tr>';
	html += '<tr height="30">';
		html += '<td align="left" valign="top" width="'+width_li+'" onmousedown="bubbleHide(this);'+closeJS+'"><img src="img/'+lang+'/sp.gif" width="'+width_li+'" height="30" border="0"></td>';
		html += '<td align="left" valign="top" onmousedown="bubbleHide(this);"><img src="img/'+lang+'/sp.gif" width="100%" height="30" border="0"></td>';
		html += '<td align="left" valign="top" width="'+width_ri+'" onmousedown="bubbleHide(this);'+closeJS+'"><img src="img/'+lang+'/sp.gif" width="'+width_ri+'" height="30" border="0"></td>';
	html += '</tr>';
	html += '</table></div>';

	html += '<div style="position:absolute; top:0px; left:0px; width:'+(width+width_li+width_ri-40)+'px; z-index:14;"><table cellpadding="0" cellspacing="0" border="0" width="100%">';
	html += '<tr height="30">';
		html += '<td align="left" valign="top" width="'+width_lo+'"><img src="img/'+lang+'/bubble'+border_l+'_tl.png" width="'+width_lo+'" height="30" border="0"></td>';
		html += '<td align="left" valign="top"><img src="img/'+lang+'/bubble_t.png" width="100%" height="30" border="0"></td>';
		html += '<td align="left" valign="top" width="'+width_ro+'"><img src="img/'+lang+'/bubble'+border_r+'_tr'+(closeButton?'_close':'')+'.png" width="'+width_ro+'" height="30" border="0"></td>';
	html += '</tr>';
	html += '<tr height="30">';
		html += '<td align="left" valign="top" width="'+width_lo+'"><img src="img/'+lang+'/bubble'+border_l+'_l_'+heightNum+'.png" width="'+width_lo+'" height="'+height+'" border="0"></td>';
		html += '<td align="left" valign="top"><img src="img/'+lang+'/bubble_c.png" width="100%" height="'+height+'" border="0"></td>';
		html += '<td align="left" valign="top" width="'+width_ro+'"><img src="img/'+lang+'/bubble'+border_r+'_r_'+heightNum+'.png" width="'+width_ro+'" height="'+height+'" border="0"></td>';
	html += '</tr>';
	html += '<tr height="40">';
		html += '<td align="left" valign="top" width="'+width_lo+'"><img src="img/'+lang+'/bubble'+border_l+'_bl.png" width="'+width_lo+'" height="40" border="0"></td>';
		html += '<td align="left" valign="top"><img src="img/'+lang+'/bubble_b.png" width="100%" height="40" border="0"></td>';
		html += '<td align="left" valign="top" width="'+width_ro+'"><img src="img/'+lang+'/bubble'+border_r+'_br.png" width="'+width_ro+'" height="40" border="0"></td>';
	html += '</tr>';
	html += '</table></div>';
	oDiv.innerHTML = html;

	if (!closeButton) {
		oDiv.onmousedown = function() { bubbleHide(this); };
	}
	oBody.appendChild(oDiv);
	bubbleFocus(oDiv);

	if (!isNaN(timeout) && timeout > 0) {
		g_bubbleTimeout = setTimeout('bubbleHide("'+id+'");', timeout);
	}
}

function bubbleHide(obj)
{
	if (g_bubbleTimeout) {
		clearTimeout(g_bubbleTimeout);
		g_bubbleTimeout = false;
	}
	if (typeof obj == 'string') obj = domGet('bubble_' + obj);
	while (obj && !(obj.id && obj.id.match(/^bubble_/))) obj = obj.parentNode;
	if (obj) domRemove(obj);
	if (browserType != 'ie') flashShow(domGetBody());
}

function bubbleFocus(obj)
{
	if (typeof obj == 'string') obj = domGet('bubble_' + obj);
	while (obj && !(obj.id && obj.id.match(/^bubble_/))) obj = obj.parentNode;
	var oBody = domGetBody();
	var zIndex = 15;
	for (var i=0; i<oBody.childNodes.length; i++) {
		if (!oBody.childNodes[i].id) continue;
		if (oBody.childNodes[i].id.match(/^bubble_/)) {
			zIndex = Math.max(zIndex, oBody.childNodes[i].style.zIndex);
		}
	}
	zIndex++;
	obj.style.zIndex = zIndex;
}

function bubbleAlert(msg, onclose, target, align)
{
	if (!target) { target = window; align = 'c'; }
	bubbleShow('main', target, '300,a,ec,'+align+',,'+(onclose ? onclose : ''), msg + '<br><br><a href="javascript:void(0);" onclick="bubbleHide(this);'+(onclose ? onclose : '')+'"><img align="right" src="img/'+lang+'/btn_ok.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;"></a>');
}
function bubbleAlertTO(msg, timeout, target, align)
{
	if (!target) { target = window; align = 'c'; }
	bubbleShow('main', target, '300,a,ec,'+align+','+timeout, msg + '<br><br><a href="javascript:void(0);" onclick="bubbleHide(this);"><img align="right" src="img/'+lang+'/btn_ok.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;"></a>');
}
function bubbleAlertOL(msg, onclose, target, align)
{
	if (!target) { target = window; align = 'c'; }
	domOnLoad(function() {
		bubbleShow('main', target, '300,a,ec,'+align+',,'+(onclose ? onclose : ''), msg + '<br><br><a href="javascript:void(0);" onclick="bubbleHide(this);'+(onclose ? onclose : '')+'"><img align="right" src="img/'+lang+'/btn_ok.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;"></a>');
	});
}

function bubbleInfo(msg, onclose, target, align)
{
	if (!target) { target = window; align = 'c'; }
	bubbleShow('main', target, '300,a,ic,'+align+',,'+(onclose ? onclose : ''), msg + '<br><br><a href="javascript:void(0);" onclick="bubbleHide(this);'+(onclose ? onclose : '')+'"><img align="right" src="img/'+lang+'/btn_ok.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;"></a>');
}
function bubbleInfoBig(msg, onclose, target, align)
{
	if (!target) { target = window; align = 'c'; }
	bubbleShow('main', target, '500,a,ic,'+align+',,'+(onclose ? onclose : ''), msg + '<br><br><a href="javascript:void(0);" onclick="bubbleHide(this);'+(onclose ? onclose : '')+'"><img align="right" src="img/'+lang+'/btn_ok.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;"></a>');
}
function bubbleInfoTO(msg, timeout, target, align)
{
	if (!target) { target = window; align = 'c'; }
	bubbleShow('main', target, '300,a,ic,'+align+','+timeout, msg + '<br><br><a href="javascript:void(0);" onclick="bubbleHide(this);"><img align="right" src="img/'+lang+'/btn_ok.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;"></a>');
}
function bubbleInfoOL(msg, onclose, target, align)
{
	if (!target) { target = window; align = 'c'; }
	domOnLoad(function() {
		bubbleShow('main', target, '300,a,ic,'+align+',,'+(onclose ? onclose : ''), msg + '<br><br><a href="javascript:void(0);" onclick="bubbleHide(this);'+(onclose ? onclose : '')+'"><img align="right" src="img/'+lang+'/btn_ok.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;"></a>');
	});
}

var g_bubbleBtnConfirm_btn = false;
var g_bubbleBtnConfirm_do = false;
function bubbleBtnConfirmDo(obj, clicked)
{
	bubbleHide(obj);
	if (g_bubbleBtnConfirm_btn && clicked) {
		g_bubbleBtnConfirm_do = true;
		window.setTimeout('g_bubbleBtnConfirm_btn.click();g_bubbleBtnConfirm_btn=false;', 20);
	}
}
function bubbleBtnConfirm(obj, msg, target, align)
{
	if (g_bubbleBtnConfirm_do) {
		g_bubbleBtnConfirm_do = false;
		return true;
	}
	g_bubbleBtnConfirm_btn = obj;
	if (!target) { target = window; align = 'c'; }
	bubbleShow('main', target, '300,a,qc,'+align+',,bubbleBtnConfirmDo(this,false);', msg + '<br><br><a href="javascript:void(0);" onclick="bubbleBtnConfirmDo(this,true);"><img align="right" src="img/'+lang+'/btn_yes.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;" hspace="4"></a><a href="javascript:void(0);" onclick="bubbleBtnConfirmDo(this,false);"><img align="right" src="img/'+lang+'/btn_no.png" width="80" height="20" alt="OK" border="0" style="margin-top:4px;" hspace="4"></a>');
	domEventPreventDefault()
	domEventCancelBubble()
	return false;
}

////////////////////////////////////////////////////////////////////////////////

function textboxCheckAllowedChars(obj, allowed)
{
	allowed = '^' + allowed + '$';
	var out = obj.value;
	while (out.length > 0 && !out.match(allowed)) {
		out = out.slice(0, -1);
	}
	if (obj.value != out) obj.value = out;
}

function textboxCheckPixelWidth(obj, classWidth)
{
	while (true) {
		var _body = domGetBody();
		var t = classWidth.split(':');
		var tmp = document.createElement('SPAN');
		tmp.innerText = obj.value;
		if (t.length > 1) tmp.className = t[0];
		tmp.style.visibility = 'hidden';
		_body.appendChild(tmp);
		var realWidth = tmp.offsetWidth;
		domRemove(tmp);
		if (realWidth < t[t.length-1] || t[t.length-1] < 5) return;
		obj.value = obj.value.substring(0, obj.value.length-1);
	}
}

function checkboxClick(obj)
{
	var input = domGetPrevious(obj, 'INPUT');
	var img = domGet(input.id+'_Img');
	if (!img) {
		alert('checkboxClick: img not found (' + input.id+'_Img' + '/' + obj + '/' + obj.id + ')');
		return;
	}
	var src = img.src.substring(img.src.lastIndexOf('/')+1);
	if (src == 'checkbox_ON.gif') {
		img.src = 'img/'+lang+'/checkbox_OFF.gif';
		input.checked = false;
	} else if (src == 'checkbox_OFF.gif') {
		img.src = 'img/'+lang+'/checkbox_ON.gif';
		input.checked = true;
	} else if (src == 'checkbox_ON_error.gif') {
		img.src = 'img/'+lang+'/checkbox_OFF_error.gif';
		input.checked = false;
	} else if (src == 'checkbox_OFF_error.gif') {
		img.src = 'img/'+lang+'/checkbox_ON_error.gif';
		input.checked = true;
	}
	domFireEvent(input, 'onchange');
}

function radioClick(obj)
{
	var input = domGetPrevious(obj, 'INPUT');
	var img = domGet(input.id+'_Img');
	if (!img) {
		alert('radioClick: img not found (' + input.id+'_Img' + '/' + obj + '/' + obj.id + ')');
		return;
	}
	var allInputs = document.getElementsByTagName('INPUT');
	for (var i=0; i<allInputs.length; i++) {
		if (allInputs[i].name == input.name) {
			var img2 = domGet(allInputs[i].id+'_Img');
			var src = img2.src.substring(img2.src.lastIndexOf('/')+1);
			if (src == 'radio_ON.gif') {
				img2.src = 'img/'+lang+'/radio_OFF.gif';
				allInputs[i].checked = false;
				domFireEvent(allInputs[i], 'onchange');
			} else if (src == 'radio_ON_error.gif') {
				img2.src = 'img/'+lang+'/radio_OFF_error.gif';
				allInputs[i].checked = false;
				domFireEvent(allInputs[i], 'onchange');
			}
		}
	}
	var src = img.src.substring(img.src.lastIndexOf('/')+1);
	if (src == 'radio_OFF.gif') {
		img.src = 'img/'+lang+'/radio_ON.gif';
		input.checked = true;
		domFireEvent(input, 'onchange');
	} else if (src == 'radio_OFF_error.gif') {
		img.src = 'img/'+lang+'/radio_ON_error.gif';
		input.checked = true;
		domFireEvent(input, 'onchange');
	}
}

function textareaCheckAllowedChars(obj, allowed)
{
	allowed = '^' + allowed + '$';
	var out = obj.value;
	while (out.length > 0 && !out.match(allowed)) {
		out = out.slice(0, -1);
	}
	if (obj.value != out) obj.value = out;
}

function textareaCheckMaxLength(obj, len)
{
	if (obj.value.length > len) obj.value = obj.value.substring(0, len);
}

var gComboboxCurrent = -1;

function comboboxOutsideClick()
{
	if (!gComboboxCurrent || gComboboxCurrent == -1) return;
	var inputValue = gComboboxCurrent;
	var inputText = inputValue.nextSibling;
	var selector = domGet(inputValue.id+'_select');
	var c = domEventGetTarget();
	while (c) {
		if (c == selector) return;
		c = c.parentNode;
	}
	comboboxClose(inputText);
}

function comboboxClose()
{
	if (!gComboboxCurrent || gComboboxCurrent == -1) return;
	var inputValue = gComboboxCurrent;
	var inputText = inputValue.nextSibling;
	var selector = domGet(inputValue.id+'_select');
	selector.style.visibility = 'hidden';
	gComboboxCurrent = null;
}

function comboboxOpen(obj)
{
	if (obj.tagName == 'INPUT') {
		var inputText = obj;
		var inputValue = inputText.previousSibling;
	} else {
		var inputValue = obj.parentNode.parentNode.previousSibling.firstChild;
		var inputText = inputValue.nextSibling;
	}
	var selector = domGet(inputValue.id+'_select');
	if (selector.style.visibility == 'visible') {
		comboboxClose(obj);
		return;
	}
	selector.style.visibility = 'visible';
	if (gComboboxCurrent == -1) domAttachEvent(domGetBody(), 'onmousedown', comboboxOutsideClick);
	gComboboxCurrent = inputValue;
}

function comboboxSelect(option)
{
	if (!gComboboxCurrent || gComboboxCurrent == -1) return;
	var inputValue = gComboboxCurrent;
	var inputText = inputValue.nextSibling;
	var selector = domGet(inputValue.id+'_select');
	inputText.value = option.innerHTML.replace(/<br>/gi,"\n").replace(/<[^>]+>/g,"");
	inputValue.value = unescape(option.id.substring(inputValue.id.length+10));
	if (inputText.onchange) inputText.onchange();
	comboboxClose();
}

////////////////////////////////////////////////////////////////////////////////

var g_scrollObj = false;
var g_scrollTarget = 0;

function scrollTimer()
{
	var cur = parseInt(g_scrollObj.style.top);
	cur = (cur + g_scrollTarget) / 2;
	g_scrollObj.style.top = cur+'px';
	g_curTimerStep++;
	if (g_curTimerStep > 6) endTimer(scrollTimerEnd);
}

function scrollTimerEnd()
{
	g_scrollObj.style.top = g_scrollTarget+'px';
}

function scrollDiv(target, isDown, stepSize)
{
	endTimer(false);
	g_scrollObj = domGet(target);
	if (isDown) {
		g_scrollTarget = Math.max(-g_scrollObj.offsetHeight+g_scrollObj.parentNode.offsetHeight,parseInt(g_scrollObj.style.top)-stepSize);
		setTimer(scrollTimer, scrollTimerEnd);
	} else {
		g_scrollTarget = Math.min(0, parseInt(g_scrollObj.style.top)+stepSize);
		g_scrollTarget -= ((g_scrollTarget+stepSize*100)%stepSize);
		setTimer(scrollTimer, scrollTimerEnd);
	}
	return false;
}

function scrollDoubleClick()
{
	if (browserType != 'ie') return true;
	var target = domEventGetTarget();
	domFireEvent(target, 'onclick');
}

////////////////////////////////////////////////////////////////////////////////

function swapImage(id, s)
{
	var img = domGet(id);
	if (!img || !img.src) return;
	if (img.swapImageStick) return;
	if (s ^ (img.src.indexOf('_over') > 0) == false) return;
	img.src = s ? img.src.replace(/([^\/]+)(\.[a-z]+)$/i, '$1_over$2') : img.src.replace(/_over/, '');
}

function toggleDisplay(id)
{
	var obj = domGet(id);
	if (!obj || !obj.style) return;
	obj.style.display  = (obj.style.display == 'none') ? 'inline' : 'none';
}

function toggleHelp()
{
	toggleDisplay('divHelp');
	domGet('icoHelp').src = (domGet('divHelp').style.display == 'none') ? 'img/'+lang+'/arrow_down.gif' : 'img/'+lang+'/arrow_up.gif';
}

function toggleTab(id, listOfTabs)
{
	for (var i=1; i<toggleTab.arguments.length; i++) {
		var obj = domGet(toggleTab.arguments[i]);
		if (!obj || !obj.style) continue;
		if (toggleTab.arguments[i] == id) {
			obj.style.display = 'inline';
		} else {
			obj.style.display = 'none';
		}
	}
}

function popup(width, height, name, scroll, href)
{
	var a = domGetParent(domEventGetTarget(), 'A');
	if (a) {
		if (!name) name = '';
		if (!scroll) scroll = 'no'; else scroll = 'yes';
		if (!href) href = a.href;
		var w = window.open(href, name, 'width='+width+',height='+height+',menubar=no,location=no,status=yes,toolbar=no,scrollbars='+scroll);
		if (w) {
			//domEventPreventDefault();
			//domEventCancelBubble();
			return false;
		}
	}
}

function popupClose(reload)
{
	if (window.opener) {
		if (reload) if (window.opener.location) window.opener.location.reload();
		window.close();
	} else {
		history.back();
	}
}

////////////////////////////////////////////////////////////////////////////////

function setLanguage(lang)
{
    var allowedLangs = new Array("de", "fr", "cs", "en", "ru", "us", "it", "sv", "tr", "da", "pl", "es", "nl");
    
	lang = lang.toLowerCase();
	if (lang == 'sw') lang = 'sv';
	if (lang == 'tc') lang = 'cs';
	if (lang == 'gr') lang = 'el';
	
	if(!allowedLangs.in_array(lang)){
	   alert('Sorry, this language is not yet available!');
	   return; 
	}
	
	var tmp = location.href.replace(/[?&]locale=../g, '');
	var tmp = location.href.replace(/\#/g, '');
	tmp += ((tmp.indexOf('?') >= 0) ? '&' : '?') + 'locale=' + lang;
	
	location.href = tmp;
}

////////////////////////////////////////////////////////////////////////////////

function formatNumber(nr, dec)
{
	var r = '';
	var a = (""+nr).split(/\./, 2);
	var b = a[0];
	for (var i=0; i<b.length; i+=3) r = b.substring(b.length-i-3, b.length-i) + '.' + r; r = r.slice(0, -1);
	if (dec) {
		var c = parseInt(a[1]);
		var b = (isNaN(c) ? '' : c)  + '00000000000000000';
		r += ',' + b.slice(0, dec);
	}
	return r;
}

////////////////////////////////////////////////////////////////////////////////

var g_formCheckReload = false;
function formCheckReload()
{
	if (g_formCheckReload) return false;
	g_formCheckReload = true;
	return true;
}

// dummy function - so the translation tool sees what to translate in script blocks
function translate(x)
{
	return x;
}

//////////////////////////////////////////////////////////////////////////////// main menu

startList = function() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		if(navRoot) {
    		for (i=0; i<navRoot.childNodes.length; i++) {
    			node = navRoot.childNodes[i];
    			if (node.nodeName=="LI") {
    				node.onmouseover=function() {
    					this.className+=" over";
    				}
    				node.onmouseout=function() {
    					this.className=this.className.replace(" over", "");
    				}
    			}
    		}
		}
	}
}
window.onload=startList;

////////////////////////////////////////////////////////////////////////////////

function bannerStellen(show){
	if(show == '0'){
		document.getElementById('bannerStellen').style.display = 'block';
	}else{
		document.getElementById('bannerStellen').style.display = 'none';
	}
}
function closeStellen(){
	document.getElementById('bannerStellen').style.display = 'none';
	if (document.bannerStellen.saveStellen.checked){
		document.bannerStellen.submit();
	}
}
function bannerLaenderspiel(show){
	if(show == '0'){
		document.getElementById('bannerLaenderspiel').style.display = 'block';
	}else{
		document.getElementById('bannerLaenderspiel').style.display = 'none';
	}
}
function closeLaenderspiel(){
	document.getElementById('bannerLaenderspiel').style.display = 'none';
	if (document.bannerLaenderspiel.saveLaenderspiel.checked){
		document.bannerLaenderspiel.submit();
	}
}
function showAGB(show){

	if(show == '0'){
		document.getElementById('agbLayer').style.display = 'block';
	}else{
		document.getElementById('agbLayer').style.display = 'none';
	}
}
function saveAgbs(){
	if (document.getElementById('saveAGB').checked) {
    	document.getElementById('agbLayer').style.display = 'none';
		document.getElementById('formAGB').submit();
	}
}

// Message System
function sendMessage(userID, clanID, messageID){

    var url = '';

    if(clanID > 0) url = '&clanMessage='+clanID;

    if(messageID > 0) url += '&replyMessageID='+messageID;

    wstat=window.open("indexInternal.es?action=internalProfileMessageWrite&recipient="+userID+""+url+"&"+sid,'',"scrollbars=no,statusbar=no,toolbar=no,location=no,directories=no,resizable=no,menubar=no,width=400,height=400");

    wstat.focus();

}

function sendMessageThisWindow(userID, clanID, messageID){

    var url = '';

    if(clanID > 0) url = '&clanMessage='+clanID;

    if(messageID > 0) url += '&replyMessageID='+messageID;

    window.location.href = "indexInternal.es?action=internalProfileMessageWrite&recipient="+userID+""+url+"&"+sid;

    return false;
}



function deleteMessage(id, type, start) {

	var page = 'indexInternal.es?action=internalMessages&deleteID='+id+'&type='+type+'&start='+start+'&'+sid;

	location = page;
  
}

function AllMessages()

 {

   for(var x=0;x<document.messages.elements.length;x++)

	 { var y=document.messages.elements[x];

	   if(y.name!='check') y.checked=document.messages.check.checked;

	 }

 }
