/**
 * author: guiyj <evan_gui@163.com>
 * $Id: dialog.js 
 */
if (typeof($) != 'function') {
	$ = function(id) {
		return document.getElementById(id);
	}
}

showDiv = function(msg, _pic_div) {
	if (_pic_div == true) {
		msg = "<div style=\"margin-top:15px; height:30px;\">"
		+ "<div style=\"float:left;\"><img src=\"http://images.91.com/points91/images/text_content-left.gif\" /></div>"
		+ "<div style=\"float:left; height:24px; background:url(http://images.91.com/points91/images/text_content-bg.gif); line-height:24px; color:#265972; font-size:12px; \">"
		+ msg
		+ "</div>"
		+ "<div style=\"float:left;\"><img src=\"http://images.91.com/points91/images/text_content-right.gif\" /></div>"
		+ "</div>"
		+ "<div style=\"clear:both;\"></div>"
		+ "<div style=\"margin-left:40px; width:80px; margin-top:-9px; position:absolute;\"><img src=\"http://images.91.com/points91/images/buttom_angle.gif\" /></div>";
	} else {
		msg = '<div style="filter:alpha(opacity=100);opacity:1;background:#CDF4FB;border:1px solid #849BCA;width:290px;  z-index:1000; font-size:12px; color:#136C9A;position:absolute; padding:4px"><div sytle="padding:10px;">'
	   	 + msg + '</div>';
	}
	return msg;
}

Utils = function() {}
Utils.prototype.getAbsolutePos = function(el) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
	SL = el.scrollLeft;
	if (is_div && el.scrollTop)
	ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = this.getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}

/**
* 调整弹出框显示内容的位置
*/
function rxy() {
	var step=3;
	if(ie){step=1}
	if(ff){step=6}
	if(ex+100>body.clientWidth) {
		div_msg.style.left = (ex - 100).toString() + 'px' ;
		div_msg.style.left = (ex - 100 + step).toString() + 'px' ;
	} else {
		div_msg.style.left = ex.toString() + 'px' ;
		div_msg.style.left = (ex + step).toString() + 'px' ;
	}
	if(ey+200>body.clientHeight) {
		div_msg.style.top = (ey - 100).toString() + 'px' ;
		div_msg.style.top = (ey - 100 + step).toString() + 'px' ;
	} else {
		div_msg.style.top = (ey-50).toString() + 'px' ;
		div_msg.style.top = (ey + step-50).toString() + 'px' ;
	}
}


var ie = (navigator.appVersion.indexOf("MSIE")!=-1);//IE
var ff = (navigator.userAgent.indexOf("Firefox")!=-1);//Firefox
var iDialogNum = 0;
var ex=0,ey=0;
var div_msg;
var body = document.body;
document.write("<div id=\"my_msg_div\" style=\"position:absolute;\"></div>");

function showMsg(obj, msg, _pic_div, sec) {
    
	var sDivTime = '';
	var utl = new Utils();
	div_msg = $('my_msg_div');
	if (typeof(sec) != 'undefined') {
		sDivTime = "! Auto-closing in <span id='div_sec'>" + sec + "</span>seconds.";
	} else {
		sDivTime = "! <div style='display:none;'>Auto-closing in <span id='div_sec'>" + sec + "</span>seconds.</div>";
	}
	ex = utl.getAbsolutePos(obj).x;
	ey = utl.getAbsolutePos(obj).y;
	
	if (typeof _pic_div == 'undefined') {
		_pic_div = true;
	}
	div_msg.innerHTML = showDiv(msg + sDivTime, _pic_div);
	rxy();
	div_msg.style.display = "block";
	if (sDivTime) {
		setTimeout(subSecond, 1000);
	}
	return ;
}

function subSecond() {
    
	var secId, divId;
//	if (typeof obj == 'undefined') {
		secId = 'div_sec';
		divId = "my_msg_div";
//	} else {
//		secId = obj.secId;
//		divId = obj.divId;
//	}
	var nowSec = parseInt($(secId).innerHTML,10) -1;
	if (nowSec == 0) {
		$(divId).style.display = "none";
		return ;
	} else {
		$(secId).innerHTML = nowSec.toString();
		setTimeout(subSecond, 1000);
	}
}

function hideMsg() {
	if (typeof(div_msg) != 'undefined')
		div_msg.style.display = "none";
	return ;
}



GDialog = function() {
	this.div_msg = null;
	this.divId = "my_msg_div" + iDialogNum;
	this.secId = "div_sec" + iDialogNum;
	this.ex = 0;
	this.ey = 0;
	iDialogNum++;
}

GDialog.prototype.showMsg = function(obj, msg, _pic_div, sec) {
	var dialog_div = document.createElement("div");
	dialog_div.id = this.divId;
	dialog_div.style.position = "absolute";
	document.body.appendChild(dialog_div);
//	document.write("<div id=\"" + this.divId + "\" style=\"position:absolute;\"></div>");
//		alert(obj);return;

	this.div_msg = $(this.divId);
	var sDivTime = '';
	var utl = new Utils();
//	if (typeof(sec) != 'undefined') {
//		sDivTime = "! <span id='" + this.secId + "'>" + sec + "</span>秒后自动消失";
//	}
	ex = utl.getAbsolutePos(obj).x;
	ey = utl.getAbsolutePos(obj).y;
	if (typeof _pic_div == 'undefined') {
		_pic_div = true;
	}
	this.div_msg.innerHTML = showDiv(msg + sDivTime, _pic_div);
	this.rxy();
	this.div_msg.style.display = "block";
//	if (typeof(sec) != 'undefined') {
//		setTimeout("this.hideMsg()", 2000);
//	}
	return ;	
}

GDialog.prototype.hideMsg = function() {
	if (typeof(this.div_msg) != 'undefined')
		this.div_msg.style.display = "none";
	return ;
}

GDialog.prototype.subSecond = function() {
	var nowSec = parseInt($(this.secId).innerHTML) -1;
	if (nowSec == 0) {
		this.div_msg.style.display = "none";
		return ;
	} else {
		$(this.secId).innerHTML = nowSec.toString();
		setTimeout(this.subSecond(), 1000);
	}
}


GDialog.prototype.rxy = function() {
	var step=3;
	if(ie){step=1}
	if(ff){step=6}
	if(ex+100>body.clientWidth) {
		this.div_msg.style.left = (ex - 100).toString() + 'px' ;
		this.div_msg.style.left = (ex - 100 + step).toString() + 'px' ;
	} else {
		this.div_msg.style.left = (ex-20).toString() + 'px' ;
		this.div_msg.style.left = (ex + step-20).toString() + 'px' ;
	}
	if(ey+200>body.clientHeight) {
		
		this.div_msg.style.top = (ey - 100).toString() + 'px' ;
		this.div_msg.style.top = (ey - 100 + step).toString() + 'px' ;
		//alert(this.div_msg.style.top);
	} else {
		this.div_msg.style.top = (ey-50).toString() + 'px' ;
		this.div_msg.style.top = (ey + step-50).toString() + 'px' ;
	}
}

var oDia = new GDialog();
//var ob = new GDialog();
//ob.showMsg($('fav44'), 'testesttestsetsettstestts', false);