﻿// <copyright file="functions.js" author="Drukarnia Chroma">
//   ©2011 Drukarnia Chroma
//   Zawartość jest chroniona przez polskie prawo autorskie oraz prawo własności intelektualnej. 
//   Prawa do serwisu chroma Online oraz treści w nim zawartych należą do firmy 
//   Chroma Drukarnia Krzysztof Raczkowski. Wszystkie logotypy, nazwy własne, projekty graficzne,
//   filmy, teksty, formularze, skrypty, kody źródłowe, hasła, znaki towarowe, znaki serwisowe są 
//   znakami zastrzeżonymi i należą do serwisu Chroma Online. Pobieranie, kopiowanie, modyfikowanie, 
//   reprodukowanie, przesyłanie lub dystrybuowanie jakichkolwiek treści ze strony WWW.CHROMA.PL bez 
//   zgody właściciela jest zabronione. 
// </copyright>
var posFixed = null;
var clickedUs = false;
var clickedDeletedBtn;
var hiddenIdZamowienie;
jQuery(document).ready(function () {
	if (document.body.clientWidth < 1220)
		jQuery(window).scrollLeft(102);
	// Wciśnięcie każdego textarea spowoduje zaznaczenie całego tekstu
	jQuery("textarea").click(function () {
		if (this.value == this.defaultValue)
			this.select();
	});
	// Wciśnięcie każdego pola tekstowego spowoduje zaznaczenie go
	jQuery("input[type=text]").click(function () {
		if (this.value == this.defaultValue)
			this.select();
	});

	if (jQuery.isEmptyObject(jQuery('.fancybox-single')) != undefined) {
		jQuery('.fancybox-single').fancybox({ width: 720, height: 404, overlayShow: false, swf: { allowscriptaccess: "sameDomain", wmode: "window"} });
	}
	if (jQuery.isEmptyObject(jQuery('.fancybox-movie')) != undefined) {
		jQuery('.fancybox-movie').fancybox({ width: 800, height: 618, overlayShow: false, swf: { allowscriptaccess: "always", flashvars: "autostart=false&color=0x000000,0x000000&thumb=/filmy-instruktarzowe/FirstFrame.png&thumbscale=45"} });
	}
	if (!jQuery.isEmptyObject(jQuery('.artwork-face'))) {
		jQuery('.artwork-face').fancybox({ 'width': 840,
			'height': 'auto',
			'scrolling': 'auto',
			'autoScale': false
		});
	}

	if (!jQuery.isEmptyObject(jQuery('#facebook_link'))) {
		jQuery('#facebook_link').click(function () {
			unsetClick();
			if ($('#poppop').css('display') == 'none')
				$('#poppop').fadeIn();
			else
				$('#poppop').fadeOut();
		});
		jQuery('#popup_close').click(function () {
			$('#poppop').fadeOut();
		})
	}

	//Wyświetlenie informacji o produkcie w pliku druk.aspx wykorzystane
	if (!jQuery.isEmptyObject(jQuery("#podsumowanie"))) {
		jQuery("#podsumowanie").tooltip({ trace: false, top: 20, left: 10, delay: 250, showURL: false, bodyHandler: podsumowanieProduktow });
	}

	registerProduktChanges();

	if (!jQuery.isEmptyObject(jQuery("#ZamowioneZestawyDiv"))) {
		posFixed = jQuery("#ZamowioneZestawyDiv").position();
		if (posFixed != null) {
			jQuery(window).scroll(function () {
				if (jQuery(window).scrollTop() > posFixed.top) {
					jQuery("#ZamowioneZestawyDiv").css("position", "fixed");
					jQuery("#ZamowioneZestawyDiv").css("top", "0px");
					jQuery("#ZamowioneZestawyDiv").css("left", posFixed.left + "px");
					if (jQuery("#ZamowioneZestawyDiv").height() > jQuery(window).height()) {
						jQuery("#ZamowioneZestawyDiv").css("overflow", 'scroll');
						jQuery("#ZamowioneZestawyDiv").css("max-height", jQuery(window).height() + "px");
					}
				}
				else {
					jQuery("#ZamowioneZestawyDiv").css("position", "static");
					jQuery("#ZamowioneZestawyDiv").css("overflow", 'auto');
				}
			});
		}
	}

	if (document.getElementById("historaZamowieniaH3") != null) {
		jQuery("#historiaZamowienia p").each(function () { jQuery(this).hide(); });
		jQuery("#historiaZamowienia p:first-child").show();
		jQuery("#historaZamowieniaH3").click(function () {
			if (jQuery("#historiaZamowienia p:hidden").length == 0) {
				jQuery(this).css("background-position", "center bottom");
				jQuery("#historiaZamowienia p").hide();
				jQuery("#historiaZamowienia p:first-child").show();
			}
			else {
				jQuery(this).css("background-position", "center top");
				jQuery("#historiaZamowienia p").show();
			}

		});
	}
	if (document.getElementById("listaPlikowZleceniaH3") != null) {
		jQuery("#listaPlikowZlecenia > div").each(function () { jQuery(this).hide(); });
		jQuery("#listaPlikowZlecenia > div:first-child").show();
		jQuery("#listaPlikowZleceniaH3").click(function () {
			if (jQuery("#listaPlikowZlecenia > div:hidden").length == 0) {
				jQuery(this).css("background-position", "center bottom");
				jQuery("#listaPlikowZlecenia > div").hide();
				jQuery("#listaPlikowZlecenia > div:first-child").show();
			}
			else {
				jQuery(this).css("background-position", "center top");
				jQuery("#listaPlikowZlecenia > div").show();
			}

		});
	}

	errorAnimation();
	var prm = Sys.WebForms.PageRequestManager.getInstance();
	prm.add_initializeRequest(InitializeRequest);
	prm.add_endRequest(EndRequest);
	var postBackElement;
	function InitializeRequest(sender, args) {
		if (prm.get_isInAsyncPostBack()) {
			args.set_cancel(true);
		}
		postBackElement = args.get_postBackElement();
	}
	function EndRequest(sender, args) {
		if (postBackElement.id.search(/bruttoButton/i) >= 0 || postBackElement.id.search(/nettoButton/i) >= 0 || postBackElement.id.search(/Basketer/i) >= 0) {
			$get('potwiedzenieWyboruUpdateProgress').style.display = 'none';
		}
	}

	jQuery('#featured').removeClass("smallerFeatured").cycle({
		fx: 'fade',
		next: "#nav-right",
		prev: "#nav-left",
		speed: 2000,
		timeout: 12000,
		pauseOnPagerHover: true
	});
	jQuery("#ankieta-link").show();
	if (!navigator.cookieEnabled)
		alert("Jeżeli masz problemy z obsługą naszej strony, sprawdź czy masz włączoną obsługę ciasteczek(Cookies) w ustawieniach Twojej przeglądarki.");

	if ($(".wersja-demo").html() != undefined) {
		jQuery("<div>").attr("id", "cloud").addClass('skipCloud').css('top', $(".wersja-demo").position().top - ($("#cloud").height() + 24)).css('left', $(".wersja-demo").position().left + 35).html("Skorzystaj z wersji DEMO, by poznać system chroma.pl<br />Złóż zamówienie testowe.").insertAfter("form").append(jQuery("<div>").addClass("extended").css('top', $("#cloud").outerHeight() - 5)).css('display', 'none');
		$(".wersja-demo").hover(function () { $("#cloud").show(); }, function () { $("#cloud").hide(); });
	}
	insertMikolajki();

	/*if ($(".default_content").html() != undefined) {
		$(".default_content center").addClass("babka").css("background-position", ((window.innerWidth - $(".menu_block").width()) / 2 - 210) + "px top");
		window.onresize = function () {
			$(".default_content center").css("background-position", ((window.innerWidth - $(".menu_block").width()) / 2 - 210) + "px top");
		}
	}*/

});

function new_window(url) {
	unsetClick();
	newwindow = window.open(url, 'xczzxc', 'top=50,left=200,width=650,height=450,scrollbars=yes');
	newwindow.focus();
}

function setHourGlass() {
	document.body.style.cursor = "wait";
}
function setDefault() {
	document.body.style.cursor = "default";
}

/* Wyśietla WebDialog
Jeśli clickBG jest ustawione na true, wtedy wciśnięcie na pole otaczające dialog spowoduje wyłączenie dialogu.
*/
function showDialog(dialogID, clickBG) {
	unsetClick();
	$find(dialogID).show();
	if (clickBG)
		jQuery(".igdw_ModalBackground").click(function () { $find(dialogID).hide(); });
	return false;
}

/*  Chowa Webdialog     */
function hideDialog(dialogID) {
	$find(dialogID).hide();
	return false;
}
/* Funkcja wykonywana na końcu w pliku druk.aspx 
Zmiany dotyczą:
- tooltipa wyświetlanego przy znaku zapytania
- ustawienie rozmariów warstwy 
- podłączenie fancyboxa do przykładu.
*/
function registerProduktChanges() {
	if (!jQuery.isEmptyObject(jQuery("#priceUpdateProgress"))) {
		jQuery("#priceUpdateProgress").height(jQuery(".table_product").height());
		jQuery("#priceUpdateProgress").width(jQuery(".table_product").width());
	}
	if (!jQuery.isEmptyObject(jQuery('.blue_tooltip'))) {
		jQuery(".blue_tooltip").tooltip({ trace: false, top: 20, left: 10, delay: 250, showURL: false });
	}
	if (!jQuery.isEmptyObject(jQuery("a.fancy1"))) {
		jQuery("a.fancy1").fancybox({
			'width': 840,
			'height': 'auto',
			'scrolling': 'auto',
			'autoScale': false
		});
	}
	if (jQuery.isEmptyObject(jQuery('.fancybox-multi')) != undefined) {
		jQuery('.fancybox-multi').attr('rel', 'gallery');
		jQuery('.fancybox-multi').fancybox({ 'overlayShow': true, 'cyclic': true, 'scrolling': 'auto',
			'autoScale': false
		});
	}
	drukwzoryClick();
}
// Generowanie podsumowania wybranych ustawień produktu w zamówieniu
function podsumowanieProduktow() {
	var str = "<h4>Podsumowanie</h4><table>";
	var i = -1;
	var selectors = jQuery(".option_panel select :selected").toArray();
	selectors.push(jQuery(".option_panel input[type='text']"));
	var headers = jQuery(".option_panel .option_header").toArray();

	if (jQuery(headers[0]).text().trim() == "Kalendarium dla kalendarzyków") {
		headers.shift();

	}
	while (++i < selectors.length) {
		if (jQuery(selectors[i]).attr('type') == 'text')
			str += "<tr><td>" + jQuery(headers[i]).text().trim() + "</td><td> " + jQuery(selectors[i]).val() + "</td></tr>";
		else
			str += "<tr><td>" + jQuery(headers[i]).text().trim() + "</td><td> " + jQuery(selectors[i]).text() + "</td></tr>";
	}

	return str + "</table>";
}
function closeWindowScript() {
	jQuery("a").each(function () {
		if (jQuery(this).attr("rel").length > 0 || jQuery(this).attr("target").length > 0 || jQuery(this).attr("href") == undefined || jQuery(this).attr("href").length == 0) return;
		jQuery(this).click(function () {
			clickedUs = true;
			window.location = jQuery(this).attr("href");
		});
	});

	window.onbeforeunload = function (evt) {
		var URL = location.href;
		var search = (location.search.length > 0) ? "&show=1" : "?show=1";
		var request = null;
		if (!clickedUs) {
			var mywindow = window.open(URL + search, 'ChromaGold', 'width=' + jQuery(window).width() + ',height=' + jQuery(window).height() + ',scrollbars=1,resizeable=1');
			mywindow.moveTo(0, 0);
		}
	}
}
function unsetClick() {
	clickedUs = true;
}

//ustawia wartość dla wybranego tekstu na kartce świątecznej
function setValue(hidden, selected) {
	var btn = selected.substr(0, selected.length - 1);
	var selectedI = selected.substr(selected.length - 1);
	for (var i = 1; i <= 4; ++i) {
		if (i != selectedI)
			jQuery("#" + btn + i).css("opacity", "0.55").css("filter", "alpha(Opacity=55)");
		else
			jQuery("#" + btn + i).css("opacity", "1").css("filter", "alpha(Opacity=100)");
	}
	var value = 1;
	switch (selectedI) {
		case "2":
			value = 2;
			break;
		case "3":
			value = 3;
			break;
		case "4":
			value = 4;
			break;
	}
	jQuery("#" + hidden).val(value);
	return false;
}


function openChildWindow(file, window) {
	childWindow = open(file, window, 'toolbar=no,menubar=no,width=500,height=260,resizable=yes,alwaysRaised=yes');
	if (childWindow.opener == null) childWindow.opener = self;
}

function alertForPayment() {
	var var_name = jQuery("input[name='pay_type']:checked").val();
	if (var_name == "b")
		alert("Aby przyspieszyć zaksięgowanie Państwa wpłaty prosimy po dokonaniu przelewu przesłać na maila przelewybankowe@chroma.pl POTWIERDZENIE DOKONANIA PRZELEWU (plik PDF do pobrania w każdym banku po zrealizowaniu wpłaty). Pozwoli to zaakceptować płatność w systemie Chroma Online, zlecenie trafi wtedy do Weryfikacji. W przypadku braku takiego potwierdzenia księgowanie wpłaty może potrwać od 1 do 2 dni roboczych.");
}


function daneZamowieniaWindow_loaded() {
	jQuery("#daneZamowieniaLoading").hide();
}


function daneZamowieniaWindow_loading() {

	jQuery('.daneZamowieniaLoading').width(jQuery(".daneZamowieniaWindow").width());
	jQuery('.daneZamowieniaLoading').height(jQuery(".daneZamowieniaWindow").height());
	jQuery('#daneZamowieniaLoading').show();
}

//Animacja progressbaru dla id => clientID progressbara, value => wartość progressa
function animateProgressBar(id, value) {
	jQuery(document).ready(function () {
		bar = $find(id.toString());
		bar.set_progressValue(value);
	});
}

function errorAnimation() {
	if (jQuery(".ErrorAnimation").html() != undefined) {
		var el = document.createElement("p");
		el.innerHTML = "Wystąpił błąd. Proszę sprawdzić aktualny status zamówienia";
		el.setAttribute("class", "error");
		var left = jQuery(".ErrorAnimation").position().left;
		var top = jQuery(".ErrorAnimation").position().top + 10;
		var style = "left:" + left + "px;top:" + top + "px;";
		el.setAttribute("style", style);

		jQuery(".ErrorAnimation").parent().append(el);
		window.setInterval(function () {
			jQuery(el).animate({ width: ['toggle', 'swing'], height: ['toggle', 'swing'] }, 5000, 'linear');

		}, 5000);
	}
}


function showIndicatorButton(clientIdButton, value) {
	if (typeof value === 'boolean') {
		if (value)
			jQuery(clientIdButton).after("<img src='/images/ajax-loader.gif' alt='czekaj...' />");
		return value;
	}
	if (value == null)
		jQuery(clientIdButton).after("<img src='/images/ajax-loader.gif' alt='czekaj...' />");
}


function drukwzoryClick() {
	jQuery("#smallImg p img").click(function () {
		SetBigImage(this);
	});
}
function SetBigImage(selectedElement) {
	if (jQuery(selectedElement).size() <= 0)
		return;
	var src = jQuery(selectedElement).attr("src").toString().replace(".png", "");
	var addText = "";
	jQuery("#bigImg img").fadeOut('normal', function () {
		jQuery("#bigImg img").attr("src", src + "_big.png"); jQuery("#bigImg img").fadeIn('normal');
		jQuery("#bigImg img").attr("alt", jQuery(selectedElement).attr("alt"));
		if (jQuery("#additionalText").val() != undefined)
			addText = jQuery("#additionalText").val() + " ";
		if (jQuery(selectedElement).next().is("br"))
			selectedElement = jQuery(selectedElement).next();
		if (jQuery(selectedElement).next() != undefined)
			jQuery("#bigText1").text(addText + jQuery(selectedElement).next().text());
		if (jQuery(selectedElement).next().next() != undefined)
			jQuery("#bigText2").html(jQuery(selectedElement).next().next().html());
	});
}

function addExpress(element, linkTo, identity, copyToLink) {
	var jEl = jQuery(element);
	if (jEl.html() == null)
		return;
	var id = jEl.removeClass("product_container").attr("class");
	var divExpress = jQuery("<a>").attr("id", element.toString().replace("a.", "") + identity).insertAfter(jQuery("div.products_content > a:last-child"));
	jEl.attr("class", "").addClass("product_container").addClass(id);
	jQuery(divExpress).css("position", "absolute").css("left", (jEl.find("img").position().left + 160) + "px").css("top", jEl.find("img").position().top + "px").width("20px").show();
	jQuery(divExpress).mouseover(function () { jQuery(this).stop().animate({ "left": jEl.find("img").position().left + "px", "width": "180px" }, "slow"); });
	jQuery(divExpress).mouseout(function () { jQuery(this).stop().animate({ "left": (jEl.find("img").position().left + 160) + "px", "width": "20px" }, "slow"); });
	if (jEl.attr("href").indexOf(linkTo) != -1) {
		jQuery(divExpress).attr("href", jEl.attr("href"));
		return;
	}
	if (linkTo.indexOf(".aspx") == -1 && copyToLink === true)
		jQuery(divExpress).attr("href", jEl.attr("href") + linkTo);
	else
		jQuery(divExpress).attr("href", linkTo);
}

function showHiddenProdukt(id, dialogId) {
	var dialog = $find(dialogId);
	if (dialog.get_windowState() == $IG.DialogWindowState.Normal) {
		dialog.hide();
	}
	else {
		dialog.show();
	}
	jQuery(".hiddenProducts a").hide();
	jQuery(id).show();
	var c = 0;
	jQuery(id).each(function () { c++; });
	dialog.setSize((75 + c * 200).toString() + "px", "230px");
	if (id == '.produkt_428')
		addExpress("a.Ulotki");
	else
		jQuery("a.Ulotki").hide();
}

/// <summary>
/// Resize home page element
/// </summary>
/// <param name="id">Id</param>
/// <param name="image">Image</param>
function ResizeHomePageElement(id, image) {
	if (jQuery(image).html() != null)
		jQuery(id).css("top", jQuery(image).position().top + "px").css("left", (jQuery(image).position().left + 160) + "px");
} // ResizeHomePageElement

/// <summary>
/// Delete window click
/// </summary>
function DeleteWindowClick(idZamowienia, windowId, hiddenId, clickedBtnId) {
	clickedDeletedBtn = clickedBtnId;
	hiddenIdZamowienie = idZamowienia;
	jQuery("#" + hiddenId).val(idZamowienia);
	return showDialog(windowId, false);
} // DeleteWindowClick(idZamowienia, windowId)

/// <summary>
/// Przeskocz do dialogu
/// </summary>
function przeskoczDoDialogu(clickedClass) {
	var next = jQuery("#" + clickedDeletedBtn).parent().parent().next();
	if (next.attr('class') == 'LazyPanel' && next.children().length == 0) {
		location.href = '/moje_konto.aspx?zamowienie=' + hiddenIdZamowienie + "&show=" + clickedClass + "#" + hiddenIdZamowienie;
	}
	else {
		ShowSpecialWindow(clickedClass);
	}
}
function ShowSpecialWindow(clickedClass) {
	if (jQuery('.' + clickedClass).html() == undefined)
		return;
	jQuery('.' + clickedClass).click();
	location.href = jQuery('.' + clickedClass).attr('href');
}

/// <summary>
/// Hide rest part
function hideRestPart(element) {
	$("#" + element).parent().prev().find('.OrderListRight').hide();
}

/// <summary>
/// Insert mikolajki
/// </summary>
function insertMikolajki() {
	$("#mikolajki").hide();
//	start = new Date(2011, 12, 7, 0, 0, 0);
//	window.setInterval(function () {
//	var difference = start.getTime() - new Date().getTime();
//	var daysDifference = Math.floor(difference / 1000 / 60 / 60 / 24);
//	difference -= daysDifference * 1000 * 60 * 60 * 24

//	var hoursDifference = Math.floor(difference / 1000 / 60 / 60);
//	difference -= hoursDifference * 1000 * 60 * 60

//	var minutesDifference = Math.floor(difference / 1000 / 60);
//	difference -= minutesDifference * 1000 * 60

//	var secondsDifference = Math.floor(difference / 1000);
//	if (difference < 0)
//		$("#mikolajki span").hide();
//		else
//			$("#mikolajki span").html(hoursDifference + "h:" + minutesDifference + "min:" + secondsDifference + "s");
//	}, 1000);    
} // insertMikolajki()

/// <summary>
/// Add required stars
/// </summary>
function addRequiredStars() {
	$("<span>").html("*").css("color", "#ff0000").appendTo($(".required").prevAll("label"));
} // addRequiredStars()
/// <summary>
/// Register click for list items
/// </summary>
function registerClickForListItems() {
	$(".adressBookContent ul li").click(function () { $(this).find("input").attr("checked", "checked"); });
} // registerClickForListItems()

