/* script.js */

google.load("language","1");var cbSplit;if(!cbSplit){cbSplit=function(str,separator,limit){if(Object.prototype.toString.call(separator)!=="[object RegExp]"){return cbSplit._nativeSplit.call(str,separator,limit);}
var output=[],lastLastIndex=0,flags=(separator.ignoreCase?"i":"")+
(separator.multiline?"m":"")+
(separator.sticky?"y":""),separator=RegExp(separator.source,flags+"g"),separator2,match,lastIndex,lastLength;str=str+"";if(!cbSplit._compliantExecNpcg){separator2=RegExp("^"+separator.source+"$(?!\\s)",flags);}
if(limit===undefined||+limit<0){limit=Infinity;}else{limit=Math.floor(+limit);if(!limit){return[];}}
while(match=separator.exec(str)){lastIndex=match.index+match[0].length;if(lastIndex>lastLastIndex){output.push(str.slice(lastLastIndex,match.index));if(!cbSplit._compliantExecNpcg&&match.length>1){match[0].replace(separator2,function(){for(var i=1;i<arguments.length-2;i++){if(arguments[i]===undefined){match[i]=undefined;}}});}
if(match.length>1&&match.index<str.length){Array.prototype.push.apply(output,match.slice(1));}
lastLength=match[0].length;lastLastIndex=lastIndex;if(output.length>=limit){break;}}
if(separator.lastIndex===match.index){separator.lastIndex++;}}
if(lastLastIndex===str.length){if(lastLength||!separator.test("")){output.push("");}}else{output.push(str.slice(lastLastIndex));}
return output.length>limit?output.slice(0,limit):output;};cbSplit._compliantExecNpcg=/()??/.exec("")[1]===undefined;cbSplit._nativeSplit=String.prototype.split;}
String.prototype.split=function(separator,limit){return cbSplit(this,separator,limit);};JAGoogleTranslate=new Class({initialize:function(pageLanguage,autoDetect){this.autoDetect=autoDetect;this.pageLanguage=pageLanguage;this.lang=pageLanguage;this.limitChar=800;this.segmentSeparator='|$|';this.segmentSeparatorRegex=/\|\$\|/gi;this.dTitle='ja-backup-title-';this.dContent='ja-translate-content-';this.dBackup='ja-translate-backup-';this.dLoading='ja-translate-loading-';this.dLanguages='ja-translate-languages-';this.openLang=true;},translateTitle:function(Id,toLang){var contentId=this.dContent+Id;var backupTitle=this.dTitle+Id;var oldTitle=$(backupTitle).innerHTML;oldTitle=oldTitle.trim();google.language.translate(oldTitle,this.lang,toLang,function(result){if(result.translation){newTitle=result.translation;var aTitles=$$('.contentheading a');if(aTitles.length<1){aTitles=$$('.contentheading');}
if(aTitles.length>0){for(var i=0;i<aTitles.length;i++){if(aTitles[i].innerHTML.trim()==oldTitle||aTitles[i].getProperty('data-oldtitle')==oldTitle){aTitles[i].setProperty('data-oldtitle',oldTitle);aTitles[i].innerHTML=newTitle;}}}}});},translate:function(Id,toLang){this.toggleLanguages(Id);if(!google){alert('Could not load data from google!.');return false;}
this.showLoading(Id);var contentId=this.dContent+Id;var loadingId=this.dLoading+Id;var backupId=this.dBackup+Id;var content=this.getContent(Id);if(this.lang=='la'||this.lang==''){alert('Invalid translation language pair. Please make sure your article is written in valid language.');return false;}
if(this.lang==toLang){this.applyTranslate(Id,content);this.translateTitle(Id,toLang);this.hideLoading(Id);this.markActive(Id,toLang);}else{var nodes=content.split(this.segmentSeparatorRegex);var checkIntegrity=0;var translateFail=0;var numPart=nodes.length;var aResponse=new Array();var oTrans=new JAGoogleTranslate('en',1);for(i=0;i<numPart;i++){if(this.trim(nodes[i])==''){checkIntegrity++;}}
for(i=0;i<numPart;i++){if(translateFail)break;aResponse[i]=nodes[i];if(this.trim(nodes[i])!=''){var request=i+' '+nodes[i];google.language.translate(request,this.lang,toLang,function(result){if(result.translation){checkIntegrity++;var trans=result.translation;var no=trans.replace(/.*?([0-9]+)[\s\S]*/gi,'$1');no=no.toInt();var sCut=no+'';var newString=oTrans.convertEntities(trans.substr(sCut.length,trans.length-sCut.length));if(newString!=''){aResponse[no]=newString;}
if(checkIntegrity==numPart){sResponse=aResponse.join(oTrans.segmentSeparator);oTrans.applyTranslate(Id,sResponse);oTrans.translateTitle(Id,toLang);$(loadingId).setStyles({'display':'none'});oTrans.markActive(Id,toLang);}}else{if(!translateFail){translateFail=1;alert('Sorry, The article can not be properly tranlated to selected language.');return false;}}});}}}
return false;},markActive:function(Id,language){var popupId='ja-translate-languages-'+Id;$$('#'+popupId+' div.languages a').removeClass('active');$('ja-lang-'+Id+'-'+language).addClass('active');},applyTranslate:function(Id,languages){var contentId=this.dContent+Id;languages=' '+languages;var orgnode=$(contentId);var nodes=languages.split(this.segmentSeparatorRegex);var skip=false;var node=orgnode;var index=0;if(!node){return false;}
do{if(node.nodeType==3){if(this.trim(node.nodeValue)!=''&&this.trim(nodes[index])!=''){node.nodeValue=nodes[index];}
index++;}
if(!skip&&node.firstChild){var nodeName=node.nodeName.toLowerCase();if(nodeName!='script'&&nodeName!='pre'&&nodeName!='code'&&node.id!='jac-wrapper'){node=node.firstChild;}else{skip=true;}}else if(node.nextSibling){node=node.nextSibling;skip=false;}else{node=node.parentNode;skip=true;}}while(node&&node!=orgnode);},getSafePos:function(content,begin,limit){var end=begin+limit;var len=content.length;if(len>end){var lastestClose=content.lastIndexOf(this.segmentSeparator,end);lastestClose-=1;var lastPoint=content.lastIndexOf('.',end);if((lastPoint>-1)&&(lastestClose<lastPoint)){end=lastPoint;}}else{end=len;}
return end;},getContent:function(Id){var backupId=this.dBackup+Id;var contentId=this.dContent+Id;this.lang=this.pageLanguage;if($(backupId).getProperty('rel')=='saved'){if(this.autoDetect){var lang=$(backupId).getProperty('lang');if(lang!=''&&lang!=null){this.lang=lang;}}
return $(backupId).innerHTML;}
var orgnode=$(contentId);var nodes=new Array();var skip=false;var node=orgnode;if(!node){return false;}
do{if(node.nodeType==3){nodes.push(node);}
if(!skip&&node.firstChild){var nodeName=node.nodeName.toLowerCase();if(nodeName!='script'&&nodeName!='pre'&&nodeName!='code'&&node.id!='jac-wrapper'){node=node.firstChild;}else{skip=true;}}else if(node.nextSibling){node=node.nextSibling;skip=false;}else{node=node.parentNode;skip=true;}}while(node&&node!=orgnode);var txt='';for(var i=0;i<nodes.length;i++){var nodeData=nodes[i].data.replace(/\r*\n/gi,'');txt+=nodeData+this.segmentSeparator;}
$(backupId).innerHTML=txt;if(this.autoDetect){this.detectLanguage(Id);}
$(backupId).setProperty('rel','saved');return txt;},detectLanguage:function(Id){var backupId=this.dBackup+Id;var langPrefix='ja-lang-'+Id;var content=$(backupId).innerHTML;var len=content.length;var start=0;var end=this.getSafePos(content,start,500);if(end>len){end=len;}
limit=end-start;var text=content.substr(start,limit);google.language.detect(text,function(result){if(!result.error){var langCode=result.language;if(langCode=='la'||langCode=='')langCode='en';$(backupId).setProperty('lang',langCode);if($(langPrefix+'-'+langCode)){$(langPrefix+'-'+langCode).addClass('original');}}});},showLoading:function(Id){$(this.dLoading+Id).setStyles({'display':'block'});},hideLoading:function(Id){$(this.dLoading+Id).setStyles({'display':'none'});},toggleLanguages:function(Id){var popupId='ja-translate-popup';var display=$(popupId).getStyle('display');var curId=$(popupId).getProperty('rel');if(curId!=''&&curId!=null&&curId!=Id&&display=='block'){this.savePopupContent(curId);display='none';}
if(display=='none'){var aParam=$('ja-translate-'+Id).getCoordinates();var styles={'display':'block','top':aParam.top+20,'left':aParam.left};$(popupId).setStyles(styles);$(popupId).setProperty('rel',Id)
var aContent=$$('#ja-translate-languages-'+Id+' div.languages');aContent[0].inject(popupId);}else{$(popupId).setStyle('display','none');$(popupId).setProperty('rel','');this.savePopupContent(Id);}
return false;},savePopupContent:function(Id){var popupId='ja-translate-popup';var aContent=$$('#'+popupId+' div.languages');if(aContent.length>0){for(var i=0;i<aContent.length;i++){aContent[i].inject('ja-translate-languages-'+Id);}}},convertEntities:function(text){var matches=text.match(/\&\#(\d+);/g);if(matches){for(var i=0;i<matches.length;i++){text=text.replace(matches[i],this.convertEntity(matches[i]));}}
return text;},convertEntity:function(ent){var num=parseInt(ent.replace(/\D/g,''),16);var esc=((num<16)?'0':'')+num.toString(16);return String.fromCharCode(esc);},fixSpecialChars:function(txt){text=text.replace(/\&amp\;([a-z]{2,3})\;/gi,'&$1;');return text;},trim:function(txt){txt=txt.replace(/^[\s\r\n]+/g,'');txt=txt.replace(/[\s\r\n]+$/g,'');return txt;}});

/* script.js */

JANewSticker=new Class({initialize:function(_options){this.options=$extend({modes:{horizontal:['left','width'],horizontal_right:['left','width'],verticald:['top','height'],vertical:['top','height']},size:240,mode:'horizontal',buttonEvent:'click',handlerEvent:'click',interval:5000,autoRun:true,previousIndex:null,nextIndex:null,currentIndex:0,startItem:0,onRunning:null},_options||{});this.fx=new Array();this.fx2=new Array();if(this.options.mode=='horizontal_stripe'){}else{this.onRunning=this.options.onRunning;if(isNaN(this.options.startItem)||(this.options.startItem>this.options.items.length||this.options.startItem<0)){this.options.startItem=0;}
var maxWidth=0;this.options.items.each(function(_item,index){_item.setStyle('z-index',this.options.items.length-index);_item.setStyle('width',_item.offsetWidth);if(_item.offsetWidth>maxWidth){maxWidth=_item.offsetWidth;}
this.fx2[index]=new Fx.Style(_item,'opacity',_options.fxOptions);this.fx2[index].offsetWidth=_item.offsetWidth;if(index!=this.options.startItem)this.fx2[index].hide();if(this.options.mode!='opacity'){this.fx[index]=new Fx.Style(_item,this.options.modes[this.options.mode][0],_options.fxOptions||{duration:500,wait:false});}}.bind(this));if(this.options.box.offsetWidth<=0){this.options.box.setStyle('width',maxWidth);}
if(this.options.mode=='vertical'||this.options.mode=='verticald'){this.options.size=this.options.box.offsetHeight;}else{this.options.size=this.options.box.offsetWidth;}
this.buttons={previous:[],next:[],play:[],playback:[],stop:[]};this.options.autoRun=true;if(_options.buttons){for(var action in _options.buttons){this.bindingButtonsEvent(action,$type(_options.buttons[action])=='array'?_options.buttons[action]:[_options.buttons[action]]);}}
if(this.options.autoRun){this.play(this.options.interval,'next',true);}
var wrapper2=this.options.wrapper;wrapper2.addEvent("mouseenter",function(){this.stop();}.bind(this));wrapper2.addEvent("mouseleave",function(){this.play(this.options.interval,'next',true);}.bind(this));}},previous:function(manual){this.options.currentIndex+=this.options.currentIndex>0?-1:this.options.items.length-1;this.running(null,manual,'previous');},next:function(manual){this.options.currentIndex+=(this.options.currentIndex<this.options.items.length-1)?1:(1-this.options.items.length);this.running(null,manual,'next');},play:function(delay,direction,wait){this.stop();if(!wait){this[direction](false);}
this.options.autoRun=this[direction].periodical(delay,this,false);},stop:function(){$clear(this.options.autoRun);},running:function(item,manual,runningMode){this.options.previousIndex=this.options.currentIndex+(this.options.currentIndex>0?-1:this.options.items.length-1);this.options.nextIndex=this.options.currentIndex+(this.options.currentIndex<this.options.items.length-1?1:1-this.options.items.length);if(this.options.mode!='opacity'){var size1;var size2;if(this.options.mode=='horizontal_right'||this.options.mode=='verticald'){size1=-(this.options.size);size2=(this.options.size);}else{size1=(this.options.size);size2=-(this.options.size);}
if(runningMode=='next'){this.fx2[this.options.previousIndex].start(1,0);this.fx[this.options.previousIndex].start(0,size1);this.fx2[this.options.currentIndex].start(0,1);this.fx[this.options.currentIndex].start(+size2,0);}else if(runningMode=='previous'){this.fx2[this.options.nextIndex].start(1,0);this.fx[this.options.nextIndex].start(0,-(this.options.size));this.fx2[this.options.currentIndex].start(0,1);this.fx[this.options.currentIndex].start(+(this.options.size),0);}}else{if(runningMode=='next'){this.fx2[this.options.previousIndex].start(1,0);this.fx2[this.options.currentIndex].start(0,1);}else{this.fx2[this.options.nextIndex].start(1,0);this.fx2[this.options.currentIndex].start(0,1);}}
if(manual){this.stop();}
if(this.onRunning){this.onRunning(this.options.items[this.options.currentIndex],(this.buttons?this.buttons[this.options.currentIndex]:null));}
if(manual&&this.options.autoRun){this.play(this.options.interval,'next',true);}},bindingButtonsEvent:function(action,buttons){for(var i=0;i<buttons.length;i++){switch(action){case'previous':buttons[i].addEvent(this.options.buttonEvent,this.previous.bind(this,true));break;case'next':buttons[i].addEvent(this.options.buttonEvent,this.next.bind(this,true));break;case'play':buttons[i].addEvent(this.options.buttonEvent,this.play.bind(this,[this.options.interval,'next',false]));break;case'playback':buttons[i].addEvent(this.options.buttonEvent,this.play.bind(this,[this.options.interval,'previous',false]));break;case'stop':buttons[i].addEvent(this.options.buttonEvent,this.stop.bind(this));break;}
this.buttons[action].push(buttons[i]);}}});


