
function _playerAdd(anchor) {
    var url = anchor.href;
    var code = '<object type="application/x-shockwave-flash" data="http://www.cylex-review.com/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.cylex-review.com/includes/player/load.swf,http://www.cylex-review.com/includes/player/play.swf,http://www.cylex-review.com/includes/player/stop.swf,http://www.cylex-review.com/includes/player/error.swf" width="14" height="14">';
    var code = code + '<param name="movie" value="http://www.cylex-review.com/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.cylex-review.com/includes/player/load.swf,http://www.cylex-review.com/includes/player/play.swf,http://www.cylex-review.com/includes/player/stop.swf,http://www.cylex-review.com/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 deleteImage(ele, input){
    var confirmImageDelete = "<span>Bist Du sicher? <a href=\"#\" onclick=\"deleteImageConfirmed(this, " + input + ", \'\'); return false;\">Ja</a> - <a href=\"#\" onclick=\"deleteImageCancelled(this); return false;\">Nein</a> &nbsp;</span>";
    ele.style.display = 'none';
    ele.parentNode.innerHTML = ele.parentNode.innerHTML + confirmImageDelete;
}

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

function deleteImageConfirmed(ele, input, response) {
    if (deleted == false) {
        deleted = ele.parentNode.parentNode;
		tmpele = ele;
    }
    var post = deleted;
    post.className += ' deleted';
    if (response != '') {
            if (response['deleteImageConfirmed'] == 'true') {
				post.style.display = 'none';
			}
			else {
			//.parentNode.innerHTML
				//tmpele.parentNode.parentNode.removeChild(ele.parentNode);
				tmpele.parentNode.innerHTML = response['deleteImageConfirmed'];
			}
        deleted = false;
    } else {
        loadXMLDoc('http://www.cylex-review.com/ajaxDelete.php?iId=' + input);
    }
}

function deleteBookmark(ele, input){
    var confirmDelete = "<span>Bist Du sicher? <a href=\"#\" onclick=\"deleteConfirmed(this, " + input + ", \'\'); return false;\">Ja</a> - <a href=\"#\" onclick=\"deleteCancelled(this); return false;\">Nein</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.cylex-review.com/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.cylex-review.com/images/loading.gif)';
        if (response != '') {
            usernameField.style.backgroundImage = 'none';
            if (response['isAvailable'] == 'true') {
                availability.className = 'available';
                availability.innerHTML = 'Frei';
            } else if (response['isAvailable'] == 'false') {
                availability.className = 'not-available';
                availability.innerHTML = 'Vergeben';
            }
        } else {
            loadXMLDoc('http://www.cylex-review.com/ajaxIsAvailable.php?username=' + username);
        }
    }
}

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

function getTitle(input, response){
    var title = document.getElementById('titleField');
	var desc = document.getElementById('descriptionField');
	var tags = document.getElementById('tags');
	if (title.value == '' || desc.value == '' || tags.value == '') {
	//if (title.value == '') {
        title.style.backgroundImage = 'url(http://www.cylex-review.com/images/loading.gif)';
        if (response != null) {
            title.style.backgroundImage = 'none';
			if(title.value != "")
				title.value += " " + response['getTitle'];
			else
				title.value = response['getTitle'];
        } else if (input.indexOf('http') > -1) {
            loadXMLDoc('http://www.cylex-review.com/ajaxGetTitle.php?url=' + input,'getTitle');
        } else {
            return false;
        }
    }
}

function getDescription(input, response) {
	var description = document.getElementById('descriptionField');
    if (description.value == '') {
        description.style.backgroundImage = 'url(http://www.cylex-review.com/images/loading.gif)';
        if (response != null) {
            description.style.backgroundImage = 'none';
            description.value = response['getDescription'];
        } else if (input.indexOf('http') > -1) {
            loadXMLDoc('http://www.cylex-review.com/ajaxGetTitle.php?url=' + input,'getDescription');
        } else {
            return false;
        }
    }
}

function getKeywords(input, response) {
	var keywords = document.getElementById('tags');
    if (keywords.value == '') {
        keywords.style.backgroundImage = 'url(http://www.cylex-review.com/images/loading.gif)';
        if (response != null) {
            keywords.style.backgroundImage = 'none';
            keywords.value = response['getKeywords'];
        } else if (input.indexOf('http') > -1) {
            loadXMLDoc('http://www.cylex-review.com/ajaxGetTitle.php?url=' + input,'getKeywords');
        } else {
            return false;
        }
    }
}

function useZip(ele) {
    var zip = ele.value;
    if (zip != '') {
        getZIP(zip, null);
		ele.value = zip;
    }
}

function useAreaCode(ele) {
    var areaCode = ele.value;
    if (areaCode != '') {
        getAreaCode(areaCode, null);
		ele.value = areaCode;
    }
}

function useCity(ele) {
    var city = ele.value;
    if (city != '') {
        getCity(city, null);
		ele.value = city;
    }
}

function getZIP(input, response) {
	var zip = document.getElementById('zipField');
	
  if (document.getElementById('areaCodeField').value == '' || document.getElementById('cityField').value =='' || response != null) {
        zip.style.backgroundImage = 'url(http://www.cylex-review.com/images/loading.gif)';
		
		if (response != null) { 
			if (response['getZIP'].indexOf(';') == -1) {
	            zip.style.backgroundImage = 'none';
	            zip.value = response['getZIP'];
			}
			else {
				zip.style.backgroundImage = 'none';
				zips = response['getZIP'].split(";");
				zipList = '<h3>Postleitzahlen<\/h3>' +
				'<p id="popularTags" class="tags">';
				for(i=0;i<zips.length;i++)
				{
					zipList+="<span onclick=\"addValue(this,'zipField')\">" + zips[i] + "</span> ";
				}
				zipList+='<\/p>';
				document.getElementById('ajaxForm').innerHTML += zipList;
			}
        } else {
           loadXMLDoc('http://www.cylex-review.com/ajaxGetAddress.php?zip=' + input,'getZIP');
        }
    }
}

function getAreaCode(input, response) {
	var areaCode = document.getElementById('areaCodeField');
	if (document.getElementById('zipField').value == '' || document.getElementById('cityField').value == ''  || response != null) {
		areaCode.style.backgroundImage = 'url(http://www.cylex-review.com/images/loading.gif)';
		
        if (response != null) {
            if (response['getAreaCode'].indexOf(';') == -1) {
				areaCode.style.backgroundImage = 'none';
	            areaCode.value = response['getAreaCode'];
			}
			else {
				areaCode.style.backgroundImage = 'none';
				areaCodes = response['getAreaCode'].split(";");
				areaCodeList = '<h3>Vorwahlen<\/h3>' +
				'<p id="areaCodes" class="tags">';
				for(i=0;i<areaCodes.length;i++)
				{
					areaCodeList+="<span onclick=\"addValue(this,'areaCodeField')\">" + areaCodes[i] + "</span> ";
				}
				
				areaCodeList+='<\/p>';
				document.getElementById('ajaxForm').innerHTML += areaCodeList;
			}
        } else {
           loadXMLDoc('http://www.cylex-review.com/ajaxGetAddress.php?areaCode=' + input,'getAreaCode');
        }
   }
}

function getCity(input, response) {
	var city = document.getElementById('cityField');
	
	
    if (document.getElementById('zipField').value == '' || document.getElementById('areaCodeField').value == ''  || response != null) {
	    city.style.backgroundImage = 'url(http://www.cylex-review.com/images/loading.gif)';
        if (response != null) {
            if (response['getCity'].indexOf(';') == -1) {
				city.style.backgroundImage = 'none';
	            city.value = response['getCity'];
			}
			else {
				city.style.backgroundImage = 'none';
				cities = response['getCity'].split(";");
				cityList = '<h3>Städte<\/h3>' +
				'<p id="cityList" class="tags">';
				for(i=0;i<cities.length;i++)
				{
					cityList+="<span onclick=\"addValue(this,'cityField')\">" + cities[i] + "</span> ";
				}
				
				cityList+='<\/p>';
				document.getElementById('ajaxForm').innerHTML += cityList;
			}
        } else {
           loadXMLDoc('http://www.cylex-review.com/ajaxGetAddress.php?city=' + input,'getCity');
        }
   }
}

var xmlhttp;
function loadXMLDoc(url,method) {
    // 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;
		var result = new Object();
		//alert(response.getElementsByTagName('method').length);
		for (var i = 0; i < response.getElementsByTagName('method').length; i++)
		{
	        
			method = response.getElementsByTagName('method')[i].firstChild.data;
	        result[method] = response.getElementsByTagName('result')[i].firstChild.data;
			//eval(method + "(\'\', result[method])");
			//alert(result[method]);
			if(method == 'deleteImageConfirmed')
				eval(method + '(\'\', \'\', result)');
			else
				eval(method + '(\'\', result)');
		}
		//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]);
        }
    }
}
function fokus(ele) {
    document.getElementById(ele).focus();
}