﻿Function.prototype.BindForEvent = function(){
    var __m = this, object = arguments[0], args = new Array();
	for(var i = 1; i < arguments.length; i++){
		args.push(arguments[i]);
	}
	
	return function(event) {
		return __m.apply(object, [( event || window.event)].concat(args));
	}
};

var Class = {
  create: function() {
    return function() {
      this.init.apply(this, arguments);
    }
  }
}

Object.extend = function(destination, source) {
  for (var property in source) {
    destination[property] = source[property];
  }
  return destination;
}

//全局共用方法对象 add by 不必 20080911
var G = new Object();

G = 
{
	//根据坐标定位Div位置
	getXY:function(event,popWidth,popHeight)
	{		
		if (parseInt(navigator.appVersion)>3) {
			if (navigator.appName=="Netscape") {
				var width = window.innerWidth;
				var height = window.innerHeight;
			}
			if (navigator.appName.indexOf("Microsoft")!=-1) {
				var width = document.documentElement.clientWidth;
				var height = document.documentElement.clientHeight;
			}
		}
		var reLeft = 0;
		var reTop = 0;
		if(event.clientX+popWidth>width) reLeft = -popWidth;
		if(event.clientY+popHeight>height) reTop = -popHeight;
		reLeft = event.clientX+this.getScrollXY().left + reLeft;
		reTop = event.clientY+this.getScrollXY().top + reTop;
		if(reLeft <= 0) reLeft = 10;
		if(reTop <= 0) reTop = 10;
		return {left:reLeft,top:reTop};
	},
	//得到浏览器滚动条坐标
    getScrollXY:  function() 
    {
	    var scrollY = 0 , scrollX = 0; 
	    if (typeof window.pageYOffset != 'undefined') { 
		    scrollX = window.pageXOffset;
	   	    scrollY = window.pageYOffset; 
	    } 
	    else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { 
		    scrollX = document.documentElement.scrollLeft;		 
	   	    scrollY = document.documentElement.scrollTop; 
	    } 
	    else if (typeof document.body != 'undefined') { 
		    scrollX = document.body.scrollLeft;
	   	    scrollY = document.body.scrollTop; 
	    } 
	    return {left:scrollX,top:scrollY}
    },
	
	//显示或隐藏对象(obj:为要显示或隐藏的对象,flag:1为显示,2为隐藏)
	show:function(obj,flag)
	{
		if(typeof obj != "object") obj = G.GetEvent(obj);
		var reBool = false;
		switch(flag)
		{
			case 1:	obj.style.display = '';obj.style.visibility = 'visible';reBool=true;break;
			case 2:	obj.style.display = 'none';obj.style.visibility = 'hidden';break;
			default:if(obj.style.display == 'none')
					 {
					 	obj.style.display = '';obj.style.visibility = 'visible';reBool=true;
					 }
					 else
					 {
						obj.style.display = 'none';obj.style.visibility = 'hidden';
					 }
					 break;
		}
		return reBool;
	},
	//得到控件的绝对(顶部位置,左边位置,宽度,高度
	Offset:function(e)
	{
		var t = e.offsetTop;
		var l = e.offsetLeft;
		var w = e.offsetWidth;
		var h = e.offsetHeight-2;
		var f ='';
		
		while(e=e.offsetParent)
		{
			f+= (e.id || e.className || e.tagName) +e.offsetTop + "---";
			t+=e.offsetTop;
			l+=e.offsetLeft;
		}
		//alert(f);
		return {
			top : t,
			left : l,
			width : w,
			height : h
		}
	},
	//得到控件
	GetEvent:function(obj)
	{
		if(typeof obj == "object"){
			return obj;
		}else {
			if(document.getElementById)
			{
				return document.getElementById(obj);
			}
			else if(document.all)
			{
				return document.all[obj];
			}
			else if(document.layers)
			{
				return document.layers[obj];
			}
		}
	},
	//设置选择框默认选择
	GetDefaultItem: function(ItemObj,ItemValue)
	{
		for(i=0;i<ItemObj.options.length;i++)
		{
			if(ItemObj.options[i].value==ItemValue)
			{
				ItemObj.options[i].selected=true
				break
			}
		}
	},
    //事件处理类,所有相关的方法都要集中到这里*/
     EventUtil: {
        /*为控件附加事件方法
        oTarget:事件对象
        sEventType:事件类型
        fnhandler:事件处理器
        */
        $ADE: function(oTarget,sEventType,fnHandler){
           Event.observe(oTarget,sEventType,fnHandler,false);
        },
        /*移除控件的事件*/
        $RME: function(oTarget,sEventType,fnHandler){

               Event.stopObserving(oTarget,sEventType,fnHandler,false)
        },
        getEvent: function(){
            if(window.event){
                return this.FormatEvent(window.event);//如果是IE事件则格式化事件
            }else{
                return G.EventUtil.getEvent.caller.arguments[0];
            }
        }
     }
}

//检查数据格式对象

var C = new Object();
C = 
{
	//函数作用：判断对象的值是否为空(true: 为空)
	isBlank:function(obj)
	{ 
		var strValue 	= obj;
		if(typeof obj != "object")
			obj 		= G.GetEvent(obj);
		if((typeof obj == "object") && obj != null)
			strValue	= obj.value;
		if(window.navigator.userAgent.indexOf("MSIE")>=1)
			var reg 		= /^[\s　]*$/ig;
		else
			var reg 		= /^[\s　]*$/i;
		if(reg.test(strValue) == true) {
			return true;
		}
		return false;
	},

	//函数作用：检索是否含有汉字(true: 不包含; false: 包含)

	checkWord:function(obj)
	{ 
		if(typeof obj != 'object')
			obj = G.GetEvent(obj);
		var strValue = obj.value;
		if(window.navigator.userAgent.indexOf("MSIE")>=1)
			var reg = new RegExp('[\u4e00-\u9fa5]+', 'g');
		else
			var reg = new RegExp('[\u4e00-\u9fa5]+');
		if(reg.test(strValue) == false) { 
			return false; 
		}
		return true; 
	},
	
	//函数作用：检索Email格式是否有效

	checkMail:function(obj,title) 
	{ 
		if(typeof obj != 'object') 
			obj 		= G.GetEvent(obj);
		var strValue 	= obj.value;
		if(window.navigator.userAgent.indexOf("MSIE")>=1)
			var reg 		= /^\s*\w+([-+.]\w+)*@\w+([-.]\w+)*(\.\w+([-.]\w+)*){1,2}\s*$/gi;
		else
			var reg 		= /^\s*\w+([-+.]\w+)*@\w+([-.]\w+)*(\.\w+([-.]\w+)*){1,2}\s*$/i;
		return reg.test(strValue);;
	},

	//函数作用：检索用户名是否由[a-zA-Z0-9_]的字符组成

	checkAccount:function(obj) 
	{
		if(typeof obj != 'object') 
			obj 		= G.GetEvent(obj);
		var strValue 		= obj.value;
		if(window.navigator.userAgent.indexOf("MSIE")>=1)
			var reg 		= /^[\w]{6,20}$/gi;
		else
			var reg 		= /^[\w]{6,20}$/i;
		if(reg.test(strValue) == false) { 
			return false;
		}
		return true;
	},
	//函数作用：检索密码是否有效(空格以外的所有字符均有效)
	checkPwd:function(obj) 
	{
		if(typeof obj != 'object') 
			obj 		= G.GetEvent(obj);
		var strValue 		= obj.value;
		if(window.navigator.userAgent.indexOf("MSIE")>=1)
			var reg 		= /^\S{6,20}$/gi;
		else
			var reg 		= /^\S{6,20}$/i;
		if(reg.test(strValue) == false) { 
			return false;
		}
		return true;
	},

	//函数作用：检索电话号码格式是否有效
	checkPhone:function(obj) 

	{ 
		if(typeof obj != 'object') 
			obj 		= G.GetEvent(obj);
		var strValue 		= obj.value;
		if(window.navigator.userAgent.indexOf("MSIE")>=1)
		{
			var reg = /^([\d\uFF10-\uFF19]{2,5}[-\uFF0D])?[\d\uFF10-\uFF19]{3,5}[-\uFF0D][1-9\uFF11-\uFF19]{1}[\d\uFF10-\uFF19]{5,7}([-\uFF0D][1-9\uFF11-\uFF19]{1}[\d\uFF10-\uFF19]{1,3})?$/g;
			var reg2 = /^[\d\uFF10-\uFF19]{8,12}$/g;	
		}
		else
		{
			var reg = /^([\d\uFF10-\uFF19]{2,5}[-\uFF0D])?[\d\uFF10-\uFF19]{3,5}[-\uFF0D][1-9\uFF11-\uFF19]{1}[\d\uFF10-\uFF19]{5,7}([-\uFF0D][1-9\uFF11-\uFF19]{1}[\d\uFF10-\uFF19]{1,3})?$/;
			var reg2 = /^[\d\uFF10-\uFF19]{8,12}$/;
		}
		return reg.test(strValue) || reg2.test(strValue);
	},
	checkMobile:function(obj)
	{
		if(obj.value.length > 0)
		{
			if(!C.checkNumber(obj))
			{
				return false;
			}
			var paten =  /^(013|015|13|15|18)\d{9}$/;
			var mobilenum = obj.value;
			if(!paten.exec(mobilenum)){
				return false;
			}
		}
		return true;
	},
	
	//函数作用：检索是否有效的数字
	checkNumber:function(obj) 
	{ 
		if(typeof obj != 'object') 
			obj 		= G.GetEvent(obj);
		var strValue 	= obj.value;
		var reg 		= new RegExp("^\\d+$");
		if(reg.test(strValue) == false) { 
			return false;
		}
		return true; 
	},
	
	//函数作用：检索url地址是否有效
	checkUrl:function(obj)
	{ 
		if(typeof obj != 'object') 
			obj 		= G.GetEvent(obj);
		var strValue 	= obj.value;
		if(window.navigator.userAgent.indexOf("MSIE")>=1)
			var reg 		= /^\s*(\w{3,6}:\/\/)?([\w-]+(\.[\w-]+)+(\/[\w-.\/\?%&=\u4e00-\u9fa5]*)?)?\s*$/gi;
		else
			var reg 		= /^\s*(\w{3,6}:\/\/)?([\w-]+(\.[\w-]+)+(\/[\w-.\/\?%&=\u4e00-\u9fa5]*)?)?\s*$/i;
		return reg.test(strValue);
	},
	
	//函数作用: 				计算用户输入的字符数
	computeChar:function(obj) 
	{ 
		if(typeof obj != 'object') 
			obj			= G.GetEvent(obj); 
		var strValue	= obj.value; 
		strValue		= strValue.replace(/^\s+|\s+$/gi, '');
		obj.value	= strValue;
		return obj.value.length;
	},
	radioChecked:function(obj)
	{
	    radios=document.getElementsByName(obj);
		var IsChecked =false;
		for(var i = 0;i<radios.length;i++)

		{
			if(radios[i].checked)

			{
				IsChecked=true;
				break;
			}
		}
		return IsChecked;
	}
}






G.showXY = function (obj,event,x,y){
	if(typeof obj != "object") obj = G.GetEvent(obj);
	if(this.show(obj))
	{
		x = x || 0;
		y = y || 0;
		obj.style.left=this.getXY(event).left+x+"PX";
		obj.style.top=this.getXY(event).top+y+"PX";
	}
}
function Change_Div(Div_Num){
}