
$(document).ready(function(){

    var h = Math.abs(($(document).height() - 600)) /2; /*center, with center element 405px heigth*/
    $("#logo").css("margin-top", h+"px");    
    
    //hack to wok-1 with textarea
    if($("#message")[0] != undefined) $("#message")[0].value="";

    // gallery
    $().piroBox({
          my_speed: 300, //animation speed
          bg_alpha: 0.5, //background opacity
          radius: 4, //caption rounded corner
          scrollImage : false, // true == image follows the page _|_ false == image remains in the same open position
                               // in some cases of very large images or long description could be useful.
          slideShow : 'true', // true == slideshow on, false == slideshow off
          slideSpeed : 3, //slideshow
          pirobox_next : 'piro_next', // Nav buttons -> piro_next == inside piroBox , piro_next_out == outside piroBox
          pirobox_prev : 'piro_prev', // Nav buttons -> piro_prev == inside piroBox , piro_prev_out == outside piroBox
          close_all : '.piro_close' // add class .piro_overlay(with comma)if you want overlay click close piroBox
    });   
    
    
    $("#menu-box > ul").accordion({
        autoHeight: false,
        header: '.menu-header',
        event: 'mouseover',
        navigation: true,
        active: false
    });
    
    // Tabs newsletter
    $('#tabsnews').tabs();

    // Tabs newsletter
    $('#tabsevents').tabs();
    
    /* 
     *  Overlay
     */
    // map
    $('#activator').click(function(){
        $('#overlay').fadeIn('fast',function(){
            $('#box').animate({'top':'10%'},500);
        });
    });
    
    // technical sheet
    $('#sheet').click(function(){
        $('#overlay').fadeIn('fast',function(){
            var w = Math.abs(($(document).width() - 800)) /2; /*center, with center element 405px heigth*/
            $('#sheetbox').animate({'top':'10%'},500);
            $('#sheetbox').css("left", w+"px");   
        });
    });
    
    // avatar
    $('#avatar').click(function(){
        $('#overlay').fadeIn('fast',function(){
            var w = Math.abs(($(document).width() - 710)) /2; /*center, with center element 405px heigth*/
            $('#avatarbox').animate({'top':'10%'},500);
            $('#avatarbox').css("left", w+"px");            
        });
    });      
    
    $('.boxclose').click(function(){
        $('.box').animate({'top':'-800px'},500,function(){
            $('#overlay').fadeOut('fast');
        });
    });        
     
            
    /* Staff */
    var staff = new Array("#giusepperizzo", "#francescocascione", "#giuseppebaldassarre", 
                        "#florianolioy", "#salvatorebaldassarre", "#pasqualebaldassarre");
        
    var rand = Math.ceil(staff.length*Math.random()) - 1;
    for(var i=0; i<staff.length; i++){
        if(rand == staff.length)    rand=0;
        $(staff[rand]).appendTo("#staff");
        rand ++;
    }
    /*end staff*/
     
    $('#b-send-contact').click(function (e) {
       
        if(!check_fields($("#name"), $("#mail"), $("#subject"), $("#message"), $("#captcha"))) 
            e.preventDefault(); //block the event
        
    });
    
    function check_fields(name, mail, subject, message, captcha)
    {
        var exit=true;
        
        if( (name[0].value) == ""){
            exit=false;
            name.css('background', '#FF3030');
        }
        else name.css('background', '#FFFFFF');
        
        if(!verify_mail(mail[0].value)){
            exit=false;
            mail.css('background', '#FF3030');
        }
        else mail.css('background', '#FFFFFF');
        
        if( (subject[0].value) == ""){
            exit=false;
            subject.css('background', '#FF3030');
        }
        else subject.css('background', '#FFFFFF');
        
        if( (message[0].value) == ""){
            exit=false;
            message.css('background', '#FF3030');
        }
        else message.css('background', '#FFFFFF');
        
        if( (captcha[0].value) == ""){
            exit=false;
            captcha.css('background', '#FF3030');
        }
        else captcha.css('background', '#FFFFFF');        
        
        return exit;
    }
            
    function verify_mail(mail){
        if(mail == "")    return false;
        if(!emailCheck(mail)) return false;
        return true;
    }
    
    function emailCheck (emailStr) {
        var checkTLD=1;
        var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
        var emailPat=/^(.+)@(.+)$/;
        var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
        var validChars="\[^\\s" + specialChars + "\]";
        var quotedUser="(\"[^\"]*\")";
        var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
        var atom=validChars + '+';
        var word="(" + atom + "|" + quotedUser + ")";
        var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
        var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
        var matchArray=emailStr.match(emailPat);
        if (matchArray==null) {
            /*alert("Email address seems incorrect (check @ and .'s)");*/
            return false;
        }
        var user=matchArray[1];
        var domain=matchArray[2];
        for (i=0; i<user.length; i++) {
            if (user.charCodeAt(i)>127) {
                alert("Ths username contains invalid characters.");
                return false;
               }
        }
        for (i=0; i<domain.length; i++) {
            if (domain.charCodeAt(i)>127) {
                alert("Ths domain name contains invalid characters.");
                return false;
               }
        }
        if (user.match(userPat)==null) {
            alert("The username doesn't seem to be valid.");
            return false;
        }
    
        var IPArray=domain.match(ipDomainPat);
        if (IPArray!=null) {
            for (var i=1;i<=4;i++) {
                if (IPArray[i]>255) {
                    alert("Destination IP address is invalid!");
                    return false;
                   }
            }
            return true;
        }
        var atomPat=new RegExp("^" + atom + "$");
        var domArr=domain.split(".");
        var len=domArr.length;
        for (i=0;i<len;i++) {
            if (domArr[i].search(atomPat)==-1) {
                alert("The domain name does not seem to be valid.");
                return false;
               }
        }        
        if (checkTLD && domArr[domArr.length-1].length!=2 && 
                                        domArr[domArr.length-1].search(knownDomsPat)==-1) {
            alert("The address must end in a well-known domain or two letter " + "country.");
            return false;
        }
    
        if (len<2) {
            alert("This address is missing a hostname!");
            return false;
        }
        return true;
    }                  
     
     
     
    $("#itt").click(function(e){
        var baseUri = "/contact";
     
        $.post(baseUri, {_action:"send", _view:"html", name: "peppe"}, 
            function(data, textStatus) 
            {
                if(textStatus == "success"){
                    alert("data " + data);
                }
                else {
                    alert("not sent");
                }
            }); 

        
    });    

});    

