// ADMIN
function OfferValidate(f) {

    alertPrefix = 'FORMULARZ ZAWIERA NIEPRAWIDŁOWE DANE!\n';
    alerts = new Array();
    tinyMCE.triggerSave();


    // miejscowosc
    if ( f.elements['miejscowosc'] != null && f.elements['miejscowosc'].value == '' )
    { alerts.push('Pole [Lokalizacja] powinno zawierać przynajmniej nazwę miejscowości'); }

    // pokoje
    if ( f.elements['pokoje'] != null && !f.elements['pokoje'].value.match(/^[0-9]{1,4}$/) )
    { alerts.push('Pole [Ilość pokoi] powinno zawierać liczbę całkowitą'); }

    // pietro
    if ( f.elements['pietro'] != null && !f.elements['pietro'].value.match(/^[0-9]{1,4}$/) )
    { alerts.push('Pole [Piętro] powinno zawierać liczbę całkowitą'); }

    // ilosc pieter
    if ( f.elements['iloscpieter'] != null && !f.elements['iloscpieter'].value.match(/^[0-9]{1,4}$/) )
    { alerts.push('Pole [Ilość pięter] powinno zawierać liczbę całkowitą'); }

    // rok budowy
    if ( f.elements['rokbiloscpieterudowy'] != null && f.elements['rokbudowy'].value.length > 10 )
    { alerts.push('Pole [Rok budowy] powinno zawierać max. 10 znaków'); }

    // cena ofert
    if ( f.elements['cenaofert'] != null && !f.elements['cenaofert'].value.match(/^[0-9]{2,12}$/) )
    { alerts.push('Pole [Cena ofertowa] powinno zawierać tylko cyfry'); }
    
    // czynsz ofert
    if ( f.elements['czynszofert'] != null && !f.elements['czynszofert'].value.match(/^[0-9]{2,12}$/) )
    { alerts.push('Pole [Czynsz ofertowy] powinno zawierać tylko cyfry'); }

    // metraz
    if ( f.elements['metraz'] != null && !f.elements['metraz'].value.match(/^[0-9]{1,6}(,[0-9]{1,2})?$/) )
    { alerts.push('Pole [Metraż] powino być liczbą całkowitą lub ułamkiem dziesiętnym z przecinkiem.\n  (max 2 miejsca po przecinku)'); }

    // powierzchnia dzialki
    if ( f.elements['powdzialki'] != null && !f.elements['powdzialki'].value.match(/^[0-9]{2,12}$/) )
    { alerts.push('Pole [Powierzchnia działki] powinno zawierać tylko cyfry'); }

    // typ lokalu
    if ( f.elements['typlokalu[]'] != null && CheckSetHasAnyChecked( f.elements['typlokalu[]'] ) == 0 )
    { alerts.push('Pole6 [Typ lokalu] musi mieć zaznaczoną przynajmniej jedną opcję'); }

    // typ obiektu
    if ( f.elements['typobiektu[]'] != null && CheckSetHasAnyChecked( f.elements['typobiektu[]'] ) == 0 )
    { alerts.push('Pole [Typ obiektu] musi mieć zaznaczoną przynajmniej jedną opcję'); }

    // typ dzialki
    if ( f.elements['typdzialki[]'] != null && CheckSetHasAnyChecked( f.elements['typdzialki[]'] ) == 0 )
    { alerts.push('Pole [Typ działki] musi mieć zaznaczoną przynajmniej jedną opcję'); }

    // nroferty
    if ( f.elements['nroferty'] != null && f.elements['nroferty'].value == '' )
    { alerts.push('Pole [Numer oferty] jest puste'); }

    if ( alerts.length > 0 ) {
        window.alert( alertPrefix + '- ' + alerts.join('\n- ') );
        return false;
    }
    else
        return true;
}


// ------------------------------

// ADMIN
function ofPrzeterminowaneCheck( f ) {

    chboxes = f.elements['ofertySel[]'];
    action = f.elements['A'];
    termin = f.elements['nowytermin'].options[ f.elements['nowytermin'].selectedIndex ].value;
    chckdCounter = 0;
    
    if(chboxes.length)
        for (i=0; i<chboxes.length; i++) { if (chboxes[i].checked) chckdCounter++; }
    else
        chckdCounter = chboxes.checked ? 1 : 0;

    if (chckdCounter == 0) {
        alert('Nie zaznaczono żadnych ofert');
        return false;
    }
    else {
        if (action[0].checked)      msg = 'Czy na pewno chcesz je usunąć?';
        else if (action[1].checked) msg = 'Czy na pewno chcesz przedłużyć termin do '+termin;

        return confirm('Zaznaczono '+chckdCounter+' ofert.\n'+msg);
    }
    return true;
}


// ADMIN
function ofListDeleteCheck( f ) {

    chboxes = f.elements['ofertySel[]'];
    chckdCounter = 0;
    
    if (chboxes.length)
        for (i=0; i<chboxes.length; i++) { if (chboxes[i].checked) chckdCounter++; }
    else
        chckdCounter = chboxes.checked ? 1 : 0;
  
    if (chckdCounter == 0) {
        alert('Nie zaznaczono żadnych ofert'); return false;
    }
    else {
        return confirm('Zaznaczono '+chckdCounter+' ofert.\nCzy na pewno chcesz je usunąć?');
    }
}

// ADMIN
function formSwapCheck( formid, checkname ) {

    f = document.getElementById( formid );
    chboxes = f.elements[checkname];

    if (!chboxes.length) {
        chboxes.checked = !chboxes.checked;
    }
    else {
        for (i=0; i<chboxes.length; i++)
            chboxes[i].checked = !chboxes[i].checked;
    }
    return true;
}


// ////////////////////////////////////////////////////////////
// RYNEK PIERWOTNY
// ////////////////////////////////////////////////////////////

// ADMIN
function opValidFormInwestycje( f, tryb ) {

    alertPrefix = 'FORMULARZ ZAWIERA NIEPRAWIDŁOWE DANE!\n';
    alerts = new Array();
  tinyMCE.triggerSave();

    // nazwa inwestycji
    if ( f.elements['nazwa'] != null && f.elements['nazwa'].value == '' )
    { alerts.push('Pole [Nazwa inwestycji] jest puste'); }

    // miejscowosc
    if ( f.elements['miejscowosc'] != null && f.elements['miejscowosc'].value == '' )
    { alerts.push('Pole [Lokalizacja] powinno zawierać przynajmniej nazwę miejscowości'); }

    // rodzaj inwestycji
    if ( f.elements['rodzaj'] != null && f.elements['rodzaj'].value == '' )
    { alerts.push('Pole [Rodzaj inwestycji] jest puste'); }

  // termin real.
    if ( f.elements['termin'] != null && f.elements['termin'].value == '' )
    { alerts.push('Pole [Termin realizacji] jest puste'); }
    
    // metraze
    if ( f.elements['metraze'] != null && f.elements['metraze'].value == '' )
    { alerts.push('Pole [Metraże] jest puste'); }

    // ceny
    if ( f.elements['ceny'] != null && f.elements['ceny'].value == '' )
    { alerts.push('Pole [Ceny] jest puste'); }
    
  // plik - tylko dla formularza dodawania inwestycji
  if (tryb==0) {
    if ( f.elements['plik_foto'] != null && f.elements['plik_foto'].value == '' )
    { alerts.push('Pole [Zdjęcie] jest puste'); }
  }
    // opis
    if ( f.elements['opis'] != null && f.elements['opis'].value == '' )
    { alerts.push('Pole [Opis ogólny] jest puste'); }


    if ( alerts.length > 0 ) {
        window.alert( alertPrefix + '- ' + alerts.join('\n- ') );
        return false;
    }
    else
        return true;
}

// ADMIN
function opFormSpecyfikacjaValidate(f) {

    var alertPrefix = 'WSZYSTKIE POLA FORMULARZA SĄ WYMAGANE!\nNiżej wymienione pola pozostały puste:\n\n';
    var alerts = new Array();

    var opcje = f.elements['opcje[]'];
    var ids = f.elements['ids[]'];
    var klucze = f.elements['klucze[]'];

    for (i=0; i<opcje.length; i++) {
        if (opcje[i].value == '') alerts.push( klucze[i].value );
    }

    if ( alerts.length > 0 ) {
        window.alert( alertPrefix + '- ' + alerts.join('\n- ') );
        return false;
    }
    else
        return true;
}


// ADMIN
function opValidFormObiekty(kat, f) {

  // kat = 1 : mieszkania
  // kat = 2 : domy

    var alertPrefix = 'WSZYSTKIE POLA FORMULARZA SĄ WYMAGANE!\nNiżej wymienione pola pozostały puste:\n\n';
    var alerts = new Array();

    // numer/oznaczenie budynku
    if ( f.elements['numer'] != null && f.elements['numer'].value == '' )
    { alerts.push('Pole [Numer] jest puste'); }

    // pietro : tylko mieszkania
    if (kat==1) {
    if ( f.elements['pietro'] != null && !f.elements['pietro'].value.match(/^[0-9]{1,2}$/) )
    { alerts.push('Pole [Piętro] powino być liczbą całkowitą.'); }
  }

  // metraz
  if ( f.elements['metraz'] != null && !f.elements['metraz'].value.match(/^[0-9]{1,6}(,[0-9]{1,2})?$/) )
  { alerts.push('Pole [Metraż] powino zawierać liczbę całkowitą lub ułamek dziesiętny z przecinkiem.\n  (max 2 miejsca po przecinku)'); }

  // powierzchnia działki : tylko domy
  if (kat==2) {
    if ( f.elements['pow_dzialki'] != null && !f.elements['pow_dzialki'].value.match(/^[0-9]{1,6}$/) )
    { alerts.push('Pole [Powierzchnia działki] powino zawierać liczbę całkowitą.'); }
  }

  // pokoje
  if ( f.elements['pokoje'] != null && !f.elements['pokoje'].value.match(/^[0-9]{1,6}$/) )
  { alerts.push('Pole [Pokoje] powino zawierać liczbę całkowitą.'); }

  // cena
  // if ( f.elements['cena'] != null && !f.elements['cena'].value.match(/^[0-9]{1,8}$/) )
  // { alerts.push('Pole [Cena brutto] powino zawierać liczbę całkowitą.'); }

  if ( alerts.length > 0 ) {
    window.alert( alertPrefix + '- ' + alerts.join('\n- ') );
    return false;
  }
  else
    return true;
}

// ADMIN
function opObiektTrybDodaj() {
  pullDownAction('KontenerFormObietky');
  var f = document.getElementById('formObiekty');
  f.elements['objid'].value = '0';
  f.elements['A'].value = '4';
  f.elements['submitClick'].value = 'DODAJ OBIEKT';
  // wyczysc pola
  if (f.elements['numer']!=null)       f.elements['numer'].value = '';
  if (f.elements['pietro']!=null)      f.elements['pietro'].value = '';
  if (f.elements['metraz']!=null)      f.elements['metraz'].value = '';
  if (f.elements['pow_dzialki']!=null) f.elements['pow_dzialki'].value = '';
  if (f.elements['pokoje']!=null)      f.elements['pokoje'].value = '';
  if (f.elements['cena']!=null)        f.elements['cena'].value = '';
}

// ADMIN
function opObiektTrybEdytuj(id, dane) {
  pullDownAction('KontenerFormObietky');
  var f = document.getElementById('formObiekty');
  f.elements['objid'].value = id;
  f.elements['A'].value = '5';
  f.elements['submitClick'].value = 'ZAPISZ ZMIANY';
  // wypelnij pola danymi
  for (i=0; i<dane.length; i+=2) {
    if (f.elements[dane[i]]!=null) f.elements[dane[i]].value = dane[i+1];
  }
}

// ADMIN
function opObiektKopiuj(dane) {
  pullDownAction('KontenerFormObietky');
  var f = document.getElementById('formObiekty');
  f.elements['objid'].value = '0';
  f.elements['A'].value = '4';
  f.elements['submitClick'].value = 'DODAJ OBIEKT';
  // wypelnij pola danymi
  for (i=0; i<dane.length; i+=2) {
    if (f.elements[dane[i]]!=null) f.elements[dane[i]].value = dane[i+1];
  }
}


// ADMIN
function opValidFormUsunObiekty(f) {

    chboxes = f.elements['objid[]'];
    chckdCounter = 0;
    
    if (chboxes.length)
        for (i=0; i<chboxes.length; i++) { if (chboxes[i].checked) chckdCounter++; }
    else
        chckdCounter = chboxes.checked ? 1 : 0;

    if (chckdCounter == 0) {
        alert('Nie zaznaczono żadnych obiektów');
        return false;
    }
    else {
        return confirm('Zaznaczono '+chckdCounter+' obiektów.\nCzy na pewno chcesz je usunść?');
    }
    return true;

}

// ADMIN
function ProfilLogoValidate(f) {
    if (f.elements['logo'].value == '') { window.alert('Nie wybrano żadnego pliku.'); return false; }
    return true;
}

// ADMIN
function ProfilFormValidate(f) {
  tinyMCE.triggerSave();
    if (f.elements['nazwa'].value == '') { window.alert('Podaj pełną nazwę firmy!'); return false; }
    if (f.elements['nazwak'].value == '') { window.alert('Podaj skróconą nazwę firmy - max. 20 znaków!'); return false; }
    if (f.elements['adres1'].value == '') { window.alert('Podaj adres firmy!'); return false; }
    if (f.elements['adres2'].value == '') { window.alert('Podaj adres firmy!'); return false; }
    if (f.elements['tel1'].value == '' && f.elements['tel2'].value == '') { window.alert('Podaj przynajmniej jeden telefon!'); return false; }
    if (f.elements['email'].value == '') { window.alert('Podaj adres e-mail!'); return false; }
    if (f.elements['opis'].value == '') { window.alert('Podaj opis prezentujący firmę!'); return false; }
    return true;
}

// ADMIN
function ProfilPassValidate(f) {
    // if (f.elements['haslostare'].value == '') { window.alert('Podaj aktualne hasło!'); return false; }
    if (f.elements['haslo'].value == '') { window.alert('Podaj nowe hasło!'); return false; }
    if (f.elements['haslo'].value.length < 4) { window.alert('Nowe hasło musi mieć minimum 4 znaki!'); return false; }
    if (f.elements['haslo'].value != f.elements['haslo2'].value) { window.alert('Błąd powtórzenia hasła!'); return false; }
    return true;
}

