$(document).ready(function(){
	
		$("#output").hide(); 
		
		$("#output_close").click(function(event){
		   $("#output").fadeOut("slow");
		 });
		 
		$('a[@rel*=lightbox]').lightBox({
				imageLoading: 'http://www.opkg.org/images/lightbox/loading.gif',
				imageBtnClose: 'http://www.opkg.org/images/lightbox/close.gif',
				imageBtnPrev: 'http://www.opkg.org/images/lightbox/prev.gif',
				mageBtnNext: 'http://www.opkg.org/images/lightbox/next.gif',
				fixedNavigation:true
		}); 
});


/*
 * Thank you -> http://www.mattfarina.com/2007/02/01/preloading_images_with_jquery
 */

jQuery.preloadImages = function() {
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}

function rate(packageID, value) {
	$.get("http://www.opkg.org/inc/ajax/rate.php", { id: packageID, v: value },
		function(data) {
			showOutput("success", data, 1);
			$.get("http://www.opkg.org/inc/ajax/rating.php", { id: packageID },
			function(data2) {
				$("#rating").text(data2);
			});
	});
}

function showOutput(state, message, scroll) {
	$("#output").hide();
	if (scroll == 1) {
		$("html, body").animate({
			scrollTop: 0
		}, "slow");
	}
	$("#output").attr("class", state);	
	$("#output_inner").html(message);
	$("#output").slideDown("slow");
}

function checkUsername(user) {
	if(user != "") {
	$.get("http://www.opkg.org/inc/ajax/checkUsername.php", { u: user },
			function(data) {
				
				if(data == 1) {
					$("#notify_username").html("<span style=\"color:#F00; font-weight:bold;\">This username is already taken!</span>");
					$("#notify_username").slideDown("slow");
					$("#error_user").val("1");
				} else {					
					$("#notify_username").html("<span style=\"color:#00B500; font-weight:bold;\">This username is free for you!</span>");
					$("#notify_username").slideDown("slow");
					$("#error_user").val("0");
				}
		});
	}
}

function checkPassword(p1, p2) {

	if(p1 != p2) {
		$("#notify_password").html("<span style=\"color:#F00; font-weight:bold;\">Your passwords do not match!</span>");
		$("#notify_password").slideDown("slow");
		$("#password").focus();
		$("#error_pass").val("1");
	} else {
		$("#notify_password").html("");
		$("#notify_password").slideUp("slow");
		$("#error_pass").val("0");
	}

}

function checkRegister() {
	var Fehler = "";

	if($("#username").val() == "" || $("#error_user").val() == "1") {
		Fehler = Fehler + "Please enter a valid username!<br />";
    }

	if($("#password_repeat").val() == "" || $("#password").val() == "" || $("#error_pass").val() == "1") {
		Fehler = Fehler + "Please check your password!<br />";
	}

	if($("#email").val() == "") {
		Fehler = Fehler + "Please enter your e-mail!<br />";
	}

	if(!Fehler) {
		return true;
	} else {
		showOutput("error", Fehler, 0);
		return false;
	}
}

function check_add_package() {
	var Fehler = "";

	if($("#name").val() == "") {
		Fehler = Fehler + "Please enter a valid package name!<br />";
        }

	if($("#beschreibung_kurz").val() == "") {
		Fehler = Fehler + "Please enter a short descreption!<br />";
	}

	if($("#beschreibung_lang").val() == "") {
		Fehler = Fehler + "Please enter a full length descreption!<br />";
	}

	if($("#status").val() == "") {
		Fehler = Fehler + "Please select a status!<br />";
	}
	
	if($("#version").val() == "") {
		Fehler = Fehler + "Please enter a version number!<br />";
	}
	
	if($("#cat").val() == "") {
		Fehler = Fehler + "Please choose a category!<br />";
	}
	
	if($("#ipk").val() == "" && ($("#ipk_link").val() == "" || $("#ipk_link").val() == "http://")) {
		Fehler = Fehler + "You must select an ipk file!<br />";
	}

	if(!Fehler) {		
		if($("#ipk").val() != "") {
			$("#loader").fadeIn("slow");
		}
		return true;
	} else {
		showOutput("error", Fehler, 1);
		$("#name").focus();
		return false;
	}
}

function check_edit_package() {
	var Fehler = "";

	if($("#name").val() == "") {
		Fehler = Fehler + "Please enter a valid package name!<br />";
        }

	if($("#beschreibung_kurz").val() == "") {
		Fehler = Fehler + "Please enter a short descreption!<br />";
	}

	if($("#beschreibung_lang").val() == "") {
		Fehler = Fehler + "Please enter a full length descreption!<br />";
	}

	if($("#version").val() == "") {
		Fehler = Fehler + "Please enter a version number!<br />";
	}
	
	if(!Fehler) {		
		if($("#ipk").val() != "") {
			$("#loader").fadeIn("slow");
		}
		return true;
	} else {
		showOutput("error", Fehler, 1);
		$("#name").focus();
		return false;
	}
}


function addFormField() {
	var id = document.getElementById("id").value;
	$("#titles").css('display', 'inline');
	$("#divTxt").append("<p id='row" + id + "'><label for='txt" + id + "'><input type='text' name='dep_name[]' id='dep_name" + id + "' size='20'> --> <input type='text' size='30' name='dep_link[]' id='dep_link" + id + "'> <a href='#' onClick='removeFormField(\"#row" + id + "\"); return false;'>Remove</a><p>");
			
	id = (id - 1) + 2;
	document.getElementById("id").value = id;
}

function removeFormField(id) {
	$(id).remove();
}

function packageSearch_edit(q) {
	$.get("http://www.opkg.org/inc/ajax/packageSearch.php", { query: q, edit: "true" },
			function(data) {				
				$("#results").html(data);
		});
}

function packageSearch_remove(q) {
	$.get("http://www.opkg.org/inc/ajax/packageSearch.php", { query: q, edit: "false" },
			function(data) {				
				$("#results").html(data);
		});
}

function checkContact() {
	var Fehler = "";

	if($("#name").val() == "") {
		Fehler = Fehler + "Please enter a valid name!<br />";
        }

	if($("#mail").val() == "") {
		Fehler = Fehler + "Please enter your e-mail!<br />";
	}

	if($("#message").val() == "") {
		Fehler = Fehler + "Please enter a message!<br />";
	}

	if(!Fehler) {
		return true;
	} else {
		showOutput("error", Fehler, 1);
		$("#name").focus();
		return false;
	}
}

function removeSubscription(id) {
	$.get("http://www.opkg.org/inc/ajax/removeSubscription.php", { i: id },
		function(data) {            
            if(data == 0) {
                showOutput("error", "There was an error while removing your subscription. Please try again", 1);                
            } else {
                showOutput("success", "Subscription removed.", 1);                
            }
		});
}


function addSubscription(id) {
	$.get("http://www.opkg.org/inc/ajax/addSubscription.php", { i: id },
		function(data) {
            if(data == 0) {
                showOutput("error", "There was an error while adding your subscription. Please try again", 1);
            } else {
                showOutput("success", "You'll get an email when someone updates this package.", 1);
            }
		});
}