// 获取指定 id 的对象
function getById( id )
{
	var obj = document.getElementById( id );
	if( obj == null )
	{
		alert( "ID:" + id + " 不存在" );
	}
	return obj;
}

// 获取指定 id 的对象
function getByTag( tag )
{
	var obj = document.getElementsByTagName( tag );
	if( obj == null )
	{
		alert( "Tag:" + tag + " 不存在" );
	}
	return obj;
}

// 创建标签
function create( tagName )
{
	var tag = document.createElement( tagName );
	return tag;
}
//
// 浏览器判断(2007-11-23 12:04)
function getBrowserName()
{
	if( navigator.userAgent.indexOf("Firefox")>0)
	{
		return "firefox";
	}
	return "ie";
}
// 是不是firefox
function isFF()
{
	return (getBrowserName() == "firefox") ? true : false;
}
////////////////////////////////////////////////
//
// 自适应内容图片的大小 (2007-11-26 17:19)
//
///////////////////////////////////////////////
function fixContentImageSize( img )
{
	img.className = "imgFrame";
	img.style.marginLeft = "4";
	img.alt = img;
	
	var obj = img;
	for( var x = 0; obj != null; x += obj.offsetLeft, obj = obj.offsetParent );
	
	var w = this.screen.width - x - 180;

	if(img.width > w)
	{
		img.width = w;
		img.title = "实际宽高("+ img.width +"px, "+ img.height +"px)点击在新窗口浏览";
		img.style.cursor = "pointer";
		img.onclick = function()
		{
			window.open( img.src );
		}
	}
}
///////////////////////////////////////////
//
// ctrl+enter 提交( 2007-11-29 19:14 )
//
///////////////////////////////////////////
function ctrlSubmit(eventobj)
{
	var evt = ( getBrowserName()=="ie" )? event: eventobj;
	if((evt.ctrlKey) && (evt.keyCode == 13))
	{
		var a = document.getElementsByTagName("input");
		for( var i = 0; i < a.length; i++ )
		{
			if(a[i].type=="submit")
			{
				a[i].click();
				break;
			}
		}
	}
}
////////////////////////////////////////////
//
// 检测字节长度(2007-12-4 14:20)
//
/////////////////////////////////////////////
function checkByte( maxLen )
{
	var textarea = document.getElementsByTagName("textarea");
	if( textarea.length == 0 ){ alert('Textarea not find'); return; }
	
	var len = 0;
	var v = textarea[0].value;
	if( v != null && v != "" )
	{
		len = v.replace(/[^\x00-\xff]/g,"**").length;
	}
	alert( '当前字节:' + len + "\r\n(最多允许"+ maxLen +"字节)" );
}

// 设置输入显示
function musovInput(td, must)
{
	var cn = "mouseoverInput" + must;
	var inp = td.getElementsByTagName("input");
	if( inp.length > 0 )
	{
		inp[0].className = cn;
		//inp[0].setActive();
		td.onmouseout = function()
		{
			inp[0].className = "";
			//document.body.setActive();
		}
	}
}
// 论坛表情(2007-11-9 19:36)
//-=================================
// faceFolder 表情文件夹
// containerId	容器id
// count 表情总数
var gbFacePageCurrentIndex = 0;
function getForumFace( faceFolder, containerId, count )
{
	var div = document.getElementById( containerId );
	if( !div ){ return; }

	div.innerHTML = "&nbsp;表情";
	div.style.marginTop = "4px";
	//div.style.border = "1px solid #efefef";
	// 图片bar
	var bar = document.createElement("div");
	if( getBrowserName() == "ie" )
	{
		bar.style.width = "720px";
	}
	else
	{
		bar.style.width = "702px";
	}
	bar.style.padding = "8px";
	bar.style.border = "1px solid #efefef";
	bar.id = "gbfaceimgbar";
	div.appendChild( bar );
	
	// page total
	/*
	整除四舍五入: X=Math.round(A/B)
	整除向上取整: X=Math.ceil(A/B)
	整除向下取整: X=Math.floor(A/B)
	小数点后保留n位: X=X.toFixed(n)

	toFixed 方法对浏览器版本要求比较高
	*/
	var size = 13;
	var pt = Math.ceil(count/size );
	var pagebarid = "emotPageBarId";
	
	// buttons bar
	var bar2 = document.createElement("div");
	//bar2.style.border = "1px solid red";
	bar2.style.width = bar.style.width;
	bar.style.marginBottom = "3px";
	bar2.align = "right";
	
	// 前
	var upbtn = document.createElement("span");
	upbtn.style.cursor = "pointer";
	upbtn.innerHTML = "<img src='/Icon/emotpager1.gif' align='absmiddle' hspace='3'>";
	upbtn.onclick = new Function( "appendImg( "+ pt +","+ size +","+ -1 +","+ count  +",'"+ bar.id +"','"+ faceFolder +"','"+ pagebarid +"' )" );
	bar2.appendChild( upbtn );
	
	var con = document.createElement("span");
	con.id = pagebarid;
	con.innerHTML = (gbFacePageCurrentIndex+1) + "/" + pt;
	bar2.appendChild( con );
	
	// 后
	var dobtn = document.createElement("span");
	dobtn.style.cursor = "pointer";
	dobtn.innerHTML = "<img src='/Icon/emotpager2.gif' align='absmiddle' hspace='3'>";
	dobtn.onclick = new Function( "appendImg( "+ pt +","+ size +","+ 1 +","+ count  +",'"+ bar.id +"','"+ faceFolder +"','"+ pagebarid +"' )" );
	bar2.appendChild( dobtn );

	div.appendChild( bar2 );
	
	// fill face
	appendImg( pt, size, gbFacePageCurrentIndex, count, bar.id, faceFolder, pagebarid );
}
function appendImg( pt, size, p, count, imgBarId, faceFolder, pagebarid )
{
	//alert( pt+"\r\n"+ size+"\r\n"+ p+"\r\n"+ count+"\r\n"+  imgBarId+"\r\n"+ faceFolder);
	
	gbFacePageCurrentIndex = gbFacePageCurrentIndex + p;
	var total = size;

	if( gbFacePageCurrentIndex >= pt ){ gbFacePageCurrentIndex = pt - 1; }
	if( gbFacePageCurrentIndex < 0 ){ gbFacePageCurrentIndex = 0; }
	document.getElementById(pagebarid).innerHTML = (gbFacePageCurrentIndex+1) + "/" + pt;
	
	var i = gbFacePageCurrentIndex * total;
	if( i > count ){ i = count - total; } 
	var len = (gbFacePageCurrentIndex + 1) * total;
	if( len > count ){ len = count; }
	
	var imgBar = document.getElementById( imgBarId );
	// clear
	imgBar.innerHTML = "";
	
	for( i; i < len; i ++ )
	{
		var img = document.createElement("img");
		img.setAttribute( "hspace", "2" );
		img.setAttribute( "src", faceFolder + i + ".gif" );
		img.style.width = "50px";
		img.style.height = "50px";
		img.style.cursor = "pointer";
		img.onclick = new Function( "appendFaceToContent( " + i + " )" );
		imgBar.appendChild( img );
	}
}
function appendFaceToContent( faceid )
{
	var textarea = document.getElementsByTagName("textarea");
	if( textarea.length > 0 )
	{
		textarea[ textarea.length - 1 ].value += "[emot:"+ faceid +"]";
	}
}
// 结束
//-===============================

function changBgColor( obj, color )
{
	obj.style.backgroundColor = color;
}

///////////获取一个背景层/////////////////////
function getBack( alf )
{
	// back
	var back = create("div");
	back.style.width = window.screen.width;
	back.style.height = window.screen.height;
	back.style.position = "absolute";
	back.style.zIndex = "998";
	back.style.top = 0;
	back.style.left = 0;
	if( getBrowserName() == "ie" )
	{
		back.style.filter = "alpha(opacity = "+ parseInt(alf) +")";
	}
	else
	{
		back.style.opacity = parseInt(alf) / 100;
	}
	back.style.backgroundColor = "#000000";
	
	return back;
}
////////////获取一个浮动层//////////////////////
function getPop()
{
	var div = create("div");
	div.className = "divPop";
	div.style.top = "160";
	div.style.width = 350;
	var w = window.screen.width / 2 - 350 / 2;
	div.style.left = w;
	
	return div;
}
///////////隐藏一个浮动层/////////////////////
function hidePop( backid, popid )
{
	var pop = getById(popid);
	pop.parentNode.removeChild( pop );
	
	var back = getById(backid);
	back.parentNode.removeChild( back );
}
function hideGlbPop()
{
	hidePop( 'glbPop', 'glbBack' );
}
////////////直接显示浮动层///////////////////
function showPop( html )
{
	var back = getBack( 50 );
	back.id = "glbBack";
	
	var pop = getPop();
	pop.id = "glbPop";
	
	var h = "<div align=right style='background-color:#efefef;width:96% !important;width:100%;padding:6px'>";
	h += "<span style='cursor:pointer' onclick=hidePop('"+ back.id +"','"+ pop.id +"')>关闭</span></div><table cellpadding=12><tr><td>" + html + "</td></tr></table>";
	pop.innerHTML = h;
	
	document.forms[0].appendChild( back );
	document.forms[0].appendChild( pop );
}
////////////////// table 操作函数/ /////////////////////
//-------函数(2008-1-25)-----------------------------------
// 创建一个指定表的新行，并跨指定列
//------参数-----------------------------------
// tbl 表对象
// cellTotal 列数
var Glb_Row = null; 
function newRow( tbl, cellTotal )
{
	if( Glb_Row == null )
	{
		Glb_Row = tbl.insertRow(-1);
		var cel = Glb_Row.insertCell(0);
		cel.colSpan = cellTotal;
	}
	Glb_Row.style.display = "";
	return Glb_Row;
}
////////////移动到指定tr后边////////////////
function moveRowTo( row, targetRow )
{
	var tbl = targetRow.parentNode;
	
	var index = targetRow.rowIndex;
	var index2 = row.rowIndex;
	if( !isFF() )
	{
		// 如果活动行在选取行之前，在重新选择一个当前选取行以后的行后，选取行的索引会包含活动行
		// 所以，在选取行在上一个选取行之后的话，要重新计算一次当前行的索引 
		if( index2 > index ){ index ++; }
		tbl.moveRow( index2, index );
	}
	else
	{
		index ++;
		if( index >= tbl.rows.length ){ index = tbl.rows.length; }
		var obj = tbl.rows[ index ];
		//alert(obj)
		tbl.insertBefore( row, obj );
	}
}
//////////////隐藏全局行//////////////////
function hideRow()
{
	if( Glb_Row != null )
	{
		Glb_Row.style.display = "none";
	}
}
/////////////////更改显示模式////////////////////////////////////
function changeOrderMode( ddl )
{
	var url = document.location.href;
	var index = url.indexOf("?");
	if( index >= 0 )
	{
		var u1, u2;
		u1 = url.substring(0, index );
		u2 = url.substring( index + 1 );
		
		var qs = u2.split("&");
		var q = "";
		for( var i = 0; i < qs.length; i ++ )
		{
			if( qs[i].toLowerCase().indexOf("order=") == -1 )
			{
				q = q + "&" + qs[i];
			}
		}
		//alert(q);
		url = u1 + "?Order=" + ddl.value + q;
	}
	else
	{
		url = url + "?Order=" + ddl.value;
	}
	//alert(url)
	location.href = url;
}
// 显示附件信息 2007-11-12 12:07
//===================================================
// img 附件icon
// attinfo 附件信息
// len 附件信息的个数
function getAttachmentInfo( img, attinfo, len )
{
	var att = attinfo.split(',');
	if( att.length != len ){ return; }
	
	var div = document.createElement("div");
	div.id = "aaa";
	div.style.position = "absolute";
	div.style.left = ( getObjectPosition( img, 8, 0 ).x - 22 ) + "px";
	div.style.top = ( getObjectPosition( img, 8, 0 ).y + 15 ) + "px";
	div.className = "uploadAttachmentInfo";
	div.style.opacity = "0.5";
	
	var html = "<b>"+ att[1] +"</b> ";
	html += "("+ att[2] +"KB)<br>";
	//html += "下载次数:";
	//html += att[4];
	html += "<div align='right'>" + att[3] + "</div>"
	div.innerHTML = html;
	
	img.onmouseout = function()
	{
		div.parentNode.removeChild(div);	// 保持与firefox兼容 不能使用 removeNode(true);
	}
	
	document.body.appendChild( div );
}

////////////////////////////当提交时对buttonde 控制click//////////////////////////////////
var glb_ShowPopFlag = true;
var glb_Privew = false;
var submitAction = null;

function submitme( form )
{
	if( glb_Privew )
	{
		if( submitAction == null )
		{
			submitAction = document.forms[0].action;
			document.forms[0].target = "_blank";
			document.forms[0].action = "/Forum/Preview.aspx";
			glb_ShowPopFlag = false;
		}
		glb_Privew = false;
	}
	else
	{
		if( submitAction != null )
		{
			document.forms[0].target = "_self";
			document.forms[0].action = submitAction;
			submitAction = null;
			glb_ShowPopFlag = true;
		}
	}
	
	scroll(0,0);
	
	for( var i = 0; i < form.elements.length; i ++ )
	{
		if( form.elements[i].type == null || form.elements[i].type == "" )
		{
			continue;
		}
		if( form.elements[i].type.toLowerCase()=="submit" || form.elements[i].type.toLowerCase()=="reset" )
		{
			form.elements[i].disbled = "true";
		}
	}
	
	if( !glb_ShowPopFlag )
	{
		return;
	}
	
	var back = getBack(10);
	back.id = "glbBack";
	
	var pop = getPop();
	pop.id = "glbPop";
	
	html = "<div style='padding:40px' align='center'><img src='/icon/waiting.gif' vspace='12'><br>正在提交，请等候。<br><br><br></div>";
	pop.innerHTML = html;
	
	form.appendChild( back );
	form.appendChild( pop );

}
///////////////////////// 获取一个对象的绝对位置//////////////////////////////
// offX x偏移
// offY y偏移
function getObjectPosition( obj, offX, offY )
{
	var xp,yp;
	var o = obj;
	// 得到距离left和top的实际位置
	for( var x=0, y=0; o!=null; x+=o.offsetLeft,y+=o.offsetTop, o = o.offsetParent ); 
	xp = x + obj.offsetWidth + offX;
	yp = y + offY;

	return{ x:xp, y:yp };
}
/////////////////// 选择页面上所有 checkbox////////////////////
function selectAllCheckBox( box )
{
	var boxs = document.getElementsByTagName( "input" );
	for( var i = 0; i < boxs.length; i ++ )
	{
		if( boxs[i].type != "checkbox" )
		{
			continue;
		}
		if( box != boxs[i] )
		{
			boxs[i].checked = box.checked;
		}
	}
}
/////////////预浏览//////////////////////
function showPreview( imgPath, container )
{
	var img = create("img");
	img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="+ imgPath +")";
	img.style.filter += "progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc,Direction=120,strength=3)";
	img.style.width = "200px";
	//img.style.height = "100px";
	img.style.border = "1px solid #4A95C9";
	img.alt = imgPath;
	container.appendChild(img);

		
	//arena.innerHTML = "<img alt='"+ imgpath +"' src='"+ imgpath +"' onload='fixSize(this)' style='border:1px solid #4A95C9;filter:progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc,Direction=120,strength=3)'>";
}