function hideArea(elem) {
	if (elem.id.indexOf('_h') != -1)
		elem.id = elem.id.substring(0, elem.id.length - 2);
}

function showArea(elem) {
	if (elem.id.indexOf('_h') == -1)
		elem.id = elem.id + '_h';
}

function toggleAreaSrc(elem) {

	if (elem.src.indexOf('_h') == -1)
		elem.src = elem.src.substring(0, elem.src.length - 4) + '_h.gif';
	else
		elem.src = elem.src.substring(0, elem.src.length - 6) + '.gif';
}

function toggleClass(elem) {
	if (elem.className.indexOf('_s') != -1
			|| elem.className.indexOf('_f') != -1
			|| elem.className.indexOf('_c') != -1)
		return;
	if (elem.className.indexOf('_h') == -1)
		elem.className = elem.className + '_h';
	else
		elem.className = elem.className.substring(0, elem.className.length - 2);
}

function checkPassword() {
	var password = document.getElementById('password');
	if (password != null && password.value == '')
		password.value = 'haslo'
}

function clearInput(elem, text) {
	if (elem.value == text)
		elem.value = '';
}

function fillEmptyInput(elem, text) {
	if (elem.value == '')
		elem.value = text;
}

var ignoreToggle = false;
var invoice = false;
var rulesAccept = false;
var level = -1;
var payType = -1;

var oldPayTypeElem = null;
var oldLevelElem = null;

function toggleFullClass(elem) {
	if (ignoreToggle) {
		ignoreToggle = false;
		return;
	}
	if (elem.className.indexOf('_h') == -1)
		elem.className = elem.className + '_h';
	else
		elem.className = elem.className.substring(0, elem.className.length - 2);
}

function selectInvoice(elem) {
	if (ignoreToggle) {
		if (elem.className.indexOf('_h') == -1)
			elem.className = elem.className + '_h';
		else
			elem.className = elem.className.substring(0,
					elem.className.length - 2);
	}
	ignoreToggle = true;
	$('#invoice_data').toggle();
	invoice = !invoice;
}

function acceptRules(elem) {
	if (ignoreToggle) {
		if (elem.className.indexOf('_h') == -1)
			elem.className = elem.className + '_h';
		else
			elem.className = elem.className.substring(0,
					elem.className.length - 2);
	}
	ignoreToggle = true;
	rulesAccept = !rulesAccept;
}

function selectLevel(elem, lev) {
	if (oldLevelElem != null)
		oldLevelElem.className = oldLevelElem.className.substring(0,
				oldLevelElem.className.length - 2);
	oldLevelElem = elem;
	level = lev;
	elem.className = elem.className + '_h';

	if (lev == 1 || lev == 2) {
		if (payType == 'sms')
			document.forms['payform'].amount.value = '610';
		else
			document.forms['payform'].amount.value = '2500';
		if (lev == 1)
			document.forms['payform'].desc.value = 'ZdajObowiazkowo.pl - poziom podstawowy';
		else
			document.forms['payform'].desc.value = 'ZdajObowiazkowo.pl - poziom rozszerzony';
	} else if (lev == 3) {
		if (payType == 'sms')
			document.forms['payform'].amount.value = '732';
		else
			document.forms['payform'].amount.value = '4000';
		document.forms['payform'].desc.value = 'ZdajObowiazkowo.pl - poziom podst. + rozsz.';
	}
}

function selectPayType(elem, type) {
	if (type == -1 && oldPayTypeElem != null) {
		oldPayTypeElem.className = oldPayTypeElem.className.substring(0,
				oldPayTypeElem.className.length - 2);
		payType = type;
		oldPayTypeElem = null;
		return;
	}
	if (oldPayTypeElem != null)
		oldPayTypeElem.className = oldPayTypeElem.className.substring(0,
				oldPayTypeElem.className.length - 2);
	oldPayTypeElem = elem;
	payType = type;
	document.forms['payform'].pay_type.value = type;
	if (type == 'sms'
			&& (document.forms['payform'].amount.value == '500' || document.forms['payform'].amount.value == '600')) {
		document.forms['payform'].pos_id.value = '20787';
		document.forms['payform'].pay_type.value = null;
		document.forms['payform'].pos_auth_key.value = 'exf37tV';
		if (document.forms['payform'].amount.value == '500')
			document.forms['payform'].amount.value = '610';
		else if (document.forms['payform'].amount.value == '600')
			document.forms['payform'].amount.value = '732';
	} else if (document.forms['payform'].amount.value == '610'
			|| document.forms['payform'].amount.value == '732') {
		document.forms['payform'].pos_id.value = '20140';
		if (document.forms['payform'].amount.value == '610')
			document.forms['payform'].amount.value = '500';
		else if (document.forms['payform'].amount.value == '732')
			document.forms['payform'].amount.value = '600';
		document.forms['payform'].pos_auth_key.value = 'iMpguZN';
	}
	elem.className = elem.className + '_h';
}

function continuePayment() {
	var error = false;
	if (level == -1) {
		$('#feedback_msg').text('Wybierz poziom dostępu');
		error = true;
	}
	if (!error && payType == -1) {
		$('#feedback_msg').text('Wybierz typ płatności');
		error = true;
	}
	if (!error && invoice && emptyData()) {
		$('#feedback_msg').text(
				'Jeżeli chcesz otrzymać fakturę, wypełnij wszystkie pola.');
		error = true;
	}
	if (!error && invoice
			&& !validPC(document.forms['invoice_form'].postal_code.value)) {
		$('#feedback_msg').text('Niepoprawny kod pocztowy');
		error = true;
	}
	if (!error && invoice
			&& !validNIP(document.forms['invoice_form'].nip.value)) {
		$('#feedback_msg').text('Niepoprawny NIP');
		error = true;
	}
	if (!error && !rulesAccept) {
		$('#feedback_msg').text('Wymagana akceptacja regulaminu');
		error = true;
	}

	var multiplyInput=document.getElementById('multiply');
	if(multiplyInput!=null){
		document.forms['payform'].amount.value*=multiplyInput.value;
		if(!confirm("Kwota do przelania: " + document.forms['payform'].amount.value/100))
			return;
	}
	
	if (error) {
		$('#feed_inv').show();
	} else {
		$('#feed_inv').hide();
		if (document.forms['payform'].amount.value == 610
				|| document.forms['payform'].amount.value == 732) {
			document.forms['payform'].action = 'https://www.platnosci.pl/paygw/UTF/NewSMS';
		} else
			document.forms['payform'].action = 'https://www.platnosci.pl/paygw/UTF/NewPayment';
		saveTransaction();
	}
}

function saveTransaction() {
	$.post("obslugaplatnosci", {
		sessionId : document.forms['payform'].session_id.value,
		level : level,
		invoice : invoice,
		name : document.forms['invoice_form'].name.value,
		address : document.forms['invoice_form'].address.value,
		postal : document.forms['invoice_form'].postal_code.value,
		city : document.forms['invoice_form'].city.value,
		nip : document.forms['invoice_form'].nip.value
	}, function(data) {
		var code = data.substring(6, data.length - 7);
		if (code == "-1") {
			$('#service_msg').text('Wystąpił błąd aplikacji');
			$('#service_box_ok').attr("onclick", "goHome()");
			$('#service_box').show();
		} else if (code == "2") {
			$('#service_msg').text('Rozpoczęto ten typ transakcji');
			$('#service_box_ok').attr("onclick", "hideServiceBox()");
			$('#service_box').show();
		} else if (code == "3") {
			$('#service_msg').text('Posiadasz już ten poziom dostępu');
			$('#service_box_ok').attr("onclick", "hideServiceBox()");
			$('#service_box').show();
		} else if (code == "1") {
			document.forms['payform'].submit();
		} else {// nawet dla calej strony
				$('#service_msg').text('Twoja sesja wygasła');
				$('#service_box_ok').attr("onclick", "goHome()");
				$('#service_box').show();
			}
		});
}

function hideServiceBox() {
	$('#service_box').hide();
}

function goHome() {
	window.location = '/';
}

function emptyData() {
	return document.forms['invoice_form'].name.value == ''
			|| document.forms['invoice_form'].address.value == ''
			|| document.forms['invoice_form'].postal_code.value == ''
			|| document.forms['invoice_form'].city.value == ''
			|| document.forms['invoice_form'].nip.value == '';
}

function validPC(input_data) {
	return input_data.match(/^[0-9]{2}-[0-9]{3}$/);
}

function validNIP(input_data) {
	if (!input_data.match(/^[0-9]{3}-[0-9]{2}-[0-9]{2}-[0-9]{3}$/)
			&& !input_data.match(/^[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}$/)
			&& !input_data.match(/^[0-9]{10}$/))
		return false;
	var my_nums = input_data.replace(/-/g, '');
	var valid_nums = "657234567";
	var sum = 0;
	for ( var temp = 8; temp >= 0; temp--)
		sum += (parseInt(valid_nums.charAt(temp)) * parseInt(my_nums
				.charAt(temp)));
	if ((sum % 11) == 10 ? false : ((sum % 11) == parseInt(my_nums.charAt(9))))
		return true;
	else
		return false;
}

function hide_baner() {
	document.getElementById('baner_boczny').style.display = 'none';
}
