﻿function OnPagingComboBoxSelectedIndexChanged(sender, args)
{
	var selectedValue = sender.Value;
	location.href = selectedValue;
}

function OnComboBoxClientValidate(validator, args)
{
	var cmb = eval(validator.controltovalidate);
	args.IsValid = cmb.GetText() != cmb.Items[0].Text;
}

/// *****************************************************************
/// DELIVERY ADDRESS VALIDATION
/// *****************************************************************
function DeliveryAddressOnClientValidate(validator, args)
{
	var fname = jQuery.trim($(".delivery-fname").val());
	var lname = jQuery.trim($(".delivery-lname").val());
	var street = jQuery.trim($(".delivery-street").val());
	var city = jQuery.trim($(".delivery-city").val());
	var zip = jQuery.trim($(".delivery-zip").val());
	
	if (fname.length > 0 || lname.length > 0 || street.length > 0 || city.length > 0 || zip.length > 0)
	{
		args.IsValid = fname.length > 0 && lname.length > 0 && street.length > 0 && city.length > 0 && zip.length > 0;
	}
	else
	{
		args.IsValid = true;
	}
}

/// *****************************************************************
/// SEARCH HEADER
/// *****************************************************************
function SearchHeaderInit()
{
	$(document).ready
	(
		function()
		{
			$(".search-header-text").keypress(SearchHeaderOnKeyPress);
			$(".search-header-keywords").keypress(SearchHeaderOnKeyPress);
			// $(".search-header-writers").keypress(SearchHeaderOnKeyPress);
		}
	);
}

function SearchHeaderOnKeyPress(e)
{
	if (e.keyCode == KeyCode_Enter)
	{
		e.preventDefault();
		$(".search-header-submit").click();
	}
}

/// *****************************************************************
/// SEARCH ADVANCED
/// *****************************************************************
function SearchAdvancedInit()
{
	$(document).ready
	(
		function()
		{
			$(".search-adv-text").keypress(SearchAdvancedOnKeyPress);
			$(".search-adv-title").keypress(SearchAdvancedOnKeyPress);
			$(".search-adv-writer").keypress(SearchAdvancedOnKeyPress);
			$(".search-adv-keyword").keypress(SearchAdvancedOnKeyPress);
			$(".search-adv-description").keypress(SearchAdvancedOnKeyPress);
			$(".search-adv-content").keypress(SearchAdvancedOnKeyPress);
			$(".search-adv-resource").keypress(SearchAdvancedOnKeyPress);
		}
	);
}

function SearchAdvancedOnKeyPress(e)
{
	if (e.keyCode == KeyCode_Enter)
	{
		e.preventDefault();
		$(".search-adv-submit").click();
	}
}

/// *****************************************************************
/// NEWSLETTER REGISTRATION
/// *****************************************************************
function NewsletterRegistrationInit()
{
	$(document).ready
	(
		function()
		{
			$(".newsletter-title-before").keypress(NewsletterRegistrationOnKeyPress);
			$(".newsletter-first-name").keypress(NewsletterRegistrationOnKeyPress);
			$(".newsletter-last-name").keypress(NewsletterRegistrationOnKeyPress);
			$(".newsletter-title-behind").keypress(NewsletterRegistrationOnKeyPress);
			$(".newsletter-email").keypress(NewsletterRegistrationOnKeyPress);
		}
	);
}

function NewsletterRegistrationOnKeyPress(e)
{
	if (e.keyCode == KeyCode_Enter)
	{
		e.preventDefault();
		$(".newsletter-submit").click();
	}
}

/// *****************************************************************
/// READER UPDATE VALIDATE
/// *****************************************************************
function OnReaderUpdateCompanyIdValidate(validator, args)
{
	var cname = jQuery.trim($(".reader-update-company-name").val()),
		cid = jQuery.trim($(".reader-update-company-id").val()),
		isTaxPayer = ReaderUpdateResolveIsTaxPayer(),
		reqTaxDoc = ReaderUpdateResolveRequireTaxDocument();
	
	if (cname.length > 0 || isTaxPayer || reqTaxDoc) args.IsValid = cid.length > 0;
	else args.IsValid = true;
}

function OnReaderUpdateCompanyTaxIdValidate(validator, args)
{
	var cname = jQuery.trim($(".reader-update-company-name").val()),
		ctaxid = jQuery.trim($(".reader-update-company-taxid").val()),
		isTaxPayer = ReaderUpdateResolveIsTaxPayer(),
		reqTaxDoc = ReaderUpdateResolveRequireTaxDocument();
	
	if (cname.length > 0 || isTaxPayer || reqTaxDoc) args.IsValid = ctaxid.length > 0;
	else args.IsValid = true;
}

function ReaderUpdateResolveIsTaxPayer()
{
	var taxPayerSelection = eval($("div[id$=cmbTaxPayer]").attr("id"));
	if (taxPayerSelection && taxPayerSelection.SelectedIndex == 0) return true;
	else return false;
}

function ReaderUpdateResolveRequireTaxDocument()
{
	var taxDocSelection = eval($("div[id$=cmbReqTaxDoc]").attr("id"));
	if (taxDocSelection && taxDocSelection.SelectedIndex == 0) return true;
	else return false;
}

/// *****************************************************************
/// READER PWD REFRESH
/// *****************************************************************
function ReaderPasswordRefreshInit()
{
	$(document).ready
	(
		function()
		{
			$(".reader-pwdrefresh-uname").keypress(ReaderPasswordRefreshOnKeyPress);
		}
	);
}

function ReaderPasswordRefreshChangeInit()
{
	$(document).ready
	(
		function()
		{
			$(".reader-pwdrefresh-new1").keypress(ReaderPasswordRefreshOnChangeKeyPress);
			$(".reader-pwdrefresh-new2").keypress(ReaderPasswordRefreshOnChangeKeyPress);
		}
	);
}

function ReaderPasswordRefreshOnKeyPress(e)
{
	if (e.keyCode == KeyCode_Enter)
	{
		e.preventDefault();
		$(".reader-pwdrefresh-continue").click();
	}
}

function ReaderPasswordRefreshOnChangeKeyPress(e)
{
	if (e.keyCode == KeyCode_Enter)
	{
		e.preventDefault();
		$(".reader-pwdrefresh-submit").click();
	}
}

function ReaderPasswordRefreshOnContinueValidate(msg)
{
	var uname = jQuery.trim($(".reader-pwdrefresh-uname").val());
	if (uname.length > 0) return true;
	else
	{
		window.alert(msg);
		return false;
	}
}

function ReaderPasswordRefreshOnChangeValidate(minPasswordLength, requiredMessage, newPasswordEqualityMessage, minPasswordLengthMessage)
{
	var newPwd1 = jQuery.trim($(".reader-pwdrefresh-new1").val());
	var newPwd2 = jQuery.trim($(".reader-pwdrefresh-new2").val());
	
	if (newPwd1.length > 0 && newPwd2.length > 0)
	{
		if (newPwd1 == newPwd2)
		{
			if (newPwd1.length >= minPasswordLength) return true;
			else
			{
				window.alert(minPasswordLengthMessage);
				return false;
			}
		}
		else
		{
			window.alert(newPasswordEqualityMessage);
			return false;
		}
	}
	else
	{
		window.alert(requiredMessage);
		return false;
	}
}

/// *****************************************************************
/// READER LOGIN VALIDATE
/// *****************************************************************
function ReaderLoginInit()
{
	$(document).ready
	(
		function()
		{
			$(".reader-login-uname").keypress(ReaderLoginOnKeyPress);
			$(".reader-login-pwd").keypress(ReaderLoginOnKeyPress);
		}
	);
}

function ReaderLoginOnKeyPress(e)
{
	if (e.keyCode == KeyCode_Enter)
	{
		e.preventDefault();
		$(".reader-login-submit").click();
	}
}

function ReaderLoginOnValidate(msg)
{
	var uname = jQuery.trim($(".reader-login-uname").val());
	var pwd = jQuery.trim($(".reader-login-pwd").val());
	
	if (uname.length > 0 && pwd.length > 0) return true;
	else
	{
		window.alert(msg);
		return false;
	}
}

/// *****************************************************************
/// READER PASSWORD CHANGE
/// *****************************************************************
function ReaderPasswordChangeInit()
{
	$(document).ready
	(
		function()
		{
			$(".reader-pwdchange-old").keypress(ReaderPasswordChangeOnKeyPress);
			$(".reader-pwdchange-new1").keypress(ReaderPasswordChangeOnKeyPress);
			$(".reader-pwdchange-new2").keypress(ReaderPasswordChangeOnKeyPress);
		}
	);
}

function ReaderPasswordChangeOnKeyPress(e)
{
	if (e.keyCode == KeyCode_Enter)
	{
		e.preventDefault();
		$(".reader-pwdchange-submit").click();
	}
}

function ReaderPasswordChangeOnValidate(minPasswordLength, requiredMessage, newPasswordEqualityMessage, minPasswordLengthMessage)
{
	var oldPwd = jQuery.trim($(".reader-pwdchange-old").val());
	var newPwd1 = jQuery.trim($(".reader-pwdchange-new1").val());
	var newPwd2 = jQuery.trim($(".reader-pwdchange-new2").val());
	
	if (oldPwd.length > 0 && newPwd1.length > 0 && newPwd2.length > 0)
	{
		if (newPwd1 == newPwd2)
		{
			if (newPwd1.length >= minPasswordLength) return true;
			else
			{
				window.alert(minPasswordLengthMessage);
				return false;
			}
		}
		else
		{
			window.alert(newPasswordEqualityMessage);
			return false;
		}
	}
	else
	{
		window.alert(requiredMessage);
		return false;
	}
}

/// *****************************************************************
/// FONT SIZE SETTING
/// *****************************************************************
var FontSizeSettingContainer = null;
var FontSizeSettingButtonsContainer = null;

var FontSizeSettingContainerClassName = "middle-full";
var FontSizeSettingButtonsContainerClassName = "font-size";
var FontSizeSettingIncreaseButtonClassName = "font-plus";
var FontSizeSettingDecreaseButtonClassName = "font-minus";

var FontSizeSettingDefaultSize = 100;
var FontSizeSettingSelectedSize = 100;
var FontSizeSettingIncrementSize = 15;

var FontSizeSettingMaxSize = 160;
var FontSizeSettingMinSize = 85;

function FontSizeSettingInit()
{
	$(document).ready
	(
		function()
		{
			FontSizeSettingContainer = $("." + FontSizeSettingContainerClassName);
			FontSizeSettingButtonsContainer = $("." + FontSizeSettingButtonsContainerClassName);
			
			$("." + FontSizeSettingIncreaseButtonClassName).click
			(
				function(e)
				{
					e.preventDefault();
					FontSizeSettingIncreaseSize();
				}
			);
			
			$("." + FontSizeSettingDecreaseButtonClassName).click
			(
				function(e)
				{
					e.preventDefault();
					FontSizeSettingDecreaseSize();
				}
			);
			
			// 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 FontSizeSettingSetSize(size)
{
	if (size < FontSizeSettingMinSize || size > FontSizeSettingMaxSize) return;
	
	FontSizeSettingContainer.css("font-size", String(size) + "%");
	
	FontSizeSettingButtonsContainer.css("font-size",
		String(Math.round((FontSizeSettingDefaultSize - size) / 1.8) + FontSizeSettingDefaultSize) + "%");
	
	FontSizeSettingSelectedSize = size;
	
	var cookieExpirationDate = new Date();
	cookieExpirationDate.setTime(cookieExpirationDate.getTime() + (365 * 24 * 60 * 60 * 1000));
	$.cookie(PreferredFontSizeCookieName, String(size), { path: '/', expires: cookieExpirationDate });
}

/// *****************************************************************
/// ARTICLE HEADLINE LINKING
/// *****************************************************************
var ArticleHeadlineLinkingOffsetTopDecrement = 15;

function ArticleHeadlineLinkingInit()
{
	$(document).ready
	(
		function()
		{
			$(".headline-link").click
			(
				function(e)
				{
					e.preventDefault();
					ArticleHeadlineLinkingNavigate($(this));
				}
			);
		}
	);
}

function ArticleHeadlineLinkingNavigate(headlineLink)
{
	var headlineLinkRelValue = parseInt(headlineLink.attr("rel"));
	var headlineOffsetTop = $("#headline-" + String(headlineLinkRelValue)).offset().top;
	
	// snizeni offsetu, aby nadpis nebyl uplne u horniho okraje
	headlineOffsetTop -= ArticleHeadlineLinkingOffsetTopDecrement;
	
	$(window.opera ? "html" : "html,body").animate({ scrollTop : headlineOffsetTop + 15 }, "normal",
		function()
		{
			$(this).animate({ scrollTop : headlineOffsetTop - 10 }, "normal",
				function()
				{
					$(this).animate({ scrollTop : headlineOffsetTop }, "normal");
				});
		});
}

/// *****************************************************************
/// ARTICLE RESOURCES LINKING
/// *****************************************************************
var ArticleResourceLinkingTotalResources = 0;
var ArticleResourceLinkingResourceSet = null;
var ArticleResourceLinkingResourceFirstOffsetTop = null;
var ArticleResourceLinkingOffsetTopDecrement = 50;
var ArticleResourceLinkingHighlightActive = false;
var ArticleResourceLinkingOriginScrollTop = null;
var ArticleResourceLinkingBackButton = null;

function ArticleResourceLinkingInit()
{
	$(document).ready
	(
		function()
		{
			ArticleResourceLinkingResourceFirstOffsetTop = $(".resource-list .resource:first").offset().top;
			ArticleResourceLinkingResourceSet = $(".resource-list .resource");
			ArticleResourceLinkingTotalResources = ArticleResourceLinkingResourceSet.length;
			ArticleResourceLinkingBackButton = $(".resource-back-button")
				.hide()
				.click
				(
					function(e)
					{
						e.preventDefault();
						ArticleResourceLinkingNavigateBack();
					}
				);
			
			$(window).scroll
			(
				function(e)
				{
					ArticleResourceLinkingOnWindowScroll(e);
				}
			);
			
			$(".resource-single-link").click
			(
				function(e)
				{
					e.preventDefault();
					ArticleResourceLinkingNavigate($(this));
				}
			);
			
			$(".resource-range-link").click
			(
				function(e)
				{
					e.preventDefault();
					ArticleResourceLinkingNavigate($(this));
				}
			);
			
			$(".resource-enum-link").click
			(
				function(e)
				{
					e.preventDefault();
					ArticleResourceLinkingNavigate($(this));
				}
			);
		}
	);
}

function ArticleResourceLinkingNavigateBack()
{
	if (ArticleResourceLinkingOriginScrollTop == null || ArticleResourceLinkingOriginScrollTop < 0) return;
	
	$(window.opera ? "html" : "html,body").scrollTop(ArticleResourceLinkingOriginScrollTop);
	
	ArticleResourceLinkingOriginScrollTop = null;
}

function ArticleResourceLinkingOnWindowScroll(e)
{
	if (ArticleResourceLinkingHighlightActive
		&& ArticleResourceLinkingResourceFirstOffsetTop > ($(window).height() + $(window).scrollTop()))
	{
		ArticleResourceLinkingHighlightActive = false;
		
		ArticleResourceLinkingBackButton.hide();
		ArticleResourceLinkingOriginScrollTop = null;
		
		ArticleResourceLinkingDisplayResources();
	}
}

/// *****************************************************************
/// Spusti navigaci na vybrane zdroje uvedene v poli.
/// *****************************************************************
function ArticleResourceLinkingNavigate(resourceLink)
{
	var linkRelValue = resourceLink.attr("rel");
	var resourceList = ArticleResourceLinkingResolveResourceArrayFromList(linkRelValue);
	var resourceFirstNumber = resourceList[0];
	
	var firstResource = $("#resource-" + String(resourceFirstNumber));
	
	// odkaz pro navrat
	ArticleResourceLinkingOriginScrollTop = $("html,body").scrollTop();
	
	ArticleResourceLinkingBackButton.css("top", firstResource.position().top).fadeIn("fast");
	
	// schovani vsech
	ArticleResourceLinkingHideResources();
	
	// navigace na pozici
	ArticleResourceLinkingScrollToResource(firstResource,
		function()
		{
			// zobrazeni pozadovanych
			var resourceIterator = 0;
			for (resourceIterator = 0; resourceIterator < resourceList.length; resourceIterator++)
			{
				ArticleResourceLinkingHighlightResource(resourceList[resourceIterator]);
			}
		});
}

function ArticleResourceLinkingScrollToResource(resourceToScroll, callback)
{
	var resourceOffsetTop = resourceToScroll.offset().top;
	
	// snizeni offsetu, aby zobrazeny zdroj nebyl uplne u horniho okraje
	resourceOffsetTop -= ArticleResourceLinkingOffsetTopDecrement;
	
	$(window.opera ? "html" : "html,body").animate({ scrollTop : resourceOffsetTop + 15 }, "fast",
		function()
		{
			if ((resourceOffsetTop + $(window).height()) < $(document).height())
			{ 
				$(this).animate({ scrollTop : resourceOffsetTop - 10 }, "normal",
					function()
					{
						$(this).animate({ scrollTop : resourceOffsetTop }, "normal",
							function()
							{
								if (callback) callback();
							});
					});
			}
			else
			{
				if (callback) callback();
			}
		});
}

function ArticleResourceLinkingHideResources()
{
	ArticleResourceLinkingResourceSet.animate({ opacity : "0.3" }, "fast");
}

function ArticleResourceLinkingDisplayResources()
{
	ArticleResourceLinkingResourceSet.animate({ opacity : "1" }, "fast");
}

function ArticleResourceLinkingHighlightResource(resourceNumber)
{
	$("#resource-" + String(resourceNumber)).animate({ opacity : "1" }, "normal");
	
	ArticleResourceLinkingHighlightActive = true;
}

/// *****************************************************************
/// Vrati pole cisel zdroju z uvedeneho retezce.
/// *****************************************************************
function ArticleResourceLinkingResolveResourceArrayFromList(resourceList)
{
	var resourceListAsArray = new Array();
	var resourceListSplitResult = resourceList.split(",");
	
	if (resourceListSplitResult != null && resourceListSplitResult.length > 0)
	{
		var resourceIterator = 0, singleResourceValue = null;
		for (resourceIterator = 0; resourceIterator < resourceListSplitResult.length; resourceIterator++)
		{
			singleResourceValue = jQuery.trim(resourceListSplitResult[resourceIterator]);
			if (singleResourceValue != null && singleResourceValue.length > 0)
			{
				resourceListAsArray.push(parseInt(singleResourceValue));
			}
		}
	}
	
	return resourceListAsArray;
}

/// *****************************************************************
/// ARTICLE THUMBNAIL TOOLTIP CORRECTION
/// *****************************************************************
function ArticleThumbnailTooltipCorrectionInit()
{
	$(document).ready
	(
		function()
		{
			$("img[src$='thumbnail.ashx']").each
			(
				function()
				{
					var imgAlt = $(this).attr("alt");
					if (imgAlt != null && imgAlt != "")
					{
						$(this).parents("a[href$='thumbnaildetail.ashx']:first").attr("title", imgAlt);
					}
				}
			);
		}
	);
}

/// *****************************************************************
/// DIGITISK CALCULATION
/// *****************************************************************
var DigitiskCalculationModeSelectionPrefix = null, DigitiskCalculationAmountBox = null, DigitiskCalculationPriceElem = null;

function DigitiskCalculationInit(selectionPrefix)
{
	$(document).ready
	(
		function()
		{
			DigitiskCalculationModeSelectionPrefix = selectionPrefix;
		}
	);
}

/// *****************************************************************
/// INQUIRY VALIDATION
/// *****************************************************************
$(document).ready
(
	function()
	{
		$(".qwrapper-01")
			.find("select[id$='dropQ0101List']")
				.bind("focus",
					function()
					{
						$(this).parents("table:first").find("input:radio[id$='rbQ0101']").attr("checked", true);
					}).end()
			.find("input:text[id$='boxQ0102Text']")
				.bind("focus",
					function()
					{
						$(this).parents("table:first").find("input:radio[id$='rbQ0102']").attr("checked", true);
					}).end();
		
		$(".qwrapper-02")
			.find("select[id$='dropQ0201List']")
				.bind("focus",
					function()
					{
						$(this).parents("table:first").find("input:radio[id$='rbQ0201']").attr("checked", true);
					}).end()
			.find("input:text[id$='boxQ0202Text']")
				.bind("focus",
					function()
					{
						$(this).parents("table:first").find("input:radio[id$='rbQ0202']").attr("checked", true);
					}).end();
		
		$(".qwrapper-04 input:checkbox").bind("click",
			function()
			{
				if ($(".qwrapper-04 input:checkbox:checked").length > 3)
				{
					$(".qwrapper-04 input:checkbox:checked:first[id!="+ $(this).attr("id") +"]").attr("checked", false);
				}
			});
	}
);

function OnInquiryAnswerValidate01(validator, args)
{
	var wrapper = $(".qwrapper-01");
	
	if ($("input[id$='rbQ0102']", wrapper).attr("checked"))
	{
		args.IsValid = jQuery.trim($("input[id$='boxQ0102Text']", wrapper).val()).length > 0;
	}
	else args.IsValid = true;
}

function OnInquiryAnswerValidate02(validator, args)
{
	var wrapper = $(".qwrapper-02");
	
	if ($("input[id$='rbQ0202']", wrapper).attr("checked"))
	{
		args.IsValid = jQuery.trim($("input[id$='boxQ0202Text']", wrapper).val()).length > 0;
	}
	else args.IsValid = true;
}

function OnInquiryAnswerValidate03(validator, args)
{
	args.IsValid = $(".qwrapper-03 input:radio:checked").length > 0;
}

function OnInquiryAnswerValidate04(validator, args)
{
	var wrapper = $(".qwrapper-04");
	
	if ($("input[id$='rbQ0401']", wrapper).attr("checked"))
	{
		args.IsValid = $("input:checkbox:checked", wrapper).length > 0;
	}
	else args.IsValid = true;
}

function OnInquiryAnswerValidate05(validator, args)
{
	args.IsValid = $(".qwrapper-05 input:radio:checked").length > 0;
}

function OnInquiryAnswerValidate06(validator, args)
{
	args.IsValid = $(".qwrapper-06 input:radio:checked").length > 0;
}

function OnInquiryAnswerValidate07(validator, args)
{
	args.IsValid = $(".qwrapper-07 input:radio:checked").length > 0;
}