/**
 * Author:殘雪易冷 | E-mail: xueruos520@163.com                   
 * Copyright (c) 版权所有 无锡君通软件                                   
 * 2011.5.26更新
 * blog.csnowy.com
 * 弹出窗体优化，弹出多个窗体
 */
var isIe = (document.all) ? true : false;
var root_url = _rootDir;
var con_box = {};

function creatLoadDiv(creatId, content, title, isback, alpnum, istitle){
	var bWidth = parseInt($(document).width());
	var bHeight = parseInt($(document).height());
	
	if(typeof alpnum == "undefined") alpnum = 40;
	if(typeof isback == "undefined") isback = true;
	
	var innerContent = "";
	
	if(isback){
		/* 背景 */
		var back = document.createElement("div");
		back.id = 'back'+creatId;
		var styleStr = "top:0px;left:0px;position:absolute;background:#666;width:" + bWidth + "px;height:" + bHeight + "px;";
		styleStr += (isIe) ? "filter:alpha(opacity="+alpnum+");" : "opacity:0."+alpnum+";";
		back.style.cssText = styleStr;
		document.body.appendChild(back);
	}
	
	/* 内容 */
	var mesW = document.createElement("div");
	mesW.id = '_mesWindow'+creatId;
	mesW.className = "mesWindow";
	if(typeof istitle == "undefined" || istitle == true){
		innerContent += "<div class='mesWindowTop'>";
		/* innerContent += "  <div style='position:absolute; top:-6px; font-size:12px; color:#666; float:left;'>";
		innerContent += "     <img src=\"/"+root_url+"/data/images/popL.png\" />";
		innerContent += "  </div>"; */
		innerContent += "  <div style='position:relative; top:4px; left:10px;  font-size:12px; color:#333; float:left;'>";
		innerContent += "      <a style='font-weight:bold;'> "+title+" </a>";
		innerContent += "  </div>";
		innerContent += "  <div align='right' style='font-size:12px; color:#666; position:relative; top:4px; left:-5px'>";
		innerContent += "	   <a style=\"cursor:pointer;\" onclick='closeMoreWindow_body(\""+creatId+"\");'>";
		/* innerContent += "	   <img src=\"/"+root_url+"/data/images/web_icon_009.gif\" style='position:relative; top:4px; left:-5px' />"; */
		innerContent += "      <img src=\""+root_url+"data/images/close.gif\" style=\"position:relative; top:2px; right:2px\" />";
		innerContent += "	   </a>";
		innerContent += "  </div>";
		innerContent += "</div>";
	}
	innerContent += "<div class='mesWindowContent' id='mesWindowContent"+creatId+"'>" + content + "</div>";
	mesW.innerHTML = innerContent;
	return mesW;
}

//设置select的可见状态
function setSelectState(state) {
	var objl = document.getElementsByTagName('select');
	for (var i = 0; i < objl.length; i++) {
		objl[i].style.visibility = state;
	}
}

function showWindowMore(width,height,title,content,ev,creatId){    
    var pos = mouseMorePosition(ev, width);
	if(pos.y + height > document.body.scrollHeight) pos.y = pos.y - height;
	
	mesW = creatLoadDiv(creatId, content, title);
	styleStr = "left:" + pos.x + "px;top:" + (document.body.scrollHeight) + "px;position:absolute;width:" + width + "px; height:0px";
	mesW.style.cssText = styleStr;
	document.body.appendChild(mesW);
	$("div#_mesWindow"+creatId).hide();
    $("div#_mesWindow"+creatId).slideDown(100);
	
	var items = document.getElementById('_mesWindow' + creatId);
	var elH = items.scrollHeight;
	if(pos.y + elH > document.body.clientHeight) pos.y = pos.y - elH/2;
	$(items).animate({height: elH},{ duration: "slow" });
	$('div#_mesWindow'+creatId).css("top", pos.y);	
} 

function showWindowMoreNoPos(width,height,title,content,creatId){    
	//var pos = get_MorePos(width, creatId);
	
	mesW = creatLoadDiv(creatId, content, title);
	styleStr = "position:absolute;width:" + width + "px; display:none";
	mesW.style.cssText = styleStr;
	document.body.appendChild(mesW);
	$("div#_mesWindow"+creatId).fadeIn();
    var items = document.getElementById('_mesWindow' + creatId);
	
	var pos = getAutoPos(items);
	
	$('div#_mesWindow'+creatId).css("top", pos.y);
	$('div#_mesWindow'+creatId).css("left", pos.x);
	
	var last_pos = pos.y; 
	setScrollPop(items, last_pos);
	
	/* 再次检测TOP */
	/* var elT = items.offsetTop;
	if(elT < 20){
		elY = (document.body.scrollHeight - elH)/2 + document.body.scrollTop;
		$('div#_mesWindow'+creatId).animate({"top": elY});
	} */
}

function setScrollPop (items, last_pos){
	window.setInterval(function(){
							var target_pos = getAutoPos(items).y;
							var step = Math.floor((target_pos-last_pos)/20);
							items.style.posTop += step;
							last_pos += step 										
							}
						, 1);
}

/* 自适应高和宽 */
function showWindowAuto(title, content, creatId, loadType, isback, alpnum, istitle)
{    
	var pos =  {};

	mesW = creatLoadDiv(creatId, content, title, isback, alpnum, istitle);
	styleStr = "position:absolute; display:none;";
	mesW.style.cssText = styleStr;
	document.body.appendChild(mesW);
	if(typeof loadType != "undefined") $("div#_mesWindow"+creatId).css("display", "");
	else $("div#_mesWindow"+creatId).fadeIn("slow");
	
    var items = document.getElementById('_mesWindow' + creatId);
	var itemsContent = document.getElementById('mesWindowContent' + creatId);
	
	var elH = items.offsetHeight;
	var elW = items.offsetWidth;

	if(elW < 400) elW = 400;
	if(elW > 600) elW = 600;
	
	$(items).css("width", elW);
	
	var pos =  getAutoPos(items);

	$(items).css("top", pos.y);
	$(items).css("left", pos.x);
	
	//var last_pos = pos.y; 
	//setScrollPop(items, last_pos);
} 

function mouseMorePosition(ev, width) {
	return {
		x: getPopLeft(ev, width),
		y: getPopTop(ev) + ev.offsetHeight
	};
}

function get_MorePos(width, creatId){
	
	return {
		x: ((document.body.clientWidth - width)>0?(document.body.clientWidth - width):0) / 2 ,
		y: (document.body.scrollHeight) 
	};
}

function getAutoPos(item){
    var pos = {};
	var elH = $(item).height();
	var elW = $(item).width();

	pos.y = ($(window).height() > elH) ? ($(window).height() - elH)/2 + $(document).scrollTop() : $(document).scrollTop();
	pos.x = ($(window).width() > elW) ? ($(window).width() - elW)/2 + $(document).scrollLeft() : $(document).scrollLeft();
	return pos;
}

function getBroStatus(){
	var status = {};
	status.W = parseInt(document.body.scrollWidth);
	status.H = parseInt(document.body.scrollHeight);
	return status;
}

function getPopTop (el, p) {
    var _t = el.offsetTop;
    while (el = el.offsetParent) {
        if (el == p) break;
        _t += el.offsetTop;
    }

    return _t;
};
function getPopLeft (el, width, p) {
    var _l = el.offsetLeft - (width - el.offsetWidth)/2;
    while (el = el.offsetParent) {
        if (el == p) break;
        _l += el.offsetLeft;
    }
    return _l;
};

//关闭窗口
function closeMoreWindow_body(creatId) {
	//window.clearInterval()
	if (document.getElementById('back'+creatId) != null){
		document.getElementById('back'+creatId).parentNode.removeChild(document.getElementById('back'+creatId));
	}
	if (document.getElementById('_mesWindow'+creatId) != null){
		document.getElementById('_mesWindow'+creatId).parentNode.removeChild(document.getElementById('_mesWindow'+creatId));
	}
	if (isIe) {
		setSelectState('');
	}
}


function getOs(){  
	var OsObject = "";  
	if(navigator.userAgent.indexOf("MSIE") >= 0) {  
	    return "MSIE";  
	}else if(isFirefox=navigator.userAgent.indexOf("Firefox") >= 0){  
	    return "Firefox";  
	}else if(isSafari=navigator.userAgent.indexOf("Safari") >= 0) {  
	    return "Safari";  
	}else if(isCamino=navigator.userAgent.indexOf("Camino") >= 0){  
	    return "Camino";  
	}else if(isMozilla=navigator.userAgent.indexOf("Gecko/") >= 0){  
	    return "Gecko";  
	}else if(navigator.userAgent.indexOf('Opera') >= 0){  
	    return "Opera";  
	}else{
		return "未知浏览器";
	}
}



