var lastUrl="";
var ajax_load = '<div class="loader"><img src="images/load.gif" alt="učitavanje..." /></div>';
//var playerPopup = window.open("player.php", "player", "location=1,menubar=1,resizable=1,width=480,height=570");

function loadPage(url){	
	var getVars = "";
	url = url.replace('#/','');
	
	if(url === ""){
		url="home";
	}
	
	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 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 limitChars(textid, limit){
	var text = $('#'+textid).val();
	var textlength = text.length;
	if(textlength > limit){
		$('#'+textid).val(text.substr(0,limit));
		return false;
	}
	else{
		return true;
	}
}

function updateCoords(c){
	$('#x').val(c.x);
	$('#y').val(c.y);
	$('#w').val(c.w);
	$('#h').val(c.h);
}

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);
}

function validateSubmit(){
	var canSubmit = false;
	var output = "";
	
	$('#prijava-message').fadeOut("fast");
	
	if($.imageCropped === false){output += "Morate izabrati sliku za vaš bend.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($.mp3Uploaded === false){output += "Morate izabrati pesmu za vaš bend.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-name').val().length <= 1){output += "Morate uneti naziv vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-members').val().length <= 1){output += "Morate uneti članove vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-genre').val().length <= 1){output += "Morate uneti žanr vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-city').val().length <= 1){output += "Morate uneti iz kog grada je vaš benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-email').val().length <= 1){output += "Morate uneti E-mail adresu vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if(isValidEmailAddress($('#band-email').val()) === false){output += "E-mail adresa vašeg benda nije validna.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-web').val().length <= 1){output += "Morate uneti web adresu vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-password').val().length > 5 && $('#band-confirm-pass').val().length > 5){output += "Vaša šifra mora imati više od 5 karaktera.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-confirm-pass').val() != $('#band-password').val()){output += "Šifre se ne podudataju.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-contact').val().length <= 1){output += "Morate uneti kontakt osobu vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-phone').val().length <= 1){output += "Morate uneti broj telefona kontakt osobe vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-contact-email').val().length <= 1){output += "Morate uneti e-mail adresu kontakt osobe vašeg benda.<br/>";canSubmit = false;}else{canSubmit = true;}
	if(isValidEmailAddress($('#band-contact-email').val()) === false){output += "E-mail adresa kontakt osobe nije validna.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-song-name').val().length <= 1){output += "Morate uneti naziv vaše pesme.<br/>";canSubmit = false;}else{canSubmit = true;}
	if($('#band-know').val().length <= 1){output += "Morate uneti kako ste saznali za naš коnkurs.<br/>";canSubmit = false;}else{canSubmit = true;}
	
	if(canSubmit === false){
		$('#prijava-message').html(output);
		$('#prijava-message').fadeIn("slow");
	}
	
	return canSubmit;
}

$(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;
	
	$.ajaxSetup({cache:false});
	checkURL();
	setInterval("checkURL()",250);
	$("#footer ul li a").click(function(){checkURL(this.hash);});
	$("#header-home-link").click(function(){window.location.hash = "#/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");$("#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");
					$("#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").show();
				},
				"html"
			);
		}
	);
	
	$("#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");});
	
	$("#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-profili").click(function(){window.location="bendovi.php";return false;});
	$("#navigation-prijava").click(function(){window.location.hash="#/prijava-na-konkurs";return false;});
	$("#navigation-najave").click(function(){window.location.hash="#/najave-desavanja";return false;});
	$("#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();}});

	$.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);
	});
});

