window.shq={};
shq.isIE=window.ActiveXObject ? true : false;
shq.isFirefox=(navigator.userAgent.toLowerCase().indexOf("firefox")!=-1);
shq.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
//getElementById
shq.$=function(o){return typeof(o)=="string"?document.getElementById(o):o}
//getElementByTagNames 
//params (obj,tagNames)
shq.$$=function(){
	var es=[],e;
	for(var i=1,ags=arguments.length-1,o,oo;i<=ags;i++)
	{   o=arguments[0];
		e=arguments[i];
		if(typeof e=='string'){
		  oo=o.getElementsByTagName(e);
		  for(var j=0;j<oo.length;j++)
		    es.push(oo[j])
		  //es[es.length]=oo[j];
		}
	}
	return es;
}
//getElementByTagClass 
//params (tagName,classname)
shq.$$$=function(tagname,classname){
    var es=[];
    var objs=document.body.getElementsByTagName(tagname);
	 for(var i=0;i<objs.length;i++)
	  {
		 if(objs[i].className==classname)
		  {
			 es.push(objs[i])
			// es[es.length]=objs[i];
		  }
	  }
	return es;
}

/* get location.search params*/
shq.QueryString=function(str){var qs=location.search;if(qs==""){return ""}var re=new RegExp("&?"+str+"=(.*?)(?:&|$)","i");var v=re.exec(qs);if(v==null){return ""}else{return v[1]}}


/* order form*/
shq.formHtml="<form><input name='ItemName'/><input name='ItemCount'/><input name='Price'/><input name='TotalPrice'/><textarea name='requirements'></textarea></form>";
shq.form_tmp_values={}
shq.loadimgs=[];
shq.isEmail=function(s){return s==undefined||s.length==0?false:(/[\w_\-\.]{1,12}@[\w\-]+\.[a-z]{1,4}(?:\.[a-z]{2})?/i.test(s)?true:false)}//email
shq.isNum=function(n){return n==undefined||n.length==0?false:(/[\D]/g.test(n)?false:true)}//numeric
shq.isHz=function(s){return s==undefined||s.length==0?false:(/^[\u4e00-\u9fa5]+$/.test(s)?true:false)}//chinese
shq.telphone=function(s){return s==undefined||s.length==0?false:(/^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/.test(s)?true:false)};
shq.isName=function(s){return s==undefined||s.length==0?false:(/[^\w\d_]/g.test(s)?false:true)}

//String 

/*
 * 方法:Array.baoremove(dx)
 * 功能:删除数组元素.
 * 参数:dx删除元素的下标.
 * 返回:在原数组上修改数组.
 
 Array.prototype.remove = function(dx)
  {
    if(isNaN(dx)||dx>this.length){return false;}
    this.splice(dx,1);
  }
*/
