function compareJson() {
    if($('jsonIsland')) {
        var content = $('jsonIsland').innerHTML;
        var obj = eval( "(" + content + ")" );    
    }
    var oJson = jsonGetInstance(obj);
}
function changeList(id, listId, _link) {
    if(window.jsonLoaded) {
        var oList = listGetInstance();
        var oJson = jsonGetInstance();
        oList.setLink(_link);
        if($('phoneList_'+listId) && window.jsonLoaded) {
            $('phoneList_'+listId).innerHTML = "";  
            $('phoneList_'+listId).innerHTML = oList.makeList(oJson.getChildsById(id));
        }
    }
    return false;
} 

if(!window.json) {
    window.json = function(obj) {
        this.oJson = obj;
        this.childs = [];

        this.init = function() {
            if(typeof(this.oJson) == 'object') {
                this.parseObject();
            }
        };
        this.parseObject = function() {
            for(var i in this.oJson) {
                var _parent = this.oJson[i];
                if(!this.childs[_parent.id]) {
                    this.childs[_parent.id] = [];
                }
                for(var j=0; j<_parent.options.length; j++) {
                    var _child = _parent.options[j];
                    this.childs[_parent.id].push({"id":_child.id, "value":_child.value});
                }
            }
            window.jsonLoaded = true;
        };
        this.getChildsById = function(id) {
            if(this.childs[id]) {
                return this.childs[id];
            }
            return false;
        }
    }
}
if(!window.list) {
    window.list = function(){
        this.listHTML = '';
        this.link = '';
        
        this.init = function() {
            this.listHTML = '';
        };
        
        this.makeList = function(val) {
            var link = '';
            for(var i in val) {
                link = this.link.replace('%value%', formatParam(val[i].value));
                link = link.replace('%id%', val[i].id);
                this.listHTML += '<li><a href="'+link+'" class="compareList">'+val[i].value+'</a></li>';
            }
            return this.listHTML;
        }
        this.setLink = function(_link) {
            this.link = _link;
        }
    }
}
function listGetInstance() {
    if(!window.oList) {
        window.oList = new list();
    }
    window.oList.init();
    return window.oList;
}
function jsonGetInstance(obj) {
    if(!window.oJson) {
        window.oJson = new json(obj);
        window.oJson.init();
    }
    return window.oJson;
}
