var base_href = 'http://kostnica.eu/';

function check_pass(pass)
{
	var strength = 0;
	if(/\d/.test(pass)) strength ++;
	if(/[a-z]/.test(pass)) strength ++;
	if(/[A-Z]/.test(pass)) strength ++;
	if(/[^0-9a-zA-Z]/.test(pass)) strength ++;
	
	if(pass.length < 12 && pass.length > 7) strength ++;
	if(pass.length > 11) strength += 2;
	
	if(/^[a-z]+$/.test(pass)) strength = 1;
	if(/^[A-Z]+$/.test(pass)) strength = 1;
	if(/^[0-9]+$/.test(pass)) strength = 1;
	if(/^[a-zA-Z]+$/.test(pass) && strength > 2) strength = 2;
	
	if(pass.length < 5) strength = 0;

 	if(strength == 6)
 	{
 		var pass_text = "Bardzo bezpieczne";
 		var pass_color = "#0ca908";
 		$('#password_strength').width(109);
 	}
 	else if(strength == 5)
 	{
 		var pass_text = "Bardzo silne";
 		var pass_color = "#7ff67c";
 		$('#password_strength').width(90);
	}
 	else if(strength == 4)
 	{
 		var pass_text = "Silne";
 		var pass_color = "#1740ef";
 		$('#password_strength').width(71);
	}
 	else if(strength == 3)
 	{
 		var pass_text = "Średnio silne";
 		var pass_color = "#5a74e3";
 		$('#password_strength').width(55);
	}
 	else if(strength == 2)
 	{
 		var pass_text = "Przeciętne";
 		var pass_color = "#d3bb00";
 		$('#password_strength').width(35);
	}
 	else if(strength == 1)
 	{
 		var pass_text = "Słabe";
 		var pass_color = "#e7d61a";
 		$('#password_strength').width(17);
	}
 	else
 	{
 		var pass_text = "Za krótkie hasło";
 		var pass_color = "#e71a1a";
 		$('#password_strength').width(0);
	}
 	$('#password_strength_text').css('color', pass_color);
 	$('#password_strength_text').html(pass_text);
}

function message(content, title)
{
  title = title?title:'Komunikat';
  $.fancybox(
    '<div class="test" id="popup_content" style="min-width: 400px; padding: 20px; padding-top: 20px; overflow: hidden;">'+content+'</div>',
    {
			'padding' : 0,
			'titlePosition'	: 'inside',
			'title'	: title,
      'autoScale'     	: false,
      'width' : 400
    }
  );
}

function set_cookie(name, value, days)
{
  var exdate = new Date();
  exdate.setDate(exdate.getDate() + days);
  var c_value = escape(value) + ((days==null) ? "" : "; expires="+exdate.toUTCString());
  document.cookie = name + "=" + c_value + "; path=/";
}

function is_allowed_key(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if(charCode == 40 || charCode == 41 || charCode == 42 || charCode == 43 || charCode == 45 || charCode == 47 || charCode == 68 || charCode == 75 || charCode == 100 || charCode == 107)
	{
	   return true;
	}
	if(charCode > 31 && (charCode < 48 || charCode > 57))
	{
		return false;
	}
	return true;
}

function length_limit(field, limit)
{
  if(field.value.length >= limit)
  {
    $('#comment_error').show('fast');
    return false;
  }
  return true;
}

function add_pass_input()
{
  var count = $("#pass_target > input").size();
  count ++;
  if(count >= 5)
  {
    $('#pass_target_error').show('slow');
    return false;
  }
  $('#pass_target').append('<input type="text" class="alnumonly" name="pass['+count+']" maxlength="20" onkeyup="alnum_check(this)" />');
}
  
function alnum_check(elem)
{
  var oldval = $(elem).val();
  var newval = oldval.replace(/[^0-9a-z]/gi, "");
  $(elem).val(newval);
  if(oldval != newval) $('#alnum_error').show('slow');
}



jQuery(document).ready(function() {

  $('a[href][rel=external]').attr('target', '_blank');

	$(".ajax_popup").click(function() {
		$.fancybox({
  		'type' : 'ajax',
			'href'			: this.href.replace(base_href,'ajax/'),
			'padding' : 0,
			'titlePosition'	: 'inside',
			'title'	: this.title,
      'autoScale'     	: false,
      'width' : 400
		});
		return false;
  });
  
  $(".ajax_form").submit(function() {
  	$.ajax({
  		type		: "POST",
  		cache	: false,
  		url		: this.action,
  		data		: $(this).serializeArray(),
  		success: function(data) {
  			$.fancybox(data);
  		}
  	});
  	return false;
  });
  
  $("#roll_form").submit(function () {
		$.fancybox.showActivity();
  	$.ajax({
  		type		: "POST",
  		dataType: 'script',
  		cache	: false,
  		url		: this.action.replace(base_href,'ajax/'),
  		data		: $(this).serializeArray(),
  		success: function(data) {
  			$.fancybox.hideActivity();
  		}
  	});
		return false;
  });

	$(".quick_roll").click(function() {
		$.fancybox.showActivity();
  	$.ajax({
  		dataType: 'script',
  		cache	: false,
  		url		: 'ajax/quick_roll/' + this.id,
  		success: function(data) {
  			$.fancybox.hideActivity();
  		}
  	});
		return false;
  });
  
  /*if($(window).width() < 980) {
    $("#wrapper").width(760); // 950
    $("#kostnica_banner").width(560); // 750
  }*/
  
  //$(':input',"#roll_form").not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected');
  $('#roll_form')[0].reset();
  
	$('textarea[maxlength]').keyup(function(){
		var max = parseInt($(this).attr('maxlength'));
		if($(this).val().length > max){
			$(this).val($(this).val().substr(0, $(this).attr('maxlength')));
		}
		$(this).parent().find('.remaining_chars').html(max - $(this).val().length);
	});
  
	$('#formula_field').keyup(function(event){
    var oldval = $(this).val();
    var newval = oldval.replace(/[^kd0-9()*+-/]/gi, "");
    $(this).val(newval);
    if(oldval != newval) $('#formula_error').show('slow');
	});
  
	$('#formula_success_field').keyup(function(event){
    var oldval = $(this).val();
    var newval = oldval.replace(/[^kd0-9]/gi, "");
    $(this).val(newval);
    if(oldval != newval) $('#formula_error').show('slow');
	});
  
	$('#safe_pass_id').keyup(function(event){
    var oldval = $(this).val();
    var newval = oldval.replace(/[^0-9a-z]/gi, "");
    $(this).val(newval);
    if(oldval != newval) $('#safe_pass_error').show('slow');
	});
  
	$('#roll_game_id').keyup(function(event){
    var oldval = $(this).val();
    var newval = oldval.replace(/[^0-9a-z]/gi, "");
    $(this).val(newval);
    if(oldval != newval) $('#safe_pass_error').show('slow');
	});
  
	$('#roll_character_id').keyup(function(event){
    var oldval = $(this).val();
    var newval = oldval.replace(/[^0-9a-z]/gi, "");
    $(this).val(newval);
    if(oldval != newval) $('#character_game_error').show('slow');
	});
  
	$('.interval').keyup(function(event){
    var oldval = $(this).val();
    var newval = oldval.replace(/[^0-9,-]/gi, "");
    $(this).val(newval);
    if(oldval != newval) $('#interval_error').show('slow');
	});
  
  $('.success_quick_dice').click(function() {
    var number = parseInt($(this).attr('id').replace('success_','').replace('d6',''));
    $('#formula_success_field').val(number+'k10');
    $('#success_interval').val('6-10');
  });
	
	$('.success_quick_dice').mouseover(function() {
    var number = parseInt($(this).attr('id').replace('success_','').replace('d10',''));
    for(var i = 1; i <= number; i ++)
    {
      $('#success_'+i+'d10').css('background-position', 'bottom left');
    }
  });
	
	$('.success_quick_dice').mouseout(function() {
    for(var i = 1; i <= 15; i ++)
    {
      $('#success_'+i+'d10').css('background-position', 'top left');
    }
  });
  
  $('.success_d6').click(function() {
    var number = parseInt($(this).attr('id').replace('success_','').replace('d6',''));
    $('#formula_success_field').val(number+'k6');
    $('#success_interval').val('5-6');
  });
	
	$('.success_d6').mouseover(function() {
    var number = parseInt($(this).attr('id').replace('success_','').replace('d6',''));
    for(var i = 1; i <= number; i ++)
    {
      $('#success_'+i+'d6').css('background-position', 'bottom left');
    }
  });
	
	$('.success_d6').mouseout(function() {
    for(var i = 1; i <= 15; i ++)
    {
      $('#success_'+i+'d6').css('background-position', 'top left');
    }
  });
	
	$('#additional_data_toggle').click(function(){
    var tog = parseInt($('#additional_data').val());
    if(tog)
    {
      $('#more_options').hide('slow');
      $('#additional_data').val(0);
    }
    else
    {
      $('#more_options').show('slow');
      $('#additional_data').val(1);
    }
    return false;
  });
  
  $('#last_formulas > a').click(function() {
    $('#formula_field').val($(this).attr('title'));
    return false;
  });
  
  /*$('.clickable_roll').click(function(){
    window.open('home/roll/'+$(this).attr('id'));
    return false;
  });*/

	
});
