﻿Array.prototype.SortBy=function(type,str){
    switch (type){
    case 0:this.sort(); break;//默认
    case 1:this.sort(function(a,b){ return a-b; }); break;//数字
    case 2:this.sort(function(a,b){ return a.localeCompare(b); }); break;//拼音
    case 3:this.sort(function(){ return Math.random()>0.5?-1:1; }); break;//乱序
    case 4:this.sort(function(a,b){ return a.indexOf(str)==-1?1:-1; }); break;//查找
    case 5:this.sort(function(a,b){
        if(a.length>b.length)return 1;
        else if(a.length==b.length)return 0;
        else return -1;
        });break;//长度
    default:this.sort();
    }
}
String.prototype.Join=function(){
    if(arguments.length){
        var arr=new Array(this);
        for(var i=0;i<arguments.length;i++){
            arr.push(arguments[i]);
        }
        return arr.join('');
    }
}

var isIE=!!window.ActiveXObject;  
var isIE6=isIE&&!window.XMLHttpRequest;  
var isIE8=isIE&&!!document.documentMode;  
var isIE7=isIE&&!isIE6&&!isIE8;  
var zx={
    $:function(id){
        return document.getElementById(id);
    },
    //getElementByTag
	tag:function(name,elem){
		var res=new Array();
		var _t=(elem||document).getElementsByTagName(name);
		for(var i=0;i<_t.length;i++){
			res.push(_t[i]);
		}
		return res;
	},
	//getElementsByClassName
	cssN:function(name,pid){
    	var t=this.tag('*',this.$(pid));
    	var res=new Array();
    	for(var i=0;i<t.length;i++){
        	if(t[i].className&&t[i].className==name){
            	res.push(t[i]);
		}}
    	return res;
	},
	tagCssN:function(tname,cssname,pid){
	    var t=this.tag(tname,pid);
	    var res = [];
	    if(cssname.constructor==Array){
	        for(var i=0;i<t.length;i++){
	            for(var j=0;j<cssname.length;j++){
	                if(t[i].className&&t[i].className==cssname[j]){res.push(t[i]);break;}
	            }
	        }
	    }else{    
	        for(var i=0;i<t.length;i++){
	            if(t[i].className&&t[i].className==cssname){res.push(t[i]);}
	        }
	    }
	    return res;
	},
	//getElementByProperty
	//pro:属性 val:值 name:tagname pid:parentID
	getElem:function(pro,val,name,pid){
		if(!pro||!val)return false;
		var t=this.tag(name||'*',this.$(pid));
		var res=new Array();
		for(var i=0;i<t.length;i++){
			if(t[i][pro]==val){
				res.push(t[i]);
			}
		}
		return res;
	},
	stopDefault:function(e){
		//阻止默认浏览器行为(w3c)
		if(e&&e.preventDefault)
			e.preventDefault();
		else//IE中阻止浏览器默认行为
			window.event.returnValue=false;
		return false;
	},
	//查找相关元素的前一个兄弟元素的函数
	prev:function(elem){
		do{
			elem=elem.previousSibling;
		}while(elem&&elem.nodeType!=1);
		return elem;
	},
	//查找相关元素的下一个兄弟元素的函数
	next:function(elem){
		do{
			elem=elem.nextSibling;
		}while(elem&&elem.nodeType!=1);
		return elem;
	},
	//查找元素的第一个子元素的函数
	first:function(elem){
		elem=elem.firstChild;
		return elem&&elem.nodeType!=1?this.next(elem):elem;
	},
	//查找元素的最后一个子元素的函数
	last:function(elem){
		elem=elem.lastChild;
		return elem&&elem.nodeType!=1?this.prev(elem):elem;
	},
	//查找元素父元素的函数
	//num操纵多个父元素,如parent(elem,2)等同于parent(parent(elem))
	parent:function(elem,num){
		num=num||1;
		for(var i=0;i<num;i++){
			if(elem!=null)elem=elem.parentNode;
		}
		return elem;
	},
	create:function(elem){
		return document.createElementNS?document.createElementNS('http://www.w3.org/1999/xhtml',elem):document.createElement(elem);
	},
	remove:function(elem){
		if(elem)elem.parentNode?elem.parentNode.removeChild(elem):document.body.removeChild(elem);
	},
	getDate:function(value){
	    if(!CHK.isDate(value))return null;
	    var y=/^\d{4}/g.exec(value);
	    var m=/[-/\\\.,]\d{1,2}[-/\\\.,]/g.exec(value);
	    m=/\d{1,2}/g.exec(m);
	    var d=/\d{1,2}$/g.exec(value);
	    return new Date(y,m,d);
	}
};
var CHK={
    //是否有效数字 t 是
    isNum:function(elem){
        elem=elem.value||elem;
        return /^\d+$/i.test(elem);
    },
    isFloat:function(elem){
        elem=elem.value||elem;
        return /^\d+\.?(\d+)?$/i.test(elem);
    },
    //是否有效E-Mail t 有效
	isMail:function(elem){
	    elem=elem.value||elem;
		return /^[a-z0-9]+\@([a-z0-9]+\.)+[a-z0-9]{2,4}$/i.test(elem);
	},
	//是否有效电话 t 有效
	isPhone:function(elem){
	    elem=elem.value||elem;
		return /^(\d{0,4}-)?\d{6,8}(\#\d{0,6})?$/.test(elem);
	},
	//邮编
	isPost:function(elem){
	    elem=elem.value||elem;
		return /^\d{6}$/.test(elem);
	},
	//手机
	isMove:function(elem){
	    elem=elem.value||elem;
		return /^\d{11}$/.test(elem);
	},
	//是否为中文
	isCN:function(elem){
	    elem=elem.value||elem;
	    return /^[\u4E00-\u9FA5]+$/g.test(elem)
	},
	//是否有效日期 t 有效
	isDate:function(elem){
		var date=elem.value||elem;
        var reg=/^\d{4}[-/\\\.,]\d{1,2}[-/\\\.,]\d{1,2}$/g;
	    if(!reg.exec(date))return false;
	    reg=/^\d{4}/g;
	    var y=reg.exec(date);
	    if(y<1900 || y>2100)return false;
	    reg=/[-/\\\.,]\d{1,2}[-/\\\.,]/g;
	    var m=reg.exec(date);
	    reg=/\d{1,2}/g;
	    m=reg.exec(m);
	    if(m<1 || m>12)return false;
	    reg=/\d{1,2}$/g;
	    var d=reg.exec(date);
	    if(d<1)return false;
	    var mm=new Array(1,3,5,7,8,10,12);
	    var flag=false;
	    for(var i=0;i<mm.length;i++){
			if(m==mm[i]){flag=true;break;}
		}
	    if(flag){
			if(d>31)return false;
		}else{
			if(d>30)return false;
		}
	    if(m==2){
			if((y%4==0 && y%100!=0)||y%400==0){
				if(d>29)return false;
			}else{
				if(d>28)return false;
			}
		}
        return true;
    }
};

function AddFavorite(sURL, sTitle){
    try{
        window.external.addFavorite(sURL, sTitle);
    }catch(e){
        try{
            window.sidebar.addPanel(sTitle, sURL, "");
        }catch(e){
            alert("加入收藏失败，请使用Ctrl+D进行添加");
        }
    }
}
function selMenu(id){
    var o=zx.$('Menu'+id);
    if(o)o.style.cssText='font-size:16px;color:#147530;font-weight:bold;';
}
function selSubMenu(id){
    zx.$('subMenu'+id).style.cssText='color:#147530;';
}
var hnd;
function showMenu(id){
    var div=zx.tag('div',zx.$('mpMenuList'));
    if(div){
        if(hnd)clearTimeout(hnd);
        for(var i=div.length-1;i>-1;i--){
            div[i].style.display='none';
        }
        var obj=zx.$(id);
        obj.style.display='block';
        var fun=function(){obj.style.display='none';}
        hnd=setTimeout(fun,5000);
        obj.onmouseover=function(){clearTimeout(hnd);}
        obj.onmouseout=function(){hnd=setTimeout(fun,5000);}
    }
}
function setHeadPosition(){
    var num=(screen.width-910)/2;
    zx.$('mpMenu').style.left=(num<0?0:num)+'px';
    var o=zx.$('ctl00_btnLogout');
    if(o)o.onclick=function(){zx.$('aspnetForm').onsubmit=null;}
    document.body.onkeypress=function(e){
        e=e||event;
        if(e.keyCode==13){
            var o=zx.$('btnLogin');
            if(o){o.onclick();}
        }    
    }
    window.onresize();
}
function Login(){
    var u={name:zx.$('txtName').value,pwd:zx.$('txtPwd').value};
    if(u.name.length<3||u.pwd.length<6)return;
    ajax({
        url:'service/web.asmx/LoginIn',
        res:2,
        type:'POST',
        parm:serialize({Name:u.name,Pwd:u.pwd}),
        succ:function(data){
            switch(data*1){
            case 1:
                location.reload();
                break;
            case 0:
                alert('用户名或密码错误');
                break;
            case 2:
                alert('用户名或密码无效');
                break;
            }
        },
        fail:function(i){alert('错误,请重试!'+i);}
    });
}
window.onresize=function(){
    var o=zx.$('onlineService');
    o.style.top = document.documentElement.scrollTop+10+"px";
    var r=(window.screen.availWidth-1094)/2;
    o.style.right =r+'px';
}
window.onscroll = function () {
    var o=zx.$('onlineService');
    if(o)o.style.top = document.documentElement.scrollTop+10+"px";
}
