﻿/* (C) 2007-2008 Chinese Web Pty Ltd. http://waiwai.com.au/ */

if(!this.WaiWai){WaiWai={};}
if(!this.WaiWai.Constants){WaiWai.Constants={};}
WaiWai.Constants.PrefixPostMessage="postmessage_";WaiWai.Constants.PrefixSelectLanguage="ww_lang_";WaiWai.Constants.PrefixTranslating="ww_trans_";WaiWai.Constants.PrefixProcessing="ww_processing_";if(!this.WaiWai.Page){WaiWai.Page={};}
WaiWai.Page.showFlash=function(id,src,width,height)
{if(document.getElementById(id)!==null)
{document.getElementById(id).innerHTML="<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' "+"codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' width='"+
width+"' height='"+height+"' id='myflash' align='middle'><param name='wmode' value='transparent'>"+"<param name='allowScriptAccess' value='sameDomain' /><param name='movie' value='"+src+"' />"+"<param name='quality' value='high' /><param name='bgcolor' value='#ffffff' /><param name='menu' value='false'><embed src='"+src+"' quality='high' bgcolor='#ffffff' width='"+width+"' height='"+height+"' name='mymovie' align='middle' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' "+"pluginspage='http://www.macromedia.com/go/getflashplayer' WMode='Transparent'></embed></object>";}};if(!this.WaiWai.Data){WaiWai.Data={};}
if(!this.WaiWai.Data.Dictionary)
{WaiWai.Data.Dictionary=function()
{this.Keys=[];this.Values=[];};}
WaiWai.Data.Dictionary.prototype.get=function(key)
{var i=this.indexOf(key);if(i>=0){return this.Values[i];}
else{return null;}};WaiWai.Data.Dictionary.prototype.set=function(key,value)
{var i=this.indexOf(key);if(i>=0){this.Values[i]=value;}
else
{this.Keys.push(key);this.Values.push(value);}};WaiWai.Data.Dictionary.prototype.remove=function(key)
{var i=this.indexOf(key);if(i>=0)
{this.Keys.splice(i,1);this.Values.splice(i,1);}};WaiWai.Data.Dictionary.prototype.indexOf=function(key)
{for(var i=0;i<this.Keys.length;i++)
{if(this.Keys[i]===key){return i;}}
return-1;};WaiWai.Data.Dictionary.prototype.contains=function(key)
{return this.indexOf(key)>=0;};if(!this.WaiWai.Lang){WaiWai.Lang={};}
WaiWai.Lang.OriginalText=new WaiWai.Data.Dictionary();WaiWai.Lang.TranslatedText=new WaiWai.Data.Dictionary();WaiWai.Lang.OriginalSegments=null;WaiWai.Lang.TranslatedSegments=null;WaiWai.Lang.CurrentPostID=null;WaiWai.Lang.CurrentLanguage=null;WaiWai.Lang.CountSegmentsTotal=null;WaiWai.Lang.CountSegmentsInProcess=null;WaiWai.Lang.ErrorMessage=null;WaiWai.Lang.translate=function(pid)
{var lang;if(!(WaiWai.Lang.ObjectPost=document.getElementById(WaiWai.Constants.PrefixPostMessage+pid))){return;}
if(!(WaiWai.Lang.ObjectLang=document.getElementById(WaiWai.Constants.PrefixSelectLanguage+pid))){return;}
if(!(WaiWai.Lang.ObjectTrans=document.getElementById(WaiWai.Constants.PrefixTranslating+pid))){return;}
if(!(WaiWai.Lang.ObjectProcessing=document.getElementById(WaiWai.Constants.PrefixProcessing+pid))){return;}
lang=WaiWai.Lang.ObjectLang.options[WaiWai.Lang.ObjectLang.selectedIndex].value;if(google===undefined||google.language===undefined)
{window.alert("Sorry, translating function is not available at this moment \ndue to network connection issues to Google translating server. ");WaiWai.Lang.ObjectLang.disabled=true;return;}
if(!WaiWai.Lang.OriginalText.contains(pid)){WaiWai.Lang.OriginalText.set(pid,WaiWai.Lang.ObjectPost.innerHTML);}
if(!WaiWai.Lang.TranslatedText.contains(pid)){WaiWai.Lang.TranslatedText.set(pid,new WaiWai.Data.Dictionary());}
if(lang==="."){WaiWai.Lang.ObjectPost.innerHTML=WaiWai.Lang.OriginalText.get(pid);}
else if(WaiWai.Lang.TranslatedText.get(pid).contains(lang)){WaiWai.Lang.ObjectPost.innerHTML=WaiWai.Lang.TranslatedText.get(pid).get(lang);}
else
{WaiWai.Lang.ObjectLang.style.display="none";WaiWai.Lang.ObjectTrans.style.display="block";WaiWai.Lang.CurrentPostID=pid;WaiWai.Lang.CurrentLanguage=lang;WaiWai.Lang.OriginalSegments=WaiWai.Lang.OriginalText.get(pid).split("<");for(var i=1;i<WaiWai.Lang.OriginalSegments.length;i++){WaiWai.Lang.OriginalSegments[i]="<"+WaiWai.Lang.OriginalSegments[i];}
WaiWai.Lang.CountSegmentsTotal=WaiWai.Lang.OriginalSegments.length;WaiWai.Lang.CountSegmentsInProcess=WaiWai.Lang.OriginalSegments.length;WaiWai.Lang.ErrorMessage=null;WaiWai.Lang.TranslatedSegments=new WaiWai.Data.Dictionary();WaiWai.Lang.ObjectProcessing.innerHTML=WaiWai.Lang.CountSegmentsInProcess;window.setTimeout(function()
{for(var i=0;i<WaiWai.Lang.CountSegmentsTotal;i++)
{google.language.translate(i+")"+WaiWai.Lang.OriginalSegments[i],"",lang,WaiWai.Lang._callbackTranslate);}},100);}};WaiWai.Lang._callbackTranslate=function(result)
{if(!result.error)
{var trans=result.translation;var seg="s"+trans.split(")")[0];WaiWai.Lang.TranslatedSegments.set(seg,trans.substring(trans.indexOf(")")+1));}
else{WaiWai.Lang.ErrorMessage=result.message;}
WaiWai.Lang.CountSegmentsInProcess--;WaiWai.Lang.ObjectProcessing.innerHTML=WaiWai.Lang.CountSegmentsInProcess;if(WaiWai.Lang.CountSegmentsInProcess===0)
{var translation="";for(var i=0;i<WaiWai.Lang.CountSegmentsTotal;i++)
{if(WaiWai.Lang.TranslatedSegments.contains("s"+i)){translation+=WaiWai.Lang.TranslatedSegments.get("s"+i);}
else{translation+=WaiWai.Lang.OriginalSegments[i];}}
if(WaiWai.Lang.ErrorMessage)
{translation="<p style=\"color: #ff3300; margin-bottom: 20px;\">"+WaiWai.Lang.ErrorMessage+"</p>"+translation;}
WaiWai.Lang.ObjectPost.innerHTML=translation;WaiWai.Lang.TranslatedText.get(WaiWai.Lang.CurrentPostID).set(WaiWai.Lang.CurrentLanguage,translation);WaiWai.Lang.ObjectTrans.style.display="none";WaiWai.Lang.ObjectLang.style.display="block";}};