// przechowuje obiekt XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
var akcja='';
var url='';
var other='';


function in_array(v,arr) {
	var t = false;
	var s = arr.length
	for (b=0; b < s; b++){
		if (arr[b] == v ) {
			t = true;
			break;
		}
	}
	return t;
}






// tworzy obiekt XMLHttpRequest
function createXmlHttpRequestObject() 
{
  // przechowa odwo&#313;&#8218;anie do obiektu XMLHttpRequest
  var xmlHttp;
  // powinno dzia&#313;&#8218;a&#196;&#8225; dla wszystkich przegl&#196;&#8230;darek z wyj&#196;&#8230;tkiem IE6 i starszych
  try
  {
    // pr&#258;łbuje utworzy&#196;&#8225; obiekt XMLHttpRequest
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // w przypadku, gdy przegl&#196;&#8230;dark&#196;&#8230; jest IE6 lub starszy
    var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
      'MSXML2.XMLHTTP.5.0',
      'MSXML2.XMLHTTP.4.0',
      'MSXML2.XMLHTTP.3.0',
      'MSXML2.XMLHTTP',
      'Microsoft.XMLHTTP');
    // sprawdza ka&#313;Ądy identyfikator programu, a&#313;Ą jeden zadzia&#313;&#8218;a
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
 
      { 
        // pr&#258;łbuje utworzy&#196;&#8225; obiekt XMLHttpRequest
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // zwraca utworzony obiekt lub wy&#313;&#8250;wietla komunikat o b&#313;&#8218;&#196;&#8482;dzie
  if (!xmlHttp)
    alert("B&#313;&#8218;&#196;&#8230;d podczas tworzenia obiektu XMLHttpRequest.");
  else 
    return xmlHttp;
}

// wywo&#313;&#8218;ana do odczytania pliku z serwera
function process(ac,u,ot)
{

  // kontynuuje tylko je&#313;&#8250;li obiekt xmlHttp istnieje
  if (xmlHttp)
  {
    // pr&#258;łbuje po&#313;&#8218;&#196;&#8230;czy&#196;&#8225; si&#196;&#8482; z serwerem
    try
    {
      // inicjalizacja odczytu pliku async.txt z serwera
		akcja=ac;
		url=u;
		other = ot;

      xmlHttp.open("GET", "http://missala.werona.pl/admin/ajax.php?par="+akcja+'&'+url, true);
      xmlHttp.onreadystatechange = handleRequestStateChange;
      xmlHttp.send(null);
    }
    // w przypadku niepowodzenia wy&#313;&#8250;wietla komunikat o b&#313;&#8218;&#196;&#8482;dzie
    catch (e)
    {
      alert("Nie mogę polaczyc się z serwerem:\n" + e.toString());
    }
  }
}

// funkcja wywo&#313;&#8218;ywana przy zmianie statusu HTTP
function handleRequestStateChange() 
{
  // kiedy readyState ma warto&#313;&#8250;&#196;&#8225; 4, zaczynamy odczyt odpowiedzi serwera
  if (xmlHttp.readyState == 4) 
  {
    // kontynuuje tylko, gdy status serwera ma warto&#313;&#8250;&#196;&#8225; "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
        // obs&#313;&#8218;uguje odpowied&#313;&#351; z serwera
        handleServerResponse();
      }
      catch(e)
      {
        // wy&#313;&#8250;wietla komunikat o b&#313;&#8218;&#196;&#8482;dzie
        alert("Blad odczytu odpowiedzi: " + e.toString()+"\nlub zwrocono pusty ciag znakow");
      }
    } 
    else
    {
      // wy&#313;&#8250;wietla statut wiadomo&#313;&#8250;ci
      alert("Pojawi&#313;&#8218; si&#196;&#8482; problem w uzyskaniu danych:\n" +
        xmlHttp.statusText);
    }
  }
}

 
// obs&#313;&#8218;uguje odpowied&#313;&#351; otrzyman&#196;&#8230; z serwera
function handleServerResponse()
{
  // odczyt wiadomo&#313;&#8250;ci z serwera
  var xmlResponse = xmlHttp.responseXML;
  // pobranie obiektu dokumentu pliku XML
  xmlRoot = xmlResponse.documentElement;
	
	// wywoluj poszczegolne funckrj na podstawie parametrow 
	switch (parseInt(akcja)) {
		case 1 : // odczyk danych o zapowiedzi
 			  var arr = xmlRoot.getElementsByTagName("dane");
			  document.getElementById('zzumowany').innerHTML = arr.item(0).firstChild.data;		
			  zoomImg(other);
			break;
		case 2 :
			  var symkar = xmlRoot.getElementsByTagName("symkar");
			  var name = xmlRoot.getElementsByTagName("name");
			  var publisher = xmlRoot.getElementsByTagName("publisher");	
			  var fsize = symkar.length;
			  var res = "";
			  
				
			  document.getElementById('resTolLstSearch').innerHTML = 'Proszę czekać. Wyszukiwanie....'	;
			  if ((fsize > 0)&&(fsize <= 100)) {
				  res+='<table border=\"0\" width="100%"><tr><th>Lp.</th><th>Tytuł</th><th>Wydawca</th><th>Symkar</th><td>&nbsp;</td></tr>';
				  for (a=0; a < fsize; a++) {
						res+='<tr valign="top"><td>'+(a+1)+'.</td><td>'+name[a].firstChild.data+'</td><td>'+publisher[a].firstChild.data+'</td><td>'+symkar[a].firstChild.data+'</td><td><a href="javascript:void(0)" onclick="fInsert2TopLista(\''+symkar[a].firstChild.data+'\')">Dodaj</a></td></tr>';
				  }
				  res+='</table>';
			  } else if (fsize > 100) {
			  		res = '<span style=\"color: red\">Znaleziono powyżej 100 pozycji. Sprecyzuj swoje wyszukiwanie...</span>'	;	
			    } else {
			  		res = 'Brak danych......'	;
			    }
			  document.getElementById('resTolLstSearch').innerHTML = res;				
			break;
		case 3 :
				var erro = xmlRoot.getElementsByTagName("error");

				if (erro.length != 0) {
					alert('Element istnieje');
//					break;
				}
				process(4,'','');
		case 4 :
			  var symkar = xmlRoot.getElementsByTagName("symkar");
			  var name = xmlRoot.getElementsByTagName("name");
			  var publisher = xmlRoot.getElementsByTagName("publisher");	
			  var fsize = symkar.length;
			  var res = "";

				  res+='<table border=\"0\" width="100%"><tr><th>Lp.</th><th>Tytuł</th><th>Wydawca</th><th>Symkar</th><td>&nbsp;</td></tr>';
				  for (a=0; a < fsize; a++) {
						res+='<tr valign="top"><td>'+(a+1)+'.</td><td>'+name[a].firstChild.data+'</td><td>'+publisher[a].firstChild.data+'</td><td>'+symkar[a].firstChild.data+'</td><td><a href="javascript:void(0)" onclick="if(confirm(\'Skasowac?\')){fDelFromTopLista(\''+symkar[a].firstChild.data+'\')}">Usuń</a></td></tr>';
				  }
				  res+='</table>';
			  document.getElementById('TopLista').innerHTML = res;	
			break;
		case 5 :
				process(4,'','');
			break;
			
		case 6 :  // pobierz atrybuty dio wprowadzenia produktu
				var txt = 'Dostępne atrybuty w tej kategorii:';
				var dane = xmlRoot.getElementsByTagName("kategoria");
				var fsize = dane.length
				var atryb = new Array;
				var check = '';
				if (fsize == 0) txt = 'Brak atrybutów w tej kategorii';
				
				if (xmlRoot.getElementsByTagName("atrybuty")) {
					var atrybuty = xmlRoot.getElementsByTagName("atrybuty");
					var atrybutyVal = atrybuty[0].firstChild.data;
					atryb = atrybutyVal.split(',');
				}
				
				txt += '<table border="0" width="100%">'
				for (a=0; a < fsize; a++) {
					if (atryb.length > 0) {
						check = ((in_array(dane[a].childNodes[0].firstChild.data, atryb)) ? 'checked' : '')
					}
					txt +='<tr><td width="1%">'+ (a+1) + '.</td><td width="1%"><input type="checkbox" name="atrybuty[]" value="' + dane[a].childNodes[0].firstChild.data + '" onclick="getValFromAtrr(' + dane[a].childNodes[0].firstChild.data + ')" ' + check + ' /></td><td>'+ dane[a].childNodes[2].firstChild.data + /*' (<i>'+dane[a].childNodes[1].firstChild.data+'</i>)' +*/'</td><td></td><td></td></tr>';
					
					txt += '<tr><td></td><td colspan="3"><div id="cell'+dane[a].childNodes[0].firstChild.data+'" style="display: none; padding-left: 10px;"></div></td></tr>';
					
					if (check == "checked") {
//						alert('a');

						//process(7, 'at=' + dane[a].childNodes[0].firstChild.data);
					}
					
				}
				txt += '</table>';
				
				document.getElementById('atrKat1').innerHTML = txt;
			break;
			
		case 7 : // pobierz wartosc atrybutow
				var txt = '';
				var ext = xmlRoot.getElementsByTagName("ext");
				var extVal = ext[0].firstChild.data;
				var dane = xmlRoot.getElementsByTagName("parametr");
				var fsize = dane.length
				
				var dsp = document.getElementById('cell' + extVal).style.display;
				
				document.getElementById('cell' + extVal).style.display = ((dsp=='none') ? 'block' : 'none');
				var check = ((dsp=='none') ? '' : 'checked');
				
				
				if (fsize == 0) txt = 'Brak wartości w tym atrybucie';
				
				txt += '<table border="0">';
				for (a=0; a < fsize; a++) {
					txt += '<tr><td><input type="checkbox" name="atrVal['+dane[a].childNodes[2].firstChild.data+'][]" value="'+dane[a].childNodes[0].firstChild.data+'" '+check+' /></td><td>' + dane[a].childNodes[1].firstChild.data + '</td></tr>'
				}
				
				
				document.getElementById('cell' + extVal).innerHTML = txt;
			break;
			
		case 8 :  // pobierz atrybuty dio wprowadzenia produktu
				var txt = 'Dostępne atrybuty w tej kategorii:';
				var dane = xmlRoot.getElementsByTagName("kategoria");
				var fsize = dane.length
				var dis = 'none';
				var disab = '' ;
				alert(xmlRoot);
							
				txt += '<table border="0" width="100%" cellpadding="0" cellspacing="0">'
				for (a=0; a < fsize; a++) {
					disab = (dane[a].childNodes[4] ? '' : 'disabled');
					txt +='<tr><td width="1%">'+ (a+1) + '.</td><td width="1%"><input type="checkbox" name="atrybuty[]" value="' + dane[a].childNodes[0].firstChild.data + '" onclick="viewValFromAtrr(' + dane[a].childNodes[0].firstChild.data + ')" ' + dane[a].childNodes[3].firstChild.data + ' ' + disab + ' /></td><td>'+ dane[a].childNodes[2].firstChild.data + '</td><td></td><td></td></tr>';
					
					txt += '<tr><td></td><td colspan="3">';
					dis = ((dane[a].childNodes[3].firstChild.data=='checked') ? 'block' : 'none')
					txt += '<div id="cell'+dane[a].childNodes[0].firstChild.data+'" style="display: '+dis+'; padding-left: 10px;">';
					
					if (dane[a].childNodes[4]) {
						var wart = dane[a].childNodes[4]
						var si = wart.childNodes.length;
						for (b=0; b < si; b++) {
							txt += '<table border="0" cellpadding="0" cellspacing="0">';
							
							var typ = dane[a].childNodes[1].firstChild.data;
							
							switch (typ) {
								case "text" :
									txt += '<tr><td>' + wart.childNodes[b].childNodes[1].firstChild.data + '</td><td><input type="' + dane[a].childNodes[1].firstChild.data + '" name="atrVal['+dane[a].childNodes[0].firstChild.data+'][]" value="" ' + wart.childNodes[b].childNodes[3].firstChild.data + ' style="width: 200px;" /></td></tr>';
								break;
								default :
									txt += '<tr><td><input type="' + dane[a].childNodes[1].firstChild.data + '" name="atrVal['+dane[a].childNodes[0].firstChild.data+'][]" value="'+wart.childNodes[b].childNodes[0].firstChild.data+'" ' + wart.childNodes[b].childNodes[3].firstChild.data + ' /></td><td>' + wart.childNodes[b].childNodes[1].firstChild.data + '</td></tr>';
								break;
							}
							
							
							//txt += '<tr><td><input type="' + dane[a].childNodes[1].firstChild.data + '" name="atrVal['+dane[a].childNodes[0].firstChild.data+'][]" value="'+wart.childNodes[b].childNodes[0].firstChild.data+'" ' + wart.childNodes[b].childNodes[3].firstChild.data + ' /></td><td>' + wart.childNodes[b].childNodes[1].firstChild.data + '</td></tr>';
							
							txt += '</table>';
						}
					}				
					txt += '</div></td></tr>';		
				}
				txt += '</table>';
				document.getElementById('atrKat1').innerHTML = txt;
			break;
		case 9 : // podglad produktu
				var txt = '';

				var dane = xmlResponse.getElementsByTagName("produkt");
				var dl = dane.item(0).childNodes.length;
				var elementy = dane.item(0).childNodes;
				
				var obrazy = xmlResponse.getElementsByTagName("p_images");
				var atrybuty = xmlResponse.getElementsByTagName("p_atrybuty");


/*			
				for (a=0; a < dl; a++) {
					txt += '<div >' + elementy[a].firstChild.data + '</div>';
				}
*/			

				txt += '<div style="padding-bottom: 20px;"><b>' + elementy[1].firstChild.data + '</b></div>';
				
				txt += '<div>Ref: ' + elementy[2].firstChild.data + '</div>';
				txt += '<div>Symbol: ' + elementy[3].firstChild.data + '</div>';
				txt += '<div>Ean: ' + elementy[4].firstChild.data + '</div>';
				txt += '<div>Cena brutto PLN: ' + elementy[5].firstChild.data + '</div>';
				txt += '<div>Cena brutto EU: ' + elementy[6].firstChild.data + '</div>';
				txt += '<div>Status: ' + elementy[7].firstChild.data + '</div>';
				txt += '<div>Premiera: ' + elementy[8].firstChild.data + '</div>';
				txt += '<div>Skład:</div>';				
				txt += '<div style="padding-left: 20px; padding-bottom: 10px;">' + elementy[9].firstChild.data + '</div>';				
				
				txt += '<div>Opis skrócony:</div>';				
				txt += '<div style="padding-left: 20px; padding-bottom: 10px;">' + elementy[10].firstChild.data + '</div>';	
				
				txt += '<div>Opis pełny:</div>';				
				txt += '<div style="padding-left: 20px; padding-bottom: 10px;">' + elementy[11].firstChild.data + '</div>';
				
				txt += '<div>Ilość: ' + elementy[12].firstChild.data + '</div>';
				

				if ((obrazy.item(0))&&(atrybuty.item(0))) {
					var dl_atr = elementy[16].childNodes.length;
					var atrybuty = elementy[16].childNodes;
					var dl_img = elementy[17].childNodes.length;
					var obrazy = elementy[17].childNodes;
				} else if ((!obrazy.item(0))&&(atrybuty.item(0))) {
						var dl_atr = elementy[16].childNodes.length;
						var atrybuty = elementy[16].childNodes;
						var dl_img = 0;
					} else if ((obrazy.item(0))&&(!atrybuty.item(0))) {
							var dl_atr = 0;
							var dl_img = elementy[16].childNodes.length;
							var obrazy = elementy[16].childNodes;
					  }
				
				
				if (dl_atr > 0) {
					txt += '<div style="padding-top: 10px;">Atrybuty</div>';
					for (a=0; a < dl_atr; a+=2) {
						txt += '<div style="clear: both">';
						txt += '<div style="float: left; width: 200px;">' + atrybuty[a].firstChild.data +'</div><div style="float: left; width: 200px;">' + atrybuty[(a+1)].firstChild.data +'</div>';
						txt += '</div>';
					}
				}


					
				if (dl_img > 0) {
					txt += '<div style="padding-top: 10px; clear: both">Ilustracje</div>';
					for (a=0; a < dl_img; a+=2) {
						txt += '<div style="clear: both; padding: 5px">';
						txt += '<img src="../../img2docs/' + obrazy[(a+1)].firstChild.data + '" border="0" />';
						txt += '</div>';
					}
				}

				
				document.getElementById('viewProduktContent').innerHTML = txt;
			break;
			
			
			
			
				
				
				
				
/// polecamy
				
		case 12 :
			  var symkar = xmlRoot.getElementsByTagName("symkar");
			  var name = xmlRoot.getElementsByTagName("name");
			  var publisher = xmlRoot.getElementsByTagName("publisher");	
			  var fsize = symkar.length;
			  var res = "";
			  
				
			  document.getElementById('resTolLstSearch').innerHTML = 'Proszę czekać. Wyszukiwanie....'	;
			  if ((fsize > 0)&&(fsize <= 100)) {
				  res+='<table border=\"0\" width="100%"><tr><th>Lp.</th><th>Tytuł</th><th>Wydawca</th><th>Symkar</th><td>&nbsp;</td></tr>';
				  for (a=0; a < fsize; a++) {
						res+='<tr valign="top"><td>'+(a+1)+'.</td><td>'+name[a].firstChild.data+'</td><td>'+publisher[a].firstChild.data+'</td><td>'+symkar[a].firstChild.data+'</td><td><a href="javascript:void(0)" onclick="fInsert2TopLista(\''+symkar[a].firstChild.data+'\')">Dodaj</a></td></tr>';
				  }
				  res+='</table>';
			  } else if (fsize > 100) {
			  		res = '<span style=\"color: red\">Znaleziono powyżej 100 pozycji. Sprecyzuj swoje wyszukiwanie...</span>'	;	
			    } else {
			  		res = 'Brak danych......'	;
			    }
			  document.getElementById('resTolLstSearch').innerHTML = res;				
			break;
		case 13 :
				var erro = xmlRoot.getElementsByTagName("error");

				if (erro.length != 0) {
					alert('Element istnieje');
//					break;
				}
				process(14,'','');
		case 14 :
			  var symkar = xmlRoot.getElementsByTagName("symkar");
			  var name = xmlRoot.getElementsByTagName("name");
			  var publisher = xmlRoot.getElementsByTagName("publisher");	
			  var fsize = symkar.length;
			  var res = "";

				  res+='<table border=\"0\" width="100%"><tr><th>Lp.</th><th>Tytuł</th><th>Wydawca</th><th>Symkar</th><td>&nbsp;</td></tr>';
				  for (a=0; a < fsize; a++) {
						res+='<tr valign="top"><td>'+(a+1)+'.</td><td>'+name[a].firstChild.data+'</td><td>'+publisher[a].firstChild.data+'</td><td>'+symkar[a].firstChild.data+'</td><td><a href="javascript:void(0)" onclick="if(confirm(\'Skasowac?\')){fDelFromPolecamyLista(\''+symkar[a].firstChild.data+'\')}">Usuń</a></td></tr>';
				  }
				  res+='</table>';
			  document.getElementById('TopLista').innerHTML = res;	
			break;
		case 15 :
				process(14,'','');
			break;
	}

}

function start() {
	
}