/* script.js */

google.load("language","1");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);}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(nodes[i].trim()==''){checkIntegrity++;}}
for(i=0;i<numPart;i++){if(translateFail)break;aResponse[i]=nodes[i];if(nodes[i].trim()!=''){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'});}}else{if(!translateFail){translateFail=1;alert('Sorry, The article can not be properly tranlated to selected language.');return false;}}});}}}
return false;},applyTranslate:function(Id,languages){var contentId=this.dContent+Id;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){node.nodeValue=' '+nodes[index];index++;}
if(!skip&&node.firstChild){var nodeName=node.nodeName.toLowerCase();if(nodeName!='script'&&nodeName!='pre'&&nodeName!='code'){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=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;}});

/* script.js */

Element.Events.extend({'wheelup':{type:Element.Events.mousewheel.type,map:function(event){event=new Event(event);if(event.wheel>=0)this.fireEvent('wheelup',event)}},'wheeldown':{type:Element.Events.mousewheel.type,map:function(event){event=new Event(event);if(event.wheel<=0)this.fireEvent('wheeldown',event)}}});var JASlideshowThree=new Class({initialize:function(options){this.options=$extend({buttons:{},interval:5000,handle_event:'click',button_event:'click',box:{},size:240,mode:'horizontal',items:[],handles:[],onWalk:{},handlerBox:null,animation:'fade',animationRepeat:'true',autoPlay:false,languageDirection:null},options||{});this.items=this.options.items;if(this.options.languageDirection=='rtl'){this.modes={horizontal:['right','width'],vertical:['top','height']};}else{this.modes={horizontal:['left','width'],vertical:['top','height']};}
this.box=$(this.options.box);this.buttons={previous:[],next:[],play:[],playback:[],stop:[]};this.allbuttons=[];if(this.options.buttons){for(var action in this.options.buttons){this.addActionButtons(action,$type(this.options.buttons[action])=='array'?this.options.buttons[action]:[this.options.buttons[action]]);}}
this.handles=this.options.handles;if(this.handles){this.addHandleButtons(this.handles);}
if(this.options.handlerBox!=null){this.options.handlerBox.addEvents({'wheelup':function(e){e=new Event(e).stop();this.previous(true);}.bind(this),'wheeldown':function(e){e=new Event(e).stop();this.next(true);}.bind(this)});}
this.allbuttons.each(function(button){button.addEvent('mouseover',function(){this.addClass('hover');});button.addEvent('mouseout',function(){this.removeClass('hover');});});this.currentIndex=this.options.startItem||0;this.previousIndex=null;this.nextIndex=null;this._auto=null;this.initFx();if(this.options.autoPlay)this.play(this.options.interval,'next',true);this.walk(this.currentIndex);},previous:function(manual){this.lastIndex=this.currentIndex;this.currentIndex+=this.currentIndex>0?-1:this.items.length-1;this.walk(null,manual);},next:function(manual){this.lastIndex=this.currentIndex;this.currentIndex+=this.currentIndex<this.items.length-1?1:1-this.items.length;this.walk(null,manual);},play:function(delay,direction,wait){this.stop();if(!wait){this[direction](false);}
this._auto=this[direction].periodical(delay,this,false);},stop:function(){$clear(this._auto);},walk:function(item,manual){if($defined(item)){this.lastIndex=this.currentIndex;this.currentIndex=parseInt(item);}
this.previousIndex=this.currentIndex+(this.currentIndex>0?-1:this.items.length-1);this.nextIndex=this.currentIndex+(this.currentIndex<this.items.length-1?1:1-this.items.length);if(manual||(this.nextIndex==0&&this.options.animationRepeat=='false')){this.stop();}
if(this.options.onWalk){this.options.onWalk(this.currentIndex,(this.handles?this.handles[this.currentIndex]:null));}
this.animate();if(manual&&this.options.autoPlay){this.play(this.options.interval,'next',true);}},initFx:function(){if(this.options.animation.test(/move/)){this.box.setStyle(this.modes[this.options.mode][1],(this.options.size*this.options.items.length)+'px');this.box.setStyle(this.modes[this.options.mode][0],(-this.currentIndex*this.options.size)+this.options.offset+'px');this.fx=new Fx.Style(this.box,this.modes[this.options.mode][0],this.options.fxOptions||{duration:500,wait:false});return;}
this.items.setStyles({'position':'absolute','top':0,'display':'none'});this.items.setStyle(this.modes[this.options.mode][0],0);this.items[this.currentIndex].setStyle('display','block');if(this.options.animation.test(/fade/)){for(var i=0;i<this.items.length;i++){this.items[i].fx=new Fx.Style(this.items[i],'opacity',this.options.fxOptions||{duration:500,wait:false});}}},animate:function(){if(this.options.animation.test(/move/)){this.fx.start(-this.currentIndex*this.options.size+this.options.offset);return;}
var others=[];for(var i=0;i<this.items.length;i++){this.items[i].fx.stop();if(i!=this.currentIndex&&i!=this.lastIndex)others.push(this.items[i]);}
this.currentIndex=parseInt(this.currentIndex);$$(others).setStyle('display','none');if(this.lastIndex==this.currentIndex){this.items[this.currentIndex].setStyles({'display':'block','opacity':1});}else{this.items[this.currentIndex].setStyles({'display':'block','opacity':0,'z-index':10});this.items[this.lastIndex].setStyles({'z-index':9});}
if(this.options.animation.test(/fade/)){this.items[this.lastIndex].fx.start(0);this.items[this.currentIndex].fx.start(1);return;}},addHandleButtons:function(handles){for(var i=0;i<handles.length;i++){handles[i].addEvent(this.options.handle_event,this.walk.bind(this,[i,true]));this.allbuttons.push(handles[i]);}},addActionButtons:function(action,buttons){for(var i=0;i<buttons.length;i++){switch(action){case'previous':buttons[i].addEvent(this.options.button_event,this.previous.bind(this,true));break;case'next':buttons[i].addEvent(this.options.button_event,this.next.bind(this,true));break;case'play':buttons[i].addEvent(this.options.button_event,this.play.bind(this,[this.options.interval,'next',false]));break;case'playback':buttons[i].addEvent(this.options.button_event,this.play.bind(this,[this.options.interval,'previous',false]));break;case'stop':buttons[i].addEvent(this.options.button_event,this.stop.bind(this));break;}
this.buttons[action].push(buttons[i]);buttons[i].addEvent(this.options.button_event,function(){this.blur();});this.allbuttons.push(buttons[i]);}}});var JASlideshow2=new Class({initialize:function(element,options){this.options=$extend({startItem:0,showItem:4,mainWidth:360,mainHeight:240,itemWidth:160,itemHeight:160,duration:400,interval:5000,transition:Fx.Transitions.Back.easeOut,thumbOpacity:'0.8',maskDesc:'maskDesc',maskWidth:360,maskHeigth:50,but_prev:'ja-slide-prev',but_next:'ja-slide-next',maskOpacity:'0.8',buttonOpacity:'0.4',overlap:1,navigation:'',animation:'fade',animationRepeat:'true',thumbSpaces:[3,3],autoPlay:false,maskAlignment:'bottom',showbtncontrol:false,urls:'',maskerTransStyle:'opacity',maskerTrans:Fx.Transitions.linear,navePos:'horizontal',languageDirection:null},options||{});if(!this.options.animation.test(/move/))this.options.overlap=0;this.el=$(element);this.fxOptions={duration:this.options.duration,transition:this.options.transition,wait:false}
this.elmain=this.el.getElement('.ja-slide-main-wrap');var conWidth=this.options.overlap?'100%':this.options.mainWidth;this.elmain.setStyles({'width':conWidth,'height':this.options.mainHeight});this.els=this.el.getElements('.ja-slide-item');this.els.setStyles({'width':this.options.mainWidth,'height':this.options.mainHeight});this.options.rearWidth=0;this.options.mainSpace=0;if(this.options.overlap){this.options.mainSpace=10;this.options.rearWidth=Math.ceil((this.elmain.offsetWidth-this.options.mainWidth)/2)-this.options.mainSpace;this.but_prev=this.el.getElement('.'+this.options.but_prev);this.but_next=this.el.getElement('.'+this.options.but_next);this.but_prev.setStyles({'opacity':this.options.buttonOpacity,'width':this.options.rearWidth,'height':this.options.mainHeight});this.but_next.setStyles({'opacity':this.options.buttonOpacity,'width':this.options.rearWidth,'height':this.options.mainHeight});this.but_prev.addEvents({'mouseover':function(){this.but_prev.setStyle('opacity',this.options.buttonOpacity/2);}.bind(this),'mouseout':function(){this.but_prev.setStyle('opacity',this.options.buttonOpacity);}.bind(this)});this.but_next.addEvents({'mouseenter':function(){this.but_next.setStyle('opacity',this.options.buttonOpacity/2);}.bind(this),'mouseleave':function(){this.but_next.setStyle('opacity',this.options.buttonOpacity);}.bind(this)});this.els.setStyle('margin-right',this.options.mainSpace);}
var navWrap=this.el.getElement('.ja-slide-thumbs-wrap');if(this.options.navigation&&navWrap!=null){if(this.options.languageDirection=='rtl'){var modes={horizontal:['right','width'],vertical_left:['top','height'],vertical_right:['top','height']};}else{var modes={horizontal:['left','width'],vertical_left:['top','height'],vertical_right:['top','height']};}
if(this.options.navePos=='vertical_left'||this.options.navePos=='vertical_right'){navWrap.setStyles({'width':this.options.itemWidth,'height':this.options.itemHeight*this.options.showItem});}else{navWrap.setStyles({'width':this.options.itemWidth*this.options.showItem,'height':this.options.itemHeight});}
var thumbs_thumbs=this.el.getElement('.ja-slide-thumbs');thumbs_thumbs.setStyle('left',0);thumbs_thumbs.getChildren().setStyles({'width':this.options.itemWidth,'height':this.options.itemHeight});var thumbs_handles=this.el.getElement('.ja-slide-thumbs-handles');thumbs_handles.setStyle('left',0);thumbs_handles.getChildren().setStyles({'width':this.options.itemWidth,'height':this.options.itemHeight});var thumbsFx_thumbs=new Fx.Style(thumbs_thumbs,modes[this.options.navePos][0],this.fxOptions);var thumbsFx_handles=new Fx.Style(thumbs_handles,modes[this.options.navePos][0],this.fxOptions);this.el.getElement('.ja-slide-thumbs-mask-left').setStyles({'height':this.options.itemHeight,'width':2000,'opacity':this.options.thumbOpacity});this.el.getElement('.ja-slide-thumbs-mask-right').setStyles({'height':this.options.itemHeight,'width':2000,'opacity':this.options.thumbOpacity});this.el.getElement('.ja-slide-thumbs-mask-center').setStyles({'height':this.options.itemHeight,'width':this.options.itemWidth,'opacity':this.options.thumbOpacity});var tmp=this.el.getElement('.ja-slide-thumbs-mask');var thumbs_mask=tmp.setStyles({'width':5000});tmp.setStyle(modes[this.options.navePos][0],this.options.startItem*this.options.itemHeight-2000);var thumbsFx_mask=new Fx.Style(thumbs_mask,modes[this.options.navePos][0],this.fxOptions);}
var navItems=this.el.getElements('.ja-slide-thumb');this.onWalk=function(currentIndex,hander){if(this.options.navigation&&thumbsFx_mask!=null){if(currentIndex<=this.options.startItem||currentIndex-this.options.startItem>=this.options.showItem-1){this.options.startItem=currentIndex-this.options.showItem+2;if(this.options.startItem<0)this.options.startItem=0;if(this.options.startItem>this.els.length-this.options.showItem)this.options.startItem=this.els.length-this.options.showItem;}
thumbsFx_mask.start((currentIndex-this.options.startItem)*this.options.itemHeight-2000);thumbsFx_thumbs.start(-this.options.startItem*this.options.itemHeight);thumbsFx_handles.start(-this.options.startItem*this.options.itemHeight);if($defined(hander)){thumbs_handles.getElements('span').removeClass('active');hander.addClass('active');navItems.removeClass('active');navItems[currentIndex].addClass('active');}}
if(this.options.descMode.test(/load/)&&this.options.showDesc){this.hideDesc();}}
this.maskDesc=this.el.getElement('.'+this.options.maskDesc);this.maskDesc.setStyles({'display':'block','position':'absolute','width':this.options.maskWidth,'height':this.options.maskHeigth});if(this.options.showDesc){if(this.options.animation.test(/move/)&&this.options.overlap){this.options.maskAlignment='left';this.options.maskerTransStyle='opacity';}
this.maskDesc.setStyle(this.options.maskAlignment,this.options.rearWidth+this.options.mainSpace);this.maskDesc.setStyle('opacity',0);if(this.options.maskerTransStyle=='opacity'){this.descFx=new Fx.Style(this.maskDesc,'opacity',{duration:400,transition:this.options.maskerTrans});this.descs=this.el.getElements('.ja-slide-desc');this.showDesc=function(){this.descFx.stop();this.descFx.start(this.options.maskOpacity);};this.hideDesc=function(){this.descFx.stop();this.descFx.start(0.01);};}else{sizeOff=this.options.maskAlignment=='top'||this.options.maskAlignment=='bottom'?this.options.maskHeigth:this.options.maskWidth;this.maskDesc.setStyle('opacity',this.options.maskOpacity);this.maskDesc.setStyle(this.options.maskAlignment,-this.options.mainWidth);this.descFx=new Fx.Style(this.maskDesc,this.options.maskAlignment,{duration:400,transition:this.options.maskerTrans});this.descs=this.el.getElements('.ja-slide-desc');this.showDesc=function(){this.descFx.stop();this.descFx.start(0);};this.hideDesc=function(){this.descFx.stop();this.descFx.start(-sizeOff);};}
this.swapDesc=function(currentIndex){if(this.maskDesc.currentIndex==currentIndex)return;if(this.maskDesc.desc){this.maskDesc.desc.remove();this.maskDesc.desc=null;if(!$defined(this.maskDesc.getElement('.inner .readon'))){this.maskDesc.setHTML('');}}
if(this.descs[currentIndex]&&this.descs[currentIndex].innerHTML)this.maskDesc.desc=this.descs[currentIndex].inject(this.maskDesc);this.maskDesc.currentIndex=currentIndex;}
if(this.options.descMode.test(/mouseover/)){var childs=this.el.getElements('.ja-slide-item');childs.each(function(itm,index){itm.addEvent('mouseover',this.showDesc.bind(this));itm.addEvent('mouseout',this.hideDesc.bind(this));}.bind(this))
this.maskDesc.addEvent('mouseover',this.showDesc.bind(this));this.maskDesc.addEvent('mouseout',this.hideDesc.bind(this));}else{this.maskDesc.setStyle('opacity',this.options.maskOpacity);}}else{this.maskDesc.setStyle('opacity',0);}
this.fxOptions.onComplete=function(){if(this.options.showDesc){this.swapDesc(this.hs.currentIndex);if(this.options.descMode.test(/load/)){this.showDesc();}}}.bind(this);if(this.options.urls){this.maskDesc.addEvent('click',function(){var url=this.options.urls[this.hs.currentIndex];if(url){var target=this.options.targets[this.hs.currentIndex];switch(target){case"_blank":{window.open(url,"newWindow");break;}
default:{window.location.href=url;break;}}}}.bind(this));}
this.hs=new JASlideshowThree({box:this.el.getElement('.ja-slide-main'),languageDirection:this.options.languageDirection,items:this.els,handlerBox:thumbs_handles,handles:thumbs_handles?thumbs_handles.getChildren():[],fxOptions:this.fxOptions,interval:this.options.interval,onWalk:this.onWalk.bind(this),size:this.options.mainWidth+this.options.mainSpace,animation:this.options.animation,animationRepeat:this.options.animationRepeat,buttons:{previous:this.el.getElements('.ja-slide-prev'),play:this.el.getElements('.ja-slide-play'),stop:this.el.getElements('.ja-slide-stop'),playback:this.el.getElements('.ja-slide-playback'),next:this.el.getElements('.ja-slide-next')},startItem:this.options.startItem,offset:this.options.overlap?this.options.rearWidth-this.options.mainWidth:0,autoPlay:this.options.autoPlay});if(this.options.overlap){var childs=this.hs.box.getChildren();childs[0].clone().inject(this.hs.box);childs[this.hs.items.length-1].clone().injectTop(this.hs.box);this.hs.box.setStyle(this.hs.modes[this.hs.options.mode][1],(this.hs.options.size*(this.hs.items.length+2)+200)+'px');}
this.el.setStyle('visibility','visible');},getFxObjectByMode:function(mode,start,end){switch(mode){case'sideright':return{'left':[start,-end]};break;case'sideleft':return{'left':[start,end]};break;case'sidetop':return{'top':[start,end]};break;case'sidedown':return{'top':[start,-end]};break;case'botleft':return{'top':start,'left':end};break;default:return{'height':[start,end]};break;}},controlMark:function(){}});


