
var sLang = 'en';
var sLabel = 'Back to English';
var encoding = 'UTF8';
var transURL = 'http://www.google.com/translate?';


var sId = 'trans-frame';
var tId = 'trans-togglers';
var tTagName = 'LI';


var sWindow = document.getElementById(sId);
var tHolder = document.getElementById(tId);
var tFrames = {};


function tFrame(sFrameObj, langCode, togglerObj) {
	var me = this;
	var lang = langCode||false;

	me.show = function() {
		me.obj.style.display = '';
		if (me.toggler) {
			me.toggler.className = me.toggler.className.replace('tt-hidden', 'tt-visible');
			me.toggler.innerHTML = sLabel;
		}
	};

	me.hide = function() {
		me.obj.style.display = 'none';
		if (me.toggler) {
			me.toggler.className = me.toggler.className.replace('tt-visible', 'tt-hidden');
			me.toggler.innerHTML = me.label;
		}
	};

	if (lang) {
		me.obj = sFrameObj.cloneNode(false);

		me.obj.id = sFrameObj.id +'-'+ langCode;
		me.obj.src = transURL+'u='+encodeURIComponent(sFrameObj.src)+'&langpair='+sLang+'|'+lang+'&hl='+lang+'&ie='+encoding;
		me.hide();

		me.obj = sFrameObj.parentNode.insertBefore(me.obj, sFrameObj);
		me.toggler = togglerObj||false;
	} else {
		me.obj = sFrameObj;
		me.toggler = false;
	}

	if (me.toggler) {
		me.label = me.toggler.innerHTML;
	}
}

function toggleTranslate(e) {
	if (e) {
		e.preventDefault();
	}

	var lang = this.lang||'ru';

	if (!tFrames[lang]) {
		tFrames[lang] = new tFrame(sWindow, lang, this);
	}

	if (activeLang != lang) {
		// show another (clicked) lang
		tFrames[activeLang].hide();
		tFrames[lang].show();
		activeLang = lang;
	} else {
		// show source lang
		tFrames[activeLang].hide();
		tFrames[sLang].show();
		activeLang = sLang;
	}

	return false; // preventDefault
}


// Job
if (sWindow && tHolder) {
	tFrames[sLang] = new tFrame(sWindow);
	var activeLang = sLang;

	// gather and fetch togglers
	var togglers = tHolder.getElementsByTagName(tTagName);
	for (var i=0, c=togglers.length; i<c; i++) {
		togglers[i].className = togglers[i].className + ' tt-hidden';

		togglers[i].onclick = toggleTranslate;
	}
}



