﻿//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("?");
	if(pos<0)return '';
	parastr = hrefstr.substring(pos+1);
	if(strname){
		return GetUrlStrVar(parastr,strname);
	}else{
		return parastr;
	}
}

function cleanNodeWhitespace(element){
	for(var i=0; i<element.childNodes.length; i++){
		var node = element.childNodes[i];
		if(node.nodeType == 3 && !/\S/.test(node.nodeValue)){
			node.parentNode.removeChild(node);
		}
	}
}

//Cookies类
function Cookie(){
	var av=Cookie.arguments,ac=Cookie.arguments.length;
	var CookiesName=ac>0?av[0]:'YouJiPiao';	//设置单 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);
		if(CookiesString==null)CookiesString='';
		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(var 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(var 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,"&");
}

//将Url字串转为Object
function UrlStr2Obj(UriString){
	var pos,para,tempstr,RetStr=new Object,Var,Val,UriString;
	if(UriString.indexOf('?')){
		UriString=UriString.substr(UriString.indexOf('?')+1);
	}
	if(UriString!=null && UriString!=undefined){
		para = UriString.split("&");
		for(var i=0;i<para.length;i++){
			tempstr = para[i];
			pos = tempstr.indexOf("=");
			Var=tempstr.substring(pos,0);
			Val=Urldencoding(tempstr.substr(pos+1,tempstr.length-pos-1));
			if(Val=='')continue;
			if(!isNaN(Number(Val)) && Val.replace(/\s/g,'')!=''){
				eval('RetStr.'+Var+'='+Val);
			}else{
				eval('RetStr.'+Var+'=\''+Val.replace(/'/ig,"\\'").replace(/\n/ig,"\\n")+'\'');
			}
		}
	}
	return 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;
}


 
//用于四舍五入的方法   
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)SrcPage=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;
}



//用JS给表单的元素赋值
//注意！本程序不支持Name相同但Type不同的表单元素
//name:表单元素name；value:值；form:表单
function setFormValue(name,value){
	var name,value,type,Obj,i;
	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;
		}
	}
}

//按比例控制图像大小
//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;
		}
	}
}


function OpenDiyLive800Session(){
	this.newWindow = window.open('http://chat10.live800.com/live800/chatClient/chatbox.jsp?companyID=86956&configID=151313&jid=8456105241&enterurl='+escape(location.href)+'&timestamp=1244642618484','chatbox86956', 'toolbar=0,scrollbars=0,location=0,menubar=0,resizable=0,width=570,height=424');
	this.newWindow.focus();
	this.newWindow.opener=window;
	return false;
}


//●简单消息 ========================
//msg:消息内容
//ct:显示时间，0为不自动消失，默认2000毫秒
//mo:模态方式
//cls:外部样式表
//普通参数：SimpleMsg(msg,ct,mo,cls)
//对象参数：SimpleMsg({msg:,ct:,mo:,cls:})
//关闭命令：SimpleMsg(':close')
function SimpleMsg(options){
	var options,msg,ct,cls,mo;
	if(typeof(options)=='string'){
		msg=options;options={};
		options.msg=msg;options.ct=arguments[1];options.mo=arguments[2];options.cls=arguments[3];
	};
	msg=options.msg?options.msg:'';
	ct=options.ct>=0?options.ct:2000;
	cls=options.cls?options.cls:'';
	mo=options.mo?options.mo:false;

	//模态背景
	if(!document.getElementById('SimpleMsgBg')){
		XMsgBg=$('<div id="SimpleMsgBg" style="top:0px;left:0px;width:100%;height:'+$(document).height()+'px;position:absolute;z-index:99998;display:none;background:#000000;filter:Alpha(Opacity=28);opacity:0.28;"></div>');
		$(XMsgBg).appendTo($('body'))
	}
	if(mo){$('#SimpleMsgBg').show();}

	//信息条
    if(!document.getElementById('SimpleMsg')){
        var XMsg=$('<div id="SimpleMsg" Class="'+cls+'"></div>');
		//系统默认样式
		if(cls=='')$(XMsg).css({border:'1px solid #000',padding:'10px',position:'absolute',zIndex:'99999',fontSize:'14px',background:'#FFFFE1',display:'none'});
		$(XMsg).appendTo($('body'))
    }
	
	//Msg命令
	if(msg.toLowerCase()==':close'){ct=1}
	else{$('#SimpleMsg').html(msg);}

	var docel=document.documentElement;
	var top=(docel.scrollTop+docel.clientHeight/2-$('#SimpleMsg').height()/2);
	var left=(docel.scrollLeft+docel.clientWidth/2-$('#SimpleMsg').width()/2);
	$('#SimpleMsg').css({top:top,left:left});
	
	//信息关闭控制
	$('#SimpleMsg').fadeIn('fast',function(){
		if(ct!=0){
			setTimeout("$('#SimpleMsg').fadeOut('slow')",ct);
			setTimeout("$('#SimpleMsgBg').fadeOut('slow')",ct);
		}
	});
}

//$().JInputBoxTip
(function($){
	$.fn.extend({
		JInputBoxTip:function(cls){
			var cls=cls?cls:'JInputBox_tip_value';
			this.each(function(){
					var $this=$(this);
					if($this.val()!=$this.attr('tip_value') && $this.val()!=''){
						$this.removeClass(cls)
					}else{
						$this.addClass(cls);$this.val($this.attr('tip_value'));
					}
					$this.bind('blur',function(){if($this.val()==''){$this.addClass(cls).val($this.attr('tip_value'))}});
					$this.bind('focus',function(){if($this.val()==$this.attr('tip_value'))$this.removeClass(cls).val('');});
					$this.bind('change',function(){if($this.val()!=$this.attr('tip_value') && $this.val()!=''){$this.removeClass(cls)}});
				});
		}
	});
})(jQuery);