var pquery=0;var dly=10000;var nomsgcount=0;var firstcall=1;var arrpwins=new Array();var chost='http://ajaxconnect.appspot.com/';var errwin=null;var syswin=null;document.write('<script src="'+chost+'util/ddmenu.js"></script>');document.write('<link rel="stylesheet" href="'+chost+'windowfiles/dhtmlwindow.css" type="text/css" />');document.write('<script type="text/javascript" src="'+chost+'windowfiles/dhtmlwindow.js"></script>');function pickSmiley(cwinid,str){document.forms['messageform'+cwinid].message.value=document.forms['messageform'+cwinid].message.value+str;document.forms['messageform'+cwinid].message.focus();}function sendIM(cwinid,tou,strmsg){var authstatus=document.forms['messageform'+cwinid].auth.value;if(authstatus=='F'||authstatus=='R'){dispSysMsg(cwinid,'Waiting for '+tou+' to accept chat request.  Please wait - it may take over 30 seconds ...');return;}else if(authstatus=='D'){dispSysMsg(cwinid,tou+' has Denied your chat request. Please chat with some other user');return;}dispMsg(cwinid,'',strmsg);message=null;if(strmsg!=null&&strmsg!=''){message=strmsg;}else{message=document.forms['messageform'+cwinid].message.value;}document.forms['messageform'+cwinid].message.value='';document.forms['messageform'+cwinid].message.focus();pquery=1;nomsgcount=0;dly=3000;if(fru!=''&&site!=''){url=chost+'imserver?a=p&f='+fru+'&t='+tou+'&m='+escape(message);url=url+'&callback=showMessages&jsoncallback=?';$.getJSON(url);}}function dispMsg(cwinid,usr,strmsg){var d=null;var curr_msec=null;var touser=null;var message=null;var fromuser=null;message=null;d=null;curr_msec=null;fromuser=null;touser=null;urlsend1=null;if(strmsg!=null&&strmsg!=''){strmsg=escHtml(strmsg);strmsg=strmsg.replace(new RegExp(':str',"g"),'<img border=0 align=middle src='+chost+'img/');strmsg=strmsg.replace(new RegExp('end:',"g"),'.gif>');message=strmsg;}else{message=document.forms['messageform'+cwinid].message.value;message=escHtml(message);if(message!=null&&message!=''){message=message.replace(new RegExp(':str',"g"),'<img border=0 align=middle src='+chost+'img/');message=message.replace(new RegExp('end:',"g"),'.gif>');}}if(usr==null||usr==''){usr='Me';}if(message!=null){if(message.startsWith('youtube:')){message=message.replace('youtube:http://www.youtube.com/watch?v=','http://www.youtube.com/v/');message='<object width="275" height="223"><param name="movie" value="'+message+'&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="'+message+'&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="275" height="223"></embed></object>';}if(message.startsWith('yell:')){message=message.replace('yell:','<b>');message=message+'</b>';}}var str=document.getElementById('chattext'+cwinid).innerHTML+'';document.getElementById('chattext'+cwinid).innerHTML=str+'<br><b>'+usr+'</b> : '+message;var objDiv=document.getElementById("divchattext"+cwinid);objDiv.scrollTop=objDiv.scrollHeight;}function dispSysMsg(cwinid,strmsg){var str=document.getElementById('chattext'+cwinid).innerHTML+'';document.getElementById('chattext'+cwinid).innerHTML=str+'<br><font color=red>'+strmsg+'</font><br>';var objDiv=document.getElementById("divchattext"+cwinid);objDiv.scrollTop=objDiv.scrollHeight;}String.prototype.startsWith=function(str){return(this.match("^"+str)==str);};function escHtml(str){var stripped=str.replace(/(<([^>]+)>)/ig,"");return stripped;}function enterKey(cwinid,tou){if(event.keyCode==13){sendIM(cwinid,tou);event.returnValue=false;}}function showMessages(response){arrmessages=response;for(i=0;i<arrmessages.length;++i){var fuser=arrmessages[i].f+'';if(fuser!='n'){if(arrpwins[fuser]==null||!arrpwins[fuser]){var counter=0;if(!arrpwins[fuser]){counter=arrmessages.length;}else{for(var i in arrpwins){counter++;}}arrpwins[fuser]=createCWin(fuser,counter+1,fuser);arrpwins[fuser].onclose=function(){arrpwins[fuser].hide();return false;}}else{arrpwins[fuser].show();}dispMsg(fuser,fuser,arrmessages[i].m);}}}function createCWin(cwinid,winnum,tou){createWDiv(cwinid,tou);var cwin=dhtmlwindow.open('divbox'+cwinid,'div','somediv'+cwinid,tou+'','width=375px,height=275px,left=10px,top=10px,resize=1,scrolling=0');cwin.moveToN('right','bottom',winnum);document.forms['messageform'+cwinid].message.focus();return cwin;}function createWDiv(cwinid,tou){var eldiv=null;if((eldiv=document.getElementById('maindiv'+cwinid))==null){eldiv=document.createElement('div');eldiv.setAttribute('id','maindiv'+cwinid);var winstr='<div id="somediv'+cwinid+'" style="display:none; right:0; bottom:0;">';winstr=winstr+'<form action=post name=messageform'+cwinid+'>';winstr=winstr+'<input type=hidden value=F name=auth><table border=0 cellspacing=0 cellpadding=0 width=100% height=100%><tr><td colspan=2 width=99%>';winstr=winstr+'<div id="divchattext'+cwinid+'" style="overflow: scroll; height: 100%; width: 100%; vertical-align:middle;">';winstr=winstr+'<font face=arial size=2 color=black><div id="chattext'+cwinid+'"></div></font>';winstr=winstr+'</div></td></tr>';winstr=winstr+'<tr height=10% valign=bottom><td width=95%>';winstr=winstr+'<a href="#" class=mtabtext onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, \'smly1'+cwinid+'\')">';winstr=winstr+'<img src='+chost+'img/ic5.gif alt="Smileys" border=0 width=25 height=25 align=middle><font face=arial size=2></font></a> &nbsp; <font face=arial size=2 color=#3D81EE> youtube:&lt;url&gt; &nbsp; yell:&lt;message&gt;</font><br>';winstr=winstr+'<textarea name=message rows=3 cols=35 wrap="virtual" onkeypress="enterKey(\''+cwinid+'\',\''+tou+'\')" style="width:100%"></textarea>';winstr=winstr+'</td><td><input type=button name=submit onClick="return sendIM(\''+cwinid+'\',\''+tou+'\')" value=" Send " style="width:60;height:53">';winstr=winstr+'</td></tr></table></form></div>';winstr=winstr+'<div id="smly1'+cwinid+'" class="anylinkcss">';winstr=winstr+'<table border=0 cellspacing=1 cellpadding=1 bgcolor="#c1c1c1">';winstr=winstr+'<tr valign=middle align=center>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric1end:\')" width=50><img src='+chost+'img/ic1.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric2end:\')" width=50><img src='+chost+'img/ic2.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric3end:\')" width=50><img src='+chost+'img/ic3.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric4end:\')" width=50><img src='+chost+'img/ic4.gif border=0></td>';winstr=winstr+'</tr>';winstr=winstr+'<tr valign=middle align=center>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric5end:\')"><img src='+chost+'img/ic5.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric6end:\')"><img src='+chost+'img/ic6.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric7end:\')"><img src='+chost+'img/ic7.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric8end:\')"><img src='+chost+'img/ic8.gif border=0></td>';winstr=winstr+'</tr>';winstr=winstr+'<tr valign=middle align=center>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric9end:\')"><img src='+chost+'img/ic9.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric10end:\')"><img src='+chost+'img/ic10.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric11end:\')"><img src='+chost+'img/ic11.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric12end:\')"><img src='+chost+'img/ic12.gif border=0></td>';winstr=winstr+'</tr>';winstr=winstr+'<tr valign=middle align=center>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric13end:\')"><img src='+chost+'img/ic13.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric14end:\')"><img src='+chost+'img/ic14.gif border=0></td>';winstr=winstr+'<td bgcolor="white" onClick="window.parent.pickSmiley(\''+cwinid+'\',\':stric15end:\')" colspan=2><img src='+chost+'img/ic15.gif border=0></td>';winstr=winstr+'</tr></table></div>';eldiv.innerHTML=winstr+'';var elbody=document.getElementsByTagName("body")[0];if(elbody!=null){elbody.appendChild(eldiv);}}return;}function toJSON(obj){return gadgets.json.stringify(obj);}function chatWith(tou){if(arrpwins[tou]==null||!arrpwins[tou]){var counter=0;for(var i in arrpwins){counter++;}if(fru==null||fru==''){errwin=dhtmlwindow.open("errmsg","inline","<font face=arial size=2><br>Please Login.  You have to Login before you can chat with anyone.<br><br><center><input type=button onClick='javascript:errwin.close();' value='Close'></center></font>","Login Required","width=300px,height=120px,left=150px,top=10px,resize=1,scrolling=0","recal");errwin.moveToN('middle','middle');return false;}arrpwins[tou]=createCWin(tou,counter+1,tou);arrpwins[tou].onclose=function(){arrpwins[tou].hide();return false;};url=chost+'imserver?a=req&f='+fru+'&t='+tou+'&s='+site;url=url+'&callback=chatRequestResp&jsoncallback=?';$.getJSON(url);}else{arrpwins[tou].show();}}function chatRequestResp(response){arrmessages=response;for(i=0;i<arrmessages.length;++i){if(i==1){break;}if(arrmessages[i].s=='s'&&arrmessages[i].m=='reqok'){document.forms['messageform'+arrmessages[i].f].auth.value='T';dispSysMsg(arrmessages[i].f,'Chat session initiated successfully !');}else if(arrmessages[i].s=='s'&&arrmessages[i].m=='reqrej'){document.forms['messageform'+arrmessages[i].f].auth.value='D';dispSysMsg(arrmessages[i].f,arrmessages[i].f+' has Denied your chat request. Please chat with some other user');}else if(arrmessages[i].s=='s'&&arrmessages[i].m=='reqsent'){document.forms['messageform'+arrmessages[i].f].auth.value='R';dispSysMsg(arrmessages[i].f,'Chat request sent to '+arrmessages[i].f+'. Waiting for response ...');}}}function startMonitoring(){if(nomsgcount==10){dly=5000;}else if(nomsgcount>=16){dly=10000;}setTimeout("monitorIM()",dly);}function monitorIM(){if(pquery==0){if(fru!=''&&site!=''){url=chost+'imserver?a=q&f='+fru+'&s='+site;url=url+'&callback=showMessagesL&jsoncallback=?';$.getJSON(url);}else{setTimeout("startMonitoring()",100);}}else{pquery=0;setTimeout("startMonitoring()",100);}}function showMessagesL(response){arrmessages=response;for(i=0;i<arrmessages.length;++i){if(arrmessages[i].s=='s'){if(arrmessages[i].m=='reqrecv'){syswin=dhtmlwindow.open("sysmsg","inline","<font face=arial size=2><br>"+arrmessages[i].f+" would like to chat with you.  Do you want to chat with him/her ?<br><br><center><input type=button onClick=\"javascript:sendChatReqResp('"+arrmessages[i].f+"','T');\" value=' Yes '> <input type=button onClick=\"javascript:sendChatReqResp('"+arrmessages[i].f+"','F');\" value=' No '></center></font>","Chat Request","width=300px,height=120px,left=150px,top=10px,resize=1,scrolling=0","recal");syswin.moveToN('middle','middle');setTimeout("startMonitoring()",100);return false;}else if(arrmessages[i].m=='reqok'){document.forms['messageform'+arrmessages[i].f].auth.value='T';dispMsg(arrmessages[i].f,"<font face=arial color=#3D81EE size=2>Success. "+arrmessages[i].f+" has Accepted your chat request - you can start chatting now...<br>");setTimeout("startMonitoring()",100);return false;}else if(arrmessages[i].m=='reqrej'){document.forms['messageform'+arrmessages[i].f].auth.value='D';dispMsg(arrmessages[i].f,"<font face=arial size=2>"+arrmessages[i].f+" has Denied your chat request - please pick some other user to chat with.<br>");setTimeout("startMonitoring()",100);return false;}}var fuser=arrmessages[i].f+'';if(fuser=='n'){nomsgcount=nomsgcount+1;}else{nomsgcount=0;dly=3000;if(arrpwins[fuser]==null||!arrpwins[fuser]){if(!arrpwins[fuser]){counter=arrpwins.length;}else{var counter=0;for(var i in arrpwins){counter++;}}arrpwins[fuser]=createCWin(fuser,counter+1,fuser);arrpwins[fuser].onclose=function(){arrpwins[fuser].hide();return false;}}else{arrpwins[fuser].show();}document.forms['messageform'+fuser].auth.value='T';dispMsg(fuser,fuser,arrmessages[i].m);}}setTimeout("startMonitoring()",100);}function sendChatReqResp(tou,authresp){if(site!=''){syswin.close();if(authresp=='T'){nomsgcount=0;dly=3000;if(arrpwins[tou]==null){var counter=0;for(var i in arrpwins){counter++;}arrpwins[tou]=createCWin(tou,counter+1,tou);document.forms['messageform'+tou].auth.value='T';}else{arrpwins[tou].show();}}url=chost+'imserver?a=res&s='+site+'&f='+fru+'&t='+tou+'&authresp='+authresp;url=url+'&callback=funcdmy&jsoncallback=?';$.getJSON(url);}}function funcdmy(){}function init(){getActiveUsers();setTimeout("startMonitoring()",100);}function getActiveUsers(){if($('#cusers')||$('#activeuser')){if(site!=''){url=chost+'imserver?a=u&s='+site;url=url+'&callback=showUsers&jsoncallback=?';$.getJSON(url);}}}function showUsers(response){arrusers=response;useronline=0;userview='';$('#cusers').html("");var ustr='<table width=350 border=0 cellspacing=1 cellpadding=0><tr valign=bottom><td width=70%>';ustr=ustr+'<font size=3 face=arial><b><img src='+chost+'img/imim.gif border=0> Instant Messenger </b>';ustr=ustr+'[ <a href="#" onClick="getActiveUsers(); return false;"> <font size=2 face=arial color=#3D81EE>refresh user list</font></a> ]</font>';ustr=ustr+'</td></tr></table>';ustr=ustr+'<table width=350 cellspacing=2 cellpadding=2 width=98% style="border-color:#c8c63e;border-width:1px;border-style:solid;">';for(i=0;i<arrusers.length;++i){ustr=ustr+'<tr><td align=center><font size=2 face=arial>'+arrusers[i]+'</font></td>';ustr=ustr+'<td align=center valign=middle><a href="#" onClick="chatWith(\''+arrusers[i]+'\'); return false;"><b><img src='+chost+'img/imsm.gif border=0> <font color=#3D81EE>chat now...</font></b></a></td></tr>';}if(arrusers.length==0){ustr=ustr+'<tr><td colspan=2 align=center><font size=2 face=arial>no users are logged in</font></td></tr>';}ustr=ustr+'</table>';$('#cusers').append(ustr);}google.load("jquery","1");google.setOnLoadCallback(function(){init();});
