/**
 *	weather.com.cn	common	javascript
 *
 *	version	 1.0
 *
 *	copyright	weather.com.cn
 *
/*----------------------------------------------------------------------*/



/**
 *
 * Register a Event
 *
 * @param n
 *		| stands for the Event Node
 *
 * @param e
 *		| stands for the Event Name
 *
 * @param f
 *		| stands for the Function when Event
 *
 */
var RegisterEvent=function(n,e,f,r){

	var method=true;

	if(typeof r!="undefined"){
		method=(r!=false);
	}

	if(document.addEventListener){
		// level 2 DOM prototype
		var eve=e.indexOf("on")==0?e.replace("on",""):e;

		try{
			n.addEventListener(eve,f,method);
			return true;
			
		}catch(e){
			return false;
		}

	}else if(document.attachEvent){
		// only for IE 5.0+
		var eve=e.indexOf("on")==0?e:"on"+e;

		try{
			n.attachEvent(eve,f);
			return true;

		}catch(e){
			return false;
		}

	}else{
		return false;
	}
}

/**
 *
 * Remove a Event
 *
 * @param n
 *		| stands for the Event Node
 *
 * @param e
 *		| stands for the Event Name
 *
 * @param f
 *		| stands for the Function when Event
 *
 */
var RemoveEvent=function(n,e,f,r){

	var method=true;

	if(typeof r!="undefined"){
		method=(r!=false);
	}

	if(document.addEventListener){
		// level 2 DOM prototype
		var eve=e.indexOf("on")==0?e.replace("on",""):e;

		try{
			n.removeEventListener(eve,f,method);
			return true;
			
		}catch(e){
			return false;
		}

	}else if(document.attachEvent){
		// only for IE 5.0+
		var eve=e.indexOf("on")!=0?e.replace("on",""):e;
		try{
			n.detachEvent(eve,f);
			return true;

		}catch(e){
			return false;
		}

	}else{
		return false;
	}
}

try{
	Element.prototype.registerEvent=function(e,f,r){
		RegisterEvent(this,e,f,r);
	}

	Element.prototype.removeEvent=function(e,f,r){
		RemoveEvent(this,e,f,r);
	}
}catch(e){
	//parse error
}

var EventStopProp=function(event){

	if(document.addEventListener){
		// level 2 DOM prototype

		try{
			event.stopPropagation();
			event.preventDefault();
		}catch(e){
			return false;
		}

	}else if(document.attachEvent){
		// only for IE 5.0+
		try{
			event.cancelBubble=true;
			event.returnValue=false;
		}catch(e){
			return false;
		}

	}else{
		return false;
	}
}

/**
 *
 *	Register an onload method
 *
 */

if(!window.errors){
	window.errors=new Array();
}

if(!window.LOAD){
	window.LOAD=new Array();
	var RegOnload=function(arg){
		window.LOAD.push(arg);
	}

	var _INIT_ONLOAD_EVENT_=function(){

		for(var func,i=0;i<LOAD.length;i++){
			try{
				func=LOAD[i];
				if(typeof func=="string"){
					eval(func);
				}else if(typeof func=="function"){
					func.call();
				}
			}catch(e){
				window.errors.push(e);
			}
		}

	}

	RegisterEvent(window,"load",_INIT_ONLOAD_EVENT_,true);
}

