function get_cookie(name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(name + "=");
		if (c_start!=-1) {
			c_start=c_start + name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}
var lang = get_cookie('language');

if ( lang != '' && lang != 'en' ) {
   	google.load("language", "1");
   	
	function traverseTree(foo, searchNode) {
		var childNodes = (searchNode || document.body).childNodes;
	    var cnLength = childNodes.length;
	    var excludes = ',html,head,style,title,link,meta,script,object,iframe,';
	    var translatable_atts = ['alt', 'title', 'value'];
	    while (cnLength--) {
	        var currentNode = childNodes[cnLength];
	        if (jQuery(currentNode).hasClass('dont-translate')) {
	        	continue;
	        }
	        if (currentNode.nodeType === 1 ) {
	            arguments.callee(foo, currentNode);
	        }
	        if (currentNode.attributes != null) {
	        	for (var i=0; i < translatable_atts.length; i++) {
	        		var att = translatable_atts[i];
	        		if (currentNode.nodeType==1 && currentNode.getAttribute(att)) {
	        			var _currentNode = currentNode;
	        			google.language.translate(currentNode.getAttribute(att), 'en', lang, function(result) {
							if (result.translation) {
								_currentNode.setAttribute(att, result.translation);
							}
						});
						_currentNode.setAttribute(att, '');
	        		}
	        	};
	        }
	        if (currentNode.nodeType !== 3 && (excludes).indexOf(',' + currentNode.nodeName.toLowerCase() + ',') === -1) {
	            continue;
	        }
	        var str = jQuery.trim(currentNode.data);
	        if ( str == '') {continue; };
	       	if (str.length > 1) {
				google.language.translate(jQuery.trim(str), 'en', lang, function(result) {
					if (result.translation) {
						currentNode.data = result.translation;
					}
				});
	       	};
	        currentNode.data = '';
	    }
	}
    google.setOnLoadCallback(traverseTree);
};


jQuery(function($){
	var lang = get_cookie('language');
	
	if (!lang) {
		var local_code = window.local;
		if ($('#lang-' + local_code).length) {
			lang = local_code;
			document.cookie = 'language=' + lang;
			window.location = window.location;
		}
	}

	if ( lang != '' && lang != 'en' ) {
		var img = $('#language-bar .current > img');
		var current = img.attr('src');
		img.attr('src', current.replace(/lang-[^.]*\.gif*/, 'lang-' + lang + '.gif'));
	}
	
	$('#language-bar a').click(function() {
		var lang = $(this).attr('href').match(/\#lang=(.*)/);
		if ( typeof(lang[1]) == 'undefined' ) {
			return false;
		};
		lang=lang[1];
		document.cookie = 'language=' + lang;
		window.location = window.location;
		
		var lang = $(this).attr('class');
		$('.choose-language .current img').fadeOut('fast',function(){ 
			var curr_src = $(this).attr('src');
	
			$(this).attr('src', curr_src.replace(/lang-[^.]*\.gif/, 'lang-' + lang + '.gif')).fadeIn('fast');
			$(this).parents('.choose-language').animate({
				left: -150
			}, {
				queue: false,
				duration: 500
			});
		 });
		return false;
	});
});
