/***************************/
//@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!
/***************************/

var lastPage=1;

function updateNavigation(page){
        $.ajax({
            type:"POST", url: "shoutbox.php", data: "action=updateNavigation&page="+page,
            success: function(tableContent) {
                $("#inner_pages").html($(tableContent).html());
				$("#inner_pages, #history").fadeIn(1000);
            }
            , error: function(xml,errText) {alert("eroare navigare: "+errText)}
        });
    }


	function updateShoutbox(page){
		//just for the fade effect
 		$("#history, #inner_pages").fadeOut(300);
		$("#loading").fadeIn(600);
		//send the post to shoutbox.php
		$.ajax({
			type: "POST", url: "shoutbox.php", data: "action=update&page="+page,
			complete: function(data,textStatus){
                updateNavigation(page);
 				$("#loading").fadeOut(300);
 				$("#history").html(data.responseText);
			}
		});
 	}


//$(document).ready(function(){
jQuery(function() {
    //global vars
	var inputUser = $("#nick");
	var inputMessage = $("#message");
    var inputEmail =$("#mail");
	var loading = $("#loading");
	var messageList = $("#history");
    var status=$("#status");
    var MAX_CHARS = 500;
    var MAX_LINES = 8;

    var nav = $("#inner_pages");

    function incDownloads (item) {
         $.ajax({type:"POST", url: "shoutbox.php", data: "action=incDownloads&item="+item});
    }

    $("#banner-img").click (function () {   setTimeout(incDownloads, 500, "banner");    } );
    $("#stencil-img").click(function () {   setTimeout(incDownloads, 500, "stencil");   } );
    $("#tshirt-img").click (function () {   setTimeout(incDownloads, 500, "tshirt");    } );

	//check if all fields are filled
	function checkForm(){
		if(inputUser.attr("value") && inputMessage.attr("value")
                && inputMessage.attr("value").replace(/^\s+|\s+$/g, "") != "" && inputUser.attr("value").replace(/^\s+|\s+$/g, "") != "")
			return true;
		else
			return false;
	}

    inputMessage.keyup (function () {
        // limit the length:
       if (inputMessage.attr("value").length > MAX_CHARS) {
           inputMessage.attr({"value":inputMessage.attr("value").substring(0, MAX_CHARS)});
           status.text("Mesaj prea lung!");
       }
       else {
           // limit number of lines:
           if(inputMessage.attr("value").split("\n").length > MAX_LINES)  {
               inputMessage.attr({"value":inputMessage.attr("value").substring(0, inputMessage.attr("value").length - 1)});
               status.text("Prea multe randuri!");
           }
           else
               status.text("");
       }

       if (checkForm()) 
           $("#send").attr({disabled:false});
       else 
           $("#send").attr({disabled:true});
    });


    inputUser.keyup (function () {
       if (checkForm()) 
           $("#send").attr({disabled:false});
       else 
           $("#send").attr({disabled:true});
    });

    function updateNavigation(page){
        $.ajax({
            type:"POST", url: "shoutbox.php", data: "action=updateNavigation&page="+page,
            success: function(tableContent) {
                nav.html($(tableContent).html());
            }
            , error: function(xml,errText) {alert("eroare sistem navigare: "+errText)}
        });
    }

	function updateShoutbox(page){
		messageList.hide();
		loading.fadeIn();
		$.ajax({
			type: "POST", url: "shoutbox.php", data: "action=update&page="+page,
			complete: function(data,textStatus){
 				loading.fadeOut();
				messageList.html(data.responseText);
				messageList.fadeIn(2000);
			}
		});
	}
	
	//Load for the first time the shoutbox data
	updateShoutbox(1);

    $("#send").attr({disabled:true});

    function createCookie(name,value,days) {
        var expires;
        if (days) {
            var date = new Date();
            date.setTime(date.getTime()+(days*24*60*60*1000));
            expires = "; expires="+date.toGMTString();
        }
        else expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
    }

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    }

    savedName = readCookie("nick");
    if (savedName) inputUser.attr({"value":savedName});

	//on submit event
	$("#form").submit(function(){
		if(!checkForm()) {
       		status.text("Completati toate campurile!");  //alert("Completati toate campurile!");
    		// prevent the refresh of the page after submitting the form
        	return false;
        }

		var nick = inputUser.attr("value");
		var message = inputMessage.attr("value");

        createCookie("nick", nick, 14); //keep it 2 weeks

        //limit number of chars
        if (message.length > MAX_CHARS) {
           inputMessage.attr({"value":inputMessage.attr("value").substring(0, MAX_CHARS)});
           status.text("Mesaj prea lung!");
           return false;
        }
        
        // limit number of lines:
        if(message.split("\n").length > MAX_LINES)  {
            inputMessage.attr({"value":inputMessage.attr("value").substring(0, inputMessage.attr("value").length - 1)});
            status.text("Prea multe randuri!");
            return false;
        }

        //we deactivate submit button while sending
        $("#send").attr({ disabled:true, value:"Se trimite..." });
        $("#send").blur();

        //send the post to shoutbox.php:
        $.ajax({
            type: "POST", url: "shoutbox.php", data: "action=insert&nick=" + nick + "&message=" + message + "&email="+ inputEmail.attr("value"),
            complete: function(data){
                messageList.html(data.responseText);
                updateShoutbox(1);
                //reactivate the send button
                $("#send").attr({ disabled:false, value:"trimite" });
                inputMessage.attr({"value":""});
                //inputUser.attr({"value":""});
                $("#send").attr({disabled:true});
            }
        });
   		// prevent the refresh of the page after submitting the form
        return false;
	});
});
