// JavaScript Document

var isFileLoad = false;
function killerrors() { 
return true; 
} 
//window.onerror = killerrors;

function isIE(){ //ie?
if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1)
    return true;
else
    return false;
}

if(!isIE()){ //firefox innerText define
    HTMLElement.prototype.__defineGetter__("innerText",
    function(){
        var anyString = "";
        var childS = this.childNodes;
        for(var i=0; i<childS.length; i++) {
            if(childS[i].nodeType==1)
                //anyString += childS[i].tagName=="BR" ? "\n" : childS[i].innerText;
                anyString += childS[i].innerText;
            else if(childS[i].nodeType==3)
                anyString += childS[i].nodeValue;
        }
        return anyString;
    }
    );
    HTMLElement.prototype.__defineSetter__("innerText",
    function(sText){
        this.textContent=sText;
    }
    );
	
	HTMLElement.prototype.insertAdjacentHTML=function(where, html){
			   var e=this.ownerDocument.createRange();
			   e.setStartBefore(this);
			   e=e.createContextualFragment(html);
			   switch (where) {
						case 'beforeBegin': this.parentNode.insertBefore(e, this);break;
						case 'afterBegin': this.insertBefore(e, this.firstChild); break;
						case 'beforeEnd': this.appendChild(e); break;
						case 'afterEnd':
						if(!this.nextSibling) this.parentNode.appendChild(e);
						else this.parentNode.insertBefore(e, this.nextSibling); break;
			   }
	};
	
	if(typeof(HTMLElement)!="undefined" && !window.opera) 
	{ 
		 HTMLElement.prototype.__defineGetter__("outerHTML",function() 
		{ 
			var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++) 
			if(a[i].specified) 
				 str+=" "+a[i].name+'="'+a[i].value+'"'; 
			if(!this.canHaveChildren) 
				return str+" />"; 
			return str+">"+this.innerHTML+"</"+this.tagName+">"; 
		 }); 
		 HTMLElement.prototype.__defineSetter__("outerHTML",function(s) 
		{ 
			var r = this.ownerDocument.createRange(); 
			 r.setStartBefore(this); 
			var df = r.createContextualFragment(s); 
			this.parentNode.replaceChild(df, this); 
			return s; 
		 }); 
		 HTMLElement.prototype.__defineGetter__("canHaveChildren",function() 
		{ 
			return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase()); 
		 }); 
	} 
}

function OnEnter( field ) { if( field.value == field.defaultValue ) { field.value = ""; } }
function OnExit( field ) { if( field.value == "" ) { field.value = field.defaultValue; } }

function check_form(obj,range){
	
	
	if(range!=undefined){
		
		//var arrAll=$(range).all;
		var arrAll=$(range).getElementsByTagName("*")
		
		var obj_msg = new Array();
		var m_i=0;//alert(arrAll.length);
		for(i=0;i <arrAll.length;i++)   
		{   
			  if(arrAll[i].name== 'alert_all_msg[]')   
			  {   
				  //alert(arrAll[i].value);
				  
				  obj_msg[m_i]=arrAll[i];
				  m_i++;
			  }   
		}
		
	}else{
		var obj_msg=$2('alert_all_msg[]');
	}
	
	//alert(obj_msg.length);
	
	var is_check=true;
	var first_err='';
	//alert(obj);
	if(is_check){//提交
	
		try{
			var submit_btn=$('submit');
			//alert(submit_btn);
			submit_btn.value='正在提交..';
			submit_btn.disabled=true;
		}catch(e){}
		//alert();
	}
	
	//alert(obj_msg.length);
	var first_err='';
	for (msg_i=0;msg_i<obj_msg.length;msg_i++){
		
		//alert(obj_msg[msg_i].value);
		try{
		//js content
		eval(obj_msg[msg_i].value);
		}catch(e){is_check=false;}
		

		
		if (is_check==false && first_err==''){//得到第一个出错对象
			first_err=obj_msg[msg_i].value;
			
			//break;
		}
	}
	
	try{
		//js contentalert(first_err);
		eval(first_err);//再检查.第一次出错的地方.并
	}catch(e){is_check=false;}
	
	
	//alert(is_check);
	
	if(is_check==false){//提交
		try{
			var submit_btn=$('submit');
			
			submit_btn.value=submit_btn.defaultValue;
			submit_btn.disabled=false;
			
		}catch(e){}
		
	}
	//alert();
	return is_check;
	//return false;
}



function update_check_value(obj,name){
	
	var a = $2(name);
	var idstr='';
	//alert(name);
	
	//alert(idstr.split("\n")[0]);
	for (var i=0; i<a.length; i++)
	{
		if(a[i].checked){
			if(idstr==''){
				idstr+=a[i].value;
			}else{
				idstr+=","+a[i].value;
			}
		}
	}
	$(obj).value=idstr;
	//alert(a.length);
	return ;
}



//论坛


//type参数详解
//1		是第一个对象的值与输入值相同时出错
//1.1	是第一个对象的值与输入值不同时出错
//2		用正则匹配第一个对象的值.不匹配时出错
//
var last_str='';
function checkdata_new(id,value,type,msg,msg2){
	//alert(msg2);
	var obj=document.getElementById(id);
	var obj_msg=document.getElementById(id+"_msg");
	var str=obj.value;
	
	str=eval_addslashes(str);
	//value=eval_addslashes(value);
	//alert(value);
	
	//得到当前对象最后值
	
	//eval("var last_"+id+";");
	
	eval("try{last_str = last_"+id+"}catch(e){last_str ='';};");
	eval("try{last_value = last_v_"+id+"}catch(e){last_value ='';};");
	
	//判断是否为负数
	
	//var type_str=type+"";
	
	if(str == last_str && value==last_value) {
		//
		//alert(str);
		//据据状态.返回值
		//alert(obj.className);
		if(obj.className=="err"){
			
			return false;
			
		}else{
			return true;
		}
	} else {
		//alert(last_str+'@=2@'+str);
		str=str.replace(/[\r\n]/g, '\\r\\n');
		value=value.replace(/[\r\n]/g, '\\r\\n');
		
		
		eval("last_"+id+"='"+str+"';");
		eval("last_v_"+id+"='"+value+"';");
		//last_str = ;
	}
	
	//强制将负数转为正数
/*	if (type_str.indexOf('-')!=-1){
		//alert('负数');
		type=parseInt(type_str.substr(1));
	}*/
	
	switch(type){
	  case 1:
	  
		//相等时出错
		if (str==value){
			obj.className = "err";
			try{obj.select();obj.focus();}catch(e){};
			
			warning(obj_msg, msg);
			
			return false;
		}
		break;
	  case 1.1:
		//不相等时出错
		if (str!=value){
			obj.className = "err";
			try{obj.select();obj.focus();}catch(e){};
			
			warning(obj_msg, msg);
			
			return false;
		}
		break;

	  case 2://使用正则
		//alert("var patrn="+value+";");
		
		//eval("var patrn=;");
		//return true;
		
		//alert(value);
		//document.write(value);
		//alert(typeof(patrn));
		eval("var patrn="+value+";");
		//alert(str);
		if (!patrn.exec(str)){//找不到
			//if (msg!='')alert(msg);
			obj.className = "err";
			//try{obj.select();obj.focus();}catch(e){};
			
			warning(obj_msg, msg);
			return false;
		}
		
		break;
	}
	
	
	//判断是否有重复
	
	var echo_obj=document.getElementById(id+"_isecho");
	
	if(msg2!='' && echo_obj!=null){
		
		//alert('');
		//验证用户名是否存在
		var re_state=getName("/ajax.php?v="+ obj.value +"&s="+ echo_obj.value);
		
		//alert(re_state);
		//alert("../lib/ajax.php?v="+ obj.value +"&s="+ echo_obj.value);
		
		//alert(re_state);
		//var msg2="";
		var state=Number(re_state);
		
		switch(state)
			{
				case 0: 
				obj.className = "err";
				
				warning(obj_msg, msg2);
				return false;
				break;
				case 1: 
				
				break;

				default: 
				msg2='检查失败，发生不明错误!'+re_state;
				break;//"检查失败，发生不明错误!"
			}
		//alert(msg2);
	}
	
	//last_str=null;
	obj.className = "ok";
	
	check_ok(obj_msg);
	return true;
}

function warning(obj, msg) {
	obj.style.display = '';
	obj.innerHTML = '<b>×</b>&nbsp;' + msg;
	obj.className = "warning";
}
function check_ok(obj) {
	obj.style.display = '';
	obj.innerHTML = '&nbsp;√';
	//obj.innerHTML = '';
	obj.className = "check_ok";
}

function trim(str) {
	return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
}

function FormatNumber(srcStr,nAfterDot)        //nAfterDot小数位数
{
　　        var srcStr,nAfterDot;
　　        var resultStr,nTen;
　　        srcStr = ""+srcStr+"";
　　        strLen = srcStr.length;
　　        dotPos = srcStr.indexOf(".",0);
　　        if (dotPos == -1){
　　　　        resultStr = srcStr+".";
　　　　        for (i=0;i<nAfterDot;i++){
　　　　　　        resultStr = resultStr+"0";
　　　　        }
　　　　        return resultStr;
　　        }
　　        else{
　　　　        if ((strLen - dotPos - 1) >= nAfterDot){
　　　　　　        nAfter = dotPos + nAfterDot + 1;
　　　　　　        nTen =1;
　　　　　　        for(j=0;j<nAfterDot;j++){
　　　　　　　　        nTen = nTen*10;
　　　　　　        }
　　　　　　        resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
　　　　　　        return resultStr;
　　　　        }
　　　　        else{
　　　　　　        resultStr = srcStr;
　　　　　　        for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
　　　　　　　　        resultStr = resultStr+"0";
　　　　　　        }
　　　　　　        return resultStr;
　　　　        }
　　        }
} 

function $(id) {
	
	return document.getElementById(id);
}

function $2(id) {
	
	return document.getElementsByName(id);
}

function eval_addslashes(s){
	var str=s;	str=str.replace(/\\/g,"\\\\");
	str=str.replace(/'/g,"\\'");

	return str;
}

//论坛





function new_object() {
	var RetValue;
	
	///////////
	try {
			RetValue = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		
		try {
			RetValue = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (oc) {
			RetValue = null;
			alert("不支持该浏览器注册，请使用IE浏览器进行注册！");
			return false;
		}
	}
	
	if(!RetValue && typeof(XMLHttpRequest)!= "undefined")
		RetValue = new XMLHttpRequest();
		if (!RetValue){alert("Could not create connection object.");}
			
		return RetValue;
}
function getName(url)
{
  var oXmlHttp = new_object();
  
  oXmlHttp.open("POST", url, false);
  
  oXmlHttp.setRequestHeader("Content-Type", "text/xml");
  oXmlHttp.setRequestHeader("charset", "utf-8");
  //alert('!');
  oXmlHttp.send();
  var text=oXmlHttp.responseText;
  delete oXmlHttp;
  return text;
}


function show_list(s,list){
	var arr=list.split(",");
	

	for (show_i=0;show_i<arr.length;show_i++){
		var s_obj=$(arr[show_i]);
		if (s==false){
			s_obj.style.display='none';
		}else{
			s_obj.style.display='';
		}
		//alert(arr[del_i]);
		//if (del_i>10){return false; }
	}
	//if (s.value=='∧'){s.value='∨';}else{s.value='∧';}

}


//提示

//var str='<div id="abovediv" class="formtip"></div>';//图层
//document.body.insertAdjacentHTML("beforeEnd",str);


function getY(el){
	var y=0;
	for(var e=el;e;e=e.offsetParent){
		y+=e.offsetTop;
	}
	for(e=el.parentNode;e&&e!=document.body;e=e.parentNode){
		if(e.scrollTop)	y-=e.scrollTop;
	}
	return y;
}
function getX(el){var x=0;while(el){x+=el.offsetLeft;el=el.offsetParent;}return x;}

var o_x=-1;
var o_y=-1;
function aboves(id,str){

if(isFileLoad==false){return false;}//未加载完页面。不调用
if(document.getElementById("abovediv")==null){
	document.body.insertAdjacentHTML("afterBegin",'<div id="abovediv" class="formtip"></div>');
	//alert(document.getElementById("abovediv"));
}
var obj=document.getElementById(id);
var x=getX(obj);
var y=getY(obj);

if(o_x==x && o_y==y && $("abovediv").style.display!='none'){
	return false;
}
//alert(y);


var l=x;
var t=y;
o_x=x;
o_y=y;
var divObj=document.getElementById("abovediv");
if(divObj!=null)
{  divObj.innerHTML="<div class=\"tipcon\">"+str+"</div>";
   divObj.style.display="inline";var menu_h=divObj.offsetHeight-2;
   t-=menu_h;
		 //IE
        if(t<0){
		   t+=(menu_h*2)+2;
          // l=69;
		 }
	divObj.style.left=l+"px";
	divObj.style.top=t+"px";
}}

function ClearOrSetTips(obj, msg) {
if (!obj) return;
if (obj.value != "") {
if (obj.value == msg) obj.value = "";
}else
obj.value = msg;}
function outaboves(){document.getElementById("abovediv").style.display='none';}



