var pfcGui=Class.create();pfcGui.prototype={initialize:function()
{this.current_tab='';this.current_tab_id='';this.tabs=Array();this.tabids=Array();this.tabtypes=Array();this.chatcontent=$H();this.onlinecontent=$H();this.scrollpos=$H();this.elttoscroll=$H();this.windownotifynb=0;},scrollDown:function(tabid,elttoscroll)
{if(this.getTabId()!=tabid)
{if(!this.elttoscroll.get(tabid))this.elttoscroll.set(tabid,Array());this.elttoscroll.get(tabid).push(elttoscroll);return;}
var content=this.getChatContentFromTabId(tabid);var dudVar=content.scrollTop;content.scrollTop+=elttoscroll.offsetHeight+2;this.scrollpos.set(tabid,content.scrollTop);},isCreated:function(tabid)
{return(indexOf(this.tabids,tabid)>=0);},setTabById:function(tabid)
{var className=(!is_ie)?'class':'className';var content=this.getChatContentFromTabId(this.current_tab_id);this.scrollpos.set(this.current_tab_id,content.scrollTop);this.current_tab='';this.current_tab_id='';var tab_to_show=null;for(var i=0;i<this.tabids.length;i++)
{var tabtitle=$('pfc_channel_title'+this.tabids[i]);var tabcontent=$('pfc_channel_content'+this.tabids[i]);if(this.tabids[i]==tabid)
{tabtitle.setAttribute(className,'selected');tab_to_show=tabcontent;this.current_tab=this.tabs[i];this.current_tab_id=tabid;}
else
{tabtitle.setAttribute(className,'');tabcontent.style.display='none';}}
tab_to_show.style.display='block';var content=this.getChatContentFromTabId(tabid);content.scrollTop=this.scrollpos.get(tabid);if(this.elttoscroll.get(tabid)&&this.elttoscroll.get(tabid).length>0)
{for(var i=0;i<this.elttoscroll.get(tabid).length;i++)
this.scrollDown(tabid,this.elttoscroll.get(tabid)[i]);this.elttoscroll.set(tabid,Array());}
this.unnotifyTab(tabid);},getTabId:function()
{return this.current_tab_id;},getChatContentFromTabId:function(tabid)
{var className=(!is_ie)?'class':'className';var cc=this.chatcontent.get(tabid);if(cc)return cc;cc=document.createElement('div');cc.setAttribute('id','pfc_chat_'+tabid);cc.setAttribute(className,'pfc_chat');cc.style.display="block";this.chatcontent.set(tabid,cc);return cc;},getOnlineContentFromTabId:function(tabid)
{var className=(!is_ie)?'class':'className';var oc=this.onlinecontent.get(tabid);if(oc)return oc;oc=document.createElement('div');oc.setAttribute('id','pfc_online_'+tabid);oc.setAttribute(className,'pfc_online');oc.style.display="block";this.onlinecontent.set(tabid,oc);return oc;},removeTabById:function(tabid)
{var tabparent_t=$('pfc_channels_list');var tabparent_c=$('pfc_channels_content');var tab_t=$('pfc_channel_title'+tabid);var tab_c=$('pfc_channel_content'+tabid);tabparent_t.removeChild(tab_t);tabparent_c.removeChild(tab_c);var div_chat=this.getChatContentFromTabId(tabid);div_chat.innerHTML='';var tabpos=indexOf(this.tabids,tabid);var name=this.tabs[tabpos];this.tabids=without(this.tabids,this.tabids[tabpos]);this.tabs=without(this.tabs,this.tabs[tabpos]);this.tabtypes=without(this.tabtypes,this.tabtypes[tabpos]);tabpos=indexOf(this.tabids,this.getTabId());if(tabpos<0)tabpos=0;if(this.tabids[tabpos])
this.setTabById(this.tabids[tabpos]);return name;},createTab:function(name,tabid,type)
{var className=(!is_ie)?'class':'className';if(name=='')return;if(tabid=='')return;if(this.isCreated(tabid))return;this.tabs.push(name);this.tabids.push(tabid);this.tabtypes.push(type);var li_title=document.createElement('li');li_title.setAttribute('id','pfc_channel_title'+tabid);var li_div=document.createElement('div');li_div.setAttribute('id','pfc_tabdiv'+tabid);li_title.appendChild(li_div);var a1=document.createElement('a');a1.setAttribute(className,'pfc_tabtitle');a1.setAttribute('href','#');a1.pfc_tabid=tabid;a1.onclick=function(){pfc.gui.setTabById(this.pfc_tabid);return false;}
li_div.appendChild(a1);if(pfc_displaytabimage)
{var img=document.createElement('img');img.setAttribute('id','pfc_tabimg'+tabid);if(type=='ch')
img.setAttribute('src',pfc.res.getFileUrl('images/ch.gif'));if(type=='pv')
img.setAttribute('src',pfc.res.getFileUrl('images/pv.gif'));a1.appendChild(img);}
a1.appendChild(document.createTextNode(name));if(pfc_displaytabclosebutton||type=='pv')
{var a2=document.createElement('a');a2.pfc_tabid=tabid;a2.pfc_tabname=name;a2.pfc_tabtype=type;a2.onclick=function(){var msg=(type=='pv'?'Are you sure you want to close this tab ?':'Do you really want to leave this room ?');var res=confirm(pfc.res.getLabel(msg));if(res==true)
pfc.sendRequest('/leave',this.pfc_tabid);return false;}
a2.alt=pfc.res.getLabel('Close this tab');a2.title=a2.alt;a2.setAttribute(className,'pfc_tabclose');var img=document.createElement('img');img.setAttribute('src',pfc.res.getFileUrl('images/tab_remove.gif'));a2.appendChild(img);li_div.appendChild(a2);}
var div_content=document.createElement('div');div_content.setAttribute('id','pfc_channel_content'+tabid);div_content.setAttribute(className,'pfc_content');div_content.style.display='none';var div_chat=this.getChatContentFromTabId(tabid);var div_online=this.getOnlineContentFromTabId(tabid);div_content.appendChild(div_chat);div_content.appendChild(div_online);$('pfc_channels_list').appendChild(li_title);$('pfc_channels_content').appendChild(div_content);div_chat.style.height=($('pfc_channels_content').offsetHeight-1)+'px';div_online.style.height=($('pfc_channels_content').offsetHeight-1)+'px';return tabid;},notifyWindow:function()
{this.windownotifynb+=1;var rx=new RegExp('^\\[[0-9]+\\](.*)','ig');document.title=document.title.replace(rx,'$1');document.title='['+this.windownotifynb+']'+document.title;var soundcontainer=document.getElementById('pfc_sound_container');if(pfc.issoundenable)
{var flash='<object style="visibility:hidden" classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="0" height="0">';flash+='<param name="movie" value="'+pfc.res.getFileUrl('sound.swf')+'">';flash+='<param name="quality" value="High">';flash+='<embed style="visibility:hidden" src="'+pfc.res.getFileUrl('sound.swf')+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="0" height="0" />';flash+='</object>';soundcontainer.innerHTML=flash;}},unnotifyWindow:function()
{this.windownotifynb=0;var rx=new RegExp('^\\[[0-9]+\\](.*)','ig');document.title=document.title.replace(rx,'$1');var soundcontainer=document.getElementById('pfc_sound_container');if(pfc.issoundenable)
soundcontainer.innerHTML='';},notifyTab:function(tabid)
{var className=(!is_ie)?'class':'className';this.unnotifyTab(tabid);var tabpos=indexOf(this.tabids,tabid);var tabtype=this.tabtypes[tabpos];var img=$('pfc_tabimg'+tabid);if(img)
{if(tabtype=='ch')
img.src=pfc.res.getFileUrl('images/ch-active.gif');if(tabtype=='pv')
img.src=pfc.res.getFileUrl('images/pv-active.gif');}
var div=$('pfc_tabdiv'+tabid);if(div)
{if(div.blinkstat==true)
{div.setAttribute(className,'pfc_tabblink1');}
else
{div.setAttribute(className,'pfc_tabblink2');}
div.blinkstat=!div.blinkstat;div.blinktimeout=setTimeout('pfc.gui.notifyTab(\''+tabid+'\');',500);}},unnotifyTab:function(tabid)
{var className=(!is_ie)?'class':'className';var tabpos=indexOf(this.tabids,tabid);var tabtype=this.tabtypes[tabpos];var img=$('pfc_tabimg'+tabid);if(img)
{if(tabtype=='ch')
img.src=pfc.res.getFileUrl('images/ch.gif');if(tabtype=='pv')
img.src=pfc.res.getFileUrl('images/pv.gif');}
var div=$('pfc_tabdiv'+tabid);if(div)
{div.removeAttribute(className);clearTimeout(div.blinktimeout);}},loadSmileyBox:function()
{var container=$('pfc_smileys');var smileys=pfc.res.getSmileyReverseHash();var sl=smileys.keys();pfc.res.sortSmileyKeys();for(var i=0;i<sl.length;i++)
{s_url=sl[i];s_symbol=smileys.get(sl[i]);s_symbol=s_symbol.unescapeHTML();if(is_ie||is_webkit)
s_symbol=s_symbol.replace(/&quot;/g,'"');var img=document.createElement('img');img.setAttribute('src',s_url);img.setAttribute('alt',s_symbol);img.setAttribute('title',s_symbol);img.s_symbol=s_symbol;img.onclick=function(){pfc.insertSmiley(this.s_symbol);}
container.appendChild(img);container.appendChild(document.createTextNode(' '));}},loadBBCodeColorList:function()
{var className=(!is_ie)?'class':'className';var clist=$('pfc_colorlist');var clist_v=pfc_bbcode_color_list;for(var i=0;i<clist_v.length;i++)
{var bbc=clist_v[i];var elt=document.createElement('img');elt.bbc=bbc;elt.setAttribute(className,'pfc_color');elt.setAttribute('id','pfc_color_'+bbc);elt.style.backgroundColor='#'+bbc;elt.setAttribute('src',pfc.res.getFileUrl('images/color_transparent.gif'));elt.setAttribute('alt',bbc);elt.onclick=function(){pfc.switch_text_color(this.bbc);}
clist.appendChild(elt);}}};
