// konfiguracja cen - w naglowku dla latwiejszej edycji przez skrypt ustawien
CostNormalEmployer = 9;
CostPromoteEmployer = 25;
CostExclusiveEmployer = 50;
CostNormalEmployee = 5;
CostPromoteEmployee = 9;
CostExclusiveEmployee = 50;
CostNormalRooms = 9;
CostPromoteRooms = 9;
CostExclusiveRooms = 9;

// zmiana trybu dodawania zdjecia
function switchImageMode(Mode)
{
    switch(Mode)
    {
        // brak zdjecia
        case "none":
            hide("rowUpload");
            break;

        // zdjecie z komputera osoby
        case "upload":
            show("rowUpload", "list-item");
            break;
    }
}

// pokazywanie okienka dodawania kategorii
function newCategoryBox()
{
    show("categoriesBox", "block");
}

// ukrywanie okna dodawania kategorii
function closeCategoryBox()
{
    hide("categoriesBox");
}

// dodawanie nowej kategorii do listy
function saveCategory()
{
    if( document.getElementById("newCategoryNameField").value.trim().length == 0)
    {
        closeCategoryBox();
        return;
    }

    // ustawianie danych nowej kategorii
    IDUpper = document.getElementById("newCategoryIDUpper");
    selectedIndex = IDUpper.selectedIndex;
    document.getElementById("hdnNewCategoryUpperID").value = IDUpper[selectedIndex].value;
    document.getElementById("hdnNewCategoryName").value = document.getElementById("newCategoryNameField").value;

    // odczytywanie drzewa kategorii
    Path = "";
    if(IDUpper[selectedIndex].value != "0")
    {
        Path = IDUpper[selectedIndex].text + " -> ";
    }

    categoriesSelect = document.getElementById("lstCategories");
    newCategoryNameString = Path + document.getElementById("newCategoryNameField").value.trim();
    exists = false;

    // sprawdzanie, czy taka kategoria juz istnieje
    for(i = 0; i < categoriesSelect.length; i++)
    {
        if(categoriesSelect[i].text == newCategoryNameString)
        {
            categoriesSelect.selectedIndex = i;

            exists = true;
            break;
        }
    }

    // dodawanie opcji do listy
    if(!exists)
    {
        lastIndex = categoriesSelect.length;
        categoriesSelect.length++;
        categoriesSelect[lastIndex].value = "new";
        categoriesSelect[lastIndex].text = newCategoryNameString;

        // zaznaczanie tej kategorii jako wybranej
        categoriesSelect.selectedIndex = lastIndex;
    }

    // ukrywanie przycisku dodawanie kategorii
    hide("btnNewCategory");

    // zamykanie okna dodawania
    closeCategoryBox();
}

// pokazywanie okienka dodawania miasta
function newCity()
{
    // dodawanie nowego miasta do listy
    newCityNameString = window.prompt("Dodaj nową miejscowość:", "").trim();

    if(newCityNameString.length == 0)
    {
        return;
    }

    citiesSelect = document.getElementById("lstCities");

    // sprawdzanie, czy takie miasto juz istnieje
    for(i = 0; i < citiesSelect.length; i++)
    {
        if(citiesSelect[i].text == newCityNameString)
        {
            citiesSelect.selectedIndex = i;

            return;
        }
    }

    // dodawanie opcji do listy
    lastIndex = citiesSelect.length;
    citiesSelect.length++;
    citiesSelect[lastIndex].value = "new";
    citiesSelect[lastIndex].text = newCityNameString;
    document.getElementById("hdnNewCityName").value = newCityNameString;

    // zaznaczanie tej kategorii jako wybranej
    citiesSelect.selectedIndex = lastIndex;

    // ukrywanie przycisku dodawanie miasta
    hide("btnNewCity");
}

// zmiana typu ogloszenia
function switchType()
{
    // wszystkie potrzebne zmienne
    lstType = document.getElementById("lstType");
    lstDisplay = document.getElementById("lstDisplay");
	transfer = $('#lstTransfer');
   
    Type = parseInt(lstType.value);
    Mode = parseInt($('input:radio[name="add[display]"]:checked').val());

    sms = $('#lstSMS').parent('label');
    var totalCost = 0.0;

    switch (Type)
    {
        case 1:
			$('#p_norm').text(CostNormalEmployer+" zł");
			$('#p_prom').text(CostPromoteEmployer+" zł");
			$('#p_ex').text(CostExclusiveEmployer+" zł");


            switch (Mode)
            {
                case 1:
                    totalCost = CostNormalEmployer;
                    break;

                case 2:
                    totalCost = CostPromoteEmployer;
                    break;

                default:
                    totalCost = CostExclusiveEmployer;
                    break;
            }
            break;

        case 2:
			$('#p_norm').text(CostNormalEmployee+" zł");
			$('#p_prom').text(CostPromoteEmployee+" zł");
			$('#p_ex').text(CostExclusiveEmployee+" zł");
            switch (Mode)
            {
                case 1:
                    totalCost = CostNormalEmployee;
                    break;

                case 2:
                    totalCost = CostPromoteEmployee;
                    break;

                default:
                    totalCost = CostExclusiveEmployee;
                    break;
            }
            break;

        default:
			$('#p_norm').text(CostNormalRooms+" zł" );
			$('#p_prom').text(CostPromoteRooms+" zł");
			$('#p_ex').text(CostExclusiveRooms+" zł");
            switch (Mode)
            {
                case 1:
                    totalCost = CostNormalRooms;
                    break;

                case 2:
                    totalCost = CostPromoteRooms;
                    break;

                default:
                    totalCost = CostExclusiveRooms;
                    break;
            }
            break;
    }

    if (totalCost > 9) {
        transfer.checked = true;
        sms.css('visibility', 'hidden');
    }
    else
        sms.css('visibility', 'visible');

    $('#totalCost').text(totalCost);
}

// sprawdzanie poprawnosci calego formularza
function validateForm(form)
{
    // wazniejsze zmienne
    formItems = form.elements;

    // sprawdzanie, czy zostal wybrany typ ogloszenia
    if(!formItems["add[type]"].value)
    {
        alert("Musisz wybrać typ ogłoszenia.");
        formItems["add[type]"].focus();
        return false;
    }

    // sprawdzanie, czy zostal podany tytul ogloszenia
    if( formItems["add[name]"].value.trim().length == 0)
    {
        alert("Musisz wybrać tytuł ogłoszenia.");
        formItems["add[name]"].focus();
        return false;
    }

    // sprawdzanie, czy zostalo wybrane miasto
    if(!formItems["add[id_city]"].value)
    {
        alert("Musisz wybrać miejscowość.");
        formItems["add[id_city]"].focus();
        return false;
    }

    // sprawdzanie, czy zostal podany opis
    if( formItems["add[content]"].value.trim().length == 0)
    {
        alert("Musisz podać opis ogłoszenia.");
        formItems["add[content]"].focus();
        return false;
    }

    // sprawdzanie wymaganych pol
    if( formItems["add[email]"].value.trim().length == 0 && formItems["add[first_name]"].value.trim().length == 0 && formItems["add[phone]"].value.trim().length == 0)
    {
        alert("Musisz podać adres e-mail, numer telefonu, lub imię i nazwisko.");
        formItems["add[email]"].focus();
        return false;
    }

    // sprawdzanie poprawnosci adresu e-mail
    if( formItems["add[email]"].value.trim().length > 0 && !( /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i.test( formItems["add[email]"].value.trim() ) ))
    {
        alert("Podany adres e-mail jest niepoprawny.");
        formItems["add[email]"].focus();
        return false;
    }

    // sprawdzanie poprawnosci numeru telefonu
    if(!( /^[ 0-9\(\)\+-]*$/i.test( formItems["add[phone]"].value.trim() ) ))
    {
        alert("Podany numer telefonu jest nieprawidłowy.");
        formItems["add[phone]"].focus();
        return false;
    }

    // sprawdzanie ustalen platnosci
    if(!(formItems["add[display"].value == 1 && formItems["add[type]"].value == 3))
    {
        // kody SMS
        if( formItems["sms"].value.trim().length == 0)
        {
            alert("Nie wpisałeś kodu z SMSa.");
            formItems["sms"].focus();
            return false;
        }
    }

    // wypelniony poprawnie
    return true;
}

function platnosciForm() {
	r = $('#lstTransfer:checked').val();

	if (r) {
		$('#smsform').addClass('hidden');
		$('#platnosciform').removeClass('hidden');
	}
	else {
		$('#smsform').removeClass('hidden');
		$('#platnosciform').addClass('hidden');
	}
}

