$(function(){

    $.blockUI.defaults.css.border = 'none';
    $.blockUI.defaults.css.color = '#fff';
    $.blockUI.defaults.css.backgroundColor = 'transparent';
    $.blockUI.defaults.message = '<img src="/images/loading_big.gif" alt="Loading..."/>';
    $.blockUI.defaults.overlayCSS.backgroundColor = '#fff';
	
	//zarovicky
	$('#app_form td.info').helptooltip();
	
	//mate is hidden
	$('#toggled_table').removeClass('hidden');
	if($('#app_form table #friend_player:checked').size()){
		$('#toggled_table').show();
	}else{
		$('#toggled_table').hide();
	}
	$('#friend_player').click(function(){
		$('#toggled_table').toggle('slow');
		if(!$('#app_form table #friend_player:checked').size())
		{
			$('#toggled_table td.error').html('');
			$(this).parent().parent().prev().prev().removeClass('compulsory').find('td.error').html('');
			$(this).parent().parent().prev().removeClass('compulsory').find('td.error').html('');
		}else
		{
			$(this).parent().parent().prev().prev().addClass('compulsory');
			$(this).parent().parent().prev().addClass('compulsory');
		}
	});

	//validace
	$("#app_form").validate({
		rules: {
			'roster[name]': {
				required: true,
				rangelength: [2, 50]
			},
			'roster[surname]': {
				required: true,
				rangelength: [2, 50]
			},
			'roster[title]': {
				required: false,
				maxlength: 50
			},
			'roster[street]': {
				required: true,
				rangelength: [2, 100]
			},
			'roster[city]': {
				required: true,
				rangelength: [2, 100]
			},
			'roster[postal]': {
				required: true,
				rangelength: [5, 10]
			},
			'roster[email]': {
				required: true,
				email: true
			},
			'roster[phone]': {
				required: true,
				rangelength: [9, 30]
			},
			'roster[hcp]': {
				required: true,
				rangelength: [1, 100]
			},
			'roster[memberno]': {
				required: false,
				maxlength: 255
			},
			'roster[confno]': {
				required: false,
				maxlength: 255
			},
			//cast pro druhej formular, jen pokud zaskrtnuto, ze bude hrat
			'roster_mate[name]': {
				required: "#friend_player:checked",
				rangelength: [2, 50]
			},
			'roster_mate[surname]': {
				required: "#friend_player:checked",
				rangelength: [2, 50]
			},
			'roster_mate[title]': {
				required: false,
				maxlength: 50
			},
			'roster_mate[street]': {
				required: "#friend_player:checked",
				rangelength: [2, 100]
			},
			'roster_mate[city]': {
				required: "#friend_player:checked",
				rangelength: [2, 100]
			},
			'roster_mate[postal]': {
				required: "#friend_player:checked",
				rangelength: [5, 10]
			},
			'roster_mate[email]': {
				required: "#friend_player:checked",
				email: true
			},
			'roster_mate[phone]': {
				required: "#friend_player:checked",
				rangelength: [9, 30]
			},
			'roster_mate[hcp]': {
				required: "#friend_player:checked",
				rangelength: [1, 100]
			},
			'roster_mate[memberno]': {
				required: false,
				maxlength: 255
			},
			'roster_mate[confno]': {
				required: false,
				maxlength: 255
			}
		},
messages: {
			'roster[name]': {
				required: "Prosím zadejte své jméno",
				rangelength: jQuery.format("Jméno musí obsahovat {0} až {1} znaků")
			},
			'roster[surname]': {
				required: "Prosím zadejte své příjmení",
				rangelength: jQuery.format("Příjmení musí obsahovat {0} až {1} znaků")
			},
			'roster[title]': {
				maxlength: jQuery.format("Titul se smí skládat maximálně z {0} znaků")
			},
			'roster[street]': {
				required: "Prosím zadejte ulici a č.p.",
				rangelength: jQuery.format("Ulice musí obsahovat {0} až {1} znaků")
			},
			'roster[city]': {
				required: "Prosím zadejte své město",
				rangelength: jQuery.format("Město musí obsahovat {0} až {1} znaků")
			},
			'roster[postal]': {
				required: "Prosím zadejte své PSČ",
				rangelength: jQuery.format("PSČ musí obsahovat {0} až {1} znaků")
			},
			'roster[email]': "Vyplňte validní emailovou adresu",
			'roster[phone]': {
				required: "Prosím zadejte svůj telefon",
				rangelength: jQuery.format("Telefon musí obsahovat {0} až {1} znaků")
			},
			'roster[hcp]': {
				required: "Prosím zadejte svůj handicap",
				rangelength: jQuery.format("Handicap musí obsahovat {0} až {1} znaků")
			},
			'roster[memberno]': {
				maxlength: jQuery.format("Členské číslo se smí skládat maximálně z {0} znaků")
			},
			'roster[confno]': {
				maxlength: jQuery.format("Konfekční číslo se smí skládat maximálně z {0} znaků")
			},
			'roster_mate[name]': {
				required: "Prosím zadejte své jméno",
				rangelength: jQuery.format("Jméno musí obsahovat {0} až {1} znaků")
			},
			'roster_mate[surname]': {
				required: "Prosím zadejte své příjmení",
				rangelength: jQuery.format("Příjmení musí obsahovat {0} až {1} znaků")
			},
			'roster_mate[title]': {
				maxlength: jQuery.format("Titul se smí skládat maximálně z {0} znaků")
			},
			'roster_mate[street]': {
				required: "Prosím zadejte ulici a č.p.",
				rangelength: jQuery.format("Ulice musí obsahovat {0} až {1} znaků")
			},
			'roster_mate[city]': {
				required: "Prosím zadejte své město",
				rangelength: jQuery.format("Město musí obsahovat {0} až {1} znaků")
			},
			'roster_mate[postal]': {
				required: "Prosím zadejte své PSČ",
				rangelength: jQuery.format("PSČ musí obsahovat {0} až {1} znaků")
			},
			'roster_mate[email]': "Vyplňte validní emailovou adresu",
			'roster_mate[phone]': {
				required: "Prosím zadejte svůj telefon",
				rangelength: jQuery.format("Telefon musí obsahovat {0} až {1} znaků")
			},
			'roster_mate[hcp]': {
				required: "Prosím zadejte svůj handicap",
				rangelength: jQuery.format("Handicap musí obsahovat {0} až {1} znaků")
			},
			'roster_mate[memberno]': {
				maxlength: jQuery.format("Členské číslo se smí skládat maximálně z {0} znaků")
			},
			'roster_mate[confno]': {
				maxlength: jQuery.format("Konfekční číslo se smí skládat maximálně z {0} znaků")
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			error.appendTo( element.parent().next().next() );
		}
	});
	
    // Article datepicker
    if ($.ngsDatepickerCs) {
        $.ngsDatepickerCs('article_published_at');
    }
    
    $('a.confirm').click(function() {
        return confirm('Opravdu provést operaci?');
    });
    
    // Lightbox
    if ($.fn.lightBox) {
        $('a.lightbox').lightBox();
    }
	
    
});
