/*
	Requirements:
	- javascript libraries: prototype.js, window.js, mixo.js (for file uploads, modified version!)


*/

// Global settings:
var contentUrl = '/pagetypeclasses3/xmlcats_methods.php'; 	// Ajax callback methods
var waitImageHTML = '<img src="/gfx/wait.gif" width="16" height="16" />';

function showStep(num) {
	for (i = 1; i <= 5; i++) {
		if ($('step' + i+ 'tab'))
			Element.removeClassName('step' + i + 'tab', 'selected');
		if ($('step' + i))
			$('step' + i).hide();
	}
	$('step' + num).show();
	
	//Element.addClassName('step' + num + 'tab', 'selected');
	
	Element.toggleClassName('step' + num + 'tab', 'selected');
	return false;
}

function copyDeparmentData(mode) {
	departmentSelect = $('departmentSelect');
	
	
	var action = 'getDepartmentForTrainingData';
	var msg = $('waiting' + mode);
	
	
	
	if (!departmentSelect) {
		alert('Brak oddziałów firmy');
	}
	else if (departmentSelect.value > 0) {
		msg.innerHTML = waitImageHTML + ' trwa kopiowanie';
		new Ajax.Request(contentUrl,
			{
				method:'get',
				parameters: {
					a: action, 
					dataid: departmentSelect.value,
					purexml: 1
					},
				onSuccess: function(tr) {
					obj = tr.responseText.evalJSON();
					if (mode == 1) {	
						$('xdata[lokalizacja/ulica]').value = obj.ulica;
						$('xdata[lokalizacja/numer_domu]').value = obj.numer_domu;
						$('xdata[lokalizacja/numer_lokalu]').value = obj.numer_lokalu;
						$('xdata[lokalizacja/miejscowosc]').value = obj.miejscowosc;
						$('xdata[lokalizacja/gps_szerokosc]').value = obj.gps_szerokosc;
						$('xdata[lokalizacja/gps_dlugosc]').value = obj.gps_dlugosc;
						$('wojewodztwo').value = obj.wojewodztwo;
						
						$('powiat').innerHTML = '';
						powiaty = document.createElement('SELECT');
						for (i = 0; i < obj.powiaty.length; i++) {
							opt = new Option();
							opt.value = obj.powiaty[i].id;
							opt.text = obj.powiaty[i].name;
							powiaty.appendChild(opt);
						
						}
						powiaty.setAttribute('name', 'powiatsel');
						powiaty.setAttribute('id', 'powiatsel');
						powiaty.setAttribute('onchange', 'powChangedLoc()');
						powiaty.value = obj.powiat;
						$('powiat').appendChild(powiaty);
						
						$('gmina').innerHTML = '';
						gminy = document.createElement('SELECT');
						for (i = 0; i < obj.gminy.length; i++) {
							opt = new Option();
							opt.value = obj.gminy[i].id;
							opt.text = obj.gminy[i].name;
							gminy.appendChild(opt);
						
						}
						
						gminy.value = obj.gmina;
						gminy.setAttribute('name', 'pdata[options]');
						gminy.setAttribute('id', 'pdata[options]');
						$('gmina').appendChild(gminy);
					}
					if (mode == 2) {
						//$('xdata[kontakt/imie]').value = '';
						$('xdata[kontakt/nazwisko]').value = obj.osoba_kontaktowa;
						$('xdata[kontakt/telefon]').value = obj.telefon;
						$('xdata[kontakt/e_mail]').value = obj.email;
						$('xdata[kontakt/gg]').value = obj.gg;
						$('xdata[kontakt/skype]').value = obj.skype;
					}
					msg.innerHTML = "";
				},
				onFailure: function() { 
					
				}
			}
		);
	}
	else {
		alert('Oddział nie został wybrany.');
	}
}

function saveBeneficjentCompany() {
	var action = 'saveBeneficjentCompany';
	var msg = $('waitBase');
	
	var emailFilter=/^(\w+\.)*(\w+)@(\w+\.)+([a-zA-Z]{2,4})$/;
	
	
	if (!($('login').value) || !($('nazwa_firmy').value)) {
		alert('Uzupełnij wymagane pola');
		return;
	}
	
	if (!emailFilter.test($('login').value)) {
		alert('Login musi być poprawnym adresem e-mail');
		return;
	}
	
	if (($('password').value) != '' && ($('password').value != $('password_repeat').value)) {
		alert('Hasło i jego powtórzenie musi być takie samo');
		return;
	
	}
	
	if (($('password').value) != '' && ($('password').value == $('password_repeat').value) && ($('password').value.length < 4)) {
		alert('Hasło musi mieć co najmniej 4 znaki');
		return;
	}
	
	msg.innerHTML = waitImageHTML + ' trwa zapisywanie';
	new Ajax.Request(contentUrl,
		{
			method:'get',
			parameters: {	a: action, 
					purexml: 1,
					catalogueid: 4,
					login: $('login').value,
					password: $('password').value,
					password_repeat: $('password_repeat').value,
					nazwa_firmy: $('nazwa_firmy').value,
					osoba_zarzadzajaca: $('osoba_zarzadzajaca').value,
					//adres_ulica: $('adres_ulica').value,
					//adres_numer_domu: $('adres_numer_domu').value,
					//adres_numer_lokalu: $('adres_numer_lokalu').value,
					adres_miejscowosc: $('adres_miejscowosc').value,
					adres_kod: $('adres_miejscowosc').value,
					options: $('pdata[options]').value,
					adres_telefon_stacjonarny: $('adres_telefon_stacjonarny').value,
					adres_fax: $('adres_fax').value,
					adres_email: $('adres_email').value,
					adres_osoba_kontaktowa: $('adres_osoba_kontaktowa').value,
					gg: $('gg').value,
					skype: $('skype').value
				},
			onSuccess: function(transport) {
				var response = transport.responseText;
				msg.innerHTML = response;
				
			},
			onFailure: function() { 
				msg.innerHTML = 'Wystąpił błąd pobierania formularza. Skontaktuj się z administratorem.';
			}
		}
	);
	

}

function saveBeneficjentPerson() {
	var action = 'saveBeneficjentPerson';
	var msg = $('waitBase');
	
	var emailFilter=/^(\w+\.)*(\w+)@(\w+\.)+([a-zA-Z]{2,4})$/;
	
	
	if (!($('login').value) || !($('nazwisko').value) || !($('imie').value)) {
		alert('Uzupełnij wymagane pola');
		return;
	}
	
	if (!emailFilter.test($('login').value)) {
		alert('Login musi być poprawnym adresem e-mail');
		return;
	}
	
	if (($('password').value) != '' && ($('password').value != $('password_repeat').value)) {
		alert('Hasło i jego powtórzenie musi być takie samo');
		return;
	
	}
	
	if (($('password').value) != '' && ($('password').value == $('password_repeat').value) && ($('password').value.length < 4)) {
		alert('Hasło musi mieć co najmniej 4 znaki');
		return;
	}
	
	msg.innerHTML = waitImageHTML + ' trwa zapisywanie';
	new Ajax.Request(contentUrl,
		{
			method:'get',
			parameters: {	a: action, 
					purexml: 1,
					catalogueid: 4,
					login: $('login').value,
					password: $('password').value,
					password_repeat: $('password_repeat').value,
					imie: $('imie').value,
					nazwisko: $('nazwisko').value,
					data_urodzenia: $('calclientdata[data_urodzenia]').value,
					wyksztalcenie: $('wyksztalcenie').value,
					//adres_ulica: $('adres/ulica').value,
					//adres_numer_domu: $('adres/numer_domu').value,
					//adres_numer_lokalu: $('adres/numer_lokalu').value,
					adres_miejscowosc: $('adres/miejscowosc').value,
					options: $('pdata[options]').value,
					plec: $('plec').value,
					adres_telefon_stacjonarny: $('adres/telefon_stacjonarny').value,
					adres_telefon_komorkowy: $('adres/telefon_komorkowy').value,
					gg: $('gg').value,
					skype: $('skype').value
				},
			onSuccess: function(transport) {
				var response = transport.responseText;
				msg.innerHTML = response;
				
			},
			onFailure: function() { 
				msg.innerHTML = 'Wystąpił błąd pobierania formularza. Skontaktuj się z administratorem.';
			}
		}
	);
	
}

function saveBeneficjentPersonPefs() {
	var action = 'saveBeneficjentPersonPefs';
	var msg = $('waitBase');
	
	var zipFilter=/^([0-9]{2}-[0-9]{3})$/;
	var peselFilter=/^[0-9]{11}$/;
	
	if ($('imie').empty() || $('nazwisko').empty() || $('wiek').empty() ||  
		$('plec').empty() || $('wojewodztwo').empty() || $('powiat').empty() || 
		$('miejscowosc').empty() || 
		$('telstac').empty() || 
		$('telkom').empty()  || 
		$('login').empty()) {
	
		alert('Wypełnij wszystkie pola podstawowe');
		
		return;
	}
	
	if (!($('pesel').value) || !($('adres_kod').value) || !($('obszarmiejski').value) || !($('adres/ulica').value) || !($('adres/numer_domu').value)
		 || !($('adres/numer_lokalu').value) || !($('wyksztalcenie').value) || !($('opieka').value) || !($('statusnarynku').value)
		  || !($('szczegolystatusu').value)  || !($('rodzajwsparcia').value) || !($('elearning').value) || !($('udzial').value) || !($('powody').value)) {
		alert('Uzupełnij wymagane pola');
		return;
	}
	
	if (!zipFilter.test($('adres_kod').value)) {
		alert('Kod pocztowy musi być poprawny');
		return;
	}
	
	
	if (!peselFilter.test($('pesel').value)) {
		alert('Pesel musi składać się z 11 liczb');
		return;
	}
	
	
	msg.innerHTML = waitImageHTML + ' trwa zapisywanie';
	new Ajax.Request(contentUrl,
		{
			method:'get',
			parameters: {	a: action, 
					purexml: 1,
					catalogueid: 4,
					pesel: $('pesel').value,
					adres_kod: $('adres_kod').value,
					obszarmiejski: $('obszarmiejski').value,
					adres_ulica: $('adres/ulica').value,
					adres_numer_domu: $('adres/numer_domu').value,
					adres_numer_lokalu: $('adres/numer_lokalu').value,
					wyksztalcenie: $('wyksztalcenie').value,
					opieka: $('opieka').value,
					statusnarynku: $('statusnarynku').value,
					szczegolystatusu: $('szczegolystatusu').value,
					rodzajwsparcia: $('rodzajwsparcia').value,
					elearning: $('elearning').value,
					udzial: $('udzial').value,
					powody: $('powody').value
				},
			onSuccess: function(transport) {
				var response = transport.responseText;
				msg.innerHTML = response;
				
			},
			onFailure: function() { 
				msg.innerHTML = 'Wystąpił błąd pobierania formularza. Skontaktuj się z administratorem.';
			}
		}
	);
	
}

function editTrainingGoogleMap(trainingId) {
	var action = 'editTrainingGoogleMap';
	var title = "";
	
	win = new Window({
			className: "bluelighting", 
			minimizable: false,
			maximizable: false,
			title: "Położenie szkolenia",
			url: contentUrl + '?a=' + action + '&dataid=' + trainingId,
			width: 660, 
			height: 500, 
			destroyOnClose: true, 
			recenterAuto: false,
			showEffect:Effect.BlindDown,
			hideEffect: Effect.SwitchOff
		});
		
	win.showCenter(true);
}



function sendAskCompanyForm() {
	var emailFilter=/^(\w+\.)*(\w+)@(\w+\.)+([a-zA-Z]{2,4})$/;
	
	if (!($('askCompanyFormName').value) || !($('askCompanyFormPhone').value) || !($('askCompanyFormEmail').value) || !($('askCompanyFormContent').value.length > 1)) {
		alert('Wypełnij wszystkie pola');
		return;
	}
	else if (!emailFilter.test($('askCompanyFormEmail').value)) {
		alert('Wpisz poprawny adres e-mail');
		return;
	}
	else {
		//pageTracker._trackPageview('/pl/szkolenia/' + $('askCompanyFormTrainingId').value + '/' + $('askCompanyFormTrainingSymbol').value + '.php?companyMessageSent=x');
		
		new Ajax.Request(contentUrl,
			{
				method:'post',
				parameters: {	a: 'sendAskCompanyForm', 
						purexml: 1,
						catalogueid: 1,
						dataTrainingId: $('askCompanyFormTrainingId').value,
						companyDataId: $('askCompanyFormCompanyId').value,
						askCompanyFormName: $('askCompanyFormName').value,
						askCompanyFormPhone: $('askCompanyFormPhone').value,
						askCompanyFormEmail: $('askCompanyFormEmail').value,
						askCompanyFormContent: $('askCompanyFormContent').value
					},
				onLoading: function() {
					$('askCompanyForm').update('Trwa wysyłanie ...');
				},			
				onSuccess: function(transport) {
					$('askCompanyForm').update('Formularz został wysłany<br/><strong>Dziękujemy</strong>');
					setTimeout("$('askCompanyForm').hide();", 2000);
				},
				onFailure: function() { 
					$('askCompanyForm').update('Wystąpił błąd wysyłania formularza. <br/> Przepraszamy.');
					setTimeout("$('askCompanyForm').hide();", 2000);
				}
			}
		);
	}
}


function trainingAddTag(trainingId, tagName) {
	new Ajax.Request(contentUrl,
		{
			method:'post',
			parameters: {	
					a: 'setTrainingTag', 
					purexml: 1,
					trainingId: trainingId,
					tagName: tagName
				},
			onLoading: function() {
				$('tagAddingWaiting').show();
			},			
			onSuccess: function(transport) {
				$('tagAddingWaiting').hide();
				$('tagQuery').value = '';
				refreshTagsList(trainingId);
			},
			onFailure: function() { 
				$('tagAddingWaiting').hide();
				$('tagQuery').value = '';
				alert('Wystąpił błąd dodawania tagu');
			}
		}
	);
}

function refreshTagsList(trainingId) {
	new Ajax.Request(contentUrl,
		{
			method:'post',
			parameters: {	
					a: 'getTrainingTags', 
					purexml: 1,
					trainingId: trainingId
				},			
			onSuccess: function(transport) {
				$('tagsList').update(transport.responseText);
			}
		}
	);
}

function tagDelete(tagId, trainingId) {
	new Ajax.Request(contentUrl,
		{
			method:'post',
			parameters: {	
					a: 'deleteTrainingTags', 
					purexml: 1,
					trainingId: trainingId,
					tagId: tagId
				},			
			onSuccess: function(transport) {
				refreshTagsList(trainingId);
			}
		}
	);
}
