
function display(i)
{
	document.getElementById(i).style.display="block";
}

function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
}
function shutup_class(all)
{
	arrElements=getElementsByClass(all,null,null);
	for(var i=0; i<arrElements.length; i++)
	{
		arrElements[i].style.display="none";
	}	
}


function grid_edit(i,text)
{
	o=document.getElementById(text);
	v = o.value;
	if(v=="")
		v = v+i;
	else
		v = v+"\n"+i;
	o.value=v;
	if(o.style.display!="none")
		o.focus();
}



function scratchin(id)
{
	var o = document.getElementById(id);
    var i=0;
	var j=0;
	if(o!=null)
	{
		function change(){
			if(i>=100)
				i=100;
			else
			{
				i+=5;
			   o.style.filter = "Alpha(Opacity=" + i + ")"; //for IE    
				o.style.opacity = i/100; //for FF
			}

		}

		if(i<100)
			window.setInterval(change,3);
			

	}
}

function fadein(id)
{
	var o = document.getElementById(id);
	
	var h = o.style.height;
    var i=0;	
	if( (o) && o.style.display!="block")
	{
	   o.style.filter = "Alpha(Opacity=0)"; //for IE    
		o.style.opacity = 0; //for FF	
		o.style.display="block";
		function change(){
			if(i>=100)
				i=100;
			else
			{
				i+=20;
			   o.style.filter = "Alpha(Opacity=" + i + ")"; //for IE    
				o.style.opacity = i/100; //for FF
			}

		}

		if(i<100)
			window.setInterval(change,2);

	}
}
function fadeout(id)
{
	var o = document.getElementById(id);
    var i=100;	
	if(o)
	{
	   o.style.filter = "Alpha(Opacity=100)"; //for IE    
		o.style.opacity = 1; //for FF	
		function change(){
			if(i<5)
			{
				i=0;
				shutup(id);
				o.style.display="none";
			}
			else
			{
				i=i-10;
			   o.style.filter = "Alpha(Opacity=" + i + ")"; //for IE    
				o.style.opacity = i/100; //for FF
			}

		}

		if(i>5)
			window.setInterval(change,2);
		else
		{
				shutup(id);
				o.style.display="none";
		}		
			

	}
}


function changePicture()
{
	var mm=0;
	for(i=1;i<6;i++)
	{
		tt='demo'+i;
		if(document.getElementById(tt).style.display=='block')
			mm=i;
	}
	if(mm==5)
		mm=0;
		
	NO=mm+1;
	
	demo='demo'+NO;
	shutup_class('demo');
	fadein(demo);
	if(NO==1)
		STOP=setTimeout("changePicture()",6000);
	else
		STOP=setTimeout("changePicture()",3000);
}
function stopChange(NO)
{
	shutup_class('demo');
	demo='demo'+NO;
	clearTimeout(STOP);
	fadein(demo);
}
function changeAgin()
{
	changePicture();
}


function mail_reply(receiver_id,receiver,title_id,title,replyto_ac_id,replyto_ac,replyto_id,replyto)
{
	document.getElementById(receiver_id).value=receiver;
	document.getElementById(title_id).value=title;
	document.getElementById(replyto_id).value=replyto;
	document.getElementById(replyto_ac_id).value=replyto_ac;
}
function mail_status(stamp,status)
{
	var xmlHttp=GetXmlHttpObject();
	var url="/mail_status.php?stamp="+stamp+"&status="+status+"&rand="+Math.random();
	if(xmlHttp)
	{
		xmlHttp.onreadystatechange=function()
		{
			if(xmlHttp.readyState==4)
			{
				if(status=='read')
					document.getElementById(stamp).style.font="12px normal";
				else if(status=='hide')
					location.href="/mail.php";
			}
		}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
	else
	{
		document.getElementById(stamp).innerHTML="unsupported browser";
	}
}

function hightlight(id,color)
{
	o=document.getElementById(id);
	o.style.border="1px solid "+color;
	o.style.zindex="1000";
}
function unhightlight(id,color)
{
	o=document.getElementById(id);
	o.style.border="1px solid "+color;
	o.style.zindex="2";
}
function  show_border (i,all)
{

	for(j=1;j<=all;j++)
	{
		if(j!=i)
			document.getElementById(j).style.border="none";
	}
	document.getElementById(i).style.border="2px solid #F5B73E";	
}

function  upload_alert (i,msg,l,lmsg,upload_bar)
{
	if(document.getElementById(i).value=="")
	{
		alert (msg);
		return false;
	}
	else
	{
		if(document.getElementById(l).checked!=true)
		{
			alert (lmsg);
			return false;
		}	
		else
		{
			display(upload_bar);
			return true;
		}
	}
}


function do_inner(i,j)
{
	document.getElementById(i).style.display = "block";
	document.getElementById(i).innerHTML=document.getElementById(j).innerHTML;
}

function server_file_do(n,all,id,action_form,stamp_name,stamp)
{
	v="<input type=\"hidden\" name=\""+stamp_name+"\" value=\""+stamp+"\" />";
	document.getElementById(id+n).style.display = "block";
	document.getElementById(id+n).innerHTML=v+document.getElementById(action_form).innerHTML;
	var i=0;
	while(i<all)
	{
		if( (i!=n) && (document.getElementById(id+i).style.display!= "none"))
		{
			document.getElementById(id+i).style.display = "none";
			document.getElementById(id+i).innerHTML="";
		}
		i++;
	}
}

function do_value(i,j)
{
	document.getElementById(i).value=j;
}





function display_shutup(i)
{
	var o=document.getElementById(i);
	if(o.style.display!="block")
		o.style.display="block";
	else
		o.style.display="none";
}

function display_select(i,width)
{
	document.getElementById(i).style.width=width;
}

function checkbox_display(check,i)
{
	v=document.getElementById(check).checked;
	if(v)
		document.getElementById(i).style.display="block";
	else
		document.getElementById(i).style.display="none";
}

function checkbox_shutup(check,i)
{
	v=document.getElementById(check).checked;
	if(v)
		document.getElementById(i).style.display="none";
	else
		document.getElementById(i).style.display="block";
}


function shutup(i)
{
	document.getElementById(i).style.display="none";
}

function shutup2(i,j)
{
	document.getElementById(i).style.display="none";
	document.getElementById(j).style.display="none";
}

function switch_button(self,i,value,cancel)
{
	if(document.getElementById(self).value!=cancel)
	{
		fadein(i);
		document.getElementById(self).value=cancel;
	}
	else
	{
		document.getElementById(i).style.display="none";
		document.getElementById(self).value=value;
	}

}


function server_origin_swicth(pic,server)
{
	p=document.getElementById(pic);
	s=document.getElementById(server);

	if(s.style.display!="block")
	{
		s.style.display="block";
		p.style.display="none";
		document.getElementById("grid_bottom").style.display="none";
		document.getElementById("grid_box").style.display="none";	
		document.getElementById("grid_switch").value="显示网格";	
	
	}
	else
	{
		s.style.display="none";		
		p.style.display="block";
		document.getElementById("grid_bottom").style.display="block";

	}
}


function   check_num(NUM)  
{  
    var i,strTemp,flag=true;  
    strTemp="0123456789";  
    if (NUM.length==0)
		flag=false;
	else
	{
		for   (i=0;i<NUM.length;i++)  
		{  
			if(strTemp.indexOf(NUM.charAt(i))==-1)  
			flag=false;   
		} 
		return flag;
	}
}  


function GetXmlHttpObject()
{
	var xmlHttp=null; 
	if (window.XMLHttpRequest)// Moz, FF, NN, Op
	{
	  xmlHttp = new XMLHttpRequest(); 
	}
	
	else if(window.ActiveXObject)//IE
	{
	  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
	return xmlHttp;
}

function show_more(show_box,property)
{
	var xmlHttp=GetXmlHttpObject();
	var url="/show_more.php?"+property+"&rand="+Math.random();
	document.getElementById(show_box).innerHTML="<div style=\"width:100%;float:left;text-align:center;margin:20px 0;\"><img src=\"img/ajax_load.gif\" /><br />正在加载......</div>";

	if(xmlHttp)
	{
		xmlHttp.onreadystatechange=function()
		{
			if(xmlHttp.readyState==4)
			{
				document.getElementById(show_box).innerHTML=xmlHttp.responseText;
			}
		}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
	else
	{
		document.getElementById(show_box).innerHTML="unsupported browser";
	}
}

function view_more(show_box,property)
{
	var xmlHttp=GetXmlHttpObject();
	var url="/view_more.php?"+property+"&rand="+Math.random();
	document.getElementById(show_box).innerHTML="<div style=\"width:100%;float:left;text-align:center;margin:20px 0;\"><img src=\"img/ajax_load.gif\" /><br />正在加载......</div>";

	if(xmlHttp)
	{
		xmlHttp.onreadystatechange=function()
		{
			if(xmlHttp.readyState==4)
			{
				document.getElementById(show_box).innerHTML=xmlHttp.responseText;
			}
		}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
	else
	{
		document.getElementById(show_box).innerHTML="unsupported browser";
	}
}


function grid_resizing(url,grid_box,type,click,width,height)
{
	var xmlHttp=GetXmlHttpObject();
	var url=url+"?type="+type+"&click="+click+"&width="+width+"&height="+height+"&rand="+Math.random();
	if(xmlHttp)
	{
		xmlHttp.onreadystatechange=function()
		{
			if(xmlHttp.readyState==4)
			{
				document.getElementById(grid_box).innerHTML=xmlHttp.responseText;
			}
		}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
	else
	{
		document.getElementById(grid_box).innerHTML="unsupported browser";
	}
}

function auto_text(input, hint, input_id)
{

	var me = this;
	this.input = input;
	this.hint = hint;
	this.highlighted = -1;//highlighted是一个寄存变量，保存了当前被用户选中的那个条目编号

	this.getKey = function(ev)//这个函数是用来捕捉键盘的，每个键盘都有对应的数值
	{
		if(ev)			//Mozilla
			return ev.keyCode;
		if(window.event)	//IE
			return window.event.keyCode;
	}
	input.onblur=function(ev)
	{
		window.setTimeout(me.shutup,100);
	}
	this.shutup=function()
	{
		me.hint.style.display="none";
	}

	input.onkeyup = function(ev)  //这个ajax请求服务器并返回数据的函数，大家应该比较熟悉了
	{
		var key = me.getKey(ev);//读取键盘值
		if(me.input.value=="")//如果输入框里没有任何内容，则提示层隐藏，不选中任何条目
		{
			me.hint.style.display="none";
			me.highlighted = -1;
		}
		else if(key!=38 &&  key!=40)//如果键盘不是上下箭头，说明有输入，则发送Ajax请求并取回数据
		{
			
			me.temp=me.input.value;
			var text_part=encodeURIComponent(me.input.value);//对输入框的值进行编码，解决中文问题，便于传送到服务器端
			var xmlHttp=GetXmlHttpObject();
			var url="auto_text.php?input_id="+input_id+"&text_part="+text_part+"&rand="+Math.random();//服务器请求，包含了text_part这个数据
			if(xmlHttp)
			{
				xmlHttp.onreadystatechange=function()
				{
					if(xmlHttp.readyState==4)//服务器有相应并返回了数据，则显示出提示层，并把数据显示在提示层里面
					{
						if(xmlHttp.responseText)
						{
							me.hint.style.display="block";
							me.hint.innerHTML=xmlHttp.responseText;
						}
						else
							me.hint.style.display="none";
					}
				}
				xmlHttp.open("GET",url,true);
				xmlHttp.send(null);
			}
			else
			{
				me.hint.innerHTML="unsupported browser";
			}
			
		}
		
	}
	input.onkeydown = function(ev)//当用户在输入框里按上下箭头时，调用activate()函数来选中提示层里相应的条目。
	{
		var key = me.getKey(ev);
		var lis = me.hint.getElementsByTagName('li');//获取提示层里的元素长度

		if(key==40) //向下箭头，则选中的条目向下移动
		{
			if(me.highlighted< lis.length)
				me.highlighted++;
			else
				me.highlighted=0;
		}
		else if(key==38) //向上箭头，则选中的条目向上移动
		{
			if(me.highlighted>0)
				me.highlighted--;
			else
				me.highlighted= lis.length
		}
		else
			me.highlighted = -1;
		me.activate();//选中新的条目
	
	}

	this.activate = function()//选中某一个条目并进行操作
	{
		me.input.value=document.getElementById(me.highlighted).innerHTML;//输入框里的内容变为选中的条目内容

		var lis = me.hint.getElementsByTagName('li');
		for (i in lis)
		{
			var li = lis[i];

			if (this.highlighted !=lis[i].id)//把所有未选中的条目的css设置一下
			{
				li.className = "";
			}
			else
				li.className = "auto_selected";//把选中的条目的css属性改变一下，比如字体变粗
		}

	};

}
