// require library
if(window.TOOL === undefined) {
    document.writeln('<script type="text/javascript" src="/javascript/core/tool.js"></script>');
}

// link Add-Remove widget
var lnARC = function (/*String*/ele, /*String*/url, /*String*/resultField, /*Boolean*/old) {
    
    var c, a, e; // containing element (parentNode), link, event
    
    var sendRequest = function (e) {
        e = EventUtil.formatEvent(e);
        e.preventDefault();
        
        // show loading goes here
        c.innerHTML = "<img src='templates/coedsingles/images/mozilla_blu.gif' style='margin:10px;'>";
        
        var l = new Net.Loader(url, {
            onComplete : completed
        });

    };
    
    var completed = function (transport) {
        var o = eval('(' + transport.responseText + ')');
        
        if (o.redirect)
        {
            window.location = o.redirect;
            return;
        }
        
        
        // set new url
        url = o.url;
        
        // create new link
        var a = document.createElement('a');
        a.href = 'javascript:;';
        a.rel = 'nofollow';
        a.title = o.title;
        a.appendChild(document.createTextNode(o.text));
        
        // add handler to new link
        a.onclick = sendRequest;
        
        // add to the container element and stop showing loading
        c.innerHTML = '';
        c.appendChild(a);
        
        if(resultField) {
            // update result field with data
            if(!$get(resultField)) {
                throw 'Nemate vi to polje za koje ste prosledili id, braco!!!';
            }
			$get(resultField).innerHTML = o.count;
        }
        
        if(old) {
            return; // for old design we don't need to apply css styles to containing elements
        }
        
        // for new design we need to setup new class to the container
        switch(o.text.toLowerCase()) {
            case 'add to favorites' :
                c.className = 'addToFaves';
                break;
            case 'remove from favorites' :
                c.className = 'remFromFaves';
                break;
            case 'add to black book' :
                c.className = 'addToBB';
                break;
            case 'remove from black book' :
                c.className = 'remFromBB';
                break;
        }
    };
    
    a = $get(ele);
    c = a.parentNode;
    a.onclick = sendRequest;
        
    if(TOOL.Client.IE) {
        e = document.createEventObject();
        a.fireEvent('onclick');
    } else {
        e = document.createEvent('MouseEvents');
        e.initEvent('click', true, true);
        a.dispatchEvent(e);
    }
    return this;
};