if (google) {
	google.load("language", "1");
	google.setOnLoadCallback(function () {
		googleLangLoaded = true;
		startTranslate();
	});
}

function translateElement(el) {
	el = Ext.get(el);
	if ( el && el.dom && el.dom.innerHTML && el.dom.innerHTML != '' ) {
		google.language.translate(Ext.get(el).dom.innerHTML, "en", lang, function(result) {
			if (typeof(result.translation) != "undefined" && result.translation != '' ) { 
				Ext.get(el).update(result.translation);
			}
		});
	}
}

function startTranslate() {
	return;
	if ( googleLangLoaded && pageLoaded && !translated ) {
		if ( Ext.get('langselect') ) { Ext.get('langselect').setVisible(true); }
		if ( Ext.get('hrlangselect') ) { Ext.get('hrlangselect').setVisible(true); }
	}
	if ( lang != 'en' && googleLangLoaded && pageLoaded && !translated ) {
		var url = window.location.href;
		google.language.getBranding('googlebranding');
		if ( url.match(/\...\.cfm/) ) {
			Ext.each(Ext.getDoc().query('#topnavbar > li'), function (el) {
				translateElement(el);
			});
			Ext.each(Ext.getDoc().query('#sidebar li a'), function (el) {
				translateElement(el);
			});
		} else {
			//translateElement(Ext.get('callnow'));
			//translateElement(Ext.get('pagecontent'));
			Ext.each(Ext.getDoc().query('h1'), function (el) {
				translateElement(el);
			});
			Ext.each(Ext.getDoc().query('p'), function (el) {
				translateElement(el);
			});
			Ext.each(Ext.getDoc().query('#topnavbar > li'), function (el) {
				translateElement(el);
			});
			Ext.each(Ext.getDoc().query('#sidebar li a'), function (el) {
				translateElement(el);
			});
			/*
			Ext.each(Ext.getDoc().query('li'), function (el) {
				translateElement(el);
			}); */
		}
		translated = true;
	}
}

function setLangToEl(el) {
	if ( el = Ext.get(el) ) {
		setLang(el.getValue());
	}
}

function setElToLang(el,lang) {
	if ( el = Ext.get(el) ) {
		for ( i=0; i<el.dom.options.length; i++ ) {
			if ( el.dom.options[i].value == lang ) {
				el.dom.selectedIndex = i;
				return;
			}
		}
	}
}

function setLang(newlang) {
	createCookie('lang', newlang);
	if ( lang != newlang ) {
		document.location.reload();
	}
}

function startLang() {
	if ( !google || ! google.loader || !google.loader.ClientLocation ) {
		cc = 'US';
	} else {
		cc = google.loader.ClientLocation.address.country_code;
	}

	// Setup content by country
	if ( cc == "US" ) {
		// no need to change -- here for testing
	} else if ( cc == "UK" || cc == "IE" ) {
		Ext.get('callnow').update('CALL NOW<br><span style="font-size: 13px; font-weight: bold;">+44 (0) 203-355-3160</span><br><span style="font-style: italic; font-size: 11px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(United Kingdom)</span>');
	} else {
		Ext.get('callnow').update('CALL NOW<br><span style="font-size: 16px; font-weight: bold;">+1-303-444-1600</span><br><span style="font-style: italic; font-size: 11px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(International)</span>');
	}

	// Setup default lang by country unless cookie set
	if ( readCookie("lang") ) {
		lang = readCookie("lang");
		if ( lang == 'de' ) {
			lang = 'en';
			eraseCookie("lang");
		}
	} else {
		if ( cc == "US" ) {
			// no need to change -- here for testing
		} else if ( cc == "AO" || cc == "BR" || cc == "CV" || cc == "TP" || cc == "GW" || cc == "MZ" || cc == "PT" || cc == "ST" ) {
			// Portuguese
			lang = 'pt';
		//} else if ( cc == "AT" || cc == "DE" ) {
			// German
			//lang = 'de';
		} else if ( cc == "JP" ) {
			// Japanese
			//lang = 'ja';
		} else if ( cc == "CN" ) {
			// Chinese
			//lang = 'zh';
		} else if ( cc == "MX" || cc == "AR" || cc == "BZ" || cc == "BO" || cc == "CL" || cc == "DO" || cc == "CU" || cc == "CR" || cc == "CO" || cc == "CL" || cc == "EC" || cc == "SV" || cc == "PE" || cc == "PR" || cc == "ES" || cc == "VE" ) {
			// Spanish
			//lang = 'es';
		}
	}
	setElToLang('langselect', lang);
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
