var ctrlsParameters = new Array();
var param;
var divx = null;


function checkFields() {
   var state = false;
   var oForm = document.forms.formKoszyk;
   var i = 0;
   for (i = 0; i < oForm.length; i++) {
      if (oForm.elements[i].name.length > 6)
         if (oForm.elements[i].name.substring(0,5) == "ilosc") {
            _retVal = checkSpelling(ctrlsParameters, oForm.elements[i]);

            if (_retVal != null) {
               switch (parseInt(_retVal.status)) {
                  case 0:
                     if (oForm.elements[i].value == "") {
                        oForm.elements[i].blur()
                        return false;
                     }

                     if (parseInt(oForm.elements[i].value) == 0) {
                        oForm.elements[i].blur()
                        return false;
                     }
		     break;

                  case -1:
                     oForm.elements[i].blur()
                     return false;
                  case -2:
                     return false;
               }
            }
            else {
               return false;
            }
         }   
   }
   return true;
}

function checkOneField(oField) {
	var liczba;
	document.forms.formKoszyk.jestok.value="1";
	for (i=0; i<document.forms.formKoszyk.elements.length; i++)
	{
		if (document.forms.formKoszyk.elements[i].name.indexOf("ilosc_")!=-1)
		{
			liczba = document.forms.formKoszyk.elements[i].value;
			if ( isNaN( parseInt( liczba ) ) 
				|| parseInt( liczba ) <= 0 )
				document.forms.formKoszyk.jestok.value="0"; 
			else if (checkWithRegularExpr(liczba, "[-]:[0]+")!=-1)
				document.forms.formKoszyk.jestok.value="0"; 
		}
	}
	return document.forms.formKoszyk.jestok.value=="1";
}

function przelicz_koszyk(co) {
   if (document.forms.formKoszyk.jestok.value=="1")
    {
	document.forms.formKoszyk.jestok.value=co;
	document.forms.formKoszyk.submit();
    }	
   else
	alert('W kolumnie ilo¶æ warto¶ci powinny byæ z przedzia³u 1-99.');
}

function localSearch(strToCheck, sChar) 
{
	var i;	
	for(i=0; i<strToCheck.length; i++)
	   if(strToCheck.charAt(i) == sChar)
	      return i;
	return -1;
}

function checkWithRegularExpr(strToCheck, regularExpr) 
{
	var i,j,k,startPos;
	var expectedChars;
	var repeats;
	var previousOptional;
	var found;
	var digits = "0123456789";
	var chars = "A?BCÆDEÊFGHIJKL£MNÑOÓPQRS?TUVWXYZ?¯a?bcædeêfghijkl³mnñoópqrs?tuvwxyz¿¡ ";
	
	i = 0;
	j = 0;
	hintStr = "";
	previousOptional = false;
	do
   {
	   if(regularExpr.charAt(j) == '0')
      {
	      if(i >= strToCheck.length && !previousOptional)
	         return -2;    //poki co jest zgodne, ale to jeszcze nie koniec
	      if(localSearch(digits, strToCheck.charAt(i)) == -1)
         {
            if((previousOptional && localSearch(digits, strToCheck.charAt(i-1)) == -1) || !previousOptional)
               return i;    //brak zgodnosci ze wzorcem
			   else
			      i--;
         }
		   else
		      previousOptional = false;
	      i++;
	      j++;
	      continue;
      }
	   else if(regularExpr.charAt(j) == 'x')
      {
         if(i >= strToCheck.length && !previousOptional)
	         return -2;    //poki co jest zgodne, ale to jeszcze nie koniec
	      if(localSearch(chars, strToCheck.charAt(i)) == -1)
         {
			   if((previousOptional && localSearch(chars, strToCheck.charAt(i-1)) == -1) || !previousOptional)
		         return i;    //brak zgodnosci ze wzorcem
			   else
			      i--;
         }
		   else
		      previousOptional = false;
	      i++;
	      j++;
	      continue;
      }
      	      
	   expectedChars = "";
	   if(regularExpr.charAt(j) == '[')
      {
	      j++;
	      while(regularExpr.charAt(j) != ']' && j < regularExpr.length)
         {
	         if(regularExpr.charAt(j) == '0')
	            expectedChars = expectedChars + digits;
	         else if(regularExpr.charAt(j) == 'x')
	            expectedChars = expectedChars + chars;
	         else
            {
               if(regularExpr.charAt(j) == '\\')
		           j++;
               if(j < regularExpr.length)
		           expectedChars = expectedChars + regularExpr.charAt(j);
            }
		      j++;
         }
         
	      if(j < regularExpr.length - 1)
         {
	         j++;
	         repeats = regularExpr.charAt(j);
	         if(repeats != "*" && repeats != "+" && repeats != ":")
	            repeats = "1";
	         else
	            j++;
         }
	      else
         {
	         repeats = "1";
	         j++;
         }
      } 
	   else
      {
	      while(regularExpr.charAt(j) != '0' && regularExpr.charAt(j) != 'x' && regularExpr.charAt(j) != '[' && j < regularExpr.length)
         {
            if(regularExpr.charAt(j) == '\\')
		         j++;
            if(j < regularExpr.length)
               expectedChars = expectedChars + regularExpr.charAt(j++);
         }
		   repeats = "!";
      }

	   if(repeats == "!")
      {
	      k = 0;
	      while(k < expectedChars.length && i < strToCheck.length)
	         if(expectedChars.charAt(k) != strToCheck.charAt(i))
            {
	            return i;
            }
	         else
            {
	            i++;
	            k++;
            }
            
	      if(k < expectedChars.length)
         {
			   if(previousOptional == false)
		         hintStr = expectedChars;
			   else
			 	   hintStr = "";
	         return -2;
         }
      }
	   else
      {
	      found = false;
	      do
         {
            if(i >= strToCheck.length)
               if(repeats == "*" || repeats == ":")
	               continue;
	            else
               {
	               return -2;
	            }
               
	         k = localSearch(expectedChars, strToCheck.charAt(i));
	         if(k == -1)
            {
	            if((repeats == "1" || repeats == "+") && found == false)
               {
	               return i;
               }
	            break;
            }
	         else
            {
	            found = true;
				   i++;
				   previousOptional = (repeats == ":");
	            if(repeats == ":" || repeats == "1")
	               break;
	         }
	      }
	      while(i < strToCheck.length)
	   }//else
   }
	while(j < regularExpr.length);
   
	if(i < strToCheck.length)
	   return i + 5000;
	return -1;
}

function popup(id,pid, width, height,scrollbars)
{
    var win = window.open('details.php?id='+id+'&pid='+pid,'','width=' + width + ',height=' + height + ',left=0,top=0,resizable=1,scrollbars=' + scrollbars + ',status=no,menubar=no' );
}



function findPosX(obj)
{
	 var curleft = 0;
	 if (obj.offsetParent)
	 {
		 while (obj.offsetParent)
		 {
			 curleft += obj.offsetLeft
			 obj = obj.offsetParent;
		 }
	 }
	 else if (obj.x)
	 curleft += obj.x;
	 return curleft;
}

function findPosY(obj)
{
	 var curtop = 0;
	 if (obj.offsetParent)
	 {
		 while (obj.offsetParent)
		 {
			 curtop += obj.offsetTop
			 obj = obj.offsetParent;
		 }
	 }
	 else if (obj.y)
	 curtop += obj.y;
	 return curtop;
}

function createForm (k,id,additem,p,s,m) {


	if (divx !=null) {
		document.body.removeChild(divx);
	}

	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent) || /Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
		var mm =m;
	} else {
		var mm =escape(m);
	}

	divx = document.createElement("DIV"); 
	co = document.getElementById('ad_'+id);
	divx.style.position = "absolute";
	divx.style.left = findPosX(co);
	divx.style.top = findPosY(co);
	divx.style.width = 100;
	divx.style.height = 40;
	divx.style.display = "block";
	divx.onmouseout = function() {};	
	divx.style.visibility = "visible";
	divx.style.background = "#ffffff";
	divx.innerHTML = "<table border=1 cellspacing=0 width=100% height=100%><tr valing=middle align=center><td><font style='family: Arial; width:3; font-size:9px; color:#002666'>Ilo¶æ:</font><input type=text value=1 size=2 id='q_"+id+"'> <a href=\"javascript:addItem('"+k+"','"+additem+"','"+p+"','"+s+"','"+mm+"','"+id+"');\" style=\"font-size:9px;\">Dodaj</a></td></tr></table>";

	document.body.appendChild(divx); 

}

function addItem(k,additem,p,s,m,id) {
	
	var q=document.getElementById('q_'+id).value;
	
	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent) || /Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
		var mm =m;
	} else {
		var mm =escape(m);
	}
	
	
	if ( ! isNaN( parseInt( q ) )) { 
		document.location.href ='index.php?id='+k+'&szukaj='+s+'&m='+mm+'&p='+p+'&additem='+additem+'&q='+q;
	}
}

