﻿//引用js/css文件;
function include(path,type,title){
	var s,i,t;
	if(arguments.length < 1){
		return ;
	}
	if(arguments.length == 1){
		type = "js";
	}
	switch(type.toLowerCase()){
		case "css":
				t = document.getElementsByTagName("link");
				for(i=0;i<t.length;i++){
					if(t[i].href && t[i].href.indexOf(path)!=-1){
						return;
					}
				}
				s=document.createElement("link");
				s.rel="alternate stylesheet";
				s.type="text/css";
				s.href=path;
				s.title=title;
				s.disabled=false;
				break;
		case "js":
		case "javascript":
		default:
				t = document.getElementsByTagName("script");
				for(i=0;i<t.length;i++){
					if(t[i].src && t[i].src.indexOf(path)!=-1){
						return;
					}
				}
				s=document.createElement("script");
				s.type="text/javascript";
				s.src=path;
			break;
	}
	var h=document.getElementsByTagName("head")[0];
	h.appendChild(s);
}
//字符处理;
//去左右空格; 
function trim(s){
 	return rtrim(ltrim(s)); 
}
//去左空格; 
function ltrim(s){
 	return s.replace( /^\s*/, ""); 
} 
//去右空格; 
function rtrim(s){ 
 	return s.replace( /\s*$/, ""); 
}
//验证信息;
//空字符值; 
function isEmpty(s){
	s = trim(s); 
	return s.length == 0; 
}
//Email;
function isEmail(s){
	s = trim(s); 
 	var p = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i; 
 	return p.test(s);
}
//数字; 
function isNumber(s){
	return !isNaN(s); 
}
//颜色值; 
function isColor(s){ 
	s = trim(s); 
	if (s.length !=7) return false; 
	return s.search(/\#[a-fA-F0-9]{6}/) != -1; 
}
//手机号码; 
function isMobile(s){ 
	s = trim(s); 
	var p = /^1[358]\d{9}$/; 
	return p.test(s);
}
//身份证;
function isCard(s){ 
	s = trim(s); 
	var p = /^\d{15}(\d{2}[xX0-9])?$/; 
	return p.test(s);
}
//URL;
function isURL(s){
	s = trim(s).toLowerCase();
	var p = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	return p.test(s);
}
//Phone;
function isPhone(s){
	s = trim(s);
	var p = /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/;
	return p.test(s);
}
//Zip;
function isZip(s){
	s = trim(s);
	var p = /^[1-9]\d{5}$/;
	return p.test(s);
}
//Double;
function isDouble(s){
	s = trim(s);
	var p = /^[-\+]?\d+(\.\d+)?$/;
	return p.test(s);
}
//Integer;
function isInteger(s){
	s = trim(s);
	var p = /^[-\+]?\d+$/;
	return p.test(s);
}
//正Integer
function isPositiveInteger(s)
{
	s = trim(s);
	var p = /^[\+]?\d+$/;
	return p.test(s);
}
//English;
function isEnglish(s){
	s = trim(s);
	var p = /^[A-Za-z]+$/;
	return p.test(s);
}
//中文;
function isChinese(s){
	s = trim(s);
	var p = /^[\u0391-\uFFE5]+$/;
	return p.test(s);
}
//双字节
function isDoubleChar(s){
	var p = /^[^\x00-\xff]+$/;
	return p.test(s);
}
//含有中文字符
function hasChineseChar(s){
	var p = /[^\x00-\xff]/;
	return p.test(s);
}
function hasAccountChar(s){
	var p = /^[a-zA-Z][a-zA-Z0-9_-]{0,20}$/;
	return p.test(s);
}
function limitLen(s,Min,Max){
	s=trim(s);
	if(s=="") return false;
	if((s.length<Min)||(s.length>Max))
		return false;
	else
		return true;
}
function str_len(str)
{
 var totallength=0;
 for(var i=0;i<str.length;i++)
 {
  var intCode=str.charCodeAt(i);
  if(intCode>=0&&intCode<=128)  {
   totallength=totallength+1;
  }else{
   totallength=totallength+2;
  }
 }
 return totallength;
}
function isDate(dateVal)
{
	var a1=dateVal.replace(/-/g,"/");
	var dd=new Date(a1);
	var ss=dd.getYear();
	if(isNaN(ss))
	return false;
	else
	return true;
}

function left(mainStr,lngLen) { 
if (lngLen>0) {return mainStr.substring(0,lngLen)} 
else{return null} 
} 
function right(mainStr,lngLen) {
if (mainStr.length-lngLen>=0 && mainStr.length>=0 && mainStr.length-lngLen<=mainStr.length) { 
return mainStr.substring(mainStr.length-lngLen,mainStr.length)} 
else{return null} 
} 
function mid(mainStr,starnum,endnum){ 
	if (mainStr.length>=0){ 
	return mainStr.substr(starnum,endnum) 
	}else{return null} 
} 
//Image;
function preloadImages(){
	var d = document;
	if(d.images){
		if(!d.p_i_a) d.p_i_a = new Array();
		var i,j=d.p_i_a.length,a=arguments;
		for(i=0;i<a.length;i++){
			d.p_i_a[j]= new Image();
			d.p_i_a[j++].src = a[i];
		}
	}
}
function getParams(){
    var o = new Object()
    var a=document.location.search.substr(1).split('&'); 
    for (i=0;i<a.length;i++){
        try{
            var aa=a[i].split('=');
            var n=aa[0];
            var v=aa[1];
            o[n]=trim(v);
        }catch(e){ 
        }
    }
    return o;
}
function getRandom(n)
{
	return Math.floor(Math.random()*n+1);
}

/////////////////////////处理表单中的值 start/////////////////////////////////

//theform指定的form,thename是checkbox的name属性
function selectAll(theform,thename){  
	var tform=document.forms[theform]; 
	for(var i=0;i<tform.length;i++){ 
		var e=tform.elements[i]; 
		if(e.type=='checkbox' && e.name==thename)
		{
			if(e.checked)
			{
				e.checked=false;
			}else
			{
				e.checked=true;
			}
				
		}
	} 
} 

//SELECT表单选取
function CheckSel(Voption,Value)
{
	var obj = document.getElementById(Voption);
	for (i=0;i<obj.length;i++){
		if (obj.options[i].value==Value){
		obj.options[i].selected=true;
		break;
		}
	}
	
}
//全选
function CheckAll(form)
{
	for (var i=0;i<form.elements.length;i++)
	{
	var e = form.elements[i];
	if (e.name != 'chkall')
	e.checked = form.chkall.checked;
	}
}

//选取颜色
function Getcolor(img_val,Url,input_val){
	var arr = showModalDialog(Url, "", "dialogWidth:18.5em; dialogHeight:17.5em; status:0; help:0");
	if (arr != null){
		document.getElementById(input_val).value = arr;
		img_val.style.backgroundColor = arr;
		}
}
  
/**   
* 全选的所有指定id名称的同名checkbox  
*@state　全选的checkbox的状态  
*@name   表格中的所有checkbox的名称  
*@name   表格中的所有checkbox的id  
*@author fangtf  
*@type void  
*/  
function selectAllCheckboxByID(state,name,id) {   
    var ids = document.getElementsByName(name);   
    for (var i = 0; i < ids.length; i++)    
    {          
            if(ids[i].id == id)   
            {   
                ids[i].checked = state;   
            }   
               
    }   
}   

function selectCheckBoxByID(id)
{
	var obj=document.getElementById(id);
	if(obj != 'undefined')
	{
		if(obj.checked==false)
		{
			obj.checked=true;	
		}else
		{
			obj.checked=false;
		}
	}
}

/**   
* 全选页面上所有的checkbox  
*@state　全选的checkbox的状态  
*@author fangtf  
*@type void  
*/  
function selectAlls(state)    
{   
    var inputs = document.getElementsByTagName("input");   
    for(var i =0;i<inputs.length;i++)   
    {   
        if(inputs[i].type == "checkbox")   
        {   
            inputs[i].checked =state;    
        }   
    }   
  
}    
  
/**  
*得到鼠标所单击的行  
*@type Object  
*/  
function GetRow(oElem) {   
    while (oElem) {   
        if (oElem.tagName.toLowerCase() == "tr" && oElem.parentElement.tagName.toLowerCase() == "tbody") {   
            return oElem;   
        }   
        if (oElem.tagName.toLowerCase() == "table" || oElem.tagName.toLowerCase() == "th") {   
            return false;   
        }   
        oElem = oElem.parentElement;   
    }   
}   
  
/**   
* 全选当前行的checkbox  
*@state　全选的checkbox的状态  
*@author fangtf  
*@type void  
*/  
function selectRowCheckbox(state)   
{   
  var row = GetRow(window.event.srcElement);   
  var cells = row.childNodes;    
  for(var i=0;i<cells.length;i++)   
  {   
      var cell = cells[i].childNodes[0];   
     if(cell.tagName == "INPUT")   
     {   
        cell.checked = state;   
     }   
  }   
}   

/**   
*选中指定值的Radio  
*如：有两个radio,  
*第一个的name="ids",value="1"  
*第二个的name="ids",value="２"  
*调用方法setRadio("ids","1");  
*那么数值为１的Radio将被选中  
*@name radio的名称  
*@value radio的值  
*@author fangtf  
*@type void  
*/  
function setRadio(name,value) {   
    var radioObject = document.getElementsByName(name);   
    if(value === "")   
    {   
        radioObject[0].checked = true;   
        return;   
    }   
    for (var i = 0; i < radioObject.length; i++)    
    {   
        if(radioObject[i].value == value)   
        {   
            radioObject[i].checked = true;   
            break;   
        }   
           
    }   
}
  
/**   
*选中指定值的checkbox  
*如：有两个checkbox,  
*第一个的name="ids",value="1"  
*第二个的name="ids",value="２"  
*第三个的name="ids",value="3"  
*调用这个方法setCheckbox("ids","1,2")那么数值为１，２的checkbox将被选中  
*                  
*@name 要选中的checkbox数组的名称  
*@value 判断时候选中的值  
*@author fangtf  
*@type void  
*/  
function setCheckbox(name,value) {
    var checkObject = document.getElementsByName(name);
    var values = value.split(",");   
    for(var j = 0; j < values.length; j++)   
    {   
        for (var i = 0; i < checkObject.length; i++)    
        {   
			var str1=(checkObject[i].value).toString();
			var str2=(trim(values[j])).toString();
            if(str1 == str2)   
            {   
                checkObject[i].checked = true;   
                break;   
            }   
        }   
    }   
       
}   
  
/**   
*选中指定值的select  
*如：有一个名称为user的select  
*<option value="0"></option>  
*<option value="1"></option>  
*调用这个方法setOption("user","0")那么选项为0的选项就被选中  
*                 
*@name  String  select的名称  
*@value String  判断时候选中的值  
*@author fangtf  
*@type void  
*/  
function setOption(name,value)   
{   
     document.getElementsByName(name)[0].value=value; 
  
}  
/////////////////////////处理表单中的值end/////////////////////////////////

function getCookie(sName){
	var sSearch=sName+"=";
	var acookie=window.document.cookie+";"
	acookie=acookie.replace(/\&/g,';');
	if(acookie.length>0){
		var iOffset=acookie.indexOf(sSearch);
		if(iOffset!=-1){
			iOffset+=sSearch.length;
			var iEnd=acookie.indexOf(";",iOffset);
			if(iEnd==-1){iEnd=acookie.length;}
			var s=acookie.substring(iOffset,iEnd);
			return s;			
		}
	}
	return null;
}

function setValueById(id,strValue)
{
	var obj=document.getElementById(id);
	if(obj != "undefined")
	{
		var strType=obj.type;
		switch(strType)
		{
			case "checkbox":
				var defValue=obj.value;
				if(defValue == strValue)
				{
					obj.checked=true;
				}
				break;
			case "radio":
				var defValue=obj.value;
				if(defValue == strValue)
				{
					obj.checked=true;
				}
				break;
			case "select":
				obj.value=strValue;
				break;
			case "text":
				obj.value=strValue;
				break;
			default: 
				obj.innerHTML=strValue;
				//alert("err:"+id+"t:"+strType+"v:"+strValue)
		}
	}
}

//去除数组中重复的项
function unique(data){
    data = data || [];
    var a = {};
    for (var i=0; i<data.length; i++) {
        var v = data[i];
        if (typeof(a[v]) == 'undefined'){
                               a[v] = 1;
                               }
    };
    data.length=0; 
      for (var i in a){
               data[data.length] = i;
         }
        return data;
}

//确认删除
function delcfm(info)
{
  if (!confirm(info))
  {
    window.event.returnValue = false;
  }
}

//textarea 自动高度autoresize
function autoresize(id)
{
	$(function(){    
		$('textarea#'+id).autoResize({    
			   // 文本框改变大小时触发事件，这里改变了文本框透明度    
			   onResize : function() {    
					$(this).css({opacity:0.8});    
			   },    
			  // 动画效果回调触发事件，这里改变了文本框透明度    
			  animateCallback : function() {    
				   $(this).css({opacity:1});    
			  },    
			 // 动画效果持续时间（ms），默认150    
			animateDuration : 300,    
			// 每次改变大小时，扩展（缩小）的高度（像素），默认20    
			extraSpace : 15,    
			//当文本框高度大于多少时，不再扩展，出现滚动条，默认1000    
		limit: 200    
		});    
	});	
}

/*多级菜单ul*/
function buildsubmenus(){
	var menuids=["submenutree"] //Enter id(s) of SuckerTree UL menus, separated by commas
	for (var i=0; i<menuids.length; i++){
		if(! document.getElementById(menuids[i]))
		return;
	  	var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul");
		for (var t=0; t<ultags.length; t++){
			ultags[t].parentNode.getElementsByTagName("a")[0].className="subfolderstyle";
			ultags[t].parentNode.onmouseover=function(){
				this.getElementsByTagName("ul")[0].style.display="block";
			}
			ultags[t].parentNode.onmouseout=function(){
				this.getElementsByTagName("ul")[0].style.display="none";
			}
		}
	  }
}

/*分页*/
function getpage(url,tag)
{
	if(isEmpty(url)) return;
	if(isEmpty(tag))
	{
		window.location.href=url;
		return;	
	}
	var data=null;
	$.get(url,data,function (res,textStatus){
				$('#'+tag).html(res)
		   },"html");	
}
/*--表格s--*/

//添加一行
function addRow(tabid,tr){
	if(isEmpty(tr))
	{
		alert("不能添加空行.");
		return;	
	}
	$("#"+tabid+" tr:last").after(tr);
}
//删除一行
function deleteRow(obj){
	$(obj).parent().parent().remove();
}
/*--表格e--*/
function addToFavorite(sURL,sTitle) {   
    try {   
        window.external.addFavorite(sURL, sTitle);
    } catch (e) {   
        try {   
            window.sidebar.addPanel(sTitle, sURL, "");   
        } catch (e) {   
            alert("加入收藏失败，请使用Ctrl+D进行添加");   
        }   
    }   
}

//URL加密  
function UrlEncode(str)  
{   
    var ret="";   
    var strSpecial="!\"#$%&()*+,/:;<=>?[]^`{|}~%"; var tt="";  
    for(var i=0;i<str.length;i++)  
    {   
        var chr = str.charAt(i);   
        var c=str2asc(chr);   
        tt += chr+":"+c+"n";   
        if(parseInt("0x"+c) > 0x7f)  
        {   
            ret+="%"+c.slice(0,2)+"%"+c.slice(-2);   
        }  
        else  
        {   
            if(chr==" ")   
                ret+="+";   
            else if(strSpecial.indexOf(chr)!=-1)   
                ret+="%"+c.toString(16);   
            else   
                ret+=chr;   
        }   
    }   
    return ret;   
}   
  

//URL解密  
function UrlDecode(str){   
    var ret="";   
    for(var i=0;i<str.length;i++)  
    {   
        var chr = str.charAt(i);   
        if(chr == "+")  
        {   
            ret+=" ";   
        }  
        else if(chr=="%")  
        {   
            var asc = str.substring(i+1,i+3);   
            if(parseInt("0x"+asc)>0x7f)  
            {   
                ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));   
                i+=5;   
            }  
            else  
            {   
                ret+=asc2str(parseInt("0x"+asc));   
                i+=2;   
            }   
        }  
        else  
        {   
            ret+= chr;   
        }   
    }   
    return ret;   
}   

//验证码
function getValidateCode(id)
{
	var src="/plugins/vcode.asp?r="+Math.random();
	$("#"+id).attr("src",src);
}

function getQueryString(name) 
{ 
	var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 
	var r = window.location.search.substr(1).match(reg); 
	if (r!=null) return unescape(r[2]); return null; 
} 

//登录
function loginReturnVal(myname)
{
		
}
//注册 
function regReturnVal(myname)
{
		
}
