var lastUrl = "";
var ajax_load = '<div class="loader"><img src="images/load.gif" alt="učitavanje..." /></div>';
var path="http://www.hellovibracije.rs/";

function loadSonglist(direction, order, genre, page){
	$.post('scripts/songlist.php',
		{direction:direction, order:order, genre:genre, pageno:page},
		function(response){
			$("#songlist-content").html(response);
		},
		"html"
	);
}

function loadPage(url){	
	var getVars = "";
	url = url.replace('#/','');
	
	if(url === ""){
		url="profil-edit";
	}
	
	if(url.match('/') !== null){
		var urlVars = url.split('/');
		url = urlVars[0];
		var vars=urlVars[1].split('-');
		getVars = "id="+vars[0];
	}
	
	$("#content").html(ajax_load).load('pages/'+url+'.php', getVars, function(){
		if($('#website').height() > $(window).height()){
			$('body').height($('#website').height());
		}
		else{
			$('body').height($(window).height());
		}
	});
}

function checkURL(hash){
	if(!hash){
		hash = window.location.hash;	
	}
	
	if(hash !== $.lastUrl){
		$.lastUrl = hash;
		loadPage(hash);
	}
}

function isValidEmailAddress(emailAddress){
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

$(document).ready(function(){
	var songlistDirection = $("#songlist-direction").val();
	var songlistGenre = $("#songlist-select-genre").val();
	var songlistSort = $("#songlist-select-sort").val();
	var songlistPage = $("#songlist-pageno").val();
	var songlistTotalSongs = 0;
	var songlistLastPage = 0;
	var songlistTotalBands = 0;
	var numberOfDisplayedSongs = 0;
	
	var path="http://localhost/vibracije/";
	
	$.ajaxSetup({cache:false});
	
	checkURL();
	setInterval("checkURL()",250);
	
	$.post('scripts/songcount.php', 
		{genre:songlistGenre}, 
		function(response){
			var info = response.split(';');
			
			songlistTotalBands = info[0];
			songlistTotalSongs = info[1];
			songlistLastPage = info[2];
			
			if(songlistPage < songlistLastPage){
				$("#songlist-next").css("background-position", "-1388px 0px");
				$("#songlist-next").css("cursor", "pointer");
			}
			else{
				$("#songlist-next").css("background-position", "-1388px -63px");
				$("#songlist-next").css("cursor", "default");
			}
			
			if(songlistPage > 1){
				$("#songlist-previous").css("background-position", "-1324px 0px");
				$("#songlist-previous").css("cursor", "pointer");
			}
			else{
				$("#songlist-previous").css("background-position", "-1324px -63px");
				$("#songlist-previous").css("cursor", "default");
			}
			
			if((songlistPage * 12) < songlistTotalSongs){
				numberOfDisplayedSongs = (songlistPage * 12);
			}
			else{
				numberOfDisplayedSongs = songlistTotalSongs;
			}
			
			$("#songlist-info").html('Prikazujem <span class="bold">'+ ((songlistPage - 1) * 12 + 1) +' - '+numberOfDisplayedSongs+'</span> od <span class="bold">'+songlistTotalSongs+'</span> pesama, od <span class="bold">'+songlistTotalBands+'</span> bendova.');
			loadSonglist(songlistDirection, songlistSort, songlistGenre, songlistPage);
		}, 
	"html"
	);
	
	$("#songlist-next").click(function(){
		if(songlistLastPage > 1){
			songlistPage++;
			if(songlistPage >= songlistLastPage){
				songlistPage = songlistLastPage;
				$("#songlist-next").css("background-position", "-1388px -63px");$("#songlist-next").css("cursor", "default");
			}
			$("#songlist-previous").css("background-position", "-1324px 0px");$("#songlist-previous").css("cursor", "pointer");
			loadSonglist(songlistDirection, songlistSort, songlistGenre, songlistPage);
			
			if((songlistPage * 12) < songlistTotalSongs){
				numberOfDisplayedSongs=(songlistPage*12);
			}
			else{
				numberOfDisplayedSongs = songlistTotalSongs;
			}
			
			$("#songlist-info").html('Prikazujem <span class="bold">'+ ((songlistPage - 1) * 12 + 1) +' - '+numberOfDisplayedSongs+'</span> od <span class="bold">'+songlistTotalSongs+'</span> pesama, od <span class="bold">'+songlistTotalBands+'</span> bendova.');
		}
	});
	
	$("#songlist-previous").click(function(){
		if(songlistLastPage > 1){
			songlistPage--;
			if(songlistPage <= 1){
				songlistPage = 1;
				$("#songlist-previous").css("background-position", "-1324px -63px");
				$("#songlist-previous").css("cursor", "default");
			}
			$("#songlist-next").css("background-position", "-1388px 0px");$("#songlist-next").css("cursor", "pointer");
			loadSonglist(songlistDirection, songlistSort, songlistGenre, songlistPage);
			
			if((songlistPage * 12) < songlistTotalSongs){
				numberOfDisplayedSongs=(songlistPage * 12);
			}
			else{
				numberOfDisplayedSongs = songlistTotalSongs;
			}
			
			$("#songlist-info").html('Prikazujem <span class="bold">'+ ((songlistPage - 1) * 12 + 1) +' - '+numberOfDisplayedSongs+'</span> od <span class="bold">'+songlistTotalSongs+'</span> pesama, od <span class="bold">'+songlistTotalBands+'</span> bendova.');
		}
	});
	
	if(songlistDirection === "ASC"){
		$("#songlist-end").css("background-position", "-1259px 0px");
		$("#songlist-begin").css("background-position", "-1192px 0px");
	}
	
	if(songlistDirection === "DESC"){
		$("#songlist-end").css("background-position", "-1259px -21px");
		$("#songlist-begin").css("background-position", "-1192px -21px");
	}
	
	$("#songlist-end").click(function(){
		if(songlistDirection === "ASC"){
			songlistDirection = "DESC";
			$("#songlist-end").css("background-position", "-1259px -21px");
			$("#songlist-begin").css("background-position", "-1192px -21px");
			loadSonglist(songlistDirection, songlistSort, songlistGenre, songlistPage);
		}
	});
	
	$("#songlist-begin").click(function(){
		if(songlistDirection === "DESC"){
			songlistDirection = "ASC";
			$("#songlist-end").css("background-position", "-1259px 0px");
			$("#songlist-begin").css("background-position", "-1192px 0px");
			loadSonglist(songlistDirection, songlistSort, songlistGenre, songlistPage);
		}
	});
	
	$("#songlist-select-genre").change(function(){songlistGenre = $(this).val();
		$.post('scripts/songcount.php', 
			{genre:songlistGenre}, 
			function(response){
				var info = response.split(';');
				
				songlistTotalBands = info[0];
				songlistTotalSongs = info[1];
				songlistLastPage = info[2];
				
				if((songlistPage * 12) < songlistTotalSongs){
					numberOfDisplayedSongs = (songlistPage * 12);
				}
				else{
					numberOfDisplayedSongs = songlistTotalSongs;
				}
				
				$("#songlist-info").html('Prikazujem <span class="bold">'+ ((songlistPage - 1) * 12 + 1) +' - '+numberOfDisplayedSongs+'</span> od <span class="bold">'+songlistTotalSongs+'</span> pesama, od <span class="bold">'+songlistTotalBands+'</span> bendova.');
				loadSonglist(songlistDirection, songlistSort, songlistGenre, songlistPage);
			}, 
		"html"
		);
	});
	$("#songlist-select-sort").change(function(){songlistSort = $(this).val();loadSonglist(songlistDirection, songlistSort, songlistGenre, songlistPage);});
	
	$("#navigation-profili").click(function(){window.location="bendovi.php";return false;});
	$("#navigation-prijava").click(function(){window.location="index.php#/prijava-na-konkurs";return false;});
	$("#navigation-najave").click(function(){window.location="index.php#/najave-desavanja";return false;});
	
	$("#navigation-form-search-input").keyup(function(){
		var search=$(this).val();
		var dataString="q="+search;
		if(search!=''){
			$("#navigation-search-display").fadeIn("fast");
			$.ajax({
				type:"POST",
				url:"scripts/search.php",
				data:dataString,
				cache:false,
				success:function(response){
					if(response!=""){
						$("#navigation-search-display").html(response);
					}
				}
			});
		}
		else{
			$("#navigation-search-display").fadeOut("fast");
		}
	});
	
	$("#navigation-form-search-input").blur(function(){
		$("#navigation-search-display").fadeOut("fast");
	});
	
	$("#navigation-form-search-input").blur(function(){
		$("#navigation-search-display").fadeOut("fast");
	});
	
	$("#form-login-username").focus(function(){
		$(this).val("");
	});
	
	$("#form-login-clear").focus(function(){
		$("#form-login-password").val("");
		$("#form-login-clear").hide();
		$("#form-login-password").show();
		$("#form-login-password").focus();
	});
	
	$("#form-login-password").blur(function(){
		if($("#form-login-password").val().length===0){
			$("#form-login-clear").val("Lozinka");
			$("#form-login-password").hide();
			$("#form-login-clear").show();
		}
	});
	$("#popup-vote").dialog({
		width:300,
		minHeight:10,
		modal:true,
		autoOpen:false,
		bgiframe:true,
		buttons:{
			"Zatvori":function(){
				$(this).dialog("close");
			}
		},
		close:function(){}
	});
	
	$("#songlist-content ul li div div.add").click(function(event){
		var songId=$(this).attr("id").replace('songPlay_','');
		var playlist = $.cookie("hellovibracije_playlist");

		event.preventDefault();

		if(playlist === null){
			playlist = "";
		}

		playlist += songId + ';';

		$.cookie("hellovibracije_playlist", playlist, {path:'/', expires: 7});
		
		if($.cookie("hellovibracije_player") !== "1"){
			$.cookie("hellovibracije_player", "1", { path: '/' });
			$.player = window.open("<?=$path?>player.php", "player", "width=480,height=570,menubar=no,resizable=no");
		}
		else{
			
		}
	});
	
	$("#songlist-content ul li div div.vote").click(function(){
		$("#songlist-content ul li div div.vote img").fadeOut("slow",function(){
			$("#popup-vote").dialog("open");
		});
	});
	
	$("#popup-password-forgot").dialog({
		width:300,
		minHeight:10,
		modal:true,
		autoOpen:false,
		bgiframe:true,
		buttons:{
			"Pošalji":function(){
				$(this).dialog("close");
			},
			"Zatvori":function(){
				$(this).dialog("close");
			}
		},
		close:function(){}
	});
	
	$("#link-forgot").click(function(e){
		e.preventDefault();
		$("#popup-password-forgot").dialog("open");
	});

	$("#footer ul li a").click(function(){
		checkURL(this.hash);
	});
	
	$("#header-home-link").click(function(){
		window.location="index.php#/home";
	});
	
	$("#header-form-login-submit").click(function(){
		if(isValidEmailAddress($('#form-login-username').val())===true && $("#form-login-password").val().length>5){
			$.post('scripts/login.php',
				{email:$('#form-login-username').val(),pass:$("#form-login-password").val(),form_key:$('#form_key').val()},
				function(response){
					if(response.substr(0,7)==="success"){
						window.location="profil.php";
						$("#header-logged").fadeIn("slow");
						$('#header-form-login').hide();
						$("#header-forgot").hide();
						$('#header-user-name').html(response.substr(8,response.length));
					}
					else{
						$("#header-form-login-submit").fadeIn("slow");
						$("#header-forgot").fadeIn("slow");
						$("#form-login-username").val("");
						$("#form-login-password").val("");
					}
				}
			);
			}
	});
	
	$('#form-login-password').keyup(function(e){
		if(e.keyCode==13){
			if(isValidEmailAddress($('#form-login-username').val())===true&&$("#form-login-password").val().length>5){
				$.post('scripts/login.php',
					{email:$('#form-login-username').val(),pass:$("#form-login-password").val(),form_key:$('#form_key').val()},
					function(response){
						if(response.substr(0,7)=="success"){
							window.location="profil.php";
							$("#header-logged").fadeIn("slow");
							$('#header-form-login').hide();
							$("#header-forgot").hide();
							$('#header-user-name').html(response.substr(8,response.length));
						}
						else{
							$("#header-form-login-submit").fadeIn("slow");
							$("#header-forgot").fadeIn("slow");
							$("#form-login-username").val("");
							$("#form-login-password").val("");
						}
					}
				);
			}
		}
	});
	
	$("#header-button-logout").click(function(){
		$.get('scripts/logout.php', 
			{},
			function(response){
				window.location = "index.php";
				$("#header-logged").hide();
				$('#header-form-login').fadeIn("slow");
				$("#header-forgot").fadeIn("slow");
			},
			"html"
		);
	});
});