//函数：regInput(obj, reg, inputStr)
//功能：对于文本框输入数据进行正则表达式匹配
//需配合文件框使用
//例：<input name="D" type="text" id="D"  onKeyPress= "return regInput(this,/^[0-9]{0,4}$/,String.fromCharCode(event.keyCode))" size="2" maxlength="2">
function regInput(obj,reg,inputStr){
	var docSel	= document.selection.createRange();
	if (docSel.parentElement().tagName != "INPUT")return false;
	oSel=docSel.duplicate();
	oSel.text="";
	var srcRange=obj.createTextRange();
	oSel.setEndPoint("StartToStart",srcRange);
	var str = oSel.text+inputStr+srcRange.text.substr(oSel.text.length);
	return reg.test(str);
}

//javascript接收Get方法的参数
//var programstr = getparastr("program");
//document.write(programstr);
function request(strname){
	var hrefstr,pos,parastr,para,tempstr;
	if(arguments[1]!=null){
		hrefstr = arguments[1];
	}else{
		hrefstr = window.location.href;
	}
	pos = hrefstr.indexOf("?");
	parastr = hrefstr.substring(pos+1);
	return GetUrlStrVar(parastr,strname);
}

//按比例控制图像大小
//ImgD：图像对象
//width：限高height：限长
function DrawImage(ImgD,width,height){
	var flag=false,ImgD,width,height;
	var image=new Image();
	image.src=ImgD.src;
	if(image.width>0 && image.height>0){
		flag=true;
		if(image.width/image.height>=width/height){
			if(image.width>width){
				ImgD.width=width;
				ImgD.height=(image.height*width)/image.width;
			}else{
				ImgD.width=image.width;
				ImgD.height=image.height;
			}
			//ImgD.alt=image.width+"x"+image.height;
		}else{
			if(image.height>height){
				ImgD.height=height;
				ImgD.width=(image.width*height)/image.height;
			}else{
				ImgD.width=image.width;
				ImgD.height=image.height;
			}
			//ImgD.alt=image.width+"x"+image.height;
		}
	}
}


////////////////////////////////////////////////
//函数：checkbox(items)
//功能：对复选框进行处理
//传入值：复选框对象
//传出值：无（本函数直接修改复选框的Value）
//编写人：刘峥
//修改日期：2006年04月10日
function TrimCheckBox(items,itemout){
	itemout.value = "";
	if ( !items.length ){// 只有一个复选框，form1.item.length = undefined
		if (items.checked )
		itemout.value = items.value;
	}
	else{
		for ( i = 0 ; i < items.length ; i++ ){
			if ( items(i).checked ){ // 复选框中有选中的框
				itemout.value = items(i).value;
				for ( j = i + 1 ; j < items.length ; j++ ){
					if ( items(j).checked ){
					itemout.value += ","; //用空格做分割符
					itemout.value += items(j).value;
					}
				}
				break;
			}
		}
	}
	return true;
}


//Cookies类
function Cookie(){
	var av=Cookie.arguments,ac=Cookie.arguments.length;
	var CookiesName=ac>0?av[0]:'Jiaboo';	//设置单 Cookie Url保存模式 的Cookie名
	//设定Cookie值[基础功能]
	this.SetCookie=function(name,value)
	{
		var expdate = new Date();
		var argv = arguments;
		var argc = arguments.length;
		var expires = (argc > 2) ? argv[2] : null;
		var path = (argc > 3) ? argv[3] : '/';
		var domain = (argc > 4) ? argv[4] : null;
		var secure = (argc > 5) ? argv[5] : false;
		if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
		document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))
		+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))
		+((secure == true) ? "; secure" : "");
	};

	//删除Cookie[基础功能]
	this.DelCookie=function(name)
	{
		var exp = new Date();
		exp.setTime (exp.getTime() - 1);
		var cval = this.GetCookie(name);
		document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
	};

	//获得Cookie的原始值[基础功能]
	this.GetCookie=function(name)
	{
		var arg = name + "=";
		var alen = arg.length;
		var clen = document.cookie.length;
		var i = 0;
		while (i<clen){
			var j = i + alen;
			if (document.cookie.substring(i, j) == arg)
			return this.GetCookieVal (j);
			i = document.cookie.indexOf(" ", i) + 1;
			if (i == 0) break;
		}
		return null;
	};

	//获得Cookie解码后的值[基础功能]
	this.GetCookieVal=function(offset)
	{
		var endstr = document.cookie.indexOf (";", offset);
		if (endstr == -1)
		endstr = document.cookie.length;
		return unescape(document.cookie.substring(offset, endstr));
	};
	
	//设置Cookie，单Cookie Url模式保存，依赖于函数：GetUrlStrVar 和 SetUrlStrVar
	this.SetUrlCookie=function(CookieName,SetValue){
		var CookieName,SetValue;
		//接收额外参数
		var expdate = new Date();
		var argv = arguments;
		var argc = arguments.length;
		var expires = (argc > 2) ? argv[2] : null;
		var path = (argc > 3) ? argv[3] : '/';
		var domain = (argc > 4) ? argv[4] : null;
		var secure = (argc > 5) ? argv[5] : false;
		if(expires!=null){expdate.setTime(expdate.getTime() + ( expires * 1000 ));}
		//读取Url Cookie		
		var CookiesString=this.GetCookie(CookiesName);
		CookiesString=CookiesString==null?'':CookiesString;
		//判断Cookie长度是否超出限制
		if(CookiesString.length+SetValue.length>4095){
			return 0;
		}else{
			//写入Cookie
			this.SetCookie(CookiesName,SetUrlStrVar(CookiesString,CookieName,SetValue),expires,path,domain,secure);
			return 1;
		}
	};

	//读取Cookie，单Cookie Url模式保存，依赖于函数：GetUrlStrVar 和 SetUrlStrVar
	this.GetUrlCookie=function(CookieName){
		var CookieName;
		var CookiesString=this.GetCookie(CookiesName);
		return GetUrlStrVar(CookiesString,CookieName);
	};

}//Cookie类结束

//从QueryString字符串中取变量值
function GetUrlStrVar(UriString,CookieName){
	var hrefstr,pos,para,tempstr,RetStr='';
	if(UriString!=null && UriString!=undefined){
		para = UriString.split("&");
		for(i=0;i<para.length;i++){
			tempstr = para[i];
			pos = tempstr.indexOf("=");
			if(tempstr.substring(pos,0) == CookieName){
				RetStr=tempstr.substr(pos+1,tempstr.length-pos-1);
			}
		}
	}else{
		RetStr="";
	}
	return Urldencoding(RetStr);
}

//将变量写入QueryString字符串中
function SetUrlStrVar(UriString,VarName,VarValue){
	var hrefstr,pos,parastr,para,tempstr,RetStr;
	para = UriString.split("&");
	VarValue=Urlencoding(VarValue);
	RetStr="";
	if(UriString.indexOf(VarName)>=0){
		for(i=0;i<para.length;i++){
			tempstr = para[i];
			pos = tempstr.indexOf("=");
			if(tempstr.substring(0,pos) == VarName){
				if(VarValue!=''){
					RetStr=RetStr + "&" + VarName + "=" + VarValue;
				}
			}else{
				RetStr=RetStr+"&"+tempstr;
			}
		}
	}else{
		RetStr=UriString;
		if(VarValue!=''){
			RetStr=RetStr+"&"+VarName+"="+VarValue;
		}
	}
	return ltrimVBcrlf(RetStr,"&");
}

function Urlencoding(){
	return escape(arguments[0]);
}

function Urldencoding(){
	return unescape(arguments[0]);
}

//去掉字符串头尾的连续的某个字符
function trimVBcrlf(str,char){
	return rtrimVBcrlf(ltrimVBcrlf(str,char),char);
}

//去掉字符串开头的连续的回车和空格
function ltrimVBcrlf(str,char){
	while(str.substring(0,char.length)==char){
		str=str.substring(char.length);
	}
	if(str==char){str="";}
	return str;
}

//去掉字符串末尾的连续的某个字符
function rtrimVBcrlf(str,char){
	while(char.length,str.substring((str.length-char.length))==char){
		str=str.substring(str.length-char.length,0);
	}
	if(str==char){str="";}
	return str;
}



//用于自动补0的方法 如:5--5.00,5.5--5.50   
function mend(number){   
    var str = number+"";   
    if (str.indexOf(".")==-1){ //说明没有小数点   
        return str+".00";   
    }else{ //说明有小数点   
        var tmp = str.substring(str.indexOf(".")+1);   
        if (tmp.length==0) return str+"00";   
        if (tmp.length==1) return str+"0";   
        if (tmp.length>=2) return str.substring(0,str.indexOf(".")+3);   
    }   
}   
  
//用于四舍五入的方法   
function ForDight(Dight,How) {     
   Dight = Math.round(Dight*Math.pow(10,How))/Math.pow(10,How);     
   return  mend(Dight);     
}    

//得到来源页地址
function getSrcPage(){
	var SrcPage=request('SrcPage');
	var CookiesName='SrcPageUrl';
	if(arguments[0]!=null)CookiesName=arguments[0];
	var SrcPageFilter='usercenter|msg.asp|jiabooshoppingstepb.asp';//不计来源的页面地址关键字
	if(arguments[1]!=null)SrcPageFilter+=arguments[1];
	var isTrueSrc=false;//是否为需要记录的来源
	var SrcPageFilters=SrcPageFilter.split('|');
	var i=0;
	var srcUrl=document.referrer;//来源页
	for(var n=0;n<SrcPageFilters.length;n++){
		if(srcUrl.toLowerCase().indexOf(SrcPageFilters[n])==-1){
//			alert(srcUrl+'-'+SrcPageFilters[n]+'-'+i);
			i++;
		}
	}
//	alert(SrcPageFilters.length+'--'+i);
	var c=new Cookie('Jiaboo');
	if(SrcPage!=''){//地址栏优先
		c.SetUrlCookie(CookiesName,SrcPage,null,'/');
	}else{
		if(SrcPageFilters.length==i){
			c.SetUrlCookie(CookiesName,srcUrl,null,'/');
		}
	}
	var SrcPage=c.GetUrlCookie(CookiesName);
	if(SrcPage=='' || SrcPage==null)SrcPage='/';
	return SrcPage;
}

//添加事件方法，集成：attachEvent和addEventListener
function addEventAct(el,eventName,Fun){
	var el,eventName,Fun;
	if (el.addEventListener){
		el.addEventListener(eventName,Fun,false); 
	}else if(el.attachEvent){
		el.attachEvent('on'+eventName,Fun);
	}
}


//显示提示层代码
//调用示例： onmouseover="showhintinfo(this,0,0,'提示','提示内容','50','down')" onmouseout="hidehintinfo()" 
function showhintinfo(obj, objleftoffset,objtopoffset, title, info , objheight, showtype ,objtopfirefoxoffset)
{
   ShowPopInfoFrame(showtype);//显示Pop提示框框架
   var p = getposition(obj);
   
   if((showtype==null)||(showtype =="")){
       showtype =="up";
   }
   document.getElementById('hintiframe'+showtype).style.height= objheight + "px";
   document.getElementById('hintinfo'+showtype).innerHTML = info;
   document.getElementById('hintdiv'+showtype).style.display='block';
   
   if((objtopfirefoxoffset != null)&& !isie()){
        document.getElementById('hintdiv'+showtype).style.top=p['y']+objtopfirefoxoffset+"px";
   }else{        
        if(objtopoffset == 0){ 
			if(showtype=="up"){
				 document.getElementById('hintdiv'+showtype).style.top=p['y']-document.getElementById('hintinfo'+showtype).offsetHeight-40+"px";
			}else{
				 document.getElementById('hintdiv'+showtype).style.top=p['y']+obj.offsetHeight+5+"px";
			}
        }else{
			document.getElementById('hintdiv'+showtype).style.top=p['y']+objtopoffset+"px";
        }
   }
   document.getElementById('hintdiv'+showtype).style.left=p['x']+objleftoffset+"px";
}

//隐藏提示层代码
function hidehintinfo()
{
//    if(document.getElementById('hintdivup')!=null){
//		document.getElementById('hintdivup').style.display='none';
//	}else{
//	    document.getElementById('hintdivdown').style.display='none';
//	}

	var objhintdivups=document.getElementsByName('hintdivup');
	if(objhintdivups.length>0)
	for(var n=0;n<objhintdivups.length;n++)objhintdivups[n].style.display='none';

	var objhintdivdowns=document.getElementsByName('hintdivdown');
	if(objhintdivdowns.length>0)
	for(var n=0;n<objhintdivdowns.length;n++)objhintdivdowns[n].style.display='none';

}

//显示Pop提示框框架
function ShowPopInfoFrame(){
	var Style_messagetext='font-size:12px;color:#666666;line-height:18px;overflow:hidden; zoom:1; border-left:1px solid #000; border-right:1px solid #000; padding:0 10px;  text-align:left; background:#ffffe1; word-break : break-all; letter-break:break-all;';
	var Style_messagetext_img='float:left;margin:0 3px 3px 3px;';
	if(arguments[0].toLowerCase()=="up" || arguments[0]==null){
		if(document.getElementById('hintdivup')==null){
			var obj=document.createElement('span');
			obj.setAttribute('id',"hintdivup");
			obj.setAttribute('name',"hintdivup");
			obj.style.cssText='display:none; position:absolute;z-index:500;';
			obj.innerHTML='<div style="position:absolute; visibility: visible; width: 271px;z-index:501;">\
			  <p style="margin:0px;"><img src="/Shop/images/commandbg.gif" /></p>\
			  <div style="'+Style_messagetext+'">\
			  	<img src="/Shop/images/dot.gif" style="'+Style_messagetext_img+'"/><span id="hintinfoup" ></span>\
			  </div>\
			  <p style="margin:0px;"><img src="/Shop/images/commandbg2.gif" /></p>\
			</div>\
			<iframe id="hintiframeup" style="position:absolute;z-index:100;width:266px;scrolling:no;" frameborder="0"></iframe>';
			document.body.appendChild(obj);
		}
	}else{
		if(document.getElementById('hintdivdown')==null){
			var obj=document.createElement('span');
			obj.setAttribute('id',"hintdivdown");
			obj.setAttribute('name',"hintdivdown");
			obj.style.cssText='display:none; position:absolute;z-index:500;';
			obj.innerHTML='<div style="position:absolute; visibility: visible; width: 271px;z-index:501;">\
			  <p style="margin:0px;"><img src="/Shop/images/commandbg3.gif" /></p>\
			  <div style="'+Style_messagetext+'"><img src="/Shop/images/dot.gif" style="'+Style_messagetext_img+'"/><span id="hintinfodown" ></span></div>\
			  <p style="margin:0px;"><img src="/Shop/images/commandbg4.gif" /></p>\
			</div>\
			<iframe id="hintiframedown" style="position:absolute;z-index:100;width:266px;scrolling:no;" frameborder="0"></iframe>';
			document.body.appendChild(obj);
		}
	}
}

//得到某对象的绝对位置
function getposition(obj) {
	var r = new Array();
	r['x'] = obj.offsetLeft;
	r['y'] = obj.offsetTop;
	while(obj = obj.offsetParent) {
		r['x'] += obj.offsetLeft;
		r['y'] += obj.offsetTop;
	}
	return r;
}

//CheckBox全选
function CheckBoxCheckAll(CheckBoxName,obj){
	var CheckBoxName,stat,eventSrcObj,obj;
	var CheckBoxs=document.getElementsByName(CheckBoxName);
	if(obj.getAttribute('CheckBoxStat')!=null){	//全选状态
		obj.getAttribute('CheckBoxStat')+''=='true'?stat=false:stat=true;
		obj.setAttribute('CheckBoxStat',stat);
	}else{
		obj.setAttribute('CheckBoxStat',true);
		stat=true;
	}
	for(var n=0;n<CheckBoxs.length;n++){
		CheckBoxs[n].checked=stat;
	}
}

//不间断滚动
//UPSscroll('demo','demo1','demo2',40,'up');
function UPSscroll(){
	var dem=document.getElementById(arguments[0]);	//大容器
	dem.style.overflow='hidden';
	var dem1=document.getElementById(arguments[1]); //主要区域
	var dem2=document.getElementById(arguments[2]); //复制区域
	var speed=40;	//速度
	var sDem,sDem1,sDem2;
	if(arguments.length>=4)
	{
		speed=arguments[3];
	}
	var direction='left';	//方向
	if(arguments.length>=5)
	{
		direction=arguments[4].toLowerCase();
	}
	switch(direction){
		case 'up':
		{	if(dem.style.height=='')dem.style.height='270px';
			var Marquee=function(){
				if(dem2.offsetHeight-dem.scrollTop<=0)
				{
					dem.scrollTop-=dem1.offsetHeight;
				}
				else{
					dem.scrollTop++;
				}
			};
			break;
		}
//		case 'down':{sDem='dem.scrollTop';sDem1='dem1.offsetHeight';sDem2='dem2.offsetHeight';break;}
		case 'left':
		{	if(dem.style.width=='')dem.style.width='100%';
			var Marquee=function(){
				if(dem2.offsetWidth-dem.scrollLeft<=0)
				{
					dem.scrollLeft-=dem1.offsetWidth;
				}
				else{
					dem.scrollLeft++;
				}
			};
			break;
		}
//		case 'right':{sDem='dem.scrollTop';sDem1='dem1.offsetHeight';sDem2='dem2.offsetHeight';break;}
	}
	dem2.innerHTML=dem1.innerHTML;
	var MyMar=setInterval(Marquee,speed);
	dem.onmouseover=function(){clearInterval(MyMar)};
	dem.onmouseout=function(){MyMar=setInterval(Marquee,speed);}
}

/*
 * 描述：跨浏览器的设置 innerHTML 方法
 *       允许插入的 HTML 代码中包含 script 和 style
 * 参数：
 *    el: 合法的 DOM 树中的节点
 *    htmlCode: 合法的 HTML 代码
 * 经测试的浏览器：ie5+, firefox1.5+, opera8.5+
 */
var setInnerHTML = function (el, htmlCode) {
	var ua = navigator.userAgent.toLowerCase();
	if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
		htmlCode = '<div style="display:none">for IE</div>' + htmlCode;
		htmlCode = htmlCode.replace(/<script([^>]*)>/gi,'<script$1 defer>');
		el.innerHTML = htmlCode;
		el.removeChild(el.firstChild);
	}else{
		var el_next = el.nextSibling;
		var el_parent = el.parentNode;
		el_parent.removeChild(el);
		el.innerHTML = htmlCode;
		if(el_next){
			el_parent.insertBefore(el, el_next);
		}else{
			el_parent.appendChild(el);
		}
	}
};

//取整数(只进不舍)
function IntX(num){
	num=parseInt(Number(num))==Number(num)?Number(num):parseInt(Number(num))+1;
	return num;
}

//按半角统计字符串长度
function fun_lenb(str)     
{     
	num=str.length;
	var arr=str.match(/[^\x00-\x80]/ig);
	if(arr!=null)num+=arr.length;
	return num;
}     

//document.getElementsByName 的 兼容 IE 和 Firefox 的版本
function getElementsByName_iefix(tag,name){ 
	var elem = document.getElementsByTagName(tag); 
	var arr = new Array();
	for(i=0,iarr=0;i<elem.length;i++){ 
		att = elem[i].getAttribute('name'); 
		if(att == name){ 
			arr[iarr] = elem[i]; 
			iarr++;
		} 
	} 
	return arr; 
} 

//用JS给表单的元素赋值
//注意！本程序不支持Name相同但Type不同的表单元素
//name:表单元素name；value:值；form:表单
function setFormValue(name,value){
	var FormObj=document.getElementById(arguments[2])?document.getElementById(arguments[2]):null;
	Obj=(FormObj==null)?document.getElementsByName(name):eval('FormObj["'+name+'"]');
	if(Obj!=undefined){
		//判断表单项类型
		if(FormObj==null){
			if(Number(Obj.length)==0)return false;
			type=Obj[0].type;
		}else{
			try{
				type=Obj[0].type;
				if(type==undefined){type=Obj.type;Obj=new Array(Obj);}
			}catch(f){
				type=Obj.type;
				Obj=new Array(Obj);
			}
		}
		//向表单填值
		if(type=="radio"){
			for(i=0;i<Obj.length;i++){
				if(Obj[i].value==value){
					Obj[i].checked=true;
				}
			}
		}else if(type=="checkbox"){
			value=","+value+",";
			for(i=0;i<Obj.length;i++){
				if(value.indexOf(","+Obj[i].value+",")>-1){
						Obj[i].checked=true;
				}
			}
		}else if(type=="textarea"){
			var frameId="";
			for(i=0;i<document.getElementsByTagName("iframe").length;i++){
				if(document.getElementsByTagName("iframe")[i].src.indexOf(name)>=0){
					frameId=document.getElementsByTagName("iframe")[i].id;
				}
			}
			if(frameId==""){//普通Textarea
				Obj[0].value=value;
			}else{//eWebEditor
				eval(frameId+'.setHTML(value)');
			}
		}else{
			Obj[0].value=value;
		}
	}
}

//打开装修快线的Live800
function OpenDiyLive800Session(){
	this.newWindow = window.open('http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=61916&configID=85589&jid=9234952773&enterurl='+location.href+'&skillId=3892', 'chatbox61916', 'toolbar=0,scrollbars=0,location=0,menubar=0,resizable=0,width=570,height=424');
	this.newWindow.focus();
	this.newWindow.opener=window;
	return false;
}


