﻿var PreferredFontSizeCookieName = "PreferredFontSize";

var EmailRegExpPattern = new RegExp("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$");

var KeyCode_Enter = 13;
var KeyCode_PageUp = 33;
var KeyCode_PageDown = 34;
var KeyCode_End = 35;
var KeyCode_Home = 36;
var KeyCode_ArrowLeft = 37;
var KeyCode_ArrowUp = 38;
var KeyCode_ArrowRight = 39;
var KeyCode_ArrowDown = 40;

/// ********************************
/// COLORBOX INIT
/// ********************************
$(document).ready(InitColorBox);

function InitColorBox()
{
	InitColorBoxGroup(".thickbox");
	InitColorBoxGroup(".colorbox");
}

function InitColorBoxGroup(groupSelector, title, rel)
{
	$(groupSelector).colorbox
	({
		transition: "elastic",
		speed: 700,
		opacity: 0.85,
		current: "Obrázek {current} z {total}",
		next: "Předchozí",
		previous: "Další",
		close: "Zavřít",
		title: title != null ? !title : null,
		rel: rel
	});
}

/// ********************************
/// VALIDATION HELPER
/// ********************************
function OnComboBoxClientValidate(validator, args)
{
	var cmb = eval(validator.controltovalidate);
	args.IsValid = cmb.GetText() != cmb.Items[0].Text;
}

function OnDropDownListClientValidate(validator, args)
{
	var cmb = $("#" + validator.controltovalidate);
	args.IsValid = cmb.attr("selectedIndex") > 0;
}

/// *****************************************************************
/// FONT SIZE SETTING
/// *****************************************************************
var FontSizeSettingContainer = null;

var FontSizeSettingContainerID = "right";
var FontSizeSettingIncreaseButtonClassName = "font-plus";
var FontSizeSettingDecreaseButtonClassName = "font-minus";
var FontSizeSettingDefaultButtonClassName = "font-default";

var FontSizeSettingDefaultSize = 100;
var FontSizeSettingSelectedSize = 100;
var FontSizeSettingIncrementSize = 15;

var FontSizeSettingMaxSize = 160;
var FontSizeSettingMinSize = 85;

function FontSizeSettingInit()
{
	$(document).ready
	(
		function()
		{
			FontSizeSettingContainer = $("#" + FontSizeSettingContainerID);
			
			$("." + FontSizeSettingIncreaseButtonClassName).click
			(
				function(e)
				{
					e.preventDefault();
					FontSizeSettingIncreaseSize();
				}
			);
			
			$("." + FontSizeSettingDecreaseButtonClassName).click
			(
				function(e)
				{
					e.preventDefault();
					FontSizeSettingDecreaseSize();
				}
			);
			
			$("." + FontSizeSettingDefaultButtonClassName).click
			(
				function(e)
				{
					e.preventDefault();
					FontSizeSettingSetDefaultSize();
				}
			);
			
			// vyuziti cookie
			var cookieValue = $.cookie(PreferredFontSizeCookieName);
			if (cookieValue != null && cookieValue.length > 0)
			{
				FontSizeSettingSetSize(parseInt(cookieValue));
			}
		}
	);
}

function FontSizeSettingIncreaseSize() { FontSizeSettingSetSize(FontSizeSettingSelectedSize + FontSizeSettingIncrementSize); }

function FontSizeSettingDecreaseSize() { FontSizeSettingSetSize(FontSizeSettingSelectedSize - FontSizeSettingIncrementSize); }

function FontSizeSettingSetDefaultSize() { FontSizeSettingSetSize(FontSizeSettingDefaultSize); }

function FontSizeSettingSetSize(size)
{
	if (size < FontSizeSettingMinSize || size > FontSizeSettingMaxSize) return;
	
	FontSizeSettingContainer.css("font-size", String(size) + "%");
	
	FontSizeSettingSelectedSize = size;
	
	var cookieExpirationDate = new Date();
	cookieExpirationDate.setTime(cookieExpirationDate.getTime() + (365 * 24 * 60 * 60 * 1000));
	$.cookie(PreferredFontSizeCookieName, String(size), { path: '/', expires: cookieExpirationDate });
}

