var partsFunc = new Object();

partsFunc.load_parts_body_status = 'not loaded';

partsFunc.getParts = function(id, key) {
    document.open();
    document.write('<span id="' + id + '"></span>');
    document.close();
    partsFunc.loadPartsBody({
        src: 'http://www.fujitv.co.jp/seac/js/ph1_parts_body.js?_=' + +new Date,
        check: 'window.partsBodyFunc',
        loop: 300,
        success: function() {
            if (!partsBodyFunc[id]) return;
            partsBodyFunc[id](id, key);
        }
    });
}

partsFunc.loadPartsBody = function(s) {
    s.check = new Function('return !!(' + s.check + ')');
    if (!s.check()) {
        if (partsFunc.load_parts_body_status == 'not loaded') {
            var script = document.createElement('script')
            script.src = s.src;
            script.charset = 'UTF-8';
            document.getElementsByTagName("head")[0].appendChild(script); 
            partsFunc.load_parts_body_status = 'loaded';
        }
        setTimeout(function() {
            s.loop--;
            if (s.loop < 0) {
                if (s.error) s.error(); 
                return; 
            }
            if (!s.check()) setTimeout(arguments.callee, 100);
            else s.success();
        }, 100);
    }
    else s.success();
};

