
function _playerAdd(anchor) {
    var url = anchor.href;
    var code = '<object type="application/x-shockwave-flash" data="http://www.shopping-one.de/includes/player/musicplayer_f6.swf?song_url=' + url +'&amp;b_bgcolor=ffffff&amp;b_fgcolor=000000&amp;b_colors=0000ff,0000ff,ff0000,ff0000&buttons=http://www.shopping-one.de/includes/player/load.swf,http://www.shopping-one.de/includes/player/play.swf,http://www.shopping-one.de/includes/player/stop.swf,http://www.shopping-one.de/includes/player/error.swf" width="14" height="14">';
    var code = code + '<param name="movie" value="http://www.shopping-one.de/includes/player/musicplayer.swf?song_url=' + url +'&amp;b_bgcolor=ffffff&amp;b_fgcolor=000000&amp;b_colors=0000ff,0000ff,ff0000,ff0000&amp;buttons=http://www.shopping-one.de/includes/player/load.swf,http://www.shopping-one.de/includes/player/play.swf,http://www.shopping-one.de/includes/player/stop.swf,http://www.shopping-one.de/includes/player/error.swf" />';
    var code = code + '</object>';
    anchor.parentNode.innerHTML = code +' '+ anchor.parentNode.innerHTML;
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
};

var deleted = false;
function deleteBookmark(ele, input){
    var confirmDelete = "<span>Are you sure? <a href=\"#\" onclick=\"deleteConfirmed(this, " + input + ", \'\'); return false;\">Yes</a> - <a href=\"#\" onclick=\"deleteCancelled(this); return false;\">No</a></span>";
    ele.style.display = 'none';
    ele.parentNode.innerHTML = ele.parentNode.innerHTML + confirmDelete;
}

function deleteCancelled(ele) {
    var del = previousElement(ele.parentNode);
    del.style.display = 'inline';
    ele.parentNode.parentNode.removeChild(ele.parentNode);
    return false;
}

function deleteConfirmed(ele, input, response) {
    if (deleted == false) {
        deleted = ele.parentNode.parentNode.parentNode;
    }
    var post = deleted;
    post.className = 'xfolkentry deleted';
    if (response != '') {
        post.style.display = 'none';
        deleted = false;
    } else {
        loadXMLDoc('http://www.shopping-one.de/ajaxDelete.php?id=' + input);
    }
}

function previousElement(ele) {
    ele = ele.previousSibling;
    while (ele.nodeType != 1) {
        ele = ele.previousSibling;
    }
    return ele;
}

function isAvailable(input, response){
    var usernameField = document.getElementById("username");
    var username = usernameField.value;
    username = username.toLowerCase();
    username = username.trim();
    var availability = document.getElementById("availability");
    if (username != '') {
        usernameField.style.backgroundImage = 'url(http://www.shopping-one.de/loading.gif)';
        if (response != '') {
            usernameField.style.backgroundImage = 'none';
            if (response == 'true') {
                availability.className = 'available';
                availability.innerHTML = 'Available';
            } else {
                availability.className = 'not-available';
                availability.innerHTML = 'Not Available';
            }
        } else {
            loadXMLDoc('http://www.shopping-one.de/ajaxIsAvailable.php?username=' + username);
        }
    }
}

function useAddress(ele) {
    var address = ele.value;
    if (address != '') {
        if (address.indexOf(':') < 0) {
            address = 'http:\/\/' + address;
        }
        getTitle(address, null);
        ele.value = address;
    }
}

function getTitle(input, response){
    var title = document.getElementById('titleField');
    if (title.value == '') {
        title.style.backgroundImage = 'url(http://www.shopping-one.de/loading.gif)';
        if (response != null) {
            title.style.backgroundImage = 'none';
            title.value = response;
        } else if (input.indexOf('http') > -1) {
            loadXMLDoc('http://www.shopping-one.de/ajaxGetTitle.php?url=' + input);
        } else {
            return false;
        }
    }
}


var xmlhttp;
function loadXMLDoc(url) {
    // Native
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = processStateChange;
        xmlhttp.open("GET", url, true);
        xmlhttp.send(null);
    // ActiveX
    } else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        if (xmlhttp) {
            xmlhttp.onreadystatechange = processStateChange;
            xmlhttp.open("GET", url, true);
            xmlhttp.send();
        }
    }
}

function processStateChange() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        response = xmlhttp.responseXML.documentElement;
        method = response.getElementsByTagName('method')[0].firstChild.data;
        result = response.getElementsByTagName('result')[0].firstChild.data;
        eval(method + '(\'\', result)');
    }
}

function playerLoad() {
    var anchors = document.getElementsByTagName('a');
    var anchors_length = anchors.length;
    for (var i = 0; i < anchors_length; i++) {
        if (anchors[i].className == 'taggedlink' && anchors[i].href.match(/\.mp3$/i)) {
           _playerAdd(anchors[i]);
        }
    }
}

var synced = false;
function syncBookmark(ele, input){
    var urlform = "<form id=\"sync\" name=\"sync\">Bookmark in ein anderes Scuttle exportieren:<table><tr><th>URL</th><td><input type=\"text\" id=\"address\" name=\"address\" onblur=\"useAPI(this)\" onkeypress=\"clearNext(this)\" /></td><td></td></tr><tr><th>Username</th><td><input type=\"text\" id=\"user\" name=\"user\" onkeypress=\"clearNext(this)\" /></td><td></td></tr><tr><th>Password</th><td><input type=\"password\" id=\"pass\" name=\"pass\" onkeypress=\"clearNext(this)\" /></td><td></td></tr><tr><td></td><td><input type=\"button\" value=\"Sync\" onclick=\"syncConfirmed(this, " + input + ", \'\'); return false;\"/> <input type=\"button\" value=\"Cancel\" onclick=\"syncCancelled(this); return false;\" /></td><td></td></tr></table><input type=\"hidden\" name=\"id\" value=\"" + input + "\" /></form>";
    ele.style.display = 'none';
    ele.parentNode.innerHTML = ele.parentNode.innerHTML + urlform;
}

function syncCancelled(ele) {
    var del = previousElement(ele.parentNode.parentNode.parentNode.parentNode.parentNode);
    del.style.display = 'inline';
    ele.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.removeChild(ele.parentNode.parentNode.parentNode.parentNode.parentNode);
    return false;
}

function syncConfirmed(ele, input, response){
    if( synced == false) {
        synced = ele.parentNode.parentNode.parentNode.parentNode.parentNode;
        var sync = ele.parentNode.parentNode.parentNode.childNodes[0].childNodes[1].firstChild.value;
        var user = ele.parentNode.parentNode.parentNode.childNodes[1].childNodes[1].firstChild.value;
        var pass = ele.parentNode.parentNode.parentNode.childNodes[2].childNodes[1].firstChild.value;
        if(sync == '') {
            ele.parentNode.parentNode.parentNode.childNodes[0].childNodes[2].innerHTML = '&larr; Required';
            synced = false;
            return false;
        }
        if(user == '') {
            ele.parentNode.parentNode.parentNode.childNodes[1].childNodes[2].innerHTML = '&larr; Required';
            synced = false;
            return false;
        }
        if(pass == '') {
            ele.parentNode.parentNode.parentNode.childNodes[2].childNodes[2].innerHTML = '&larr; Required';
            synced = false;
            return false;
        }
    }
    if (response != '') {
        if (input  == true) {
            synced.parentNode.innerHTML = 'Bookmark synced';
            //syncCancelled(synced.firstChild.firstChild.childNodes[3].childNodes[1].firstChild);
        } else if (input == 401) {
            synced.firstChild.firstChild.childNodes[1].childNodes[2].innerHTML = '&larr; Maybe you misstyped the username';
            synced.firstChild.firstChild.childNodes[2].childNodes[2].innerHTML = '&larr; Maybe you misstyped the password';
        } else if (input == 6) {
            synced.firstChild.firstChild.childNodes[0].childNodes[2].innerHTML = '&larr; Could not connect to remote host';
        } else if (input == 0) {
           synced.firstChild.firstChild.childNodes[3].childNodes[2].innerHTML = '&larr; Bookmark already exists';
      }
       synced = false;
    } else {
        loadXMLDoc('http://www.shopping-one.de/ajaxBookmarkSync.php?id=' + input + '&sync=' + sync + '&user=' + user + '&pass=' + pass);
    }
}

function clearNext(ele) {
    ele.parentNode.nextSibling.innerHTML = '';
}

function useAPI(ele) {
    var address = ele.value;
   if (address != '') {
       if (address.indexOf(':') < 0) {
            address = 'http:\/\/' + address;
       }
       ele.value = address;
   }
}
