/** Tiehui.Lu (Danny.Lu) dannyteihui@hotmail.com version:1.0 utf-8 Thu Jun 05 10:10:05 CST 2008 */

/**
 *	NAME	:	j.tool.js
 *	VERSION	:	0.1(j.tool.js)
 *	UPDATE	:	2008.07.17 17:58;
 */

(function($){

	$.fn.debug = function() {		
		return this.each(function(){
			$.log(this);
		});
	};
	
	$.log = function(msg) {		
		if(chackParam(msg) == "Array") msg = echo(msg);
		var debug = typeof(arguments[1]) == "undefined"?true : false;			
		if(window.console && debug) {
			console.debug(msg);
		} else {
			var msg = "<div id=log style='border:#FF0000 solid 1px;'>"+msg+"</div>";
			$(msg).appendTo(document.body);
		}
	};
	
	$.mouseXY=function(ev){
		var coor={x:0,y:0};
		ev = ev || window.event;
		if(ev.pageX || ev.pageY){
			coor.x=ev.pageX;
			coor.y=ev.pageY;
		}else{
			coor.x=ev.clientX + document.body.scrollLeft - document.body.clientLeft,
			coor.y=ev.clientY + document.body.scrollTop - document.body.clientTop
		};
		coor.x=!isNaN(coor.x)?coor.x:0;
		coor.y=!isNaN(coor.y)?coor.y:0;
		return coor;
	};
	
	$.microtime = function(){
		var d = new Date();
		return d.getTime()/1000;
	};

})(jQuery);


// No jQuery
function chackParam(param){
	if(param == null) return "null";	
	var reVal='';
	switch(typeof param){
		case 'string':
			reVal='string';break;
		case 'number':
			reVal='number';break;
		case 'boolean':
			reVal='boolean';break;
		case 'undefined':
			reVal='undefined';break;
		case 'function':
			reVal='function';break;
		case 'object':
			switch(param.constructor){
				case Date:
					reVal='Date';break;
				case Array:
					reVal='Array';break;
				case Object:
					reVal='Object';break;
				default:
					reVal='object-UnKnow';
			}
			break
		default:
			reVal='typeof-UnKnow';
	}
	return reVal;
}

function subEcho(arr,html){
	html += "<ul>";
	for(key in arr){
		if(chackParam(arr[key]) == "Array"){
			html += "<li>["+key+"] => Array(";
			html = subEcho(arr[key],html);
			html += ")</li>";			
		}else{
			html += "<li>["+key+"] => " + arr[key] + "</li>";
		}
	}	
	html += "</ul>";
	return html;
}

function echo(arr){
	var html = "Array(";
	return subEcho(arr,html) + ")";			  
}


function showInfo(id,time,message){
	document.getElementById(id).innerHTML = message;
	document.getElementById(id).style.display = "block";
	setTimeout("hiddenInfo('"+id+"')",time);	
}

function hiddenInfo(id){
	document.getElementById(id).style.display = "none";
	clearTimeout();
}

function groupShow(arr,id){
	for(var i=0;i<arr.length;i++){
		if(arr[i] != id){
			$("#"+arr[i]).hide();
		}else{
			$("#"+arr[i]).show();
		}
	}
}

function showThe(id,arr){
	for(var i=0;i<arr.length;i++){
		if(id != arr[i]){
			$("#"+arr[i]).hide();
		}else{
			$("#"+arr[i]).show();
		}
	}	
}

