﻿var Core = {
    _onloadList: new Array(),

    init: function() {
    },

    add_onload: function(func) {
        this._onloadList[this._onloadList.length] = func;
    },

    process_onload: function() {
        for (var i = 0; i < this._onloadList.length; i++) {
            this._onloadList[i]();
        }
    }
}

// Add onload handler
if (window.addEventListener) window.addEventListener("load", function() { Core.process_onload(); }, false);
else if (window.attachEvent) window.attachEvent("onload", function() { Core.process_onload(); });
else if (document.getElementById) window.onload = function() { Core.process_onload(); };

function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

function useDefault(e, defaultValue) {
    e = document.getElementById(e);
    e.defaultsValue = defaultValue;
    addEvent(e, "focus", clearDefaultValue);
    addEvent(e, "blur", updateDefaultValue);
    if (e.value == defaultValue || e.value == '') {
        e.value = e.defaultsValue;
        e.className = e.className.replace(/grayed/, '') + ' grayed';
    }
}

function clearDefaultValue(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;

    if (target.value == target.defaultsValue) {
        target.value = '';
        target.className = target.className.replace(/grayed/, '');
    }
}

function updateDefaultValue(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    if (target.value == '' || target.value == target.defaultsValue) {
        target.value = target.defaultsValue;
        target.className = target.className.replace(/grayed/, '') + ' grayed';
    }
}


function collapse(index) {
    var id = 'category-list-';
    var tr = new Array();
    var hiddenCnt = 0;
    var tr = new Array();
    var div = new Array();
    var img = new Array();
    var show = false;
    // hide all divs
    for (var i = 1; i < 4; i++) {
        tr[i] = document.getElementById('category-list-' + i);
        div[i] = tr[i].getElementsByTagName('div')[0];
        img[i] = document.getElementById('category-list-' + i + '-btn').getElementsByTagName('img')[0];
        div[i].style.display = 'none';
    }

    // hide / show selected row
    if (0 != index) {
        show = 'none' == tr[index].style.display;
        tr[index].style.display = show ? '' : 'none';
    }
    
    // get hiddenCnt
    for (var i = 1; i < 4; i++) {
        if ('none' == tr[i].style.display) hiddenCnt++;
    }

    // set div heights
    for (var i = 1; i < 4; i++) {
        if ((0 != index) && ('none' == tr[i].style.display)) {
            img[i].src = '/images/button/arrow-dn.png';
            img[i].style.display = '';
            continue;
        }

        img[i].src = '/images/button/arrow-up.png';
        // var h = div[i].parentNode.offsetHeight - 4;
		var hc = [188, 282, 564];
		var h = hc[hiddenCnt];
        if (h < 0) h = 1;
        div[i].style.height = h + 'px';
        img[i].style.display = (2 == hiddenCnt) ? 'none' : '';
    }

    // display divs
    for (var i = 1; i < 4; i++) {
        if ((0 != index) && ('none' == tr[i].style.display)) continue;
        div[i].style.display = '';
    }
    
    return false;
}
