nf = new Object();
nf = {
	id: global.cookie.Read("bbuserid"),
	folder: global.cookie.Read("bbuserfold"),
	pm:1,
	scrap:1,
	start: function(){
		if (!nf.isLogged()){
			return false;
		}
		var u = window.location.href;
		if (u.indexOf('mypc')>-1){
			return false;
		}
		if (document.getElementsByTagName('div').length>0){
			nf.div.create();
			if (nf.scrap>0){
				nf.request.scrap.start();
			}
			if (nf.pm>0){
				nf.request.pm.start();
			}
		}else{
			self.setTimeout('nf.start()',2000);
		}
	},
	getId: function(){
		return nf.id;
	},
	getFolder: function(){
		var path = window.location.pathname;
		if (path.indexOf('/user/')!=-1){
			var p = path.split('/');
			var folder = p[4];
			var e = folder.split('-');
			//está na própria página
			if (e[0]==user.getId()){
				//pasta desatualizada
				if (nf.folder.indexOf(folder)==-1){
					global.cookie.Write("bbuserfold",folder,24*30,"/",".gamevicio.com.br",false);
					user.folder = folder;
				}
			}
		}

		if (nf.folder.length<1){
			nf.folder = nf.getId();
		}

		return nf.folder;
	},
	isLogged: function(){
		var i = global.cookie.Read("bbuserid");
		return (i>0);
	},
	div: {
		mode: null,
		inuse: 0,
		wind: new Array(),
		setMode: function(s){
			nf.div.mode = s;
		},
		getMode: function(){
			return nf.div.mode;
		},
		setInuse: function(n){
			nf.div.inuse=n;
		},
		getInuse: function(){
			return nf.div.inuse;
		},
		iebody: function (){
    		return (document.compatMode != "BackCompat"? document.documentElement : document.body);
		},
		close: function(id){
			global.div.Shrink('notifier_'+id,2);
			var mode = nf.div.wind[id];
			var ajax = new gAjax('get',global.RelativeRoot() + 'misc/ajax/notifier.php?mode='+mode+'_update_last_visit');
			ajax.send();
		},
		create: function(){
			for(var n=1;n!=3;n++){
				var d = document.createElement("div");
				d.setAttribute('id','notifier_'+n);
				if (document.body){
					document.body.appendChild(d);
				}
			}
		},
		prepare: function(mode){
			nf.div.setMode(mode);
			nf.div.setInuse(parseInt(nf.div.getInuse())+1);
			nf.div.wind[nf.div.getInuse()] = mode;
			var obj = document.getElementById('notifier_'+nf.div.getInuse());
			var n = nf.div.getInuse();
			//default opt
			with (obj.style){
				color = '#000000';
				width = '200px';
				position = 'fixed';
				background = '#FFFFFF';
				border = '1px solid #0000ff';
				//borderColor = '#0000ff';
			}
			obj.className = 'notifier';

			obj.onmouseover = function(){nf.div.event.mouseover(n)}
			obj.onmouseout = function(){nf.div.event.mouseout(n)}
			var s = '<table width="200"><tr onselectstart="return false;" onclick="nf.div.event.click('+n+')" style="cursor:pointer"><td width="20"><div id="not_ico_'+nf.div.getInuse()+'"></div></td><td width="160"><div id="not_title_'+nf.div.getInuse()+'"></div></td><td width="20" align="center"><a href="javascript:void(0)" onclick="javascript:nf.div.close('+nf.div.getInuse()+')">X</a></td></tr></table>';
			s+='<div id="not_content_'+nf.div.getInuse()+'" style="display:none"></div>';
			global.div.Write('notifier_'+nf.div.getInuse(),s);
			nf.div.scroll(obj);
			nf.div.fill(nf.div.getInuse());
			//window.onscroll = nf.div.scroll;
			//global.event.addScroll(nf.div.scroll);
		},
		scroll: function(){
			for(var n=1;n!=3;n++){
				if (n > nf.div.getInuse()){
					break;
				}
				var obj = document.getElementById('notifier_'+n);
				if (obj){
					with (obj.style){
						right = (n==1 ? 15 : 225) +'px';
						//bottom = (0 - nf.div.iebody().scrollTop) + 'px';
						bottom = '0px';
					}
				}
			}
		},
		shrink: function(id){
			global.div.Shrink('not_content_'+id,0);
		},
		isMinimized: function(id){
			return (document.getElementById('not_content_'+id).style.display=="none");
		},
		fill: function(id){
			var title = ico = img_p = img_w = img_h = content = url ='';
			switch(nf.div.getMode()){
				case "pm":
					var ajax = nf.request.pm.content.ajax.getQueryXML();
					title = ajax.getValue('item_details->user->from->name');
					content = ajax.getValue('item_details->content');
					img_p = ajax.getValue('item_details->user->from->avatar->path');
					img_w = ajax.getValue('item_details->user->from->avatar->width');
					img_h = ajax.getValue('item_details->user->from->avatar->height');
					url = '<a href="http://redirect.gamevicio.com.br/user?'+nf.getId()+'&pm">Minhas Mensagens</a>';
					break;
				case "scrap":
					var ajax = nf.request.scrap.content.ajax.getQueryXML();
					title = ajax.getValue('item_details->user->from->name');
					content = ajax.getValue('item_details->content');
					img_p = ajax.getValue('item_details->user->from->avatar->path');
					img_w = ajax.getValue('item_details->user->from->avatar->width');
					img_h = ajax.getValue('item_details->user->from->avatar->height');
					url = '<a href="http://redirect.gamevicio.com.br/user?'+nf.getId()+'&scrap">Meus recados</a>';
			}
			ico = '<img height="15" src="http://club.gamevicio.com.br/files/images/icons/'+nf.div.getMode()+'.gif"/>';
			if (content.length>250){
				content = content.substring(0,250) + '...';
			}
			content = '<img src="'+img_p+'" align="left" width="'+(img_w/2)+'" height="'+(img_h/2)+'" vspace="3" hspace="3"/>' + content;
			content+='<br /><br /><b>'+url+'</b>';
			global.div.Write('not_ico_'+id,ico);
			global.div.Write('not_title_'+id,title);
			global.div.Write('not_content_'+id,content);
		},
		event: {
			idTimer: new Array(),
			click: function(id){
				nf.div.shrink(id);
			},
			mouseover: function(id){
				try{
					clearTimeout(nf.div.event.idTimer[id]);
				}catch(e){}
			},
			mouseout: function(id){
				if (!nf.div.isMinimized(id)){
					nf.div.event.idTimer[id] = self.setTimeout('nf.div.shrink('+id+')',5000);
				}
			}
		}
	},
	request: {
		pm: {
			ajax: null,
			lastTime: 0,
			setLastTime: function(n){
				nf.request.pm.lastTime = n;
			},
			getLastTime: function(){
				return nf.request.pm.lastTime;
			},
			start: function(){
				nf.request.pm.check();
			},
			check: function(){
				var ajax = new gAjax('get',global.RelativeRoot() + 'misc/ajax/notifier.php?mode=pm_last_time');
				ajax.addEvent(4,'nf.request.pm.parseCheck()');
				nf.request.pm.ajax = ajax;
				ajax.send();
			},
			parseCheck: function(){
				var ajax = nf.request.pm.ajax;
				if (ajax.getResponseText()=='no'){
					return;
				}
				if (ajax.isResponseXML()){
					nf.request.pm.setLastTime(ajax.getQueryXML().getValue("item_details->time"));
					nf.request.pm.lastVisit.start();
				}
			},
			has: function(){
				return (nf.request.pm.lastVisit.getValue()<nf.request.pm.getLastTime());
			},
			loadContent: function(){
				if (nf.request.pm.has()){
					nf.request.pm.content.load();
				}
			},
			lastVisit: {
				value: 0,
				setValue: function(n){
					nf.request.pm.lastVisit.value = n;
				},
				getValue: function(){
					return nf.request.pm.lastVisit.value;
				},
				start: function(){
					nf.request.pm.lastVisit.cookie.read();
				},
				cookie: {
					read: function(){
						var s = global.cookie.Read("pm_last_visit");
						var c = (s>1 ? s : 0);
						nf.request.pm.lastVisit.setValue(c);
						//se o cookie estiver vazio, puxar do db
						if (s>1){
							nf.request.pm.loadContent();
						}else{
							nf.request.pm.lastVisit.external.load();
						}
					},
					write: function(){
						global.cookie.Write("pm_last_visit",nf.request.pm.lastVisit.getValue(),24*30,"/",".gamevicio.com.br",false);
					}
				},
				external: {
					ajax: null,
					load: function(){
						var ajax = new gAjax('get',global.RelativeRoot() + 'misc/ajax/notifier.php?mode=pm_last_visit');
						ajax.addEvent(4,'nf.request.pm.lastVisit.external.parseLoad()');
						nf.request.pm.lastVisit.external.ajax = ajax;
						ajax.send();
					},
					parseLoad: function(){
						var ajax = nf.request.pm.lastVisit.external.ajax;
						if (ajax.isResponseXML()){
							nf.request.pm.lastVisit.setValue(ajax.getQueryXML().getValue("item_details->time"));
							nf.request.pm.lastVisit.cookie.write();
						}
						nf.request.pm.loadContent();
					}
				}
			},
			content:{
				ajax: null,
				load: function(){
					try{
						var ajax = new gAjax('get',global.RelativeRoot() + 'misc/ajax/notifier.php?mode=pm_last_details');
						ajax.addEvent(4,'nf.request.pm.content.parseLoad()');
						nf.request.pm.content.ajax = ajax;
						ajax.send();
					}catch(e){}
				},
				parseLoad: function(){
					var ajax = nf.request.pm.content.ajax;
					if (!ajax.isResponseXML()){
						return false;
					}
					nf.div.prepare('pm');
				}
			}
		},
		scrap: {
			ajax: null,
			lastTime: 0,
			setLastTime: function(n){
				nf.request.scrap.lastTime = n;
			},
			getLastTime: function(){
				return nf.request.scrap.lastTime;
			},
			start: function(){
				nf.request.scrap.check();
			},
			check: function(){
				var ajax = new gAjax('get',global.RelativeRoot() + 'misc/ajax/notifier.php?mode=scrap_last_time');
				ajax.addEvent(4,'nf.request.scrap.parseCheck()');
				nf.request.scrap.ajax = ajax;
				ajax.send();
			},
			parseCheck: function(){
				var ajax = nf.request.scrap.ajax;
				if (ajax.getResponseText()=='no'){
					return;
				}
				if (ajax.isResponseXML()){
					nf.request.scrap.setLastTime(ajax.getQueryXML().getValue("item_details->time"));
					nf.request.scrap.lastVisit.start();
				}
			},
			has: function(){
				return (nf.request.scrap.lastVisit.getValue()<nf.request.scrap.getLastTime());
			},
			loadContent: function(){
				if (nf.request.scrap.has()){
					nf.request.scrap.content.load();
				}
			},
			isMine: function(){
				var ajax = nf.request.scrap.content.ajax.getQueryXML();
				return (ajax.getValue("item_details->user->from->id")==ajax.getValue("item_details->user->to"));
			},
			lastVisit: {
				value: 0,
				setValue: function(n){
					nf.request.scrap.lastVisit.value = n;
				},
				getValue: function(){
					return nf.request.scrap.lastVisit.value;
				},
				start: function(){
					nf.request.scrap.lastVisit.cookie.read();
				},
				cookie: {
					read: function(){
						var s = global.cookie.Read("scrap_last_visit");
						var c = (s>1 ? s : 0);
						nf.request.scrap.lastVisit.setValue(c);
						//se o cookie estiver vazio, puxar do db
						if (s>1){
							nf.request.scrap.loadContent();
						}else{
							nf.request.scrap.lastVisit.external.load();
						}
					},
					write: function(){
						global.cookie.Write("scrap_last_visit",nf.request.scrap.lastVisit.getValue(),24*30,"/",".gamevicio.com.br",false);
					}
				},
				external: {
					ajax: null,
					load: function(){
						var ajax = new gAjax('get',global.RelativeRoot() + 'misc/ajax/notifier.php?mode=scrap_last_visit');
						ajax.addEvent(4,'nf.request.scrap.lastVisit.external.parseLoad()');
						nf.request.scrap.lastVisit.external.ajax = ajax;
						ajax.send();
					},
					parseLoad: function(){
						var ajax = nf.request.scrap.lastVisit.external.ajax;
						if (ajax.isResponseXML()){
							nf.request.scrap.lastVisit.setValue(ajax.getQueryXML().getValue("time"));
							nf.request.scrap.lastVisit.cookie.write();
						}
						nf.request.scrap.loadContent();
					}
				}
			},
			content:{
				ajax: null,
				load: function(){
					try{
						var ajax = new gAjax('get',global.RelativeRoot() + 'misc/ajax/notifier.php?mode=scrap_last_details');
						ajax.addEvent(4,'nf.request.scrap.content.parseLoad()');
						nf.request.scrap.content.ajax = ajax;
						ajax.send();
					}catch(e){}
				},
				parseLoad: function(){
					var ajax = nf.request.scrap.content.ajax;
					if (!ajax.isResponseXML()){
						return false;
					}
					if (nf.request.scrap.isMine()){
						return false;
					}
					nf.div.prepare('scrap');
				}
			}
		}
	}
}

function showBannerLeft(){
	var h = window.location.href;
	if (h.indexOf('club')>0){
		return false;
	}
	if (h.indexOf('flash')>0){
		return false;
	}
	var s ='';
	var d = document.createElement("div");
	d.setAttribute('id','banner_left_1');
	if (document.body){
		document.body.appendChild(d);
	}
	global.div.Write('banner_left_1','<a style="color:#000" href="http://www.flashvicio.com.br">Jogue online no FlashVicio</a>');
	var obj = document.getElementById('banner_left_1');
	with (obj.style){
		color = '#000000';
		position = 'absolute';
		background = '#FFFFFF';
		left = '0px';
		top = '0px';
	}
}

//global.event.addLoad(showBannerLeft);
global.event.addLoad(nf.start);
//window.onload = nf.start;