/**
 * @author zerostyle
 * @QQ:83226227
 * @namespace ZeroStyle.Web.UI.Helper
 */
Namespace.register("ZeroStyle.Web.UI.Helper");

ZeroStyle.Web.UI.Helper=
{
	/**
	 * _根据控件名称得到控件对象_
	 * @param {Object} control _控件名称_
	 */
	$:function(s)
	{
		try
		{
			if(document.getElementById)
			{
				return eval('document.getElementById("' + s + '")');
			}
			else if (isIe)
			{
				return eval('document.all.' + s);
			}else
			{
				return eval('document[' + s + ']');
			}
	    }
		catch(e)
		{
			return eval('document.getElementById("' + s + '")');
		}
	},
	/**
	 * _根据框架名称得到框架对象_
	 * @param {Object} s _框架名称_
	 */
	$$s:function(s)
	{
		return document.frames? document.frames[s] : this.$(s).contentWindow;
	},
	/**
	 * _创建控件_
	 * @param {Object} _tagName _要创建的标签_
	 */
	$c:function (_tagName)
	{
		return document.createElement(_tagName);
	},
	/**
	 * _根据控件的名称获取或设置控件的值_
	 * @param {Object} s _控件名称_
	 * @param {Object} v _要设置的值,此值不写为返回控件值，否则，则为设置控件值_
	 */
	$v:function (id,v)
	{
		try
		{
			if(v)
			{
				this.$(id).value=v;
				return
			}
		    return this.$(id).value;
		}
		catch(e)
		{
			alert(e.message);
		}
	},
	$remove:function(id)
	{
		try
		{
			var control=this.$(id);
			if(control!=undefined&&control!="undefined")
			{
				document.body.removeChild(control);
			}
		}
		catch(e)
		{
			alert(e.message);
		}
	},
	/**
	 * _设置控件(一般是DIV或TD)高度为可见区域的高度，超出的会增加滑动条_
	 * @param {Object} id _要设置的控件ID_
	 * @param {Object} offset _增删的偏移量，支持正负数_
	 */
	$sh2v:function(id,offset)
	{
		with(this)
		{
		 	var re = {};
            if (document.documentElement && document.documentElement.clientHeight) {//ff浏览器_
            	//alert("1")
                var doc = document.documentElement;
				//alert(doc)
                re.height = (doc.clientHeight < doc.scrollHeight) ? doc.clientHeight : doc.scrollHeight;
                var boxHeight = $(id);
                boxHeight.style.height = parseInt(doc.clientHeight) + offset+"px";
                //alert(boxHeight.style.height+"ccc");
            }
            else {//针对ie浏览器_
            	//alert("2")
                var doc = document.body;
                re.height = (window.innerHeight < doc.scrollHeight) ? window.innerHeight : doc.scrollHeight;
                var boxHeight = $(id);
                boxHeight.style.height = parseInt(re.height) + offset + "px";

            }
			return re.height;
		}
	},
	
	$sw2v:function(id,offset)
	{
		with(this)
		{
		 	var re = {};
            if (document.documentElement && document.documentElement.clientHeight) {//ff浏览器_
            	//alert("1")
                var doc = document.documentElement;
				//alert(doc)
                re.width = (doc.clientWidth < doc.scrollWidth) ? doc.clientWidth : doc.scrollWidth;
                var boxHeight = $(id);
                boxHeight.style.width = parseInt(doc.clientWidth) + offset+"px";
                //alert(boxHeight.style.height+"ccc");
            }
            else {//针对ie浏览器_
            	//alert("2")
                var doc = document.body;
                re.width = (window.innerWidth < doc.scrollWidth) ? window.innerWidth : doc.scrollWidth;
                var boxHeight = $(id);
                boxHeight.style.width = parseInt(re.width) + offset + "px";

            }
			return re.width;
		}
	},
	
	
	/**
	 * _显示控件_
	 * @param {Object} id
	 */
	display:function(id) 
	{
		this.$(id).style.display='block';
		this.$(id).style.visibility='visible';
	},
	/**
	 * _隐藏控件_
	 * @param {Object} id
	 */
	hidden:function(id)
	{
		this.$(id).style.display='none';
		this.$(id).style.visibility='hidden';
	},
	/**
	 * _写文字_
	 * @param {Object} txt _要写的文字,支持HTML_
	 * @param {Object} s _要写入的控件Id,为空则使用document.write输出_
	 */
	WriteTo:function(html,id)
	{
		if(id)
		{
			this.$(id).innerHTML=html;
		}
		else
		{
			document.write(html);
		}
	},
	/**
	 * _得到URL中的参数_
	 * @param {Object} sArgName 
	 * @param {Object} sHref
	 */
	GetArgsFromHref:function(sArgName,sHref)
	{
		if(!sHref||sHref=="undefined"||sHref=="")
		{
			sHref=location.href;
		}
		var args = sHref.split("?");
		var retval = ""; 
　　		if(args[0] == sHref) //_参数为空_
　　		{ 
　　			return retval; //_无需做任何处理_
　　		}
		var str = args[1];
		args = str.split("&");
		for(var i=0;i<args.length;i++)
		{
			str = args[i]; 
		　　	var arg = str.split("="); 
		　　	if(arg.length <= 1) 
				continue;
		　　	if(arg[0].toLowerCase() == sArgName.toLowerCase()) 
			{
				retval = arg[1];
				break;
			}
		}
		return retval;
	},
	SetArgsFromHref:function(sArgName,sHref,sArgValue)
	{
		//alert("123")
		if(!sHref||sHref=="undefined"||sHref=="")
		{
			sHref=location.href;
		}
		var args = sHref.split("?");
		var retval=args[0];
　　		if(retval == sHref) //_参数为空_
　　		{ 
			retval+="?";
　　			retval+=sArgName+"="+sArgValue;
			return retval;
　　		}
		retval+="?";
		var str = args[1];
		args = str.split("&");
		for(var i=0;i<args.length;i++)
		{
			if(i!=0)
			{
				retval+="&";
			}
			str = args[i]; 
		　　	var arg = str.split("="); 
		　　	if(arg.length <= 1) 
				continue;
		　　	if(arg[0].toLowerCase() == sArgName.toLowerCase()) 
			{
				arg[1]=sArgValue;
			}
			retval+=arg[0]+"="+arg[1];
		}
		return retval;
	},
	getCookie:function (c_name)
	{
		if (document.cookie.length>0)
	  	{
	  		c_start=document.cookie.indexOf(c_name + "=")
	  		if (c_start!=-1)
	    	{ 
	    		c_start=c_start + c_name.length+1 
	    		c_end=document.cookie.indexOf(";",c_start)
	    		if (c_end==-1) c_end=document.cookie.length
	    		return unescape(document.cookie.substring(c_start,c_end))
	    	} 
	  }
		return ""
	},
	setCookie:function (c_name,value,expiredays)
	{
		var exdate=new Date()
		exdate.setDate(exdate.getDate()+expiredays)
		document.cookie=c_name+ "=" +escape(value)+
		((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
	}

	
}

