<!--
/**
 * +--------------------------------------------------
 * |   函数名：opens(theURL,winName,size)
 * |   作用：打开固定大小的窗口
 * |   参数：
 * |   theURL    要打开的地址   
 * |   winName   窗口名称
 * |   size      窗口尺寸 当为fullscreen 时为全屏
 * |   返回值：无
 * +--------------------------------------------------
 */

function opens(theURL,winName,size)
{
  window.open(theURL,winName,size);
}


function ajaxsends(url,fun,method,fromid,id)
{
	var this_=this;
	this_.url=url;
	this_.fun=fun;
	this_.method=method;
	this_.fromid=fromid;
	this_.id=id;
	
	/*AJAX执行状态*/
	ajaxsends.prototype.ajax_yun=function()
	{
		//获取执行状态
		this_.ajax.onreadystatechange = function() 
		{
			//如果执行是状态正常，那么就把返回的内容赋值给上面指定的层
			if (this_.ajax.readyState == 4 && this_.ajax.status == 200)
			{
				var	strdiv = this_.ajax.responseText;  //读取PHP页面打印出来的文字
				
				var jsstr=strdiv;
				
				strdiv=strdiv.replace(/<script[\s\S]+?<\/script>/igm,"");
				
				if(this_.fun)
				{
					eval(this_.fun + "(strdiv,id)");
				}else if(this_.id){
					 document.getElementById(this_.id).innerHTML=strdiv;
				}
				
				this_.ajaxjs(jsstr);
				
		//////////////////////////////////上面是处理//////////////////////////////////////////////////
			}
	
		}
	}
	
	
	/* 实例化AJAX*/
	ajaxsends.prototype.user_InitAjaxw=function()
	{
		 if (window.ActiveXObject)
		 {
			//IE
			try {
				//IE6.0以上
				return new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e1) {
					//IE5.5以下
					return new ActiveXObject("Msxml2.XMLHTTP");
			}
		} else if (window.XMLHttpRequest) {
			//FireFox
			return new XMLHttpRequest();
		}

	}
	
	/*获取表单URL*/
	ajaxsends.prototype.geturl=function()
	{	
		var u=new Array();
		
		try{
			var url=document.getElementById(this_.fromid).action; 
		}catch(err){
			var  url=document.getElementsByName(this_.fromid)[0].action; 
		}
		
		if(!url)
		{
			alert('表单action属性为空（要提交的地址）！');
			return false;
		}
		
		u[0]=url;
		u[1]=fromid;
		
		return u;
	}
	
	/*执行JS */
	ajaxsends.prototype.ajaxjs=function(msg)
	{
		var str2=msg.split("\r\n").join('');
		str2=str2.split("\n").join('');
		str2=str2.split("\r").join('');
		
		var reg=/<script[^>]*?>(.*?)<\/script>/ig;
		var str=str2.match(reg);
		
		if(!str)
		{
			return false;
		}
		
		for(var i=0;i<str.length;i++)
		{
			str[i]=str[i].replace(reg,"$1");
		
			eval(str[i]);
		}
	}
	
	
	/*POST提交*/
	ajaxsends.prototype.post=function()
    {
		if(!this_.url)
		{
			this_.url=this_.geturl();
		}else{
			if ( this_.url.constructor != window.Array)
			{
				var url_=this_.url;
				this_.url = new Array () ; 
				this_.url[0]=url_;
				this_.url[1]=this_.fromid;
			}
		}
		
		
		if (!typeof(this_.url[0])){return;}

		if(!this_.url[0]){return;}
       
		this_.ajax_yun();
		
        this_.ajax.open("POST", this_.url[0], true);
		
        this_.ajax.setRequestHeader("If-Modified-Since","0");
        this_.ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		//发送空
		
		try
		{
			var oForm=document.getElementById(this_.url[1]);

		}catch(err){
		
		   var oForm=document.getElementsByName(this_.url[1])[0];
		}
		
		var sBody=getRequestBody(oForm);
		
		this_.ajax.send(sBody);
	}

	

	/*GET提交*/
	ajaxsends.prototype.get=function()
	{
		if (!typeof(this_.url)){return;}
		
		if(!this_.url){return;}
		
		this_.ajax.open("GET",this_.url,true);
		this_.ajax_yun();
		this_.ajax.setRequestHeader("Content-Type","text/html; charset=UTF-8");
		this_.ajax.setRequestHeader("If-Modified-Since","0");
		this_.ajax.send(null);
	}
	//////////////////////////////////////////
	this_.ajax = this_.user_InitAjaxw();
	
	if(!this_.method || this_.method=='get'  || this_.method=='GET')
	{
		
		this_.get();//GET方式
	}else{
		this_.post();//POST方式	
	}

}

function getRequestBody(oForm)
{
	var aParams=new Array();
	for(var i=0;i<oForm.elements.length;i++)
	{
		if(oForm.elements[i].type=="radio" || oForm.elements[i].type=="checkbox")
		{
			if(oForm.elements[i].checked==true)
			{
				var sParam=encodeURIComponent(oForm.elements[i].name);
				sParam+="=";
				sParam+=encodeURIComponent(oForm.elements[i].value);
				aParams.push(sParam);
			}
		}else{
			var sParam=encodeURIComponent(oForm.elements[i].name);
			sParam+="=";
			sParam+=encodeURIComponent(oForm.elements[i].value);
			aParams.push(sParam);
		}
	}
	return aParams.join("&");
}


/* //////////////////////////////////////////////////////////////////////////////////////////////////
  *   AJAX主函数
  *   参数说明：
  *   url 提交页面  可选参数 geturl(id) 自定义 为空 ，3中状态 必选 其它不为必选
  *   fun 调用函数 默认调用client  可选参数 不调用 自定义
  *   method提交方式 get post 默认 GET 
  *   fromid 提交表单的ID或名称
  *   id     可以带一个返回参数
  
  *   当method为GET时 只需调用 url 和fum两个即可
  *   当method为POST时 如果URL启用的是 geturl()函数时只需调用 url,fun,method即可 
  *   如果URL为用户定义路径时 需要把url,fun,method,id这4个参数掉齐全
  *   如果URL为空时则属要调用 url,fun,method,id 4个参数
  *   geturl(id)；AJAX附加调用函数
  *   作用：为AJAX取得FORM表单的路径 参数ID为 FORM表单ID或名称
  *   POST用法有3种 
  *   1、URL 用户自定义地址 Fun 可为空 ,method 为POST 输入FORM表单ID  ajax_ultimate(url,fun,method,id)
  *   2、URL 为空 Fun 可为空 ,method 为POST  ,id 提交表单的ID或名称 ajax_ultimate('',fun,method,id)
  *   3、URL 调入url() 函数  Fun 可为空 ,method 为POST ajax_ultimate(geturl(ID),fun,method,id)
*/////////////////////////////////////////////////////////////////////////////////////////////////

function ajax_ultimate(url,fun,method,fromid,id)
{
	       new ajaxsends(url,fun,method,fromid,id);
	       return ;
}

function setCookie(name,value,timet) //Cookie名  Cookie内容  Cookie存储时间
{ //设置Cookie
    	var exp  = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime()+Number(timet));
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)
{//读取Cookie
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
        if(arr=document.cookie.match(reg)) return unescape(arr[2]);
        else return null;
}
function delCookie(name)
{//删除Cookie
    var exp = new Date();
        exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

/* **此程序由肖立东2008-3-6完成测试** /\

主要功能：
	检测E-Mail是否存在
	
参数说明：
	执行函数 detection(mail,labelID);
	mail  需要判断的E-Mail
	labelID  表单名或控件ID（控件可以是除表单之外的所有 HTML标签比如 DIV SPAN等）

使用方法：
	var mail="jd802@sina.com";
	var labelID='uu'; //表单ID 或标签ID
	detection(mail,labelID);
*/

function manipulate(labelID,strdet)
{
	if(strdet=='ok')
	{
		var str='您的E-Mail正常!';
	}else{
		var str='您的E-Mail是错误的!';
	}
	if(detection_thing(labelID))
	{ //为表单
		document.getElementById(labelID).value=str;
	}else{ //为HTML标签
		document.getElementById(labelID).innerHTML=str;
	}
}

/*
0 (未初始化) 对象已建立，但是尚未初始化（尚未调用open方法）
1 (初始化) 对象已建立，尚未调用send方法
2 (发送数据) send方法已调用，但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据，因为响应及http头不全，这时通过responseBody和responseText获取部分数据会出现错误，
4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 
*/

function detection(mail,labelID) ///主函数 url 数据及连接
{
	var url="http://www.5iai.com/cms/data/cache/mail_validate.php?mail="+mail;
	//var url="http://www.5iai.com/mail_validate.php?mail="+mail; //如果上面的不能用可以启用这个试试
	if (typeof(url) == 'undefined'){return;}
	
	if(mail==""){return;}
	
	var ajax = maildet(); //初始化AJAX
	
	ajax.open("GET",url,true); 
	
	ajax.onreadystatechange=function()
	{ 
		if (ajax.readyState == 4 && ajax.status == 200)
		{ 
			strdet = ajax.responseText;
			strdet=strdet.split('\n').join('');
			strdet=strdet.split('\r').join('');
			manipulate(labelID,strdet);
        }
	}
	
	ajax.setRequestHeader("Content-Type","text/html; charset=UTF-8");
	
	ajax.setRequestHeader("If-Modified-Since","0");
	
	ajax.send(null); //发送空
}

function maildet() 
{
	var agt      = navigator.userAgent.toLowerCase();
	var is_opera = (agt.indexOf("opera") != -1);
	var is_ie    = (agt.indexOf("msie") != -1) && document.all && !is_opera;
	var is_ie5   = (agt.indexOf("msie 5") != -1) && document.all;
	if (is_ie) 
	{    
		var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
		try 
		{      
			return new ActiveXObject(control);
		} 
		catch(e) 
		{
			alert("您的浏览器不支持AJAX");
			DumpException(e);
		}
	} else {
		return new XMLHttpRequest();
	}
}

/*判断表单是否存在*/
function detection_thing(labelID)
{
	try
		{
			var oForm=document.getElementById(labelID);
			
			if(!oForm)
			{
				return false; 
			}else{
				return true;	
			}
			
		}catch(err){}
}

/*随屏幕滚动层*/
function scrolldiv(id,h)
{
	var MyMar='';
	
	var obj=document.getElementById(id);
	
	if(h==null)
	{
		h='50px';
	}
	
	if(obj.style.display!='none')
	{
		MyMar=setInterval('scrolldiv_("'+id+'",'+h+')',100);   ///控制层的移动
	}else{
		clearInterval(MyMar);
	}
}

function  scrolldiv_(id,h)
{  //定位层
   obj=document.getElementById(id);

   obj.style.top =  ((document.documentElement) ? document.documentElement : document.body).scrollTop+h;
	//obj.style.top = document.body.scrollTop+h;
} 

function cmsg(str)
{
	var c='<script>var admin=\'C\';</script\>';
	
	return str.split(c).join('');
}

function delHtmlTag(str)
{
        return str.replace(/<[^>]+>/g,"");//去掉所有的html标记
} 

/*过渡加载*/
function loading(id,big)
{
	if(big=='big')
	{
		//var loa='<div class="loading clear" align="center"><img  style="margin-top:30%;margin-bottom:37%;" src="/images/loading.gif"></div>';
		var loa='<table class="loading" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle"><img  style="top:45%" src="/images/loading_b.gif" /></td></tr></table>';
	}else{
		var loa='<table class="loading" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle"><img  style="top:45%" src="/images/loading.gif" /></td></tr></table>';
	}

	if(typeof(id) == 'object')
	{
		id.innerHTML=loa;
	}else{
		document.getElementById(id).innerHTML=loa;
	}
}


/*
函数说明：
url   移动层内的内容地址
title  标题
css   移动层的样式（不用包含TOP和LEFT）
cajax  是采用AJAX还是iframe方式调用内容 1为不采用AJAX 0为采用AJAX
scrolling 如果采用iframe 是否启用滚动条，默认为自动 有三个值 no yes auto
top 顶坐标 默认居中
left 顶坐标 默认居中
注意 使用前应引入/imgedit/manipulate.js
请在页面中加入 <div id='movediv' style="display:none;"></div>这个 一般加在最底部
*/
function movediv(url,title,css,cajax,scrolling,top,left)
{
	
	document.getElementById("movediv").style.display='';

	if(!scrolling){scrolling='auto';}
	
	if(Number(cajax))
	{
		var infos='<div class="clear" id=move_div_info style="text-align:center"><\/div>';
	}else{
		var infos='<iframe src="'+url+'" hspace="0" vspace="0" frameborder="0" scrolling="'+scrolling+'" height="100%" width="100%"><\/iframe>'
	}
	
	if(!title)
	{
		title='';
	}
	
	document.getElementById("movediv").innerHTML = '<div id="movediv_" onmousedown="canmove(this,event)">'+
		'<div class="movediv clear">'+
			'<div style="float:left;height:25px;margin-top:8px;margin-left:5px;font-size: 12px;font-weight: bold;color: #FF9900;width:75%;text-align:left;">'+title+'<\/div>'+
			'<div style="float: right;cursor:pointer;height:25px;margin-top:5px;margin-right:3px;width:20%;text-align:right;" title="关闭" onClick="logoutdiv();"><img src="/img/sys/move/close.jpg" width="21" height="21" \/><\/div>'+
		'<\/div>'+
		infos+
	'<\/div>';
	
	var mobj=document.getElementById("movediv_");
	
	mobj.className=css;
	
	document.documentElement.scrollTop = 0; 

	var yw = document.documentElement.clientWidth; 
	
	var yh = document.documentElement.clientHeight; 
	
	var w = mobj.clientWidth||mobj.offsetWidth;
	
	var h = mobj.clientHeight||mobj.offsetHeight;
		
	if(!top && !left)
	{
		mobj.style.top=((yh/2)-(h/2))+"px";
			
		mobj.style.left=((yw/2)-(w/2))+"px";
	}else{
		if(!top)
		{
			mobj.style.top=((yh/2)-(h/2))+"px";
				
			mobj.style.left=left+"px";
		}else if(!left)
		{
			mobj.style.top=top+"px";
				
			mobj.style.left=((yw/2)-(w/2))+"px";
		}else{
			mobj.style.top=top+"px";
				
			mobj.style.left=left+"px";
		}

	}
	
	
	if(cajax)
	{
		ajax_ultimate(url,'','','','move_div_info');
	}
}

function logoutdiv()
{
	document.getElementById("movediv").style.display='none';
}


function canmove(elementToDrag, event)
{
	var deltaX = event.clientX - parseInt(elementToDrag.style.left);
	var deltaY = event.clientY - parseInt(elementToDrag.style.top);
	
	elementToDrag.style.cursor = "move";
	
	if (document.addEventListener)
	{//2 级 DOM事件模型
		document.addEventListener("mousemove", moveHandler, true);
		document.addEventListener("mouseup", upHandler, true);
	}else if (document.attachEvent){//IE5+事件模型
	
		document.attachEvent("onmousemove", moveHandler);
		document.attachEvent("onmouseup", upHandler);
	}else {//IE4事件模型
		document.onmousemove = moveHandler;
		document.onmouseup = upHandler;
	}
	
	//禁止起泡
	if (event.stopPropagation)//DOM2
	event.stopPropagation();
	else event.cancelBubble = true;//IE
	
	if (event.preventDefault)
	event.preventDefault();
	else event.cancelBubble = true;
	
	function moveHandler(e)
	{
		if (!e)
		e = window.event;
		
		elementToDrag.style.left = (e.clientX - deltaX) + "px";
		elementToDrag.style.top = (e.clientY - deltaY) + "px";
		
		if (e.stopPropagation)
		e.stopPropagation();
		else e.cancelBubble = true;
	}
	
	function upHandler(e)
	{
		if (!e)
		e = window.event;
		
		elementToDrag.style.cursor = "default";
		
		if (document.removeEventListener)
		{ //DOM2
			document.removeEventListener('mousemove', moveHandler, true);
			document.removeEventListener('mouseup', upHandler, true);
			
		}else if (document.detachEvent) 
		{ //IE5+
			document.detachEvent("onmousemove", moveHandler);
			document.detachEvent("onmouseup", upHandler);
			
			
		}else {//IE4
			document.onmousemove = moveHandler;
			document.onmouseup = upHandler;
		}
		
		if (e.stopPropagation)
		e.stopPropagation();
		else e.cancelBubble = true;
	}
}


/*取得DIV的背景图*/

function divbackimg(id)
{

	return document.getElementById(id).style.backgroundImage.replace("url(","").replace(")","");
}

/*AJAX更新控件*/
function update_ajax(obj,tab,field,where,filtrate)
{
	var osbc=obj.style.backgroundColor;
	
	obj.style.backgroundColor='#f2f2f2';
	
	obj.contentEditable='true';
	
	
	
	obj.onblur = function (){
	
		var info=obj.innerHTML;
		
		if(!filtrate)
		{
			info=DelHtml(info);
		}
		
		where=where.split('=').join('^');
		var url='/lib/update_ajax.php?tab='+tab+'&field='+field+'&info='+info+'&where='+where;
		
		ajax_ultimate(url);
		obj.contentEditable='false';
		obj.style.backgroundColor=osbc;
		obj.innerHTML=info;
	}
}

/*AJAX表单更新*/
function update_from(obj,tab,field,where,filtrate)
{
		var info=obj.value;
		
		if(!filtrate)
		{
			info=DelHtml(info);
		}
		
		where=where.split('=').join('^');
		var url='/lib/update_ajax.php?tab='+tab+'&field='+field+'&info='+info+'&where='+where;
		
		ajax_ultimate(url);
}

/*清理多余HTML代码 */
function DelHtml(content)
{
		a = content.indexOf("<");
		b = content.indexOf(">");
		len = content.length;
		c = content.substring(0, a);
		if(b == -1)
		b = a;
		d = content.substring((b + 1), len);
		content = c + d;
		tagCheck = content.indexOf("<");
		if(tagCheck != -1)
		content = DelHtml(content);
		return content;
}

/*
参数说明
id 最外层ID
id1 为内容层ID
id2 为克隆层ID
*/
function scrolls(id,id1,id2)
{
	var this_=this;
	this_.demo=document.getElementById(id);
	this_.obj1=document.getElementById(id1);
	this_.obj2=document.getElementById(id2);
	
	this_.obj2.innerHTML=this_.obj1.innerHTML;
	
	this_.speed=1; //滚动速度
	this_.step_width=59; //滚动步长 //49
	this_.extent=5;//滚动幅度
	this_.redeem=9; //redeem=5 表示5屏之后补偿一次extent1
	this_.redeem_sum=1; //补偿计数器
	this_.sum=0; //滚动数量
	this_.space=3; //每屏暂停时间 单位秒
	this_.MyMar=''; //滚动控制对象
	this_.LR='right'; //往左往右滚动
	
	scrolls.prototype.MarqueeL=function()
	{ 
		this_.LR='left';
		if(this_.demo.scrollLeft>=this_.obj1.scrollWidth)
		{ 
			this_.demo.scrollLeft=0 
		}else{
			if(this_.redeem_sum-this_.redeem==0)
			{
				this_.redeem_sum=0;
				this_.demo.scrollLeft=this_.demo.scrollLeft+(Number(this_.extent)*2);
			}else{
				this_.demo.scrollLeft=this_.demo.scrollLeft+Number(this_.extent);
			}
			
		}
		
		if(this_.sum>=(0-this_.step_width))
		{
			this_.sum--;
			clearInterval(this_.MyMar);
			this_.MyMar=setTimeout(this_.MarqueeL,this_.speed);
		}else{
			this_.sum=0;
			
			this_.redeem_sum--;
			clearInterval(this_.MyMar);
			this_.MyMar=setTimeout(this_.nextsuperL,this_.space*1000);
			
		}
	}
	
	scrolls.prototype.nextsuperL=function()
	{
		this_.MyMar=setTimeout(this_.MarqueeL,this_.speed);
	}
	
	scrolls.prototype.MarqueeR=function()
	{ 
	
		this_.LR='right';
		
		if(this_.demo.scrollLeft<=0)
		{
			
			this_.demo.scrollLeft=this_.obj1.scrollWidth;
			
		}else{
			
			if(this_.redeem_sum-this_.redeem==0)
			{
				this_.redeem_sum=0;
				
				this_.demo.scrollLeft=this_.demo.scrollLeft-(Number(this_.extent)*2);
			}else{
				this_.demo.scrollLeft=this_.demo.scrollLeft-Number(this_.extent);
			}
			
		}
		
		if(this_.sum<=this_.step_width)
		{
			this_.sum++;
			clearInterval(this_.MyMar);
			
			this_.MyMar=setTimeout(this_.MarqueeR,this_.speed);
		}else{
			this_.sum=0;
			this_.redeem_sum++;
			clearInterval(this_.MyMar);
			
			this_.MyMar=setTimeout(this_.nextsuperR,this_.space*1000);
		}
		
	}
	
	scrolls.prototype.nextsuperR=function()
	{
		this_.MyMar=setTimeout(this_.MarqueeR,this_.speed);
	}
	
///////////////////////////////////////////////

	scrolls.prototype.moveleft=function()
	{
		clearInterval(this_.MyMar);
		//this_.sum=0;
		this_.MarqueeL();
	}
	
	scrolls.prototype.moveright=function()
	{
		clearInterval(this_.MyMar);
		//this_.sum=0;
		this_.MarqueeR()
	}
	
///////////////////////////////////////////////////////////////////
	
	this_.demo.onmouseover=function() {clearInterval(this_.MyMar)}
	//this_.demo.onmouseout=function() {if(this_.LR=='right'){this_.MyMar=setTimeout(this_.MarqueeR,this_.space*1000)}else{this_.MyMar=setTimeout(this_.MarqueeL,this_.space*1000)}} 
	this_.demo.onmouseout=function() {if(this_.LR=='right'){this_.MyMar=setTimeout(this_.MarqueeR,5)}else{this_.MyMar=setTimeout(this_.MarqueeL,5)}} 
	
}

