var defaultEncoding = 2; <!-- 1: w, 2:  -->
var translateDelay = 0;
var cookieDomain = "http://www.bigbigben.cn/"; <!-- ΪĲַ -->
var msgToTraditionalChinese = "w"; <!-- ˴ԸΪҪʾ -->
var msgToSimplifiedChinese = "";  <!-- ͬϣ -->
var translateButtonId = "translateLink";

var currentEncoding = defaultEncoding;
var targetEncodingCookie = "targetEncoding" + cookieDomain.replace(/\./g,"");
var targetEncoding = ( getCookie(targetEncodingCookie) == null ? defaultEncoding : getCookie(targetEncodingCookie) );
var translateButtonObject;

function translateText( txt )
{
	if( txt == "" || txt == null )
		return "";
	if( currentEncoding == 1 && targetEncoding == 2 )
		return Simplized(txt);
	else if ( currentEncoding == 2 && targetEncoding == 1 )
		return Traditionalized(txt);
	else
		return txt;
}

function translateBody( fobj )
{
	if( typeof( fobj ) == "object" )
		var objs = fobj.childNodes;
	else 
		var objs = document.body.childNodes;

	for(var i=0;i<objs.length;i++)
	{
		var obj=objs.item(i);
		if( "||BR|HR|TEXTAREA|".indexOf( "|"+obj.tagName+"|" ) > 0 || obj == translateButtonObject )
			continue;
		if( obj.title != "" && obj.title != null )
			obj.title = translateText( obj.title );
		if( obj.alt != "" && obj.alt != null ) 
			obj.alt = translateText( obj.alt );
		if( obj.tagName == "INPUT" && obj.value != "" && obj.type != "text" && obj.type != "hidden" )
			obj.value = translateText( obj.value );
		if( obj.nodeType == 3 )
			obj.data = translateText( obj.data );
		else 
			translateBody(obj);
	}
}

function translatePage()
{
	if( targetEncoding == 1 )
	{
		currentEncoding  = 1;
		targetEncoding = 2;
		translateButtonObject.innerHTML = msgToTraditionalChinese;
		setCookie( targetEncodingCookie, targetEncoding, 7 );
		translateBody();
	}
	else if( targetEncoding == 2 )
	{
		currentEncoding  = 2;
		targetEncoding = 1;
		translateButtonObject.innerHTML = msgToSimplifiedChinese;
		setCookie( targetEncodingCookie, targetEncoding, 7 );
		translateBody();
	}
}

function JTPYStr()
{
	return 'רҵԶ˿ɥܷΪôϰڿبǲĶڽزǼŻɡΰαӶ½ȿ٭ٯٶٱٲٳծǳϴжڸԲдũڣݼƾۻմɾiٹܼнȰ۽ѫҽЭ¬±ȴ᳧ѹǲóز΅˫Ҷ̾ߴĶ߼߽Ż߿ԱǺӽܻӴy&#65533;|Х࿺԰ΧͼԲʥ۳໵̳ް׹¢ݿѵ눙ǵGǽ׳Ǻ״ͷжۼܽױ橽¦欽测OӤѧʵܹ޶ѰٽҢʬ᫸ᰵᴿNϿiոɍ۹ϱ˧ʦĴ֡᥸ɲׯ®пӦӷώ޿䵯ǿ鵱¼峹黳̬Ҷҳͱ㫲ѵ㳷Ը&#65533;\Ϸս꯻ǤִɨŸҿ£ӵšֿΒ̢ЮӵӒ񻻵°§Яҡ̯ߢߣߥܵի쵶ն޾ʱDoԽɹӻɱȨ追ܼǹɹդջж嵵׮Η¥鷘ƺӣͳݻŷŹ챱ϱձ뵻㺺ûŽٲכhmŢкǳ䥛ǲ䫼䯛Ũ䱛ͿӿЛɬԨ½ʪӜб̲ΫǱֲ¯˸̷ǻ̽Ȼְүǣ״̱Aʨè̡&#65533;_&#65533;`⻷֫o巩竚Q걵续űߴӸ컾&#65533;}̱Ѣ񳰨յμǵשn˶&#65533;}&#65533;~ȷﰭ׼t»ͺֻƻඌ˰ҤѿȼɸYݳǩ¨׽ԼγɴڷֽƷŦϸ֯称ﾭ窰޽笻Ѥͳ篾м簼糴ά緱׺罼翼綶ĻƱԵƸǷɲӧٽ޷ʳְ೦вʤֽŧNHܳսܼ«έɲƻ뾣QٻӫݡݣݥݤݦݧҩݰݯݪݫݲݵӨݺݻ&#65533;[өӪ޽Ǿޭ޴޻޺²ϺʴӬЫ΅&#65533;]βЄϮBװTϿ&#65533;[&#65533;_&#65533;`ԀڥƶϼڦڧڨѵѶךکڪګכϷþ֤ڬڭʶלթڮߴڰگםڱڲڳڴʫڵڶڷڸڹѯںڻڼמڽھջڿ˵ŵ·̿˭ŵ׻̸ıȵгνβנлҥǫ׽á̷Ǵ߹k긺OͰ˻ʷ̰ƶṺܴᷡóѺ޼ֻ¸޸ʹPQR׸׬SӮWԸԾȼQӻaתbԹcꣷdԯϽշꥴǱɴǨ˻ԶΥɼѡѷңۣۧۦ֣۩۪ǵN⠼붤ǥ蕷藸Ѷ۳ƱԿվٹťǮǯܲǦíͭաϳ綠ҿﭳﲷпêസ׶ĶABͶþCDָFG޾HIJⳤ&#65533;\ʴȼբֹ&#65533;]&#65533;^ղ&#65533;_&#65533;`a׼½¤ѳùΤ킺ҳ˳˶Ԥ­ľFGƵHIӱJնKȧrstuvƮ쮷𗼢α¶ڹȲ&#65533;@AԦѱR¿ʻפS溧TUVWXƭYɧZ³&#65533;@𯼦&#65533;\Ÿѻ&#65533;]Ѽ&#65533;^&#65533;_ԧ&#65533;`abcȵdefghiklmnoϺprӥstdػ촳ȣ־ֻϵû׼ӱиɾƴ';
} 

function FTPYStr()
{
	return 'fchI&#65533;|zGɇʂSReNxlIy̝녁aHC&#65533;|Hā&#65533;}xrⷕゥt΁wNLbHeɂȃS&#65533;~zRzAEfhmPdƝBFσȌԌ܊rVTnQrQDRpCPD&#65533;{Pcthe&#65533;}qkՄӄńڄ݄̈́QT&#65533;^tAfuRuPlsSdхBNPha&#65533;^pl׃B&#65533;~̖U&#65533;\nᇘΆw &#65533;`҇IhTJ܆ԁUz߸jy푆&#65533;}&#65533;^􇂇WчO߇ZrK݇mӇc&#65533;[DuڇoF&#65533;@DA&#65533;}ĉKԉȉ&#65533;]ŉŉs&#65533;|N߉P&#65533;_&#65533;|qϠ؉̎&#65533;}&#65533;^FAZYJ&#65533;^WyDKIƋɌDʋzȋ܋ԋߌOW&#65533;\meیmƱMӌڌόÌٌҌՎZqM獏sSuX&#65533;[hGF&#65533;{AnMV􍣍⼹p얎ŎÎ͎ΎLցKVfc&#65533;]T쑪RUF&#65533;[&#65533;_w䛏؏ƶRԑnёBZYzّQÐŐґa&#65533;@֑K͑vܑMTC&#65533;|ؑ𑿑БߑL̔UВߓP&#65533;_ᒁoMnrQܓ쓴钶ϓגD&#65533;]͓ƓpQvӓSۓvRyzd&#65533;[uPtΔfX&#65533;]x&#65533;\SYؔofr番ҕ&#65533;@xԕϕᄞgCslqܘOЗgnfdŘ˗ɗژ䗫ә藨EnuzEǙΙxM&#65533;{љ&#65533;_geW&#65533;{ݞ֚Кښ菡h&#65533;@e&#65533;]arStI&#65533;{oTaɛܝD&#65533;\&#65533;{۝yҝgIG❡TZiuݜo읙q՜YOn&#65533;^uƝOcB&#65533;[񝢞RsULM&#65533;]VEI˞EutHz&#65533;|l&#65533;`ĠNtcqNTZCa៨Fc۠ӠޠُEwqNM&#65533;{bzsCJMi؈oIH&#65533;^m&#65533;|hFtzkmcq&#65533;\IavYT늮ܮXO󜯏bdW&#65533;{ABVDTca&#65533;`&#65533;]&#65533;_dğ&#65533;}K&#65533;}OwIPg&#65533;{AmC&#65533;\VXau&#65533;^Za&#65533;[ATo&#65533;_&#65533;|K&#65533;~ALYB&#65533;[&#65533;\AUxdNeQxvdwF&#65533;`&#65533;[GZCQ&#65533;]MQVSPa&#65533;{&#65533;\eB&#65533;`Y&#65533;~IUjDXjt&#65533;@hf&#65533;[eigcSZRfo&#65533;{mutqwvswkoxV&#65533;{v&#65533;]y&#65533;~CXMKUOEIB&#65533;[HqYf&#65533;@xWLok&#65533;{j&#65533;^gyCd&#65533;^wcxm&#65533;_pbyiKSdRIT&#65533;^JC&#65533;`UGYl&#65533;~&#65533;|&#65533;}&#65533;|ZDEP&#65533;|N&#65533;`dbp&#65533;\cprOV&#65533;_&#65533;~zwtsi&#65533;\&#65533;`RQUyW&#65533;_PT&#65533;`buwNPEgeu&#65533;@CcwdI&#65533;[Û&#65533;{đٖVLFÄz&#65533;}ĒvĚXēL&#65533;_ÓTĘDZs&#65533;|ātevĜNݛŜŞœADWHˇdGʏJɐȔ˞&#65533;{OnrKOod&#65533;\LOG&#65533;]RvʁɜwCjʎsȝΟn&#65533;|pa&#65533;{ȇȒˎWɉRɏPnW&#65533;@&#65533;~LɔE&#65533;}ΞIMʒ&#65533;_&#65533;[rʉYV&#65533;{EyʚvN&#65533;`A&#65533;@IN˒&#65533;\̔&#65533;]̓xAlmrϊgρΛQϖ͘MϠ&#65533;|UU͐u·ϓ͑΁ϞωXsϐNϔQ&#65533;\DarЖ&#65533;\ыmuUbdтўcѝM&#65533;@hwҊ&#65533;^ҍҎҒҕҗ&#65533;[XJҠ&#65533;]CDMPUx&#65533;|zׄu&#65533;`ӅӋӆӇJIӓӏӑ׌ӘәӖhӍӛӕvM֎nӠGSӞՓKASOLECbXu&#65533;{RwpV&#65533;\ga&#65533;~xtvgrECԇԟԊԑԜ&#65533;\DԖԒQԍԏԎԃԄՊԓԔԌ՟Ԃp&#65533;]&#65533;_ZV&#65533;`aTdNfbOՈTՌZxՎunՆ՘lՔ&#65533;{&#65533;~ՏՁrՄx&#65533;\RՙeGCo&#65533;]&#65533;^&#65533;@IX׋JOVBi՛՚փוqx&#65533;{r՞tk֔֙ֆvևTPS׎VHחld׏Yrؐؑؓؒؕؔ؟t&#65533;~؛&#65533;|؜؝ؚHُA؞EvSBNFLJQMRO&#65533;\ٗZVDUTEYWBgcldxـVHpnFksryهوٍَِّ٘Iדٚٛ٠AMXwsڅڎOSۄەV&#65533;`JEۋ&#65533;]QxPۙWUbۘXfkg&#65533;|܇܈܉܎܍ܐDܗ݆ܛZMV&#65533;_STWܠF&#65533;]UpYdeIcb&#65533;`&#65533;^mov݂݅x݁y݈zwݏݗ݋ݜݔ&#65533;\&#65533;@ݠݚAHOoqp߅&#65533;|&#65533;_w&#65533;^&#65533;~&#65533;\߀&#65533;@Mh&#65533;`Bt߃ޟEmxdfߊ߉zbw&#65533;]udSPiByjwuYbYQTAlC&#65533;{SO&#65533;]&#65533;}bgnRc&#65533;^kj耚Jxu&#65533;^&#65533;[&#65533;^oZX&#65533;`QOXfgFKpUTCBGIoDsBeytK&#65533;~XHzbAfxtPCqP&#65533;|&#65533;|&#65533;@yTonHNi&#65533;{z&#65533;~nSsh&#65533;\JRZu&#65533;|HNe&#65533;^WK&#65533;_adNF&#65533;\vUVIiO&#65533;}&#65533;|IJ&#65533;@R&#65533;}DXVUtnky&#65533;^gSMaORCBhu&#65533;|jZDGCOdsnLTVWZ&#65533;\&#65533;]Jcebgh&#65533;`l&#65533;[&#65533;|Y&#65533;}GywubA&#65533;]U&#65533;@THDFIRXAH&#65533;]EUS&#65533;[&#65533;`hyrׇZFVq&#65533;\nov&#65533;^XdxfghntywBDC&#65533;@ABIHiRacM&#65533;}WUl&#65533;_jhefw&#65533;}&#65533;~DhAEL&#65533;^QRSZ&#65533;\&#65533;`&#65533;_dhjjw&#65533;}hqTDAEFGLINHKRQW&#65533;^lktvxos&#65533;}&#65533;~zRSWZY&#65533;_gHzx&#65533;|vw&#65533;{A&#65533;~RQPGHEUTSKR&#65533;_sj&#65533;}&#65533;\tq&#65533;~EKLJtyxW&#65533;|u&#65533;~EGT&#65533;|OWVNUcQTq&#65533;^wnbjf&#65533;`dqor&#65533;~&#65533;\&#65533;~zaNOEHKAFTLYXalsl&#65533;[gw&#65533;{qvmeFcBLMI&#65533;@ZX&#65533;[VshkgBFuSQOtfIdcR&#65533;{o&#65533;|zxrv&#65533;@&#65533;[MPZN&#65533;]ZOY&#65533;^ogAliktX&#65533;\BFg&#65533;_OVW&#65533;^YQsWpwDILXUzSZstowx&#65533;{BORWXZ&#65533;[&#65533;]eg&#65533;_fblrpx&#65533;}IubeSӇL&#65533;\I犏fǬK';
} 

function Traditionalized( cc )
{
	var str = '';
	var ss = JTPYStr();
	var tt = FTPYStr();

	for(var i = 0 ; i < cc.length ; i++ )
	{
		if( cc.charCodeAt(i) > 10000 && ss.indexOf( cc.charAt(i) ) != -1 )
			str += tt.charAt( ss.indexOf( cc.charAt(i) ) );
  		else 
  			str += cc.charAt(i);
	}
	return str;
}

function Simplized(cc){
	var str = '';
	var ss = JTPYStr();
	var tt = FTPYStr();

	for( var i=0 ; i < cc.length ; i++)
	{
		if( cc.charCodeAt(i) > 10000 && tt.indexOf( cc.charAt(i) ) != -1 )
			str += ss.charAt( tt.indexOf( cc.charAt(i) ) );
  		else 
  			str += cc.charAt(i);
	}
	return str;
}

function setCookie(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 getCookie(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 translateInitilization()
{
	translateButtonObject = document.getElementById( translateButtonId );
	if ( translateButtonObject )
	{
		with( translateButtonObject )
		{
			if(typeof(document.all)!="object")
			{
				href="javascript:translatePage();";
			}
			else
			{
				href="#";
				onclick = new Function( "translatePage(); return false;");
			}
		}
	
		if ( currentEncoding != targetEncoding ) 
		{
			setTimeout("translateBody()",translateDelay);
			if( targetEncoding == 1 )
				translateButtonObject.innerHTML = msgToSimplifiedChinese;
			else 
				translateButtonObject.innerHTML = msgToTraditionalChinese;
		}
	}
}
