var xmlHttp = createXmlHttpRequestObject();

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function sprawdzIlosc()
{  
    var is_ten = document.getElementById('is_ten').value;
    if(is_ten==1)
    {
        if(document.getElementById('quantity').value % 10 > 0)
        {
            alert("Podano niepoprawną ilość produktów!");
            return false;
        }
    }
    return true;
}

function checkRegForm(type,edit)
{
	var brakuje_danych = false;
	var napis='';
	if(type!=3)
		if((document.getElementById('name').value).trim()=='')
		{
			brakuje_danych = true;
			if(type==1)
				napis+='Nie wpisano nazwy firmy\n';
			else if(type==2)	
				napis+='Nie wpisano imienia Klienta\n';
		}
	if(type==2)
	{
		if((document.getElementById('surname').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano nazwiska Klienta\n';
		}
	}
	if(edit==1)
	{
		if((document.getElementById('userlogin').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano nazwy użytkownika\n';	
		}
		else
		{
			var login=document.getElementById('userlogin').value;
			if (login.length<2)
			{
				brakuje_danych = true;
				napis+='Nazwa użytkownika jest za krótka. Naza musi mieć więcej niż 2 znaki\n';
			}
			checkLogin((document.getElementById('userlogin').value).trim());
			if(document.getElementById('ajax_result').value=='')
				return false;
			else if (document.getElementById('ajax_result').value==0)
			{
					napis+="Wybrany login jest już zajęty\n";											
					brakuje_danych=true;
			}
			else if (document.getElementById('ajax_result').value==2)
			{
					napis+="Wybrany login jest pusty\n";											
					brakuje_danych=true;
			}
		}
		if((document.getElementById('userpass').value).trim()!='')
		{
			if((document.getElementById('userpass').value).trim()!=(document.getElementById('userpass2').value).trim())	
			{
				brakuje_danych = true;
				napis+='Błšd powtórzenia hasła\n';	
			}
			else
			{
				if(((document.getElementById('userpass').value).trim()).length<6)
				{
					napis+="Hasło jest za krótkie\n";											
					brakuje_danych=true;					
				}
				if(checkPass((document.getElementById('userpass').value).trim())==false)
				{
					napis+="Hasło zawiera niedozwolone znaki albo nie składa się z liter i cyfr\n";											
					brakuje_danych=true;
				}
			}
		}
	}
	if(type==3)
	{
		if((document.getElementById('name').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano nazwy adresu\n';
		}
	}
	if(type!=3)
	{
		if (document.getElementById('branche').value==0)
		{
			brakuje_danych = true;
			napis+='Nie wybrano branży\n';
		}
		if (document.getElementById('activiti').value==0)
		{
			brakuje_danych = true;
			napis+='Nie wybrano rodzaju aktywności\n';
		}
	}
	if((document.getElementById('street_1').value).trim()=='')
	{
		brakuje_danych = true;
		napis+='Nie wpisano ulicy\n';
	}
	if((document.getElementById('homenr_1').value).trim()=='')
	{
		brakuje_danych = true;
		napis+='Nie wpisano numeru domu\n';
	}
	if((document.getElementById('zip_1').value).trim()=='')
	{
		brakuje_danych = true;
		napis+='Nie wpisano kodu\n';
	}
	if((document.getElementById('place_1').value).trim()=='')
	{
		brakuje_danych = true;
		napis+='Nie wpisano nazwy miejscowości\n';
	}
	if((document.getElementById('country_1').value).trim()=='')
	{
		brakuje_danych = true;
		napis+='Nie wybrano nazwy kraju\n';
	}
	if(type!=3)
	{
		if((document.getElementById('mail').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano adresu e-mail\n';
		}
		else
		{
			if(check_email(document.getElementById('mail').value)==false)	
			{
				brakuje_danych = true;
				napis+='Niepoprawna forma adresu e-mail\n';
			}
		}
		if((document.getElementById('phone').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano numeru telefonu\n';
		}
		else
		{
        	   var k;
        	   k = checkPhone('phone');
               if(k<7)
               {
                    brakuje_danych = true;
                    napis+='Niepoprawny numer telefonu\n';
               }
        }
	}
	if(type==1)
	{
		if((document.getElementById('nip').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano numeru NIP\n';
		}
		if((document.getElementById('cpname').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano imienia osoby kontaktowej\n';
		}
		if((document.getElementById('cpsurname').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano nazwiska osoby kontaktowej\n';
		}
		if((document.getElementById('cpmail').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano nazwiska osoby kontaktowej\n';
		}
		else
		{
			if(check_email(document.getElementById('cpmail').value)==false)	
			{
				brakuje_danych = true;
				napis+='Niepoprawna forma adresu e-mail osoby kontakowej\n';
			}
		}
		if((document.getElementById('cpphone').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano numeru telefonu osoby kontaktowej\n';
		}
		else
		{
               var k;
               k = checkPhone('cpphone');
               if(k<7)
               {
                    brakuje_danych = true;
                    napis+='Niepoprawny numer telefonu osoby kontaktowej\n';
               }
        }
		if((document.getElementById('cpmobile').value).trim()=='')
		{
			brakuje_danych = true;
			napis+='Nie wpisano numeru telefonu komórkowego osoby kontaktowej\n';
		}
		else
		{
               var k;
               k = checkPhone('cpmobile');
               if(k<7)
               {
                    brakuje_danych = true;
                    napis+='Niepoprawny numer telefonu komórkowego osoby kontaktowej\n';
               }
        }
	}
	if(edit==0)
	{
		if (document.getElementById('reg').checked==false)
		{
			brakuje_danych = true;
			napis+='Brak deklaracji znajomości regulaminu\n';
		}
	}	

	if (!brakuje_danych)
		return true;
	else
	{
		alert (napis);
		return false;
	}
	
}

function checkAmount(name)
{
	
	var numberA=name.split("_");
	var number=document.getElementById('amount_'+numberA[1]).value;
	if (check_is_number(number,false))
		return true;
	else
	{
		alert('Podana wartość nie jest liczbą\n lub jest mnejsza od 1');
		return false;
	}
}
function checkComent()
{
	if((document.getElementById('coment').value).trim()=='')
	{
		alert('Nie wpisano treści komentarza');
		return false;
	}
	else
		return true;
}
function checkMail()
{
	if((document.getElementById('mailTerm').value).trim()=='')
	{
		alert('Nie wpisano adresu e-mail');
		return false;
	}
	else
	{
		if(check_email(document.getElementById('mailTerm').value)==false)	
		{
			alert('Niepoprawna forma adresu e-mail osoby kontakowej');
			return false;
		}
		else
			return true
	}
}

function checkPassForg()
{
	var brakuje_danych = false;
	var napis='';
	if((document.getElementById('mail').value).trim()=='')
	{
		napis+='Nie wpisano adresu e-mail';
		brakuje_danych = false;
	}
	else
	{
		if(check_email(document.getElementById('mail').value)==false)	
		{
			napis+='Niepoprawna forma adresu e-mail';
			brakuje_danych = false;
		}
	}
	if (!brakuje_danych)
		return true;
	else
	{
		alert (napis);
		return false;
	}
}

function checkPhone(name)
{
   var ile;
   var k,i;
   var cyfry = "0123456789.";
   var znak;
   k = 0;
   tekst = (document.getElementById(name).value);
   for(i=0;i<tekst.length;i++)
   {
      znak = tekst.charAt(i); 
      if (cyfry.indexOf(znak) != -1) 
         {
            k++;
         }
   }
   return k;
}

function checkLogin(login)
{
  uid=document.getElementById('hideid').value;
  script='ajax/loginchck.php?';
  if (xmlHttp)
  {
    try
    {
      var params = "login=" +login+ "&id=" + uid;
      xmlHttp.open("GET", script + params, false);
      xmlHttp.send(null);
	  checkResponseCN();
	}
    catch (e)
    {
      document.getElementById('ajax_result').value=0;
    }
  }
}
function checkBasket()
{
    var response;
    script='https://www.norgren.pl/webstore/ajax/basketCheck.php';
    if (xmlHttp)
    {
        try
        {
            xmlHttp.open("GET", script, false);
            xmlHttp.send(null);
            return xmlHttp.responseText;
        }
        catch (e)
        {
            return e;
        }
    }
    else
        return 0;
}


function checkIsTen(id, name, id_input)
{
  script='ajax/check_is_ten.php?';
  if (xmlHttp)
  {
    try
    {
      var params = "id=" + id;
      xmlHttp.open("GET", script + params, false);
      xmlHttp.send(null);
     if (xmlHttp.readyState == 4) 
      {
    	if (xmlHttp.status == 200) 
        {
      		var response = xmlHttp.responseText;
    		if(response == 0)
    		{
                if(document.getElementById('amount_'+id_input).value % 10 > 0)
                {
                    alert("Wpisano niepoprawną ilość produktów!\n Ilość zamawianych produktów tego typu musi być wielokrotnością liczby 10.");
                    return false;
                }
            }
      	} 
        else 
        {
          return false;
        }
      }
	}
    catch (e)
    {
      return false;
    }
  }
  return checkAmount(name);
}

function checkResponseCN() 
{
 if (xmlHttp.readyState == 4) 
  {
	if (xmlHttp.status == 200) 
    {
  		var response = xmlHttp.responseText;
		document.getElementById('ajax_result').value=response;
  	} 
    else 
    {
      document.getElementById('ajax_result').value=0;
    }
  }
}


function createXmlHttpRequestObject() 
{
  var xmlHttp;
  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
      "MSXML2.XMLHTTP.5.0",
      "MSXML2.XMLHTTP.4.0",
      "MSXML2.XMLHTTP.3.0",
      "MSXML2.XMLHTTP",
      "Microsoft.XMLHTTP");
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  if (!xmlHttp)
    document.getElementById('ajax_result').value=1;
  else 
    return xmlHttp;
}



function checkPass(pass)
{
	if (pass.match(/^[a-zA-Z0-9]+$/))
	{
		if (pass.match(/^[a-zA-Z]+$/))
			return false;
		else
			return true;
	}
	else
		return false;
}

function check_email(email) 
{
   if (email.match(/^[_.a-zA-Z0-9-]+([\.%!][_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/))
   		return true;
   else
    	return false
 /*  invalid = " /:,;";
   if(email == "") { return false }
   for(i=0; i < invalid.length; i++) {
      bad = invalid.charAt(i);
      if (email.indexOf (bad, 0) != -1) { return false }
   }
   at = email.indexOf("@", 0);
   if( (at == -1) || (at == 0) ) { return false }
   if(email.indexOf("@", at+1) != -1) { return false }
   period = email.indexOf(".", at);
   if( (period == -1) || (period == at+1) ) { return false }
   if(period+3 > email.length == -1) { return false }
   return true;*/
}


function check_is_number(number_to_check,is_float)
{
	number_to_check=number_to_check.replace(',','.');
	if (isNaN(number_to_check))
	{					
		return false; 				
	}
	else
	{
		if (is_float==false)
		{
			if (Math.floor(number_to_check)==number_to_check)
			{
				if 	(number_to_check<1)
					return false; 				
				else
					return true; 
			}
			else
				return false;
		}
		if 	(number_to_check<0)
			return false; 				
		else
			return true; 

	}
	
}
function pokaz_sume()
{
    if(check_is_number(document.getElementById("quantity").value))
    {
        var quan;
        quan = document.getElementById("quantity").value.replace(',','.');
        document.getElementById("suma").innerHTML = (Math.round((Math.round(quan)*document.getElementById("product_price_cost").value)*10)/10).toString() + " EUR";
    }
    else
        document.getElementById("suma").innerHTML = "0 EUR";
}

