/*****										*****
 * Roflc.at - The lolcat link minimizer !		*
 *****										*****
 *
 * @author 		Rafael Keramidas <rafael@keramid.as>
 * @date 		06.12.2011
 * @description Some JS functions.
 **/
 
$(document).ready(function() {
	/* Int only */
    $(".intonly").keydown(function(event) {
        if ( event.keyCode == 46 || event.keyCode == 8 ) {
			/* Nothing to do */
        }
        else {
            if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                event.preventDefault(); 
            }   
        }
    });
});
 
$("#loginform").submit(function(event) {
	event.preventDefault();
	var $form = $(this),
		username = $form.find('input[name="username"]').val(),
		password = hex_sha1($form.find('input[name="password"]').val());
	if($form.find('input[name="remember"]').is(':checked'))
		var remember = 'on';
	else
		var remember = 'off';

	$.post("_ajax/authentication.php", { user: username, pass: password, remember: remember },
		function(data) {
			$(".loginresult").fadeOut("slow", function() {
				if(data == "OK") {
					$.modal.close();
					window.location.reload();
				}
				else {
					$(".loginresult").empty().append(data);
					$(".loginresult").fadeIn();
				}
			});
		}
	);
});

$("#registrationform").submit(function(event) {
	event.preventDefault();
	var $form = $(this),
		username = $form.find('input[name="user"]').val(),
		password1 = hex_sha1($form.find('input[name="pass1"]').val()),
		password2 = hex_sha1($form.find('input[name="pass2"]').val()),
		email = $form.find('input[name="email"]').val(),
		recap_challenge = Recaptcha.get_challenge(),
		recap_response = Recaptcha.get_response();

	$.post("_ajax/registration.php", { user: username, pass1: password1, pass2: password2, email: email, recaptcha_challenge: recap_challenge, recaptcha_response: recap_response },
		function(data) {
			$("#registerresult").fadeOut("slow", function() {
				if(data != "OK") {
					Recaptcha.reload();
					$("#registerresult").empty().append(data);
				}
				else {
					$form.find('input[type="text"]').val('');
					$form.find('input[type="password"]').val('');
					$("#registerresult").empty().append("<p class=\"success\">Your account has been created ! You can now using link above.</p>");
				}
				$("#registerresult").fadeIn("slow");
			});
		}
	);
});

$("#changepwform").submit(function(event) {
	event.preventDefault();
	var $form = $(this),
		password1 = hex_sha1($form.find('input[name="pass1"]').val()),
		password2 = hex_sha1($form.find('input[name="pass2"]').val());

	$.post("_ajax/changepasswd.php", { pass1: password1, pass2: password2 },
		function(data) {
			$("#registerresult").fadeOut("slow", function() {
				if(data != "OK") {
					$("#registerresult").empty().append(data);
				}
				else {
					$form.find('input[type="password"]').val('');
					$("#registerresult").empty().append("<p class=\"success\">Your password has been changed.</p>");
				}
				$("#registerresult").fadeIn("slow");
			});
		}
	);
});

$("#changemailform").submit(function(event) {
	event.preventDefault();
	var $form = $(this),
		mail = $form.find('input[name="email"]').val();

	$.post("_ajax/changemail.php", { mail: mail },
		function(data) {
			$("#registerresult").fadeOut("slow", function() {
				if(data != "OK") {
					$("#registerresult").empty().append(data);
				}
				else {
					$form.find('input[type="text"]').val('');
					$("#registerresult").empty().append("<p class=\"success\">Your e-mail address has been changed.</p>");
				}
				$("#registerresult").fadeIn("slow");
			});
		}
	);
});

$("#minimizeform").submit(function(event) {
	event.preventDefault();
	var $form = $(this),
		url = $form.find('input[name="url"]').val();
		
	$.post("_ajax/minimize.php", { url: url },
		function(data) {
			if ($("#result").is(":hidden")) {
				if(data.indexOf("<p class=\"error\">")) {
					$("#result").css("height","200px");
				} else {
					$("#result").css("height","50px");
				}
				$("#result").empty().append(data);
				$("#result").slideToggle();
			}
			else {
				$("#result").slideToggle("slow", function() {
					if(data.indexOf("<p class=\"error\">")) {
						$("#result").css("height","200px");
					} else {
						$("#result").css("height","50px");
					}
					$("#result").empty().append(data);
					$("#result").slideToggle();
				});
			}
			statsUpdate(0);			
			$("a#copylink").zclip({
				path:"_js/ZeroClipboard.swf",
				copy:$("input#roflcatlink").val()
			});
		}
	);
});

function statsUpdate(timer) {
	$.ajax({
		url: "_ajax/stats.php",
		cache: false,
		success: function(data) {
			if(data != $("#stats").html()) {
				$("#stats").fadeOut("slow", function() {
					$("#stats").empty().append(data);
					$("#stats").fadeIn();
				});
			}
		}
	});
	
	if(timer == 1)
		setTimeout("statsUpdate(1)", 10000);
}

function reportLink(linkid) {
	$.post("_ajax/reporturl.php", { code: linkid },
		function(data) {
			$("#reportlink").fadeOut("fast", function() {
				$("#reportlink").empty().append(data);
				$("#reportlink").fadeIn();
			});
		}
	);
}
