/*
*扩展jQuery utility functions
*网站常用方法
*/
var $arr=[];
(function($){
//start
  /**
   *  站点常用信息
   */
$.WEBDOMAIN={
	        HOST:'http://www.saicmg.com',
		 LOADGIF:'http://www.saicmg.com/images/load/loading_2.gif'
  	}
  /**
  *  常用正则表达式和错误提示文字
  */					 
$.REGEXP={
	   EMAIL:'^([a-zA-Z0-9_-]+\\.)*[a-zA-Z0-9_-]+@([a-zA-Z0-9_-]+\\.)+[a-zA-Z]+$',
        NAME:'^((\\w{3,15})|([\\u4e00-\\u9fa5]{2,5}))$',
	 NAME_CN:'^[\\u4e00-\\u9fa5]{2,12}$',
	  MOBILE:'^0?1[358]\\d{9}$',
	POSTCODE:'^\\d{6}$',
	     TEL:'^(0\\d{2,3}[\\s-])?\\d{7,8}([\\s-]\\d{4,5})?$'
    }
  /**
  *  字符串连接操作数组。
  *  字符输出连接操作函数
  */	
$.StringBuffer=new Array();
$.getStrBuffer=function(){
	var str=$.StringBuffer.join('');
	$.StringBuffer.length=0;
	return str;
	}
  /**
   *  插入loading Gif 动画
   *
   * @param String id-----id名            
   * @return void
   */   
$.innerLoadGif=function(id){
	   $(id).html('<img src="'+$.WEBDOMAIN.LOADGIF+'" style="position:absolute;margin-left:'+($(id).width()/2-8)+'px; margin-top:'+($(id).height()/2-8)+'px;"/>');
	}			 
  /**
   *  截取URL尾巴参数值
   *
   * @param String argname-----参数名称            
   * @return String
   */
$.getParam=function(argname){
        var url = document.location.href;
        var arrStr = url.substring(url.indexOf("?")+1).split("&");
        for(var i =0;i<arrStr.length;i++){
            var loc = arrStr[i].indexOf(argname+"=");
            if(loc!=-1){
              return arrStr[i].replace(argname+"=","").replace("?","");
            }  
         }
       return "";
    }
  /**
   *  正则验证函数
   *
   * @param String argname-----参数名称            
   * @return String
   */	
$.regExp=function(str,reStr){
	var regExp=new RegExp(reStr);
	return regExp.test($.trim(str));
	}
  /**
   *  使用$.getJSON创建select option
   *  json格式为{result:'y/n',data:['数据']}
   * @param string id    SELECT选框id
   * @param string url   查询地址
   * @param string parm{first:'请选择城市',_key:'option value',_value:'选项值'}
   * @return String
   */
$.getChildren=function(id,url,parm){
        $(id).html('<option>查询中...</option>').attr('disabled','disabled');		
		$.getJSON(url,function(json){
              if(json.result=='y'){
				    if(parm.firstOption){
			            $.StringBuffer.push('<option value="-1">'+parm.firstOption+'</option>');
					}
			  	    $.each(json.data,function(i,value){ $.StringBuffer.push('<option '+'value='+value[parm._key]+' >'+value[parm._value]+'</option>');});
                     if(parm.selected){
                       $(id).html($.getStrBuffer()).attr('disabled','').attr('value',parm.selected);
					   }else{
						   $(id).html($.getStrBuffer()).attr('disabled','');
						   }
			  }else{
			        $(id).html('<option value="-1">查询失败</option>').attr('disabled','disabled');
			  }
		});		
}
  /**
   *  刷新验证码图片
   *
   * @param String id-----图片id
   * @param String url----图片地址
   * @return String
   */	
$.refreshYZM=function(id,url){
	$(id).attr('src',url+'&rand='+Math.random());
	}
  /**
   * 获取radio或checkbox值,以逗号隔开选项值形式返回
   *
   * @param String name-----单复选的值
   * @return String
   */	
$.getBoxRadioValue=function(name){
	   var str="";
	       $('input[name="'+name+'"]').each(function(){if(this.checked){ if(str){str+=','+this.value;}else{str=this.value;}}});
	    return str;
	}
/**
*获取字符串长度，双字节算两个
*@param String s 
*@return Int  
*/
$.bytes=function(str){
	var str=$.trim(str);
	return str.replace(/[^\x00-\xff]/g, "**").length;
	}
/**
*通用验证函数
*@param String val-------------需要验证的值         
*@param regexp expStr----------正则表达式
*@param function callback------回调函数
*@return boolean
*@example
*       $.checkVal('liumangqing','/^\\w{3,15}$/',function(b){
*														  if(b){
*															     alert('ok');
*															  }else{
*																  alert('error');
*																  }
*														  });
*/
$.checkVal=function(val,expStr,callback){
		var b=$.regExp(val,expStr);
		if(callback){
			    callback(b);
			}
		return b;
	}
/**
*加载xml数据转为对象数组
*@param  String myurl  xml link
*@param  String node   节点名字
*@param  Array  arr    数据结构
*@return array 
×@example $.getXML('lists.xml','news',['date','title','content'])
*/
$.getXML=function(myurl,mynode,arr){
	var option={
                    type: "GET",
                    url:myurl,
                    dataType: "xml",              
                    success: function(data) {     
                       $(data).find(mynode).each(function(){										   							
			                    var t={};
								for(var i=0,j=arr.length;i<j;i++){
									   t[arr[i]]=$(this).find(arr[i]).text();
								}				
								$arr.push(t);		
						});
                    }					  						  
            };
	$.ajax(option);
	return $arr;
	}
//end
})(jQuery)