//////////////////////////////////////core API object/////////////////////////////////////
var Dom = {
	//internet explorer detection (true|false)
	ie: function(){
		if(document.all)return 1
		return 0
	},
	
	//scanned html elements array
	tags: ['div','img','span','ul'],
	
	//custom html attribute name for assigned motion behavior
	action: 'hotness',
	
	//include needed JavaScript Files
	getJS: function(){
		var head = document.getElementsByTagName('head')[0]
		for(var i = 0; i < arguments.length; i++) {
			var include = document.createElement('script')
			include.src = arguments[i]
			include.type = "text/javascript"
			head.appendChild(include);
		}
	},
	
	//initiate the api
	father: function(opt){
		if(!opt)var opt = Dom.tags
		for(i=0; i<opt.length; i++){
			var obj = document.getElementsByTagName(opt[i])
			for(j=0; j<obj.length; j++){
				var elm = obj[j]
				if(elm.getAttribute(Dom.action)){
					Dom.json(elm,elm.getAttribute(Dom.action).exe())
				}	
			}	 
		}
	},
	
	//parse the JSON Object
	json: function(elm,obj){
		if(obj.ref){
		}
		if(obj.actions){
			for(var i=0; i<obj.actions.length; i++){
				for(property in obj.actions[i]){
					if(property == "para"){
						var thePara = obj.actions[i][property]
					}else{
						var theCall = obj.actions[i][property]
						var theCat = property
					}
				}
			window[theCat][theCall](elm,thePara)
			}
		}
		if(obj.end){
		}
	}
}

var ie = Dom.ie()

var Feature = {}


//////////////////////////////////////////////////////////////////////
Object.extend = function(destination, source) {
  for (property in source) {
    destination[property] = source[property];
  }
  return destination;
}

///////////////////////////////find elements by ID/////////////////////////////
$ = function(){
 	var elements = [];
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')element = document.getElementById(element);
		if (arguments.length == 1)return element;
		elements.push(element);
  	}
	return elements;
}

///////////////////////////////find elements by tag name////////////////
//ele = tag array
//obj = parent element
$T = function(ele,obj){
	var elements = [];
	for (var i = 0; i < ele.length; i++) {
		if(obj){
			var temp = $(obj).getElementsByTagName(ele[i])
		}else{
			var temp = document.getElementsByTagName(ele[i])
		}
		for(var j=0; j<temp.length; j++){
			elements.push(temp[j])
		}
	}
	return elements;
}

///////////////////////////////find elements by class name////////////////
$C = document.getElementsByClassName = function(className, parentElement) {
  var children = ($(parentElement) || document.body).getElementsByTagName('*');
  return $A(children).inject([], function(elements, child) {
    if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
      elements.push(child);
    return elements;
  });
}
///////////////////////////////include js files //////////////////////
/*
Dom.getJS(
		 '../js/lib/prototype/prototype.js',
		 '../js/lib/domFather/core.js',
		 '../js/lib/domFather/common.js',
		 '../js/lib/domFather/ajax.js',
		 '../js/lightBox/functions.js',
		 '../js/BoxFade/functions.js',
		 '../js/cal/functions.js'
		 );
*/
document.write('<script type="text/javascript" src="../js/lib/prototype/prototype.js"></script>');
document.write('<script type="text/javascript" src="../js/lib/domFather/core.js"></script>');
document.write('<script type="text/javascript" src="../js/lib/domFather/common.js"></script>');
document.write('<script type="text/javascript" src="../js/lib/domFather/ajax.js"></script>');
document.write('<script type="text/javascript" src="../js/lightBox/functions.js"></script>');
document.write('<script type="text/javascript" src="../js/BoxFade/functions.js"></script>');
document.write('<script type="text/javascript" src="../js/cal/functions.js"></script>');



