/*global jQuery, $, tinyMCE, tinyMCEconfigs, TabsHelper, undefinedValue, stopPropagation, hideRow, showRow, genPass, getKeyFromEvent, editorGetContent */
/*jslint bitwise: true, browser: true, eqeqeq: true, immed: true, newcap: true, nomen: true, onevar: true, plusplus: true, regexp: true, strict: true, undef: true, white: true */

"use strict";

function calcBasket() {
	window.location.href = 'index.php?n=koszyk';
	return false;
}

function changeTransport(el) {
	$.post("aindex.php?action=changeTransport", { value: $(el).val() },
		function (data) {
			window.location.href = 'index.php?n=koszyk';
			return false;
		}
	);
}

function checkNIP(nip) {
	var expr_nip = /^\d{3}\-\d{2}\-\d{2}\-\d{3}$|^\d{3}\-\d{3}\-\d{2}\-\d{2}$/;
	if (expr_nip.test(nip)) {
		var wagi = [6, 5, 7, 2, 3, 4, 5, 6, 7],
			arr = (nip.replace(/-/g, '')).split(''),
			i, suma = 0;
		for (i = 0; i < wagi.length; i++) {
			suma += parseInt(arr[i], 10) * wagi[i];
		}

		return suma % 11 === parseInt(arr[9], 10);
	} else {
		return false;
	}
}

function checkEmail(email) {
	var expr_email = /^[A-Z0-9._%+\-]+@[A-Z0-9.\-]+\.[A-Z]{2,4}$/;

	return expr_email.test($.trim(email).toUpperCase());
}

function embedFlash(flash, id, variable) {
	var so = new SWFObject(flash, id + "_flash", "278", "190", "6", "#FFFFFF");
	so.addParam("allowScriptAccess", "sameDomain");
	so.addParam("movie", flash);
	so.addParam("loop", "false");
	so.addParam("menu", "false");
	so.addParam("quality", "high");
	so.addVariable("id", variable);
	so.write(id);
}

//dodawanie komentarza
function AddComment(id) {
	var koment = $('#koment').serialize();

	$('#tresc').val('');

	$.ajax({
		type: 'POST',
		url: 'aindex.php?action=AddComment&id=' + id,
		data: koment,
		success: function (data) {
			alert(data);
		}
	});
}

// dodaje newsletterowiczow do bazu
function NewsletterSubscribe() {
	var email = $('#newsletter_email').val();
	$('#newsletter_email').val('');

	$.ajax({
		type: 'POST',
		url: 'aindex.php?action=NewsletterSubscribe',
		data: 'email=' + email,
		success: function (data) {
			alert(data);
		}
	});
}

// ustawia ilosc produktu
function SetProductQuantity(id) {
	var el = $('#ilosc_' + id),
		regex = /^\d+$/;
	if (!regex.test(el.val()) || el.val() < 1) {
		//alert('Zła wartość.');
		//el.css('background-color', 'red');
		//return false;
	}
	else {
		el.css('background-color', '');
		$.get("aindex.php", { action: "SetProductQuantity", id: id, quantity: el.val() },
			function (data) {
				el.val(data);
			}
		);
	}
	return true;
}

// dodawanie do koszyka
function AddToBasket(sid, styp) {
    // var sdane = $("#edit_client").serialize();
    $.get("aindex.php", { action: "AddToBasket", id: sid, typ: styp },
		function (data) {
			$("#infoBox").html(data);
		}
	);

	var $msg = '';
	if (parseInt(styp, 10) === 1) {
		$msg = 'Dodano produkt do koszyka';
	}
	else {
		$msg = 'Dodano produkt do przechowalni';
	}

	$('#koszyk_add_msg').hide().html($msg).fadeIn('slow');
	setTimeout(function () {
		$('#koszyk_add_msg').fadeOut('slow');
	}, 3000);
}

function pk(ktory) {
    var myArray = ['wmain_black', 'wmain_yellow', 'wmain_green', 'wmain_gray'],
		i;
    for (i = 0; i < 4; ++i) {
		if (myArray[i] === ktory) {
			$("#" + myArray[i]).show();
		} else {
			$("#" + myArray[i]).hide();
		}
    }
}

function zd(ktory) {
	var i;
    for (i = 0; i < 4; ++i) {
		$("#zd" + i).hide();
		$("#zd" + i + "l").removeClass("active");
    }
    $("#zd" + ktory).show();
    $("#zd" + ktory + "l").addClass("active");
}

// usuwa produkt z koszyka
function RemoveFromBasket(sid) {
/*
	$('#p' + sid).remove();
	$.get("aindex.php", { action: "RemoveFromBasket", id: sid },
		function(data){
			$("#infoBox").html(data);
		}
	);
*/
	$.get("aindex.php", { action: "RemoveFromBasket", id: sid },
		function (data) {
			window.location.href = 'index.php?n=koszyk';
			return false;
		}
	);

}
// usuwa produkt z koszyka
function MoveItem(sid, gdzie) {
    $.get("aindex.php", { action: "MoveItem", id: sid, typ: gdzie },
    function (data) {
		$("#infoBox").html(data);
    });
}

// testuje formularz rejestracji
function test_register_form(form) {
	var regex = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$', 'i');
	if (!form.elements['login'].value.match(regex)) {
		alert('Zły adres email.');
		return false;
	}
	if (form.elements['password'].value !== form.elements['password1'].value) {
		alert('Hasło i jego powtórzenie są rózne.');
		return false;
	}
	if (form.elements['password'].value.length < 6) {
		alert('Hasło powinno mieć przynajmniej 6 znaków.');
		return false;
	}
	if (!form.elements['accept'].checked) {
		alert('Musisz zaakceptować warunki regulaminu aby się zarejestrować.');
		return false;
	}
	return true;
}

// testuje formularz odzyskiwania hasla
function test_passrec_form(form) {
	var regex = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$', 'i');
	if (!form.elements['login'].value.match(regex)) {
		alert('Zły adres email.');
		return false;
	}
	return true;
}

// testuje formularz odzyskiwania hasla
function test_opinia_form(form) {
	var regex = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$', 'i');
	if (!form.elements['email'].value.match(regex)) {
		alert('Zły adres email.');
		return false;
	}
	if (form.elements['message'].value.length === 0) {
		alert('Prosze podać treść wiadomości.');
		return false;
	}
	return true;
}

// testuje formularz kontaktu
function test_contact_form(form) {
	var regex = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$', 'i');
	if (!form.elements['email'].value.match(regex)) {
		alert('Prosze podać poprawny adres email.');
		return false;
	}
	if (form.elements['temat'].value.length === 0) {
		alert('Prosze podać temat wiadomości.');
		return false;
	}
	if (form.elements['wiadomosc'].value.length === 0) {
		alert('Prosze podać treść wiadomości.');
		return false;
	}
	return true;
}

function checkProfile(form) {
	var expr_tel = /^\d{7,}$/,
		expr_kod = /^\d{2}[\- ]?\d{3}$/;

	if ($.trim(form.nazwa.value) === "") {
		form.nazwa.style.border = "1px solid #b80303";
		alert("Podaj imię i nazwisko.");
		form.nazwa.focus();
		return false;
	} else if ($.trim(form.adres.value) === "") {
		form.adres.style.border = "1px solid #b80303";
		alert("Podaj pełny adres.");
		form.adres.focus();
		return false;
	} else if (!expr_kod.test(form.kod.value)) {
		form.kod.style.border = "1px solid #b80303";
		alert("Wpisz poprawny Kod.\nDozwolone formaty to: 'XX-XXX', 'XX XXX', XXXXX.");
		form.kod.focus();
		return false;
	} else if ($.trim(form.miasto.value) === "") {
		form.miasto.style.border = "1px solid #b80303";
		alert("Wypełnij pole 'Miasto'");
		form.miasto.focus();
		return false;
	} else if ($.trim(form.tel.value) === "") { // poniewaz ludzie nie umia czytac, to zmniejszamy warunki poprawnosci
		form.tel.style.border = "1px solid #b80303";
		alert("Wpisz nr telefonu.");
		form.tel.focus();
		return false;
/*
	} else if (!expr_tel.test(form.tel.value)) {
		form.tel.style.border = "1px solid #b80303";
		alert("Wpisz poprawie nr telefonu.\nDozwolone tylko cyfry, minimum 7.");
		form.tel.focus();
		return false;
	}
*/
	} else if (!checkEmail(form.email2.value)) {
		form.email2.style.border = "1px solid #b80303";
		alert("Zły format adresu E-mail");
		form.email2.focus();
		return false;
	}

	if ($('input:checked').val() == 1) {
		if ($.trim(form.firma.value) === "") {
			form.firma.style.border = "1px solid #b80303";
			alert("Podaj nazwę firmy.");
			form.firma.focus();
			return false;
		} else if (!checkNIP(form.nip.value)) {
			form.nip.style.border = "1px solid #b80303";
			alert("Niepoprawny NIP lub w złym formacie.\nDozwolone to: 'XXX-XX-XX-XXX' i 'XXX-XXX-XX-XX'.");
			form.nip.focus();
			return false;
		}
	}

	if ($.trim(form.adres_k.value).length || $.trim(form.kod_k.value) || $.trim(form.miasto_k.value)) {
		if ($.trim(form.adres_k.value) === "") {
			form.adres_k.style.border = "1px solid #b80303";
			alert("Podaj pełny adres.");
			form.adres_k.focus();
			return false;
		} else if (!expr_kod.test(form.kod_k.value)) {
			form.kod_k.style.border = "1px solid #b80303";
			alert("Wpisz poprawny Kod.\nDozwolone formaty to: 'XX-XXX', 'XX XXX', XXXXX.");
			form.kod_k.focus();
			return false;
		} else if ($.trim(form.miasto_k.value) === "") {
			form.miasto_k.style.border = "1px solid #b80303";
			alert("Podaj miasto.");
			form.miasto_k.focus();
			return false;
		}
	}

	return true;
}

var lid = 0;

function slownik(id) {
  if ($("#s"+lid).is(':visible') && lid != id) {
    $("#s"+lid).hide();
    $("#h"+lid).hide();
    $("#l"+lid).removeClass("active");
  } 
  
  if ($("#s"+id).is(':visible')) {
    $("#s"+id).hide();
    $("#h"+id).hide();
    $("#l"+id).removeClass("active");
  } else {
    $("#s"+id).show();
    $("#h"+id).show();
    $("#l"+id).addClass("active");
  }
  
  lid = id;

}

jQuery(function ($) {
	$('#slider').marquee()
	.mouseover(function () {
		$(this).trigger('stop');
	})
	.mouseout(function () {
		$(this).trigger('start');
	});

	$("#roller").cycle({
		fx: 'fade'
	});
});
