

// put a transparent div over the parent and show the ajax-loader image
function show_busy_form(parent_id) {
	if ($('busy_form_div'))
		return;

	var p = $(parent_id);
	
	var c = document.createElement('div');
	c.id = 'busy_form_div';
	c.style.width = p.offsetWidth + 'px';
	c.style.height= p.offsetHeight+ 'px';
	c.style.backgroundColor = '#000000';
	c.style.position = 'absolute';
	c.style.opacity=0.4;
	c.style.filter = 'alpha(opacity=40)';
	c.style.zIndex = 1000;
	c.style.textAlign = 'center';
	
	var i = document.createElement('img');
	i.src = '/css/images/ajax-loader.gif';
	c.appendChild(i);
	
	hideIE6Elements($(parent_id));
	p.insertBefore(c, p.firstChild);

	i.style.marginTop = (p.offsetHeight/2 - 21) + 'px';		// vertical center image
}

// remove transparent div
function remove_busy_form() {
	if ($('busy_form_div')) {
		showIE6Elements($('busy_form_div').parentNode);
		$('busy_form_div').parentNode.removeChild($('busy_form_div'));
	}
}

// hide <select>-elements for IE6
function hideIE6Elements(parent_obj) {
	if (!Prototype.Browser.IE || !navigator.appVersion.match('MSIE 6.0'))
		return;

	var items = parent_obj.getElementsByTagName('select');

	for(x=0; x < items.length; x++) {
		items[x].style.visibility = 'hidden';
	}
}

// show <select>-elements for IE6
function showIE6Elements(parent_obj) {
	if (!Prototype.Browser.IE || !navigator.appVersion.match('MSIE 6.0'))
		return;

	var items = parent_obj.getElementsByTagName('select');

	for(x=0; x < items.length; x++) {
		items[x].style.visibility = 'visible';
	}
}

function trim(value) {
	value = value.replace(/^\s+/,''); 
	value = value.replace(/\s+$/,'');
	return value;
}

// translate2lng() - src_lng can be '', google will use auto-detect..
function translate2lng(container_object, src_lng, target_lng) {
	if ($('google_branding') && !$('google_branding').branding_set) {
		$('google_branding').branding_set = 1;
		$('google_branding').style.display = 'block';
		google.language.getBranding('google_branding');
	}
	
	var eols = new Array('\n', '<br/>', '<br>', '</p>', '</h1>', '.');
	
	
	var t1 = trim(container_object.innerHTML);
	chunks = new Array();
	
	start=0;
	chunk_no = 0;
	chunk_length = 900;
	while (start < t1.length) {
		chunk = t1.substring(start, start+chunk_length);
		
		lio = 0;
		if (start + chunk_length < t1.length) {
			for(x=0; x < eols.length; x++) {
				i = chunk.toLowerCase().lastIndexOf(eols[x]);
				if (i > lio)
					lio = i + eols[x].length;
			}
		}
		if (lio == 0) lio = chunk_length;
		
		chunk = chunk.substring(0, lio);
		chunks.push(chunk);
		start = start + chunk.length;
		chunk_no++;
	}
	
	for(var x=0; x < chunks.length; x++) {
		var original_text = chunks[x];
		var co = container_object;
		
		// call function, else variables get overriden :/
		__do_translate2lng(container_object, src_lng, target_lng, original_text);
	}
}

function __do_translate2lng(container_object, src_lng, target_lng, original_text) {
	google.language.translate(original_text, src_lng, target_lng, function(result) {
		if (result.error || !result.translation)
			return;
		
		container_object.innerHTML = container_object.innerHTML.replace(original_text, result.translation);
	});
}
