﻿function createEl(tagName, options) {
	var el = document.createElement(tagName);
	if (options.id) el.id = options.id;
	for (var k in options.attributes) {
		el.setAttribute(k, options.attributes[k]);
	}
	for (var k in options.styles) {
		var styleName = k; //還沒處理dash sign
		el.style[styleName] = options.styles[k];
	}
	return el;
}

function $(elId) {
	return typeof elId == 'string' ? document.getElementById(elId) : elId; 
}
function addEvent(obj, evtName, fn){
	if (evtName.substr(0,2).toLowerCase()=='on') evtName = evtName.substr(2);
	if (window.addEventListener){
		obj.addEventListener(evtName,fn,false);
	}else{
		obj.attachEvent('on'+evtName,fn);
	}
}
//domReady(function(){...});
function domReady(f) {
    if (domReady.done)    // 如果dom loaded立刻執行f 
        return f();

    if (domReady.timer) {  // 如果已經增加functions，把f放入清單中等候執行
        domReady.ready.push(f);
    } else {
        addEvent( window, 'load', isDomReady);
    }   

    domReady.ready = [f]; // 初始function array去分批執行

    domReady.timer = setInterval(isDomReady, 13); // 每隔一短時間，一直去check dom ready
}

function isDomReady() {
    if (domReady.done)
        return false;

    if (document && document.getElementsByTagName && document.getElementById && document.body) {
        clearInterval(domReady.timer);
        domReady.timer = null;

        for(var i = 0; i < domReady.length; i++) { // 分批執行放進array中的function
            domReady.ready[i]();
        }   
        domReady.ready = null;
        domReady.done = true;
    }   
}
