function focusField(id)
{
	if(id)
	{
		try
		{
			document.getElementById(id).focus();
		}
		catch(e) {}
	}
}
//////////////////////////
function Tools()
{
}
Tools.isIE = function()
{
	return window.navigator.userAgent.match('MSIE') ? true : false;
}
Tools.getClientWidth = function()
{
	return document.compatMode == 'CSS1Compat' && !window.opera ? document.documentElement.clientWidth : document.body.clientWidth;
}
Tools.getClientHeight = function()
{
	return document.compatMode == 'CSS1Compat' && !window.opera ? document.documentElement.clientHeight : document.body.clientHeight;
}
Tools.getBodyScrollTop = function()
{
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}
Tools.getBodyScrollLeft = function()
{
	return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}

Tools.addEventListener = function(el,sEvent,listener)
{
	sEvent = sEvent.indexOf('on') == 0 ? sEvent.replace('on', '') : sEvent;
	if(el.addEventListener)
	{
		el.addEventListener(sEvent, listener, false); 
	}
	else if(el.attachEvent)
	{
		el.attachEvent('on' + sEvent, listener);
	}
}
//////////////////////////
function Cookie()
{
}
Cookie.get = function(name) 
{
	var cookie = ' ' + document.cookie;
	var search = ' ' + name + '=';
	var setStr = null;
	var offset = 0;
	var end = 0;
	if(cookie.length > 0) 
	{
		offset = cookie.indexOf(search);
		if(offset != -1) 
		{
			offset += search.length;
			end = cookie.indexOf(';', offset)
			if(end == -1) 
			{
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return setStr;
}
		
Cookie.set = function(name,value,expires,path,domain,secure) 
{
	document.cookie = name + '=' + escape(value) +
	((expires) ? '; expires=' + expires : '') +
	((path) ? '; path=' + path : '') +
	((domain) ? '; domain=' + domain : '') +
	((secure) ? '; secure' : '');
}
//////////////////////////
function showVideo()
{
	try
	{
		document.getElementById('video_box').style.visibility = 'visible';
	}
	catch(e) {}
}
function hideVideo()
{
	try
	{
		document.getElementById('video_box').style.visibility = 'hidden';
	}
	catch(e) {}
}
//////////////////////////
modals = new Array;
var overdiv;
function showModal(dialog)
{
	if(modals.length == 0)
	{
		hideVideo();
		overdiv = document.getElementById('overdiv');
		if(!overdiv)
		{
			alert('Please wait until page is loaded.');
			return false;
		}
		overdiv.style.top = '0px';
		overdiv.style.left = '0px';
		overdiv.style.display = 'block';
		overdiv.style.zIndex = 98;
		if(!Tools.isIE())
		{
			overdiv.style.height = '100%';
			overdiv.style.position = (Tools.isIE() ? 'absolute' : 'fixed');
		}
	}
	else
	{
		if(modals[modals.length-1] == dialog)
		{
			return false;
		}
	}
	overdiv.style.zIndex = parseInt(overdiv.style.zIndex) + 2;
	modals.push(dialog);
	dialog.style.display = 'block';
	dialog.style.zIndex = parseInt(document.getElementById('overdiv').style.zIndex) + 1;
	dialog.style.position = (Tools.isIE() ? 'absolute' : 'fixed');
	dialog.style.left = ((Tools.getClientWidth() - dialog.clientWidth) / 2) + 'px';
	dialog.style.top = ((Tools.getClientHeight() - dialog.clientHeight) / 2) + 'px';
	dialog.style.visibility = 'visible';
}
function hideModal()
{
	try
	{
		dialog = modals.pop();
		dialog.style.visibility = 'hidden';
		dialog.style.display = 'none';
		document.getElementById('overdiv').style.zIndex = parseInt(document.getElementById('overdiv').style.zIndex) - 2;
	}
	catch(e) {}
	if(modals.length == 0)
	{
		document.getElementById('overdiv').style.display = 'none';
		showVideo();
	}
}
//////////////////////////
function showAlert(text,title,closeParent)
{
	if(!title)
	{
		title = 'Alert';
	}
	if(closeParent)
	{
		hideModal();
	}
	dialog = document.getElementById('alert_dialog');
	showModal(dialog);
	document.getElementById('alert_title').innerHTML = title;
	document.getElementById('alert_text').innerHTML = text;
	document.getElementById('alert_ok').focus();
}
/////////////////////////
function translateVideo(id)
{
	document.getElementById('translateVideo_video_id').value = id;
	return xajax_translate_entity('Video',id);
}
function translateImage(id)
{
	document.getElementById('translateImage_image_id').value = id;
	return xajax_translate_entity('Image',id);
}
function translateTag(id)
{
	document.getElementById('translateTag_tag_id').value = id;
	return xajax_translate_entity('Tag',id);
}
offerAutomaticTranslation_progress = false;
function offerAutomaticTranslation(entity_type)
{
	if(offerAutomaticTranslation_progress == false)
	{
		offerAutomaticTranslation_progress = true;
		showModal(document.getElementById('busy_window'));
		xajax_translate_entity(entity_type,document.getElementById('translate' + entity_type + '_' + entity_type.toLowerCase() + '_id').value,document.getElementById('translate' + entity_type + '_language_id').value,'translate');
	}
}