// (c) 2009-2010 Ali Jahanshiri <alijsh@yahoo.com>

if(!String.prototype.trim){String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,'');};}
String.prototype.endsWith=function(exp){return(this.search(new RegExp(exp+'$'))!==-1);};String.prototype.beginsWith=function(exp){return(this.search(new RegExp('^'+exp))!==-1);};String.prototype.contains=function(string){return(' '+this+' ').indexOf(' '+string+' ')>-1;};var Elem={addClass:function(el,cl){if(!el.className.contains(cl)){el.className=(el.className+' '+cl).trim();}},removeClass:function(el,cl){el.className=((' '+el.className+' ').replace(' '+cl+' ','')).trim();},hasClass:function(el,cl){return el.className.contains(cl);},isAllWS:function(nod){return!(/[^\t\n\r ]/.test(nod.data));},isIgnorable:function(nod){return(nod.nodeType==8)||((nod.nodeType==3)&&this.isAllWS(nod));},sibBefore:function(sib){while((sib=sib.previousSibling)){if(!this.isIgnorable(sib)){return sib;}}
return null;},sibAfter:function(sib){while((sib=sib.nextSibling)){if(!this.isIgnorable(sib)){return sib;}}
return null;}};var Browser={info:navigator.userAgent.toLowerCase(),isIE:function(){return(this.info.indexOf('msie')!==-1);}};var $I=function(selector){return document.getElementById(selector);};var $T=function(selector,context){return context.getElementsByTagName(selector);};var $C=function(selector,context){var chunks=selector.split('.'),tagName=chunks[0],className=chunks[1],elems=$T(tagName,context),i=0,il=elems.length,ret=[];for(;i<il;i+=1){if(elems[i].className.contains(className)){ret.push(elems[i]);}}
return ret;};var $K=function(selector){return(selector.charAt(0)==='#')?'ID':(selector.split('.').length===2)?'CLASS':'TAG';};var $=function(selector,context){var parts=selector.split(' ');context=context||document;if(parts.length===1){switch($K(parts[0])){case'ID':return $I(selector.substr(1));case'TAG':return $T(parts[0],context);case'CLASS':return $C(parts[0],context);}}else if(parts.length===2){switch($K(parts[0])){case'ID':context=$I(parts[0].substr(1));switch($K(parts[1])){case'TAG':return $T(parts[1],context);case'CLASS':return $C(parts[1],context);}
break;case'TAG':case'CLASS':return null;}}
return null;};var TabView=function(args){if(args.premade){this.view=$('#'+args.id);this.bar=$('ul',this.view)[0];this.frame=$('div',this.view)[0];this.selIndex=args.active||0;}else{this.view=document.createElement('div');this.bar=document.createElement('ul');this.frame=document.createElement('div');this.view.id=args.id;Elem.addClass(this.view,'tabview');$('#'+args.parent).appendChild(this.view);this.view.appendChild(this.bar);this.view.appendChild(this.frame);this.selIndex=-1;}
Elem.addClass(this.bar,'tabbar');Elem.addClass(this.frame,'tabframe');this.index=-1;this.isCloseable=args.closeable||false;this.pfxTab=this.view.id+'-tab';this.pfxPage=this.view.id+'-page';this.tabs=$('li',this.bar);if(args.premade){this.populate();}
this.addEvent();};TabView.prototype={populate:function(index){var DIVs=$('div',this.frame),i=0,il=DIVs.length,n=-1;for(;i<il;i+=1){if(Elem.hasClass(DIVs[i].parentNode,'tabframe')){n+=1;Elem.addClass(DIVs[i],'tabpage');DIVs[i].id=this.pfxPage+n;this.tabs[n].id=this.pfxTab+n;}}
this.index=n;this.selectTab(this.selIndex);},getTab:function(index){return $('#'+this.pfxTab+index);},getTabIndex:function(tab){return parseInt(tab.id.replace(this.pfxTab,''),10);},getPage:function(index){return $('#'+this.pfxPage+index);},selectTab:function(index){var tab=this.getTab(index);if(!tab){return;}
Elem.addClass(tab,'active');Elem.addClass(this.getPage(index),'active');this.selIndex=index;},deselectTab:function(index){var tab=this.getTab(index);if(!tab){return;}
Elem.removeClass(tab,'active');Elem.removeClass(this.getPage(index),'active');},showTab:function(index){this.deselectTab(this.selIndex);this.selectTab(index);},addEvent:function(){var self=this;this.bar.onmouseup=function(e){var ev=window.event||e,tab=ev.target||ev.srcElement,btn=null;if(tab.nodeType===3||tab.nodeName.toLowerCase()!=='li'){tab=tab.parentNode;}
if('object'===typeof ev){if(Browser.isIE()){switch(ev.button){case 1:btn='l';break;case 4:btn='m';break;}}else{switch(ev.button){case 0:btn='l';break;case 1:btn='m';break;}}
switch(btn){case'l':self.showTab(self.getTabIndex(tab));break;case'm':if(self.isCloseable){self.removeTab(self.getTabIndex(tab));}
break;}}};},addTab:function(args){var tab=document.createElement('li'),page=document.createElement('div');this.index+=1;tab.id=this.pfxTab+this.index;tab.appendChild(document.createTextNode(args.caption));Elem.addClass(page,'tabpage');page.id=this.pfxPage+this.index;page.innerHTML=args.content;this.bar.appendChild(tab);this.frame.appendChild(page);this.showTab(this.index);},removeTab:function(index){this.switchTab(index);this.bar.removeChild(this.getTab(index));this.frame.removeChild(this.getPage(index));},switchTab:function(index){if(index!==this.selIndex){return;}
var tab=this.getTab(index),sw=Elem.sibBefore(tab);if(!sw){sw=Elem.sibAfter(tab);}
if(sw){this.showTab(this.getTabIndex(sw));}}};var Transcriber={};Transcriber.PC_PL={textbox:$('#txtCyrillic'),table:{'А':'A','а':'a','И':'I','и':'i','У':'U','у':'u','Э':'E','э':'e','Ю':'Yu','ю':'yu','Я':'Ya','я':'ya','О':'Â','о':'â','Е':'Ê','е':'ê','Ё':'Yâ','ё':'yâ','Ӣ':'Î','ӣ':'î','Ӯ':'Û','ӯ':'û','Ғ':'Ğ','ғ':'ğ','Ж':'Ž','ж':'ž','Ш':'Š','ш':'š','ъ':'ø','Б':'B','б':'b','В':'V','в':'v','Г':'G','г':'g','Д':'D','д':'d','З':'Z','з':'z','Й':'Y','й':'y','К':'K','к':'k','Қ':'Q','қ':'q','Л':'L','л':'l','М':'M','м':'m','Н':'N','н':'n','П':'P','п':'p','Р':'R','р':'r','С':'S','с':'s','Т':'T','т':'t','Ф':'F','ф':'f','Х':'X','х':'x','Ҳ':'H','ҳ':'h','Ч':'C','ч':'c','Ҷ':'J','ҷ':'j','“':'«','”':'»'},convert:function(){Transcriber.convert('PC_PL','PL_PC');},clear:function(){Transcriber.textbox.clear('PC_PL');}};Transcriber.PL_PC={textbox:$('#txtLatin'),table:{'Yu':'Ю','yu':'ю','Ya':'Я','ya':'я','Yo':'Ё','yo':'ё','Yâ':'Ё','yâ':'ё','Ya\\^':'Ё','ya\\^':'ё','Â':'О','â':'о','O':'О','o':'о','A\\^':'О','a\\^':'о','Ê':'Е','ê':'е','E\\^':'Е','e\\^':'е','Î':'Ӣ','î':'ӣ','I\\^':'Ӣ','i\\^':'ӣ','Û':'Ӯ','û':'ӯ','U\\^':'Ӯ','u\\^':'ӯ','Ğ':'Ғ','ğ':'ғ','G\\^':'Ғ','g\\^':'ғ','Ž':'Ж','ž':'ж','Z\\^':'Ж','z\\^':'ж','Š':'Ш','š':'ш','S\\^':'Ш','s\\^':'ш','ø':'ъ','/\\^':'ъ','A':'А','a':'а','I':'И','i':'и','U':'У','u':'у','E':'Э','e':'э','B':'Б','b':'б','V':'В','v':'в','G':'Г','g':'г','D':'Д','d':'д','Z':'З','z':'з','Y':'Й','y':'й','K':'К','k':'к','Q':'Қ','q':'қ','L':'Л','l':'л','M':'М','m':'м','N':'Н','n':'н','P':'П','p':'п','R':'Р','r':'р','S':'С','s':'с','T':'Т','t':'т','F':'Ф','f':'ф','X':'Х','x':'х','H':'Ҳ','h':'ҳ','C':'Ч','c':'ч','J':'Ҷ','j':'ҷ'},convert:function(){Transcriber.convert('PL_PC','PC_PL');},clear:function(){Transcriber.textbox.clear('PL_PC');}};Transcriber.convert=function(src,tgt){var s=this[src].textbox.value;var table=this[src].table;if(s.length<1){return;}
for(var c in table){s=s.replace(new RegExp(c,'g'),table[c]);}
this[tgt].textbox.value=s;};Transcriber.textbox={clear:function(src){Transcriber[src].textbox.value='';Transcriber[src].textbox.focus();}};var tvwMain=new TabView({premade:true,id:'tvwMain'});