d=document;_ly=d.layers;op=navigator.userAgent.indexOf('Opera')!=-1;
var bProxy = false;
var msg_loading = "Please let this page finish loading or refresh this page!";
var chat_title = " ";
var chatw = 380;
var chath = 360;
var chatx = 50;
var chaty = 50;
var mxoffset = 10;
var myoffset = 10;
var winmoveable = true;
var bTriggersOn = true;
var bPopup = false;
var _v = 1.1;
var FiltersEnabled = 1;
var page_aid = '';
var showAlways = true;
var display;
var title_style = "style='background-color:#CCCCCC;'";
var _title;
var cid = '';
var bid = '';
var _loc = d.location;
var _win = null;
var count = 0;
var app = navigator.appName;
var dly = d.layers;
var isNS4 = (dly ? true : false);
var isNS = (app.indexOf("Netscape") > -1);
var isOpera = (app.indexOf("Opera") > -1);
var isIE = (app.indexOf("Microsoft") > -1);
var ver = parseInt(navigator.appVersion);
var _wc = 0;
var loadwait = false;
var loadpop = true;
var loadextras = false;
var tt;
var zE;
var ex = new Date();
var bidmin = 8;
ex.setTime(ex.getTime() + (1000 * 60 * 60 * 24 * 600));

function gE(e,f){if(_ly){f=(f)?f:self;var V=f.dly;if(V[e])return V[e];for(var W=0;W<V.length;)tt=gE(e,V[W++]);return tt;}if(d.all)return d.all[e];return d.getElementById(e);}
function sE(e){_ly?e.visibility='show':e.style.visibility='visible';}
function gV(e){return _ly?e.visibility=='show':e.style.visibility=='visible';}
function sV(e, v){_ly?e.visibility=(v?'show':'hidden'):e.style.visibility=(v?'visible':'hidden');}
function hE(e){_ly?e.visibility='hide':e.style.visibility='hidden';}
function sZ(e,z){_ly?e.zIndex=z:e.style.zIndex=z;}
function sX(e,x){_ly?e.left=x:op?e.style.pixelLeft=x:e.style.left=x;}
function gX(e){return _ly?e.left:op?e.style.pixelLeft:e.style.left;}
function sY(e,y){_ly?e.top=y:op?e.style.pixelTop=y:e.style.top=y;}
function gY(e){return _ly?e.top:op?e.style.pixelTop:e.style.top;}
function sW(e,w){_ly?e.clip.width=w:op?e.style.pixelWidth=w:e.style.width=w;}
function sH(e,h){_ly?e.clip.height=h:op?e.style.pixelHeight=h:e.style.height=h;}
function sC(e,tt,r,b,x){_ly?(X=e.clip,X.top=tt,X.right=r,X.bottom=b,X.left=x):e.style.clip='rect('+tt+' '+r+' '+b+' '+x+')';}
function wH(e,h){if(_ly){Y=e.d;Y.open();Y.write(h);Y.close();}else if(e.innerHTML)e.innerHTML=h;}
function sc(name, value, expires){d.cookie = name +"="+ escape(value) +";path=/"+ ((expires == null)?" " : "; expires=" + expires.toGMTString());}
function gR(x,y){return Math.floor(Math.random()*(y-x+1))+x;}
function vUrl(u){ if(u.indexOf("http:")<0)u = 'http://'+u; return u;}
function openUrl(u){open(vUrl(u),'my','toolbar=yes,directories=no,location=no,status=yes,menubar=no,resizable=yes,scrollbars=yes,width=640,height=500');}
function movetoUrl(u){location.replace(vUrl(u)); window.focus();}
function doEval(s){eval(s);}
function doReload(s){window.location.replace(window.location);}

function gEP(evt) {
	var p=new Object();
	p.x=0;
	p.y=0;
	if (!evt)evt = window.event;
	if (typeof(evt.pageX) == 'number') {
		p.x = evt.pageX;
		p.y = evt.pageY;
	}
	else {
		p.x = evt.clientX;
		p.y = evt.clientY;
		if (!isOpera) {
			if ((!d.compatMode) || (d.compatMode == 'BackCompat')) {
				p.x += d.body.scrollLeft;
				p.y += d.body.scrollTop;
			}
			else {
				p.x += d.documentElement.scrollLeft;
				p.y += d.documentElement.scrollTop;
			}
		}
	}
	p.x += mxoffset;
	p.y += myoffset;
	return p;
}

//function fE(target){if(dly){if(target.constructor==Document){for(var l=0;l<dly.length;l++)if(target==dly[l].d)return dly[l];}else if(target.constructor==Image){for(var l=0;l<dly.length;l++) for(var i=0;i<dly[l].d.images.length;i++)if(target==dly[l].d.images[i])return dly[l];}return null;}else if(d.all){do if (target.className=='moveable')return target;while((target=target.parentElement));return null;}else if(d.getElementById){do if(target.className=='moveable')return target;while((target=target.parentNode));return null;}}
//function cS(evt){if(dly){zE=fE(evt.target);if(zE){d.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);d.onmousemove=dR;d.onmouseup=sD;}}else if(d.all){zE=fE(event.srcElement);if(zE){d.onmousemove=dR;d.onmouseup=sD;}}else if(d.getElementById){zE=fE(evt.target);if(zE){d.onmousemove=dR;d.onmouseup=sD;}}}
//function dR(evt){if(dly){zE.left=evt.pageX;zE.top=evt.pageY;}else if(d.all && zE){var ep = gEP(event); zE.style.posLeft=ep.x;zE.style.posTop=ep.y; if(event.clientX < mxoffset+5 || event.clientY < myoffset+5)sD(event); }else if(d.getElementById && zE){var ep = gEP(evt); zE.style.left=ep.x+'px';zE.style.top=ep.y; if(evt.clientX < mxoffset+6 || evt.clientY < myoffset+6)sD(evt); }}
//function sD(evt){if(dly){d.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);d.onmousemove=null;d.onmouseup=null;zE=null;}else if(d.all||d.getElementById){d.onmousemove=null;d.onmouseup=null;zE=null;}}
//if(dly)d.captureEvents(Event.MOUSEDOWN);d.onmousedown = cS;
//if(d.all)d.onselectstart=d.ondragstart=function(){return false;}

function Win(){
	var _io;
	var _do;
	var _to;

	this.iobj = _io;
	this.dobj = _do;
	this.tobj = _to;
	this.id;
	this.loc;
	this.title;
	this.hide = _h;
	this.show = _s;
	this.create = _c;
	this.resize = _r;
	this.moveTo = _m;

	function _c(t, p, b, n, s, x, y, w, h){
		this.id = n;
		this.loc = p;
		this.title = t;
	    this.dobj = gE('d'+n);
	    this.tobj = gE('t'+n);
	    this.iobj = frames['i'+n];
        return z;
	}

	function _h(){
		hE(this.dobj);
		sX(this.dobj, -1000);
		sY(this.dobj, -1000);
	}

	function _s(){
		sE(gE('d'+this.id));
		sE(gE('t'+this.id));
	}

	function _m(x, y){
		sX(this.dobj, parseInt(x));
		sY(this.dobj, parseInt(y));
	}

	function _r(w, h){
		sW(this.dobj, w);
		sH(this.dobj, h);
		sW(this.tobj, w);
		sH(this.tobj, h);
		this.iobj = frames['i'+this.id];
	}
}

function gc(s){return _gc(s);}

function _gc(s){
    var cname = s;
    cname += "=";
    var dc = d.cookie;
    if(dc.length > 0){
        begin = dc.indexOf(cname);
        if(begin != -1){
            begin += cname.length;
            end = dc.indexOf(";", begin);
            if(end == -1) end = dc.length;
                return unescape(dc.substring(begin, end));
        }
    }
    return null;
}

function cBI(ov){
	bid = 'bid' +ex.getTime()+ '.' +gR(0, 9999);
    var wn = window.name;
    if(!ov && wn && wn.length > bidmin && wn.length < 26 && wn.indexOf('_') < 0){
        return wn;
    }else if(isNS4){
        bid = bid.replace(/.|_/g, 'x');
    }
    window.name = bid;
    return bid;
}

function cUI(){return ex.getTime() +".js." +gR(0, 9999);}

function _hs(){
    if(count > 100) return;
    count ++;
    window.status = d.title;
    setTimeout("_hs()", 200);
}

function doCreateWin(t, p, b, n, s, x, y, wi, h, c, r, i){
    	var w = new Win();
		w.id = n;
		w.loc = p;
		w.title = t;
	    if(bPopup) winmoveable = false;
        var z = "<div id=d"+n+" name=d"+n;
	    if(winmoveable) z += " class='moveable' ";
	    z += " align=center style='top:-1000; left:-1000; position:absolute; z-index:1000;margin:0px;padding:2px;  visibility:hidden '>";
	    z += "<table id=t"+n+" name=t"+n+" border=1 cellspacing=0 bgcolor=#FFFFFF cellpadding=0 width=100% height=100% style='z-index:1000; visibility:hidden'>";
		if(!bPopup){
        if(s)z += "<tr height=2 " +s+ "><td height=20>";
        else z += "<tr bgcolor=#4B0082 height=2><td height=20>";
        if(t) z+=t;
        z += "</td></tr>";
	    z += "<tr height=6><td height=6 onmouseover='sD(event)'></td></tr>";
		}
	    z += "<tr><td align=middle>";
    	z += "<iframe id=i"+n+" name=i"+n+" src='"+p+"' scrolling=no ";
	    z +=  "width=100% height=100% ";
	    z += " style='z-index:99999' onscroll='return false;'></iframe>";
	    z += "</td></tr></table></div>";

        var e = gE('_dtmp');
	    if(e && (!isNS4)){
	    	wH(e, z);
	    } else {
	    	d.write(z);
	    }

	    w.dobj = gE('d'+n);
	    w.tobj = gE('t'+n);
	    w.iobj = frames['i'+n];
    	return w;
}

var oImg;
var _img;
var sImg;
var imgId = new String(gR(1, 20000));
var bExtraImageWrite = true;
var bPreloadImage = false;
function initProactive(r, n){
	if(sImg) return;
    if(!cid || cid == ""){
		cid = _gc("cid")!=null?_gc("cid"):"";
		if(!cid || cid == "") cid = cUI();
	}
	bid = cBI();
	sc("cid", cid, ex);

	sImg = tracker_servlet+ "?c=" +cid+ "&q=" +escape(page_qid)+ "&t=" +escape(page_label)+ "&b=" +escape(bid)+ "&id=" +imgId+ "&v=" +_v;
	if(display) sImg+="&d=" + escape(display);

    if(!bTriggersOn) sImg+="&et=false";
    if(bPopup) sImg+="&pop=true";

    if(r)sImg += "&r=" + escape(r);
	else if(d.referrer) sImg += "&r=" + escape(d.referrer);

    if(_loc)sImg+="&l=" + escape(_loc);
    else sImg+="&l=" + escape(d.URL);

    if (navigator){
		if(navigator.javaEnabled()) sImg += "&j=true";
		if(d.plugins) sImg += "&p=" + d.plugins.length;
	    if(navigator.plugins) sImg += "&p=" + navigator.plugins.length;
    	if(navigator.mimeTypes) sImg += "&m=" + navigator.mimeTypes.length;
        if(navigator.cookieEnabled) sImg+= "&ck=1";
    }

    if(self && self.history)sImg+= "&h=" +self.history.length;
	_img = "<img id='hi"+imgId+"' src='"+sImg+"'>";
    if(d.images && bPreloadImage){// && !d.images['hi'+imgId]){
		oImg = new Image(1,1);
        oImg.src = sImg;
        d.images['hi'+imgId] = oImg;
	}
}


function IncludeProactiveChat(){
    if(loadwait && d.readyState && d.readyState != "complete" && !isOpera) {
		setTimeout("IncludeProactiveChat()", 200);
		return;
	}
	//if(_win) _win.hide();
	var l = "";
	if(bProxy){
		l = escape(pro_path + "/index.jsp?qid=" +page_qid+ "&cid=" +cid+ "&bid=" +bid+ "&includes=" +includes_dir+ "&pro_path=" +pro_path);
	}else{
		l = pro_path + "/index.jsp?qid=" +escape(page_qid)+ "&cid=" +cid+ "&bid=" +bid+ "&includes=" +escape(includes_dir)+ "&pro_path=" +escape(pro_path);
	}
	if(optional_qid)l += "&optqid=" + escape(optional_qid);
    if(!bTriggersOn) l+="&et=false";
    if(bPopup) l+="&pop=true";
	l += "&title=" +escape(page_label)+ "&location=" +escape(_loc);
	_win = doCreateWin(_title, l, true, "iproactive", title_style, -1, -1, -1, -1, "sendCloseMessage", true, false);
	setTimeout("_hs()", 8000);
	setTimeout("_sl()", 9000);
}


function InsertProactiveHelper(r){
    if(!isNS4 && _img && (bExtraImageWrite || !bPreloadImage))d.write(_img);

	var i = includes_dir + "/com_frame.html";
	var s = "<iframe id=_fraComm name=_fraComm src='" +i+ "' width=1 height=1 style='position:absolute;left:0;top:0;visibility:hidden'></iframe>";
    d.write(s);
	IncludeProactiveChat();
	if(loadextras){
		s = "<scri" + "pt src='" +includes_dir+ "/extras.js'></scri" + "pt>";
        d.write(s);
    }

    if(loadpop){
		s = "<div id=_dtmp style='position:absolute;left:0;top:0;width:0;height:0;visibility:hidden'>&nbsp;</div>";
		s += "<iframe id=itip name=itip width=0 height=0 src='" +includes_dir+ "/_blank.html' style='position:absolute;visibility:hidden'></iframe>";
		s += "<DIV id=TipLayer style='visibility:hidden;position:absolute;z-index:1000;left:-1000;top:-1000'></DIV>";
		s += "<scri" + "pt src='" +includes_dir+ "/popup.js'></scri" + "pt>";
		d.write(s);
    }
}


function RequestChat(q, a){
	if(!_win || ! _win.iobj || (d.readyState && d.readyState != "complete")){
		 if(a) setTimeout("RequestChat('" +q+ "', '" +a+ "')", 100);
         else alert(msg_loading);
		 return;
	}

	if(a || page_aid || q){
		var l = pro_path + "/index.jsp?includes=" +escape(includes_dir) +"&qid=" +page_qid;
		if(q && q != 'undefined')l += "&optqid=" + escape(q) + "&action=autochat";
		if(a && a != 'undefined')l += "&qaid=" + escape(a);
        if(page_aid && page_aid != 'undefined')l += "&qaid=" + escape(page_aid);
        if(bPopup) l+="&pop=true";
		l += "&location=" +escape(_loc)+ "&title=" +escape(page_label) +"&pro_path=" +escape(pro_path)+ "&cid=" +cid+ "&bid=" +bid;
		if(isOpera){
	        var f = frames['i'+_win.id];
		    if(!f) {
		    	alert(msg_loading);
	        	return;
		    }
            if(bPopup) showPopChat(l, chatw, chath);
		    else f.src = l;
        } else if(isIE || isNS){
	        if(!_win.iobj){
	        	alert(msg_loading);
	        	return;
	        }
            if(bPopup) showPopChat(l, chatw, chath);
	        else _win.iobj.location.replace(l);
        }
	}

	if(!bPopup) {
		_win.show();
		_win.moveTo(chatx,chaty);
		_win.resize(chatw, chath);
		if(!q)sendChildMessage("showChatEx");
		try{eval(HideTip);}catch(e){}
	}
}

var nmov = -1;
function _sl(){
	if(showAlways && _win && _win.dobj && gV(_win.dobj)){
		if(d.body.scrollTop || d.documentElement.scrollTop || nmov >= 0){

			var t = d.body.scrollTop;
			if(!t) t = d.documentElement.scrollTop;

			if(t != nmov || (t > 0 && (t>gY(_win.dobj) || t<gY(_win.dobj)))){
		 		nmov = t;
		 		_win.moveTo(parseInt(gX(_win.dobj)), t+15);
		 		var e = gE('TipLayer');
                if(e)sY(e, t+15);
		 	}
		 }
	}
	setTimeout("_sl();", 500);
}


function showPopChat(l, w, h){
    if(!l){
        l = pro_path + "/index.jsp?qid=" +escape(page_qid)+ "&cid=" +cid+ "&bid=" +bid+ "&includes=" +escape(includes_dir)+ "&pro_path=" +escape(pro_path);
	    if(optional_qid)l += "&optqid=" + escape(optional_qid);
    	if(!bTriggersOn || bPopup) l+="&et=false";
	    if(bPopup) l+="&pop=true";
    	l += "&title=" +escape(page_label)+ "&location=" +escape(_loc);
    }
    var v = window.open(l,"nlpop","width=" +w+",height="+h+",toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=yes");
}

function resizeChat(w, h){
    if(_win) {
		_win.show();
		_win.resize(parseInt(w), parseInt(h));
		_win.moveTo(chatx,chaty);
		sZ(_win.dobj, 1000);
		window.focus();
		eval(HideTip);
	}
}

function sendChildMessage(f,p){
    var s = pro_path +"/proactive_com_frame.html?func=" +f;
    if(p) s +=p;
    if(isIE) {
	    var ff = frames['i'+_win.id];
	    if(!ff) {
	    	alert(msg_loading);
        	return;
	    }
	    ff.icom.location.replace(s);
    } else {
	    window.open(s, "icom");
    }
}

function sendCloseMessage(){sendChildMessage("closeChat");}
function closeChat(){if(_win) _win.hide(); window.location.replace(window.location);}
function closeChatEx(){if(_win)_win.hide();}

