var im_notshow_ad = false;
function im_openWebchat(myuid, myname, mysid, siteid, destuid, destname, chatid, userparam, isPopup, imScriptPath, sourcePath){
    if(!myuid || myuid.length<=0 ){
	        alert("\u60A8\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u767B\u5F55\u540E\u518D\u4F7F\u7528\u5728\u7EBF\u804A\u5929\u529F\u80FD\uFF01");
	        return null;
	    }
        if(typeof(chatid)=="undefined")
	        var chatid = null;
	    var chatWidth  = 514;
	    var chatHeight = 534;
	    var cus        = Ntalker.Config.customparams;
	    if(typeof(userparam)=="undefined")
	        var userparam = null;
	    var popupwindowURL = imScriptPath + "/chatwindow.html";
	    var _popupwinURL = "";
	    if(typeof(popupwindowURL)!="undefined" && popupwindowURL){
	        _popupwinURL = popupwindowURL;
	        if(myuid)     _popupwinURL += "?u="+encodeURIComponent(myuid);
	        if(myname)    _popupwinURL += "&n="+encodeURIComponent(myname);
	        if(mysid)     _popupwinURL += "&s="+encodeURIComponent(mysid);
	        if(siteid)    _popupwinURL += "&t="+encodeURIComponent(siteid);
	        if(destuid)   _popupwinURL += "&d="+encodeURIComponent(destuid);
	        if(destname)  _popupwinURL += "&dn="+encodeURIComponent(destname);
	        if(chatid)    _popupwinURL += "&c="+encodeURIComponent(chatid);
	        if(userparam) _popupwinURL += "&p="+encodeURIComponent(userparam);
	        _popupwinURL += "&r="+Ntalker.variable.scriptPath;
	        _popupwinURL += "&sp="+(cus.simple||0);
	        _popupwinURL += "&av="+(cus.avroom||0);
	        _popupwinURL += "&w=0&m=0";
	        _popupwinURL += "&k="+(Ntalker.cache.skin ? encodeURIComponent(Ntalker.cache.skin) : encodeURIComponent("hue=0"));
	        _popupwinURL += "&f="+encodeURIComponent(window.location.host);
	        _popupwinURL += "&l="+(Ntalker.Config.chatlogo ? Ntalker.Config.chatlogo : "");
	        _popupwinURL += "&ad="+(cus.ad || 1);
	    }
	    popupWindow = window.open( _popupwinURL, "imwebchat_"+destuid, "width="+chatWidth+",height="+chatHeight+",toolbar=no,directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no" );
	    return popupWindow;
}
function im_openBuddyList(myuid, myname, mysid, siteid, userparam, isPopup, imScriptPath, sourcePath){
    if (typeof(im_openwindow_inbuddylist)=='undefined'){
        if(!Ntalker.variable.user_id || Ntalker.variable.user_id.length<=0){
            alert("\u60A8\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u767B\u5F55\u540E\u518D\u4F7F\u7528\u5728\u7EBF\u804A\u5929\u529F\u80FD\uFF01");
            return null;
        }
    }
    var IMWidth  = 304;
    var IMHeight = 534;
    if(typeof(userparam)=="undefined")
        var userparam = null;
    var _popupwinURL = "";
    var cust = Ntalker.Config.customparams;
    var popupwindowURL = imScriptPath + "/buddylistwindow.html";
    if(typeof(popupwindowURL)!="undefined" && popupwindowURL){
        _popupwinURL = popupwindowURL;
        if(myuid)     _popupwinURL += "?u="+encodeURIComponent(myuid);
        if(myname)    _popupwinURL += "&n="+encodeURIComponent(myname);
        if(mysid)     _popupwinURL += "&s="+encodeURIComponent(mysid);
        if(siteid)    _popupwinURL += "&t="+encodeURIComponent(siteid);
        if(userparam) _popupwinURL += "&p="+encodeURIComponent(userparam);
        _popupwinURL += "&r="+Ntalker.variable.scriptPath;
        _popupwinURL += "&g="+((cust.enablegroup ? "1" : "0")+(cust.enableroom?"1":"0"))
        _popupwinURL += "&b="+cust.introbuddy;
        _popupwinURL += "&o="+cust.onlinelist;
        _popupwinURL += "&h="+cust.head;
        _popupwinURL += "&se="+cust.search;
        _popupwinURL += "&il="+cust.imagelist;
        _popupwinURL += "&w=0&m=0&i=0";
        _popupwinURL += "&k="+(Ntalker.cache.skin ? encodeURIComponent(Ntalker.cache.skin) : encodeURIComponent("hue=0"));
        _popupwinURL += "&f="+encodeURIComponent(window.location.host);
        _popupwinURL += "&l="+(Ntalker.Config.buddylistlogo ? Ntalker.Config.buddylistlogo : "");
        _popupwinURL += "&ad="+(cust.ad || 1);
    }
    var popupWindow = window.open( _popupwinURL, "imbuddylist_"+myuid, "width="+IMWidth+",height="+IMHeight+",toolbar=no,directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no" );
    return popupWindow;
}
function im_popupToolbar(myuid, myname, mysid, siteid, userparam, isPopup, imScriptPath, sourcePath){
    if(!Ntalker.variable.user_id || Ntalker.variable.user_id.length<=0){
        alert("\u60A8\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u767B\u5F55\u540E\u518D\u4F7F\u7528\u5728\u7EBF\u804A\u5929\u529F\u80FD\uFF01");
        return null;
    }
    if(typeof(userparam)=="undefined")
        var userparam = null;
    var _popupwinURL = "";
    var popupwindowURL = typeof(im_popupwindowURL)!='undefined' ? im_popupwindowURL : Ntalker.variable.scriptPath + "/popupwindow.html";
    if(typeof(popupwindowURL)!="undefined" && popupwindowURL){
        _popupwinURL = popupwindowURL;
        if(myuid)     _popupwinURL += "?myuid="+encodeURIComponent(myuid);
        if(myname)    _popupwinURL += "&myname="+encodeURIComponent(myname);
        if(mysid)     _popupwinURL += "&mysid="+encodeURIComponent(mysid);
        if(siteid)    _popupwinURL += "&siteid="+encodeURIComponent(siteid);
        if(userparam) _popupwinURL += "&userparam="+encodeURIComponent(userparam);
        _popupwinURL += "&skin="+(Ntalker.cache.skin ? encodeURIComponent(Ntalker.cache.skin) : encodeURIComponent("hue=0"));
    }
    var popupWindow = Ntalker.variable.popupWindow;
    if(!popupWindow){
        try{
            var width  = window.screen.width  - 5;
            var height = window.screen.height - 50;
            var popupWindow = window.open( _popupwinURL, "imbuddylist_"+myuid, "left=0, top=0, width="+width+",height="+height+",toolbar=no,directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no" );
        }catch(e){
            popupWindow = null;
            return null;
        }
    }
    popupWindow.focus();
    return popupWindow;
}
function im_popupGroupWindow(myuid, myname, mysid, siteid, groupid, groupname, chatid, userparam, isPopup, roomtype){
    if(!myuid || myuid.length<=0){
         alert("\u60A8\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u767B\u5F55\u540E\u518D\u4F7F\u7528\u5728\u7EBF\u804A\u5929\u529F\u80FD\uFF01");
         return null;
    }
    if(typeof(chatid)=="undefined")
        var chatid = null;
    if(typeof(userparam)=="undefined")
        var userparam = null;
    var _popupGroupURL = "";
    var cus = Ntalker.Config.customparams;
    var im_popupGroupURL = typeof(im_popupGroupURL)!='undefined' ? im_popupGroupURL : Ntalker.variable.scriptPath + "/chatwindow.html";
    if(typeof(im_popupGroupURL)!="undefined" && im_popupGroupURL){
        _popupGroupURL = im_popupGroupURL;
        var custom     = Ntalker.Config.customparams;
        if(myuid)     _popupGroupURL += "?u="+encodeURIComponent(myuid);
        if(myname)    _popupGroupURL += "&n="+encodeURIComponent(myname);
        if(mysid)     _popupGroupURL += "&s="+encodeURIComponent(mysid);
        if(siteid)    _popupGroupURL += "&t="+encodeURIComponent(siteid);
        if(groupid)   _popupGroupURL += "&groupid="+encodeURIComponent(groupid);
        if(groupname) _popupGroupURL += "&groupname="+encodeURIComponent(groupname);
        if(userparam) _popupGroupURL += "&p="+encodeURIComponent(userparam);
        if(chatid)    _popupGroupURL += "&c="+encodeURIComponent(chatid);
        _popupGroupURL += "&r="+Ntalker.variable.scriptPath;
        _popupGroupURL += "&sp="+(cus.simple||0);
        _popupGroupURL += "&av="+(cus.avroom||0);
        _popupGroupURL += "&w=0&m=0";
        _popupGroupURL += "&k="+(Ntalker.cache.skin ? encodeURIComponent(Ntalker.cache.skin) : encodeURIComponent("hue=0"));
        _popupGroupURL += "&f="+encodeURIComponent(window.location.host);
        _popupGroupURL += "&l="+(Ntalker.Config.chatlogo ? Ntalker.Config.chatlogo : "");
        _popupGroupURL += "&rt="+(roomtype?1:0);
        _popupGroupURL += "&ad="+(cus.ad || 1);
    }
    var popupWindow = Ntalker.variable.popupWindow;
    if(!popupWindow){
        try{
            var width  = window.screen.width  - 5;
            var height = window.screen.height - 50;
            var popupWindow = window.open( _popupGroupURL, "", "left=0, top=0, width="+width+",height="+height+",toolbar=no,directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no" );
        }catch(e){
            popupWindow = null;
            return null;
        }
    }
    popupWindow.focus();
    return popupWindow;
}
function imOpenChatWindow(destuid, destname, myuid, myname, mysid, siteid, userparam, type){
    if(typeof(im_openWebchatInPage)!="undefined"){
        im_openWebchatInPage(destuid, destname, null, true);
        return true;
    }
    else{
        var imScriptPath = getScriptPath();
        im_openWebchat(myuid, myname, mysid, siteid, destuid, destname, null, userparam, true, imScriptPath, "");
    }
}
function fIM_OpenIMWindow(source){
    if( window.location.pathname.indexOf("chatwindow")!=-1 ){
        var imScriptPath = getScriptPath();
        im_openBuddyList(Ntalker.variable.user_id, Ntalker.variable.user_name, Ntalker.variable.user_sid, Ntalker.variable.siteid, Ntalker.variable.userparam, 0, imScriptPath);
    }else
        if(im_myIMWindow) im_myIMWindow.showWindow(Ntalker.Config.isPopupMode);
    return;
}
function OnGroupOpenChatWindow(destuid, destname, myuid, myname, mysid, siteid, userparam){
    if( window.location.pathname.indexOf("chatwindow")!=-1 ){
    	if( destuid.indexOf("guest")!=-1 || myuid.indexOf("guest")!=-1 ){
    		alert("\u8bf7\u767b\u5f55\u540e\u518d\u4f7f\u7528\u4e00\u5bf9\u4e00\u804a\u5929!");
    		return;
    	}
        var imScriptPath = getScriptPath();
        im_openWebchat(myuid, myname, mysid, siteid, destuid, destname, null, userparam, 0, imScriptPath);
    }else
        im_openWebchatInPage(destuid, destname, null, true, 'chat');
}
function OnGroupListOpenGroupWindow(groupid, groupname, myuid, myname, mysid, siteid, userparam){
    im_openWebchatWindow(groupid, groupname, null, true, 'group');
}
function base64encode(input) {
    var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
    input = escape(input);
    var output = "";
    var chr1, chr2, chr3 = "";
    var enc1, enc2, enc3, enc4 = "";
    var i = 0;
    do {
        chr1 = input.charCodeAt(i++);
        chr2 = input.charCodeAt(i++);
        chr3 = input.charCodeAt(i++);
        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;
        if (isNaN(chr2)) {
            enc3 = enc4 = 64;
        } else if (isNaN(chr3)) {
            enc4 = 64;
        }
        output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
        chr1 = chr2 = chr3 = "";
        enc1 = enc2 = enc3 = enc4 = "";
    } while ( i < input . length );
    return output;
}
function getScriptPath(){
    var scriptobjs = document.getElementsByTagName("HEAD")[0].getElementsByTagName("script");
    for(var i=0; i<scriptobjs.length; i++){
        var src = scriptobjs[i].getAttribute("src");
        if( src.indexOf("promptwindow.js")>0 ){
            var pos = src.lastIndexOf("/");
            src = pos>=0 ? src.substring(0,pos) : "";
            return src;
        }
    }
    return "";
}