$(document).ready(function() {
    if($('a.blankPage').size() > 0) {
        $('a.blankPage').blankPage();
    }
    
    if($('#gmap').size() > 0) {
        contactMapInit();
    }
    
    if($('form.contact-form').size() > 0) {
        $('form.contact-form').writeUs();
    }
    
    if($('a.friendsHref').size() > 0) {
        $('a.friendsHref').friends();
    }
});

/**
 * Funkce pro otevreni odkazu v novem okne
 */
jQuery.fn.blankPage = function() {
    $(this).click(function() {
        var url = $(this).attr('href');
        window.open(url);
        
        return false;
    });
}

/**
 * Funkce pro validaci kontaktniho formulare
 */
jQuery.fn.writeUs = function() {
    $(this).submit(function() {
        var valid = true;
        
        $('input').removeClass('error');
        $('textarea').removeClass('error');
        
        if(!$('input[name=name]').val()) {
            $('input[name=name]').addClass('error');
            valid =  false;
        }
        
        if(!$('input[name=email]').val() || !validateEmail($('input[name=email]').val())) {
            $('input[name=email]').addClass('error');
            valid =  false;
        }
        
        if(!$('textarea[name=text]').val()) {
            $('textarea[name=text]').addClass('error');
            valid =  false;
        }
        
        return valid;
    });
}

jQuery.fn.friends = function() {
    var href = $(this).attr("href");
    $(this).click(function() {
        $.ajax({
            url: href,
            type: "post",
            success: function (html) {
                $('#darkbox').html(html);
                $('#darkbox').css('left', (($(window).width()-$('.lightbox-friends').outerWidth(true))/2));
                Cufon.replace ('.friends-block span.grey', {fontFamily: "Chronicle Disp Comp Bold"});
                Cufon.replace ('.friends-block h2', {fontFamily: "Chronicle Disp Comp Bold"});
                Cufon.replace(".friends-block h2", {fontFamily: "Chronicle Disp Comp"});
                Cufon.replace("h2.main", {fontFamily: "Chronicle Disp Comp"});
                Cufon.replace("a.phone", {fontFamily: "Chronicle Disp Comp"});
                $('#shadow').width($(window).width());
                $('#shadow').height($(document).height());
                
                $('.lightbox-friends a.close').click(function() {
                    $('#shadow').width(0);
                    $('#shadow').height(0);
                    $('#darkbox').html('');

                    return false;
                });
            }
        });
        
        return false;
    });
}

/**
 * Google mapa na podstrane s kontakty
 */
function contactMapInit() {
    var latlng = new google.maps.LatLng(50.0845078, 14.4036719);
    var myOptions = {
      zoom: 16,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      disableDefaultUI: true
    };
    var map = new google.maps.Map(document.getElementById("gmap"),
        myOptions);
        
    var image = webDir+'/images/gmap-icon.png';
    var marker = new google.maps.Marker({
        position: latlng, 
        map: map,
        title:'Pražské jaro, o. p. s., Hellichova 18, 118 00 Praha 1',
        icon: image
    }); 
}

/**
 * Funkce validuje email
 */
function validateEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

   return reg.test(email);
}
