﻿// JScript 文件
function $(id) {
    if(typeof(id) == "string"){return document.getElementById(id);}
    return id;
}

function $T(tagName, obj) {
    if (!obj) { obj = document; }
    return obj.getElementsByTagName(tagName);
}

function $N(name, obj) {
    if (!obj) { obj = document; }
    return obj.getElementsByName(name);
}

//基础类
var pb={}
pb.iswindow = /window/i.test(navigator.userAgent);
pb.isie = /msie/i.test(navigator.userAgent);
pb.isff = /firefox/i.test(navigator.userAgent);
pb.isop = /opera/i.test(navigator.userAgent);
pb.brower = pb.isie ? "IE" : pb.isff ? "Firefox" : pb.isop ? "Opear" : "other";

pb.xml={};
//***********************************************XML对象********************************************************
//xmlDom对象
pb.xml.xmlDom = function(){
    if(pb.isie){
	    var a = ["MSXML2.DOMDocument", "Microsoft.XMLDOM", "MSXML.DOMDocument", "MSXML3.DOMDocument"];
	    for (var i=0,l=a.length;i<l;i++){
		    try{
			    return new ActiveXObject(a[i]);
		    }catch(e){};
	    }
	    return false;
    }
    else{
        return document.implementation.createDocument("","doc",null);
    }
}

pb.xml.getXml=function(node){
    if(pb.isie){ return node.xml; }
    else{ return new XMLSerializer().serializeToString(node); }
}

pb.xml.getText=function(node){
    if(pb.isie){return node.text; }
    else{return node.textContent; }
}

//载入XML文件
pb.xml.callXml = function (url,callBack,isDom){
	var xmlDom = pb.xml.xmlDom();
	var f = function(xmlDom){return isDom ? xmlDom : xmlDom.documentElement};
	if (!callBack){
		xmlDom.async = false;
		xmlDom.load(url);
		return f(xmlDom);
	}
	xmlDom.async = true;			
	if (pb.isie){ xmlDom.onreadystatechange = function(){	xmlDom.readyState==4 && callBack(f(xmlDom))	};}
	else{ xmlDom.onload = function(){ callBack(f(xmlDom)) };	}
	xmlDom.load(url);
	return xmlDom;
}

pb.xml.selectSingleNode = function (node,xPath){
	var r = node.nodeType == 9;
	var doc = r ? node : node.ownerDocument;
	var nsRes = doc.createNSResolver(r ? node.documentElement : node);
	var xpRes = doc.evaluate(xPath, node, nsRes, 9, null);
	return xpRes.singleNodeValue;
}
pb.xml.selectNodes = function (node,sExpr){
	var r = node.nodeType == 9;
	var doc = r ? node : node.ownerDocument;
	var nsRes = doc.createNSResolver(r ? node.documentElement : node);
	var xpRes = doc.evaluate(sExpr, node, nsRes, 5, null);
	var res = [];
	var item;
	while (item = xpRes.iterateNext()){res[res.length] = item;}
	return res;
}
//**********************************************滑动门*******************************************************
pb.scrollMenu=function(arrMenu,arrDiv,strCur,strNor){
    for(var i = 0 ; i < arrMenu.length ; i++){	
	    $(arrMenu[i]).value = i;
	    $(arrMenu[i]).onclick = function(){
		    for(var j = 0 ; j < arrMenu.length ; j++)
		    {						
			    $(arrMenu[j]).className = strNor;
			    $(arrDiv[j]).style.display = "none";
		    }
		    $(arrMenu[this.value]).className = strCur;	
		    $(arrDiv[this.value]).style.display = "block";
	    }
    }
}

pb.scrollFun=function(arrMenu,strCur,strNor,arrFun){
    for(var i = 0 ; i < arrMenu.length ; i++){	
	    $(arrMenu[i]).value = i;
	    $(arrMenu[i]).onclick = function(){
		    for(var j = 0 ; j < arrMenu.length ; j++)
		    {						
			    $(arrMenu[j]).className = strNor;
		    }
		    $(arrMenu[this.value]).className = strCur;
		    if(arrFun!=null){
		        eval(arrFun[this.value]);
		    }
	    }
    }
}

//重新定义iframe的高度
pb.ifrResize=function(id,minH){
    var Ifr=$(id);
    if(minH==null||minH==""){ minH=0;}
    Ifr.style.height=minH+"px";
	if (Ifr){
        try{
            var H1 = Ifr.contentWindow.document.body.scrollHeight;
            var H2 = Ifr.contentWindow.document.documentElement.scrollHeight;
            var intH=Math.max(H1,H2);
            Ifr.style.height=Math.max(minH,intH)+"px";
        }catch (ex)
        {}
	}
}

//去掉字符串前后的空格
pb.trim=function(str,mode){
	var i;
	if(mode === undefined || mode ==1){
		i = 0;
		while(i<str.length && str.charAt(i)==" "){
			i++;
		}
		str = str.substring(i,str.length);
	}
	if(mode === undefined || mode ==2){
		i = str.length;
		while(i>0 && str.charAt(i-1)==" "){
			i--;
		}
		str = str.substring(0,i);
	}
	return str;
}

/**
 * 文本框验证：只能为数字
 * @param {Object} evt window事件对象
*/
pb.chkNum=function(evt){
	var keyCode = evt.keyCode || evt.which;
	if((keyCode<48||keyCode>57)&&keyCode!=8){
	    if(evt.preventDefault){
		    evt.preventDefault();
	    }else{
		    evt.returnValue = false;
	    }
		return;
	}
}


pb.Number={}
//判断数字大小
pb.Number.isBig=function(num,min){
    if(num<min) 
        return false;
    else
        return true;
}
//判断数字奇偶
pb.Number.isOdd=function(num){
    if(num%2==0)
        return false;
    else
        return true;
}
//判断数字质合
pb.Number.isPrime=function(num){
    for(i=2; i<=Math.sqrt(num); i++){
        if(num%i==0){
           return false;
           break;
        }
    }
    return true;
}
