String.prototype.startsWith = function(str){return (this.match("^"+str)==str)}

function GetNewAjax()
{
    var result = null;
	
	try
	{
        result = new XMLHttpRequest();
    }
    catch (e1)
	{
		try
		{
            result = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e2)
		{
            try
			{
				result = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e3)
			{
                result = null;
            }
        }  
    }
	
	return result;	
}

function ArrayIndexOf(array,search)
{
	for(var i = 0; i < array.length; i++)
	{
		if(array[i] == search)
		{
			return i;
		}
	}
}

function ContainsElementClass(ele,classname)
{
	try
	{
		for(var o = 0; o < ele.classList.length; o++)
		{
			if(ele.classList[o] == classname)
			{
				return true;
			}
		}
	}
	catch(er)
	{
	
		if(ele.className.indexOf(classname) != -1)
		{
			return true;
		}
	}
	
	return false;
}

function Show(ele)
{
	ele.style.display = "block";
}

function Hide(ele)
{
	ele.style.display = "none";
}

function GetNextElementByClass(container,index,classname)
{
	var founded = false;
	var loop = true;
	var i = 0;
	var ele;
	var foundedElements = 0;
	
	while(loop)
	{		
		var cele = container.children[i];

		if(ContainsElementClass(cele,classname))
		{
			foundedElements++;
			
			if(foundedElements > index)
			{
				ele = cele;
				founded = true;
				loop = false;
			}
		}
	
		if(i >= container.children.length)
		{
			loop = false;
		}
			
		i++;
	}
	
	if(founded)
	{		
		return ele;
	}
	else
	{
		return false;
	}
}

function GetFirstElementByClass(container,classname)
{
	return GetNextElementByClass(container,0,classname);
}

function checkButtonForm(buttonname,size)
{
	var button = document.getElementById(buttonname);
	var form = button.parentNode;
	
	button.onclick = function(){checkForm(form, size, true);};
	
	if(size == "big")
	{
		for(var i = 0; i < form.children.length; i++)
		{
			var element = form.children[i];
			
			if(element.nodeName == "INPUT" || (element.nodeName == "TEXTAREA" && element.name != "mcecontent"))
			{
				if(element.type == "text" || element.type == "password" || (element.nodeName == "TEXTAREA" && element.name != "mcecontent"))
				{
					var position = getPosition(element);
					
					
					var errorContainer = document.createElement("div");
					var errorImage = document.createElement("div");
					var errorMessage = document.createElement("span");

					errorContainer.style.position = "absolute";
					errorContainer.style.left = (position.x + 350) + "px";
					errorContainer.style.top = position.y + "px";
					errorContainer.style.width = "300px";
					errorContainer.style.height = "18px";
					errorContainer.id = form.id + element.name + "errorContainer";
					
					errorImage.style.cssFloat = "left";
					errorImage.style.width = "16px";
					errorImage.style.height = "16px";
					
					errorMessage.style.cssFloat = "left";
					errorMessage.style.marginLeft = "15px";
						
					var error = false;
					var errorText = "Eingabe wird ben&ouml;tigt";
						
					if(element.name == "email1")
					{
						if(document.getElementsByName("email2")[0].value != element.value)
						{
							error = true;
							errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
						}
					}
						
					if(element.name == "email2")
					{
						if(document.getElementsByName("email1")[0].value != element.value)
						{
							error = true;
							errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
						}
					}
						
					if(element.name == "password1")
					{
						if(document.getElementsByName("password2")[0].value != element.value)
						{
							error = true;
							errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
						}
					}				
					
					if(element.name == "password2")
					{
						if(document.getElementsByName("password1")[0].value != element.value)
						{
							error = true;
							errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
						}
					}
					
					if(element.value == "" || element.value == null)
						error = true;
					
					if(error)
					{
						errorContainer.className = "exclamation";
					
						errorImage.style.backgroundImage = "url('/img/exclamation.png')";
						
						errorMessage.innerHTML  = errorText;
						errorMessage.style.color = "red";
					}
					else
					{
						errorContainer.className = "accept";	
						
						errorImage.style.backgroundImage = "url('/img/accept.png')";
						
						errorMessage.innerHTML  = "Eingabe best&auml;tigt";
						errorMessage.style.color = "green";
					}
					
					element.onchange = function() { checkForm(form, size, false); };
					
					errorContainer.appendChild(errorImage);
					errorContainer.appendChild(errorMessage);
					
					document.body.appendChild(errorContainer);
				}
			}
			
			if(element.nodeName == "SELECT" && element.name == "parentid")
			{
				var options = element.children;
				var value = element.value;
				
				var error = false;
				
				element.onchange = function() { checkForm(form, size, false); };
					
				for(var u = 0; u < options.length; u++)
				{
					var option = options[u];
				
					if(value == option.value)
					{
						if(ContainsElementClass(option, "not"))
						{
							error = true;
						}
					}
				}
				
				var position = getPosition(element);
				
				var errorContainer = document.createElement("div");
				var errorImage = document.createElement("div");
				var errorMessage = document.createElement("span");

				errorContainer.style.position = "absolute";
				errorContainer.style.left = (position.x + 350) + "px";
				errorContainer.style.top = (position.y + 30) + "px";
				errorContainer.style.width = "300px";
				errorContainer.style.height = "18px";
				errorContainer.id = form.id + element.name + "errorContainer";
						
				errorImage.style.cssFloat = "left";
				errorImage.style.width = "16px";
				errorImage.style.height = "16px";
						
				errorMessage.style.cssFloat = "left";
				errorMessage.style.marginLeft = "15px";
					
				if(error)
				{
					errorContainer.className = "exclamation";
				
					errorImage.style.backgroundImage = "url('/img/exclamation.png')";
						
					errorMessage.innerHTML  = "Korrekte Eingabe wird ben&ouml;tigt";
					errorMessage.style.color = "red";
				}
				else
				{
					errorContainer.className = "accept";	
						
					errorImage.style.backgroundImage = "url('/img/accept.png')";
						
					errorMessage.innerHTML  = "Eingabe best&auml;tigt";
					errorMessage.style.color = "green";
				}
					
				errorContainer.appendChild(errorImage);
				errorContainer.appendChild(errorMessage);
					
				document.body.appendChild(errorContainer);
			}
		}
	}
}

function checkForm(form,size,submit)
{
	var allowSubmit = true;
	
	for(var i = 0; i < form.children.length; i++)
	{
		var element = form.children[i];
		
		if(element.nodeName == "INPUT" || (element.nodeName == "TEXTAREA" && element.name != "mcecontent"))
		{
			if(element.type == "text" || element.type == "password" || (element.nodeName == "TEXTAREA" && element.name != "mcecontent"))
			{
				var error = false;
				var errorText = "Eingabe wird ben&ouml;tigt";
					
				if(element.name == "email1")
				{
					if(document.getElementsByName("email2")[0].value != element.value)
					{
						error = true;
						errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
					}
				}
					
				if(element.name == "email2")
				{
					if(document.getElementsByName("email1")[0].value != element.value)
					{
						error = true;
						errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
					}
				}
					
				if(element.name == "password1")
				{
					if(document.getElementsByName("password2")[0].value != element.value)
					{
						error = true;
						errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
					}
				}				
				
				if(element.name == "password2")
				{
					if(document.getElementsByName("password1")[0].value != element.value)
					{
						error = true;
						errorText = "Eingaben m&uuml;ssen &uuml;bereinstimmen";
					}
				}
					
				if(element.value == "" || element.value == null)
					error = true;
			
				if(error)
				{
					if(size == "small")
					{
						element.style.borderColor = "red";
						element.style.borderWidth = "1px";
						element.style.borderStyle = "solid";
					}
					else
					{
						var errorContainer = document.getElementById(form.id + element.name + "errorContainer");
						
						if(errorContainer.className != "exclamation")
						{
							while (errorContainer.hasChildNodes()) 
							{
								errorContainer.removeChild(errorContainer.lastChild);
							}
						
							var errorImage = document.createElement("div");
							errorImage.style.cssFloat = "left";
							errorImage.style.width = "16px";
							errorImage.style.height = "16px";
							errorImage.style.backgroundImage = "url('/img/exclamation.png')";
							
							var errorMessage = document.createElement("span");
							errorMessage.innerHTML  = "Korrekte Eingabe wird ben&ouml;tigt";
							errorMessage.style.cssFloat = "left";
							errorMessage.style.marginLeft = "15px";
							errorMessage.style.color = "red";
									
							errorContainer.appendChild(errorImage);
							errorContainer.appendChild(errorMessage);
							errorContainer.className = "exclamation";
						}
					}
					
					allowSubmit = false;
				}
				else
				{
					if(size == "small")
					{
						element.style.borderColor = "gray";
						element.style.borderWidth = "1px";
						element.style.borderStyle = "solid";
					}					
					else
					{
						var errorContainer = document.getElementById(form.id + element.name + "errorContainer");
						
						if(errorContainer.className != "accept")
						{
							while (errorContainer.hasChildNodes()) 
							{
								errorContainer.removeChild(errorContainer.lastChild);
							}
						
							var acceptImage = document.createElement("div");
							acceptImage.style.cssFloat = "left";
							acceptImage.style.width = "16px";
							acceptImage.style.height = "16px";
							acceptImage.style.backgroundImage = "url('/img/accept.png')";
							
							var acceptMessage = document.createElement("span");
							acceptMessage.innerHTML  = "Eingabe best&auml;tigt";
							acceptMessage.style.cssFloat = "left";
							acceptMessage.style.marginLeft = "15px";
							acceptMessage.style.color = "green";
									
							errorContainer.appendChild(acceptImage);
							errorContainer.appendChild(acceptMessage);
							errorContainer.className = "accept";
						}
					}
				}
			}
		}
		
		if(element.nodeName == "SELECT" && element.name == "parentid")
		{
			var options = element.children;
			var value = element.value;
			var error = false;
			
			for(var u = 0; u < options.length; u++)
			{
				var option = options[u];
				
				if(value == option.value)
				{
					if(ContainsElementClass(option, "not"))
					{
						error = true;
						allowSubmit = false;
					}
				}
			}
			
			if(error)
			{
				if(size == "small")
				{
					element.style.borderColor = "red";
					element.style.borderWidth = "1px";
					element.style.borderStyle = "solid";
				}
				else
				{
					var errorContainer = document.getElementById(form.id + element.name + "errorContainer");
						
					if(errorContainer.className != "exclamation")
					{
						while (errorContainer.hasChildNodes()) 
						{
							errorContainer.removeChild(errorContainer.lastChild);
						}
							
						var errorImage = document.createElement("div");
						errorImage.style.cssFloat = "left";
						errorImage.style.width = "16px";
						errorImage.style.height = "16px";
						errorImage.style.backgroundImage = "url('/img/exclamation.png')";
								
						var errorMessage = document.createElement("span");
						errorMessage.innerHTML  = errorText;
						errorMessage.style.cssFloat = "left";
						errorMessage.style.marginLeft = "15px";
						errorMessage.style.color = "red";
										
						errorContainer.appendChild(errorImage);
						errorContainer.appendChild(errorMessage);
						errorContainer.className = "exclamation";
					}
				}	
			}
			else
			{
				if(size == "small")
				{
					element.style.borderColor = "gray";
					element.style.borderWidth = "1px";
					element.style.borderStyle = "solid";
				}					
				else
				{
					var errorContainer = document.getElementById(form.id + element.name + "errorContainer");
						
					if(errorContainer.className != "accept")
					{
						while (errorContainer.hasChildNodes()) 
						{
							errorContainer.removeChild(errorContainer.lastChild);
						}
					
						var acceptImage = document.createElement("div");
						acceptImage.style.cssFloat = "left";
						acceptImage.style.width = "16px";
						acceptImage.style.height = "16px";
						acceptImage.style.backgroundImage = "url('/img/accept.png')";
						
						var acceptMessage = document.createElement("span");
						acceptMessage.innerHTML  = "Eingabe best&auml;tigt";
						acceptMessage.style.cssFloat = "left";
						acceptMessage.style.marginLeft = "15px";
						acceptMessage.style.color = "green";
									
						errorContainer.appendChild(acceptImage);
						errorContainer.appendChild(acceptMessage);
						errorContainer.className = "accept";
					}
				}
			}
		}
	}
	
	if(allowSubmit && submit)
		return true
	else 
		return false;
}

function getPosition(element)
{
	var tagname = "";
	var x = 0;
	var y = 0;
 
	while ((typeof(element) == "object") && (typeof(element.tagName) != "undefined"))
	{
		y += element.offsetTop;
		x += element.offsetLeft;
		
		tagname = element.tagName.toUpperCase();

		if (tagname == "BODY")
			element = 0;
		 
		if (typeof(element) == "object")
			if (typeof(element.offsetParent) == "object")
				element = element.offsetParent;
	}
	
	position = new Object();
	position.x = x;
	position.y = y;
	
	return position;
}

function reply(title)
{
	var element = document.getElementsByName("title")[0];
	
	element.value = "Re: " + title;
}



function open(url)
{
	document.href = url;
}

function openArticle(id,element)
{	
	if($(element).hasClass("contentFilled"))
	{
		if($(element).children(".content").is(":visible"))
		{
			var previewHeight = $(element).children(".preview").height();	

			$(element).children(".content").animate({height: previewHeight}, "slow", function(){
				$(element).children(".content").hide();
				$(element).children(".preview").show();
				$(element).children(".content").css("height", "auto");
			});
		}
		else
		{
			var previewHeight = $(element).children(".preview").children().height();
			var contentHeight = $(element).children(".content").height();
			
			$(element).children(".content").css("height", previewHeight + "px");
			$(element).children(".preview").hide();
			$(element).children(".content").show();
			$(element).children(".content").animate({height: contentHeight}, "slow", function(){
				$(element).children(".content").css("height", "auto");
			});
		}
	}
	else
	{
		var eleheight = $(element).height();
		
		if(eleheight < 300)
			eleheight = 300;
		
		$(element).animate({height: eleheight}, "slow", function() {
		
			var ajax = GetNewAjax();
			
			var ajaxString = "";
			
			if(location.href.startsWith("http://www"))
				ajaxString = "http://www.shishaforu.de/article.php?action=getcontent&size=small&type=article&aid="+id;
			else
				ajaxString = "http://shishaforu.de/article.php?action=getcontent&size=small&type=article&aid="+id;
			
			ajax.open("GET", ajaxString, true);
			
			ajax.onreadystatechange = function() 
			{
				if(ajax.readyState == 4)
				{
					$(element).children().hide();
					
					$(element).children(".content").append(ajax.responseText);
					$(element).children(".content").children().first().addClass("articleContent");
					$(element).children(".content").show();
					$(element).css("height","auto");
					$(element).addClass("contentFilled");
				}
			}
			
			ajax.send(null);
		});
	}
	
	return false;
}

function submitArticleoverview()
{
	var allow = true;

	if(document.getElementById("sourceTypeCombobox").value == 2)
		if(isNaN(document.getElementsByName("userID")[0].value) && document.getElementsByName("userID")[0].value != "")
			allow = false;
			
	if(isNaN(document.getElementsByName("count")[0].value) && document.getElementsByName("count")[0].value != "")
		allow = false;
		
	if(allow)
		document.getElementById("selectionForm").submit();
}

function load()
{
	//	Funktion zum öffnen der Expander

	$(".expander").children(".opener").click(function() {
		$(this).hide();
		$(this).parent().children(".content").slideDown("normal");
	});
	
	
	//	Funktion zum schliessen der Expander
	
	$(".expander").children(".content").children(".closer").click(function(){
		$(this).parent().slideUp("slow",function() {
			$(this).parent().children(".opener").show();
		});
	});
	
	
	//	Funktion für Auswahl der Arkitelübersichts-Quelle
	
	$("#sourceTypeCombobox").change(function() {
		if($(this).val() == 1)
		{
			$(".typeSource1").show();
			$(".typeSource2").hide();
		}
		else if($(this).val() == 2)
		{
			$(".typeSource1").hide();
			$(".typeSource2").show();
		}
	});
	
	
	// LightBox Inplementation
	
	$("#infinityfortomorrowpictures").children().lightBox();
	
	
	// Slide Effekt für Bilder
	
	$("#infinityfortomorrowpictures").children("a").first().show();
	
	window.setInterval(function() 
	{
		if($("#infinityfortomorrowpictures").children("a:visible").next().length == 0)
		{
			$("#infinityfortomorrowpictures").children("a:visible").fadeOut(300);
			$("#infinityfortomorrowpictures").children("a").first().fadeIn(300);
		}
		else
		{
			$("#infinityfortomorrowpictures").children("a:visible").fadeOut(300).next().fadeIn(300);
		}
	}, 5000);
	
	
	//	Ersetzt die Delete-Icon-Links durch Ajax-Funktionen
	
	var deleteLinks = $(".delete").parent();
	
	for(var i = 0; i < deleteLinks.length; i++)
	{
		var currentLink = deleteLinks[i];

		$(currentLink).click(function(){
		
			
			// Click Funktion für den einzelnen Link
		
			var currentAddress = $(this).attr("href") + "&modus=noreturn";
			var currentTitle = $(this).children().attr("title");
			var deleteContainer = $(this).parents(".deleteContainer");
			
			$("#errorContainer").append("<div class='expander' style='display:none;'><div style='display: none;' class='opener'></div><div style='display: block;' class='content warningItem'><div class='closer deleteExpanderCloser cross click icon right'></div><h3>L&ouml;schenvorgang best&auml;tigen</h3><p>" + currentTitle + "</p><div class='test_button continueDeleteButton'><span class='accept iconOffset click'>Best&auml;tigen</span></div></div></div>");
			$("#errorContainer").children(".expander").last().slideDown("slow");
		
			$(".deleteExpanderCloser").last().click(function(){
				$(this).parent().slideUp("slow",function() {
					$(this).parent().children(".opener").show();
				});
			});
		
			$(".continueDeleteButton").last().click(function(){
				if(deleteContainer.length > 0)
				{
					var ajax = GetNewAjax();
					var currentItem = $(this);
					var ajaxString = "";
						
					if(currentAddress.startsWith("http://"))
					{
						ajaxString = currentAddress;
					}
					else
					{
						if(document.location.href.startsWith("http://www"))
							ajaxString = "http://www.shishaforu.de" + currentAddress;
						else
							ajaxString = "http://shishaforu.de" + currentAddress;
					}
						
					ajax.onreadystatechange = function() 
					{
						if(ajax.readyState == 4)
						{
							$(deleteContainer).hide();
							$(currentItem).parents(".expander").slideUp("slow");
						}
					}
					
					
					ajax.open("GET", ajaxString, true);
					ajax.send(null);
				}
				else
				{
					document.location = currentAddress;
				}
			});
			
			return false;
		});
	}
	
	// infinityPlayer verschiebbar machen
	
	$(".infinityPlayer").draggable();
}

function openLink(element)
{
	document.location = element.href;
	
	return false;
}


function addTourdate(form)
{
    var tourLocation = document.getElementsByName("location")[0].value;
    var tourTime = document.getElementsByName("time")[0].value;
	
	var ajax = GetNewAjax();
	
	ajax.open("POST", "http://www.shishaforu.de/infinity.php", true);
	
	ajax.onreadystatechange = function() 
	{
		if(ajax.readyState == 4)
		{
			var id = ajax.responseText;
			
			var containerElement = document.createElement("div");
    
			containerElement.className = 'item';
			containerElement.innerHTML = "<div class='column column1'>" + tourTime + "</div>";
			containerElement.innerHTML += "<div class='column column2'>" + tourLocation + "</div>";
			containerElement.innerHTML += "<div class='column column3'><a href='/infinity.php?type=deletetourdate&tid=" + id + "'><div class='icon delete' title='Wollen sie das Tourdate am " + tourTime + " wirklich l&ouml;schen?'></div></a></div>";
			
			document.getElementById("tourScrollViewer").appendChild(containerElement);
		}
	}
	
	var params = "type=addtourdate&modus=noreturn&location="+escape(tourLocation)+"&time="+escape(tourTime);
	
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);
	ajax.setRequestHeader("Connection", "close");
	
	ajax.send(params);
	
	return false;
}

function addRelease(form)
{
    var releaseName = document.getElementsByName("name")[0].value;
    var releaseLink = document.getElementsByName("link")[0].value;
	
	var ajax = GetNewAjax();
	
	ajax.open("POST", "http://www.shishaforu.de/infinity.php", true);
	
	
	ajax.onreadystatechange = function() 
	{
		if(ajax.readyState == 4)
		{
			var id = ajax.responseText;
			
			var containerElement = document.createElement("div");
    
			containerElement.className = 'item';
			containerElement.innerHTML = "<div class='column column1'>" + releaseName + "</div>";
			containerElement.innerHTML += "<div class='column column2'>" + releaseLink + "</div>";
			containerElement.innerHTML += "<div class='column column3'><a href='/infinity.php?type=deleterelease&rid=" + id + "'><div class='icon delete' title='Wollen sie den Release am \"" + releaseName + "\" wirklich l&ouml;schen?'></div></a></div>";
			
			document.getElementById("releaseScrollViewer").appendChild(containerElement);
		}
	}
	
	var params = "type=addrelease&modus=noreturn&name="+escape(releaseName)+"&link="+escape(releaseLink);
	
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);
	ajax.setRequestHeader("Connection", "close");
	
	ajax.send(params);
	
	return false;
}

function addPicture(form)
{
    var pictureName = document.getElementsByName("name")[1].value;
    var pictureLink = document.getElementsByName("link")[1].value;
	
	var ajax = GetNewAjax();
	
	ajax.open("POST", "http://www.shishaforu.de/infinity.php", true);
	
	
	ajax.onreadystatechange = function() 
	{
		if(ajax.readyState == 4)
		{
			var id = ajax.responseText;
			
			var containerElement = document.createElement("div");
    
			containerElement.className = 'item';
			containerElement.innerHTML = "<div class='column column1'>" + pictureName + "</div>";
			containerElement.innerHTML += "<div class='column column2'>" + pictureLink + "</div>";
			containerElement.innerHTML += "<div class='column column3'><a href='/infinity.php?type=deletepicture&pid=" + id + "'><div class='icon delete' title='Wollen sie das Bild \"" + pictureName + "\" wirklich l&ouml;schen?'></div></a></div>";
			
			document.getElementById("picturesScrollviewer").appendChild(containerElement);
		}
	}
	
	var params = "type=addpicture&modus=noreturn&name="+escape(pictureName)+"&link="+escape(pictureLink);
	
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);
	ajax.setRequestHeader("Connection", "close");
	
	ajax.send(params);
	
	return false;
}

function CollapsedPlayerButtonClick()
{
	$(".infinityPlayer").removeClass("bigPlayer");
	$(".infinityPlayer").addClass("smallPlayer");
	
	$(".infinityPlayer").children(".playerMenu").children().first().hide();
	$(".infinityPlayer").children(".playerMenu").children().first().next().show();
}

function ExpandPlayerButtonClick()
{
	$(".infinityPlayer").removeClass("smallPlayer");
	$(".infinityPlayer").addClass("bigPlayer");
	
	$(".infinityPlayer").children(".playerMenu").children().first().show();
	$(".infinityPlayer").children(".playerMenu").children().first().next().hide();
}

function ClosePlayerButtonClick()
{
	$(".infinityPlayer").hide();
	PausePlayer();
}

function StartPlayer()
{
	if($(".infinityPlayer").children("audio.playerAudio").attr("src") ==  "" || $(".infinityPlayer").children("audio.playerAudio").attr("src") ==  null)
		NextSong();

	$(".infinityPlayer").children("audio.playerAudio").get(0).play();
	
	if($(".infinityPlayer").children(".buttonContainer").children(".play").length > 0)
		$(".infinityPlayer").children(".buttonContainer").children(".play").removeClass("play").addClass("pause");
	
}

function PausePlayer()
{
	$(".infinityPlayer").children("audio.playerAudio").get(0).pause();
		
	if($(".infinityPlayer").children(".buttonContainer").children(".pause").length > 0)
		$(".infinityPlayer").children(".buttonContainer").children(".pause").removeClass("pause").addClass("play");
}

function NextSong()
{
	var format = getFormat();
	var player = $(".infinityPlayer").children("audio.playerAudio").get(0);
	
	if($(player).attr("src") ==  "" || $(player).attr("src") ==  null)
	{
		var nextItem;
				
		nextItem = $(".infinityPlayer").children(".playList").children(".item").first();
				
		$(player).attr("src", $(nextItem).attr("data-href") + format);
		
		$(nextItem).addClass("playing");
	}
	else
	{
		var src = $(".infinityPlayer").children("audio.playerAudio").attr("src");
		var max = $(".infinityPlayer").children(".playList").children(".item").length;
		
		for(var i = 0; i < max; i++)
		{
			var currentItem = $(".infinityPlayer").children(".playList").children(".item").get(i);
			
			if(src.startsWith($(currentItem).attr("data-href")))
			{
				var nextItem;
				
				if((i + 1) == max)
				{
					nextItem = $(".infinityPlayer").children(".playList").children(".item").first();
				}
				else
				{
					nextItem = $(currentItem).next();
				}

				
				$(player).attr("src", $(nextItem).attr("data-href") + format);
				
				$(currentItem).removeClass("playing");
				$(nextItem).addClass("playing");
				
				$(".infinityPlayer").children(".currentSongInformations").children().first().children().first().text($(nextItem).children().first().text());
				
				i = max;
			}
		}
	}
	
	player.load();
	StartPlayer();
}

function PreviousSong()
{
	var format = getFormat();
	var player = $(".infinityPlayer").children("audio.playerAudio").get(0);
	
	if($(player).attr("src") ==  "" || $(player).attr("src") ==  null)
	{
		var nextItem;
				
		nextItem = $(".infinityPlayer").children(".playList").children(".item").last();
				
		$(player).attr("src", $(nextItem).attr("data-href") + format);
		
		$(nextItem).addClass("playing");
	}
	else
	{
		var src = $(".infinityPlayer").children("audio.playerAudio").attr("src");
		var max = $(".infinityPlayer").children(".playList").children(".item").length;
		
		for(var i = 0; i < max; i++)
		{
			var currentItem = $(".infinityPlayer").children(".playList").children(".item").get(i);
			
			if(src.startsWith($(currentItem).attr("data-href")))
			{
				var nextItem;
				
				if(i == 0)
				{
					nextItem = $(".infinityPlayer").children(".playList").children(".item").last();
				}
				else
				{
					nextItem = $(currentItem).prev();
				}

				
				$(player).attr("src", $(nextItem).attr("data-href") + format);
				
				$(currentItem).removeClass("playing");
				$(nextItem).addClass("playing");
				
				$(".infinityPlayer").children(".currentSongInformations").children().first().children().first().text($(nextItem).children().first().text());
				
				i = max;
			}
		}
	}
	
	player.load();
	StartPlayer();
}

function TogglePlayState()
{
	if($(".infinityPlayer").children(".buttonContainer").children(".play").length > 0)
		StartPlayer();
	else
		PausePlayer();
}

function getFormat()
{
	var player = $(".infinityPlayer").children("audio.playerAudio").get(0);
	
	if (player.canPlayType("audio/mpeg"))
		return ".mp3";
	else if (player.canPlayType("audio/ogg"))
		return ".ogg";
}

function TimeUpdate()
{
	var player = $(".infinityPlayer").children("audio.playerAudio").get(0);
	
	if(player.currentTime == player.duration)
		NextSong();
	
}

function PlayMe(link)
{
	var player = $(".infinityPlayer").children("audio.playerAudio").get(0);
	var format = getFormat();
			
	$(".infinityPlayer").children(".playList").children(".playing").removeClass("playing");
	$(link).addClass("playing");
	
	$(player).attr("src", $(link).attr("data-href") + format);
	
	player.load();
	StartPlayer();
}
