var checked = true;
var txt_before = null;

function spacje(obj){
if (obj)
  obj.value = obj.value.replace(/\s/g, '');
}

function spacje2(obj){
 if (obj)
 {
   obj.value = obj.value.replace(/\s/g, '');
   obj.value = obj.value.replace(/\-/g, '');
 }
}


function text_before(name, limit) {
 if (!checked)
   text_after(name, limit);
 txt_before = document.forms[0][name].value.substring(0,limit);
 checked = false; 
 return true;
}

function text_after(name, limit) {
 var lenght = document.forms[0][name].value.length;
 if ( text_size(name, limit) < 0 /*&& txt_before != null && txt_before.length <= lenght*/ ) {
   document.forms[0][name].value = document.forms[0][name].value.substring(0,limit);
 }
 checked = true;
 update_chr_left(name, limit);
}

function text_size(name, limit) {
 var obj = document.forms[0][name];
 if ( obj != null )
   return limit - obj.value.length;
 //return limit;
}

function update_chr_left(name, limit) {
 var obj = document.getElementById(name +'_span');
 if ( text_size(name, limit) <= 0 ) {
 obj.innerHTML = 'zostało 0 znaków';
 obj.className='red'
 }
 else {
 obj.innerHTML = 'zostało '+ text_size(name, limit) + ' znaków';
 obj.className='';
 }
}


function gg(numer) {

 var i = document.getElementById('ngg');
 var url='http://www.gadu-gadu.pl/users/status.asp?id='+numer+'&style=4';

 if ( navigator.userAgent && navigator.userAgent.indexOf('MSIE') > 0 && document.location.protocol && document.location.protocol == 'https:' ) 
   return true;
 else
    i.src = url+'&d='+new Date().getTime();

}

function c(id) {
 var i = document.getElementById('t'+id);
 if (i)
 i.checked = true;
}

function lupka(id) {
 var i = document.getElementById(id);
 i.style.display=(i.style.display=='none')?'block':'none';
}

function OpenWindow(adres,szer,wyso) {
 var tx = (screen.availWidth-szer)/2;
 var ty = (screen.availHeight-wyso)/2;
 var config='width='+szer+',height='+wyso+',top='+ty+',left='+tx+',scrollbars=yes,menubar=yes,resizable=yes';
 var popup = window.open(adres,'', config);
 popup.focus();
 return false;
}

function OpenWindow2(url,szer,wyso,tytul) {
 if (!tytul) { var tytul="Kwiaciarnia"; }
 var tx = (screen.availWidth-szer)/2;
 var ty = (screen.availHeight-wyso)/2;
 //var config = 'width='+szer+',height='+wyso+',top='+ty+',left='+tx+',scrollbars=no,menubar=no,resizable=no'
 var config='width='+szer+',height='+wyso+',top='+ty+',left='+tx+',scrollbars=no,menubar=no,resizable=no';
 var popup = window.open('', '', config);
 popup.document.write('<html><head><link rel=stylesheet href=style.css><title>'+tytul+'</title></head><body><center><table width=100% height=100% class=slash><tr><td align=center valign=middle><a href="javascript: history.go(-1);" onclick="javascript: self.close();"><img src="'+url+'" border="0"></a></td></tr></table></center></body></html>');
 popup.focus();
 return false;
}

function disableme(what) {
what = document.getElementById(what);
what.disabled = true;
what.value="Czekaj...";
return true;
}

function enableme(what) {
what = document.getElementById(what);
what.disabled = false;
what.value="Załóż konto";
return false;
}

function clearform() {
return confirm("Uwaga!\n"+"Czy chcesz usunąć wszystkie dane z formularza?");
}

var validLogin = new RegExp("^[a-zA-Z0-9_-]{5,15}$");
var validPassword = new RegExp("^[a-zA-Z0-9_-]{5,15}$");
var validMail = new RegExp("^([a-zA-Z0-9._-]+.?)+@([a-zA-Z0-9_-]+.)+[a-zA-Z]{1,5}$");
var validName = new RegExp("^[\ a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{2,25}$");
var validName2 = new RegExp("^[\ a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\.\-]{2,40}$");
var validAddress = new RegExp("[ sa-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\.\/\-]{2,45}$");
// var validStreet = new RegExp("^[a-zA-Z0-9ąśćżźęłóńĄŚĆŻŹĘŁÓŃ -.,]{2,}[a-zA-Z0-9ąśćżźęłóńĄŚĆŻŹĘŁÓŃ.]$");
var validCity = new RegExp("^([\ a-zA-ZąśćżźęłóńĄŚĆŻŹĘŁÓŃ]+[ \-\.]?){2,45}$");
var validZIPCode= new RegExp("^[0-9]{2,3}$");
var validPhone = new RegExp("^[\ 0-9\+\(\)\.\-]{9,25}$");

var validGsmPhone = new RegExp("^((600|601|602|603|604|605|606|607|608|609|660|661|662|663|664|665|666|667|668|669|690|691|692|693|694|695|696|697|698|699|721|722|780|781|782|783|785|786|787|788|789|790|791|792|793|794|795|796|797|798|799|880|885|886|887|888|889|500|501|502|503|504|505|506|507|508|509|510|511|512|513|514|515|516|517){1}[0-9]{6})$");
var validGsmPhone4 = new RegExp("^((7841|7842|7843|7844|7845|7846|7847|7848|8841|8842|8861|8862|8863|8864|8865|8866|6666){1}[0-9]{5})$");
var validNIP = new RegExp("^[\ 0-9\-]{10,13}$");
var verificator_nip=[6,5,7,2,3,4,5,6,7];

function verify_nip(a)
{
if ( !validNIP.test(a) ) return false;
a=a.replace(/[^0-9]/g,'')
if (a.length!=10) return false;
var i,n;
for (i=n=0;i<9;i++) n+=a.charAt(i)*verificator_nip[i];
n%=11;
return ( n == a.charAt(9));
}

function sprawdz(form)
{

var bladW='';
var bladZ='';

if(form.email.value==''){bladW+='\n- Email';}
//if(form.email.value!='' && !validMail.test(form.email.value)){bladW+='\n- E-mail (nieprawidłowy adres poczty elektronicznej)';}

if(form.imie.value==''){bladW+='\n- Imię';}
if(form.imie.value!='' && !validName.test(form.imie.value)){bladW+='\n- Imię (dopuszczalne są tylko litery, max 15 znaków)';}

if(form.nazwisko.value==''){bladW+='\n- Nazwisko';}
if(form.nazwisko.value!='' && !validName2.test(form.nazwisko.value)){bladW+='\n- Nazwisko (dopuszczalne są tylko litery oraz jedna spacja, kropka lub myślnik, max 30 znaków)';}

//if(form.adres.value==''){ bladW+='\n- Adres';}
if(form.adres.value!='' && !validAddress.test(form.adres.value)){bladW+='\n- Adres (dopuszczalne są tylko litery oraz spacja, kropka, ukośnik lub myślnik, max 45 znaków)';}

//if(form.miasto.value==''){ bladW+='\n- Miejscowość';}
if(form.miasto.value!='' && !validCity.test(form.miasto.value)){bladW+='\n- Miejscowość (dopuszczalne są tylko litery oraz spacja, kropka lub myślnik)';}

//if(form.kodp1.value=='' || form.kodp2.value==''){bladW+='\n- Kod pocztowy';}
if( (form.kodp1.value!='' || form.kodp2.value!='') && (!validZIPCode.test(form.kodp1.value) || !validZIPCode.test(form.kodp2.value)) ){bladW+='\n- Kod pocztowy (prawidłowy format: nn-nnn)';}

//if(form.telefon.value=='' && form.komorka.value==''){ bladW+='\n- Telefon (komorkowy lub stacjonarny)';}
if(form.telefon.value!='' && !validPhone.test(form.telefon.value)){bladW+='\n- Telefon + nr. kier. (dopuszczalne znaki: cyfry, spacja, nawias, -, +)';}

//if(form.komorka.value=='' && form.telefon.value==''){ bladW+='\n- Tel. komórkowy';}
if(form.komorka.value!='' && !validGsmPhone.test(form.komorka.value) && !validGsmPhone4.test(form.komorka.value) ){bladW+='\n- Numer komórki jest zły lub nie w formacie XYZaabbcc';}

//if(form.login.value==''){bladW+='\n- Login';}
if(form.login.value!='' && !validLogin.test(form.login.value)){bladW+='\n- Login (dopuszczalne są tylko litery, cyfry oraz podkreślenie lub myślnik, 5-15 znaków)';}

if(form.login.value == form.haslo.value && form.login.value!='' ){bladW+='\n- Login jest taki sam jak hasło (brak bezpieczeństwa))';}

if(form.haslo.value!='' && form.haslo.value == form.haslo2.value && !validPassword.test(form.haslo.value)){bladW+='\n- Hasło (dopuszczalne są tylko litery, cyfry oraz podkreślenie lub myślnik, 5-15 znaków)';} 
else if (!form.haslo.disabled)
{
 if( /*form.haslo.value=='' ||*/ form.haslo.value != form.haslo2.value ){bladW+='\n- Hasło (brak lub wpisane hasła nie są identyczne)';} else
 if( (form.haslo.value !='' || form.haslo2.value!='') && form.login.value=='' ) {bladW+='\n- wpisano samo hasło, brakuje jednak pola login';} else
 if( (form.haslo.value=='' || form.haslo2.value=='') && form.login.value!='' ) {bladW+='\n- wpisano sam login nie nadając jednak hasła';}
}

if(form.firma.value!='' && !validAddress.test(form.firma.value)){bladW+='\n- Firma (dopuszczalne są tylko litery oraz spacja, kropka, ukośnik lub myślnik, max 30 znakow)';}
if(form.nip.value!='' && !verify_nip(form.nip.value)){bladW+='\n- NIP, numer jest nieprawidłowy';}

if(form.regulamin.checked !=true){bladZ+='\n\nAby kontynuować musisz zaakceptowac regulamin!\n';}

if (bladW!='' || bladZ!='')
{
    allBlad='Formularz został błędnie wypełniony.\nNastępujące pola wymagają sprawdzenia lub uzupełnienia:';
    if (bladW!='') allBlad+='\n'+bladW;
        allBlad+=bladZ;
        alert(allBlad); 
        return false;
}
else
  return true;
}

function sprawdz2(form)
{

 var bladW='';
 var bladZ='';

 if ( document.forms['0'].odbiorca && document.forms['0'].odbiorca.value == -1 /* selectedIndex */ ) // wybrano definiowanie nowego odbiorcy
 {

 if(form.imie.value=='' && form.imie.value==''){bladW+='\n- Imię';}
 if(form.imie.value!='' && !validName.test(form.imie.value)){bladW+='\n- Imię (dopuszczalne są tylko litery, max 15 znaków)';}

 if(form.nazwisko.value==''){bladW+='\n- Nazwisko';}
 if(form.nazwisko.value!='' && !validName2.test(form.nazwisko.value)){bladW+='\n- Nazwisko (dopuszczalne są tylko litery oraz jedna spacja, kropka lub myślnik, max 30 znaków)';}

 if(form.adres.value==''){ bladW+='\n- Adres';}
 if(form.adres.value!='' && !validAddress.test(form.adres.value)){bladW+='\n- Adres (dopuszczalne są tylko litery oraz spacja, kropka, ukośnik lub myślnik, max 50 znakow)';}

 if(form.miasto.value==''){ bladW+='\n- Miejscowość';}
 if(form.miasto.value!='' && !validCity.test(form.miasto.value)){bladW+='\n- Miejscowość (dopuszczalne są tylko litery oraz spacja, kropka lub myślnik)';}

 //if(form.kodp1.length!=0 || form.kodp2.length!=0) {bladW+='\n- Kod pocztowy';}
 //if(form.kodp1.value!='' && form.kodp2.value!='' && (!validZIPCode.test(form.kodp1.value) || !validZIPCode.test(form.kodp2.value)) ){bladW+='\n- Kod pocztowy (prawidłowy format: nn-nnn)';}
 if( (form.kodp1.value!='' || form.kodp2.value!='') && (!validZIPCode.test(form.kodp1.value) || !validZIPCode.test(form.kodp2.value)) ){bladW+='\n- Kod pocztowy (prawidłowy format: nn-nnn)';}

 //if(form.telefon.value==''){ bladW+='\n- Telefon';}
 if(form.telefon.value!='' && !validPhone.test(form.telefon.value)){bladW+='\n- Telefon (dopuszczalne cyfry, spacja, myslnik, plus, nawiasy)';}

 if(form.firma.value!='' && !validAddress.test(form.firma.value)){bladW+='\n- Firma (dopuszczalne są tylko litery oraz spacja, kropka, ukośnik lub myślnik, max 30 znakow)';}

 allBlad='Wybraleś definiowanie NOWEGO odbiorcy.\n\nFormularz został jednak błędnie wypełniony.\nNastępujące pola wymagają sprawdzenia lub uzupełnienia:';

 } /* document.forms['0'].odbiorca.selectedIndex == 0 */
 else
 {
   allBlad='Wybraleś odbiorcę ze swojej listy odbiorców.\n\nFormularz został jednak błędnie wypełniony.\nNastępujące pola wymagają sprawdzenia lub uzupełnienia:';
 }

 if (form.uwagi.value.length > 850) { bladW +='\n- Uwagi muszą zawierać się w 850 znakach';}
 if (form.bilecik_tresc.value.length > 250) { bladW +='\n- Treść bileciku musi zawierać się w 250 znakach';}
 if ( zaznaczyl() && form.kartka.checked ) { bladW +='\n- NIE zaznaczyłeś na jakim bileciku wpisać wiadomość'; }

 if (bladW!='' || bladZ!='')
 {
     if (bladW!='') allBlad+='\n'+bladW;
         allBlad+=bladZ;
         alert(allBlad); 
         return false;
 }
 else
 {
     if (form.bilecik_tresc.value.length == 0 && form.bilecik.checked ) { return confirm('Czy na pewno chcesz załączcyć pusty bilecik?'); }
     return true;
 }
}

function sprawdz_cene(form, cenamin, cena3, pole) {

if ( form.ile )
switch( form.ile.value )
{
case 'a':
  alert('Zostaniesz przeniesiony do innego produktu - jedna, duża róża z dostawą. Kolor do wyboru.');
  document.location = './oferta.php?p=87&r=1';
  return false;
  break;
case 'b':
  alert('Zostaniesz przeniesiony do innego produktu. Bukiet z od 3 do 7 dużych róż z przybraniem. Kolor róż do wyboru. Prosimy zapoznać się z całą naszą ofertą. Robimy bukiety z każdą ilością kwiatów.');
  document.location = './oferta.php?p=85&r=1';
  return false;
  break;
case 'c':
  return false;
  break;
}

 var i = document.getElementById(pole);

 if (i && i.type == "radio" && i.checked) {

   if ( !validZIPCode.test(form.cena.value) ) {
     alert("Uwaga!\n\nPodano nieprawidłową kwotę!\nProszę podać liczbę naturalną, większą niż "+cenamin+" pln.");
     form.cena.value = cena3;
     document.getElementById('cena').focus();
     return false;
   }
   if ( parseInt(form.cena.value) <= parseInt(cenamin) ) { 
     alert("Uwaga!\nPaństwa cena za powiększoną wersję bukietu musi być większa od ceny minimalnej "+cenamin+" pln!");
     form.cena.value = cena3;
     document.getElementById('cena').focus();
     return false;
   }

 }
 return true;
}

function showhide(id)
{

 if (!isExpanded && id.indexOf('#') > -1 ) { 
   window.location= id; return false; /* gdy damy rozwin wszystkie mozemy z menu przesuwac sie nadal */
 }

 var co = id.substring(id.indexOf('#')+1 );

 obj = document.getElementById(co);
 obj.style.display = (obj.style.display == "block" ? "none" : "block");

if ( id.indexOf('#') < 0 && !isExpanded ) {
   return false;
 }
 else if ( id.indexOf('#') < 0 ) {
   window.location="#p1";
   return false;
 } 
 else {
   window.location= id;
 }
 //return false;
}

function show(id)
{
 obj = document.getElementById(id);
 if (obj)
 obj.style.display = "block";
}

function hide(id)
{
 obj = document.getElementById(id);
 if (obj)
 obj.style.display = "none";
}

function sprawdz3(co) {

/*
 var co = document.getElementById(what).pay_type;
 if ( co )
   co.focus();
 else
 {
   var co = document.getElementById(what).kanal;
   if ( co )
     co.focus();
 }
*/

 if ( co )
 {
   co.focus();
 }


 if ( co && (co.value == 'b' || co.value == '11') )
   return confirm('Uwaga!\n\nWybrano uniwersalny przelew bankowy/przekaz pocztowy.\nProsimy mieć na uwadze aby dotarł on do nas przed planowaną datą dostarczenia kwiatów.\nPrzypominamy, że obsługujemy wiele szybkich przelewów z różnych banków. Prosimy sprawdzić czy na pewno nie ma Państwa banku na jednej z list (system firmy PayU lub DotPay). Dla przekazów bankowych średni czas realizacji w dni robocze to 15h (maksymalnie) a dla pocztowych 3-4dni.\nMożna też przesłać do nas dobrej jakości fotografię lub skan nadanego przekazu lub potwierdzenie elektronicznego nadania pieniędzy w formacie PDF lub zrzut ekranu.\n\nKontynuowac transakcje z tą metodą platności?');

 if ( co && co.value == 'x' )
 {
   if ( wm )
     alert(wm);
   else
     alert("Uwaga!\nProszę wybrać sposób zapłaty z listy!");
   return false;
 }


 if ( co && co.value == '210' )
 {
   var formularz_d =  document.getElementById('dotpay');

   if ( formularz_d )
     formularz_d.blokuj.value = 0;
   //document.location = formularz_d.action+'pay?id='+formularz_d.id.value+'&kwota='+formularz_d.kwota.value+'&opis='+formularz_d.control.value+'&kanal=210';
   //return false;
 }


 if ( co && co.value == 'y' )
 {
  if ( true /* confirm('Płatność PayPal zalecamy tylko dla klientów zaznajomionych z tym systemem płatności.\nW przypadku posiadania karty VISA lub MasterCard radzimy wybrać z listy metod płatności opcję "płatność kartą kredytową".\n\nCzy dokonać teraz płatności przez PayPal?\n') */ )
  {
   var formularz = document.getElementById('paypal');
   if (formularz)
     formularz.submit();
   else
     alert("Aby zapłacić przez PayPal proszę kliknąć ikonkę 'PayPal kup teraz' po prawej stronie! Dziękujemy.");

   return false;
  }
  else
   return false;
 }

return true;

}

var before = 'e1';


function select(what, value, that) {

   var kanal = document.getElementById(what); 
   if ( kanal && kanal.value != value && cp && confirm(cp+' '+that.innerHTML+'?') )
   {
     kanal.value = value;
     kanal.className='ccard';
     metoda(kanal, value);
   }
   //else if ( kanal && kanal.value == value && jw ) alert(that.innerHTML+jw);

}


function metoda(what, value) {

 if (what.id == 'pay_type')
 {
   var kanal = document.getElementById('kanal');
   if ( kanal && kanal.value != 'x' ) // cos wczesniej zaznaczono z oferty dotpay
   {
     kanal.value = 'x';
     kanal.className='';
   }
 }
 else
 if (what.id == 'kanal')
 {
   var kanal = document.getElementById('pay_type'); // cos wczesniej zaznaczono z oferty payu
   if ( kanal && kanal.value != 'x' )
   {
     kanal.value = 'x';
     kanal.className='';
   }
 }

 var co = what.selectedIndex;
 var metody = document.getElementById('metody');
 var obj = document.getElementById('p-'+value);

 if ( value && value != 'x' && obj )
 {

   hide(before);
   show('p-'+value);
   before = 'p-'+value;

   if (metody && metody.className.indexOf('blue') < 0 )
     metody.className = metody.className+' blue';

   if ( value == 'b' )
     what.className='offline';
   else
   if ( value == 'c' || value == 'y' || value == 0 || value == 210 ) 
     what.className='ccard';
   else
   if ( (value > 'd' && value < 'y') || (value >= 10 && value <= 33) )
     what.className='online';
 }
  else {
   hide(before); show('e1');
   before='e1';
   what.className='';
   if (metody) metody.className = 'normal';
  }

}


function nocna(what, value) {
 var co = what.selectedIndex;
 obj = document.getElementById('nocna');

 if ( co && obj && value.indexOf('*') > -1 )
   obj.style.display = "inline";
 else
   if (obj) obj.style.display = "none";

}

var isExpanded = true;

function expandAll(cname, zwin, pokaz) {

 isExpanded=!isExpanded;
 elms=document.getElementsByTagName('div');

 for ( i=0; i<elms.length; i++) {
   if( elms[i].className== cname && !isExpanded ) {
     elms[i].style.display = "block";
   //elms[i].style.display = ( elms[i].style.display == "block" ? "none" : "block" );
   }
   else if( elms[i].className=="pomoc" && isExpanded ) 
     elms[i].style.display = "none";
 }

 if ( !isExpanded ) {
   document.getElementById(zwin).style.display = "none";
   document.getElementById(pokaz).style.display = "";
   } else {
   document.getElementById(zwin).style.display = "";
   document.getElementById(pokaz).style.display = "none";
  }
}

function blokujnowego(formularz, id)
{
 if ( formularz.selectedIndex == 0)
  {
   hide('e1'); show(id);
  }
  else
  {
   hide(id); show('e1');

   var html= '<table><tbody><tr><td>Imię: </td><td><strong>'+document.getElementById('imie'+formularz.value).value+'</strong></td></tr><tr><td>Nazwisko: </td><td><strong>'+document.getElementById('nazwisko'+formularz.value).value+'</strong></td></tr><tr><td>Ulica i adres: </td><td><strong>'+document.getElementById('adres'+formularz.value).value+'</strong></td></tr><tr><td>Kod pocztowy:&nbsp;</td><td><strong>'+document.getElementById('kodpo'+formularz.value).value+'</strong></td></tr><tr><td>Miasto: </td><td><strong>'+document.getElementById('miasto'+formularz.value).value+'</strong></td></tr><tr><td>Telefon: </td><td><strong>'+document.getElementById('telefon'+formularz.value).value+'</strong></td></tr><tr><td>Firma:</td><td><strong>'+document.getElementById('firma'+formularz.value).value+'</strong></td></tr></tbody></table>';
   document.getElementById('e1tab').innerHTML = html;
  }
  return true;
}

function przelicz(co, cena)
{

 if ( co && isFinite(cena) )
 {
  if ( isFinite(co.value) )
    var wynik = co.value * cena;
  else
    var wynik = '---';

  if (document.getElementById('k').innerHTML ) 
    document.getElementById('k').innerHTML = wynik;
  if (document.getElementById('k').value ) 
    document.getElementById('k').value = wynik;
  return true;
 }
 else
  return false;
}

function zaznacz()
{
 document.forms['0'].kartka.checked = true;
}

function zaznaczb()
{
 document.forms['0'].bilecik.checked = true;
}

function uncheckradio() 
{
 var inputy = document.getElementsByTagName('input'); 
 il = inputy.length-1; 
  for (i=0;i<=il;i++) 
  {
    if (inputy[i].type == "radio" && inputy[i].checked) inputy[i].checked = false; 
  }
}

function zaznaczyl() 
{
 var inputy = document.getElementsByTagName('input'); 
 il = inputy.length-1; 
  for (i=0;i<=il;i++) 
  { 
   if (inputy[i].type == "radio" && inputy[i].checked) return false; 
  }
  return true;
}

function ilosc(co,min)
{
 var sztuk=prompt('Podaj zamawianą ilość kwiatów (minimum '+min+'szt.):', min);
 if (sztuk==null) return false;
 if ( isFinite(sztuk) && sztuk.indexOf(".")=='-1' && sztuk>=min && sztuk<500 ) 
  {
  co.ile.value=sztuk; return true; 
  } else
  {
   alert('Uwaga!\n'+sztuk+' - nieprawidłowa liczba!\nSpróbuj ponownie.'); return false;
  }
}

function fakturka(co)
{

if ( co && co.id == 'p' )
  if ( document.getElementById('f') && document.getElementById('f').checked )
document.getElementById('f').checked = false;


if ( co && co.id == 'f' )
  if ( document.getElementById('p') && document.getElementById('p').checked )
document.getElementById('p').checked = false;

}
