function print_r(o)
{
    function f(o, p, s)
    {
        for(x in o)
        {
            if ('object' == typeof o[x])
            {
                s += p + x + ' obiekt: \n';
                pre = p + '\t';
                s = f(o[x], pre, s);
            }
            else
            {
                s += p + x + ' : ' + o[x] + '\n';
            }
        }
        return s;
    }
    return f(o, '', '');
}

Calc = {}

Calc.tablica = new Array();

Calc.update = function(do_update_lok)
{
	if (arguments.length==0) {do_update_lok = 0;}
	var gra = parseInt(document.forms.zamow_form.zamow_gra.value);
	if (gra==-1) 
	{$('#kup-przycisk').hide();
    $('#kup-przycisk-szary').hide();
		document.getElementById('zamow_ceny').innerHTML = '<font style="font-size:14px; font-weight:normal; color:#5d92be;">Wartość: </font><font style="font-size:16px; font-weight:bold; color:#E17B44;">0 zł</font>';
		return;
	}
	var node;
	for (i=0; i<Calc.tablica.length; i++)
	{
		if (Calc.tablica[i][0]==gra)
		{
			node = Calc.tablica[i];
			break;
		}
	}
	var typ = parseInt(document.forms.zamow_form.zamow_typ_slotu.value);
	var ile_m = parseInt(document.forms.zamow_form.zamow_okres.value);
	if (do_update_lok==1)
	{
		//pisanie lokalizacji
		document.forms.zamow_form.zamow_lokalizacja.options.length = 0;
		for (i=0; i<node[2].length; i++)
		{
			document.forms.zamow_form.zamow_lokalizacja.options[document.forms.zamow_form.zamow_lokalizacja.options.length] = new Option(node[2][i][1], node[2][i][0], false, false);
		}

	}
	var lok = parseInt(document.forms.zamow_form.zamow_lokalizacja.value);
	for (i=0; i<node[2].length; i++)
	{
		if (node[2][i][0]==lok)
		{
			node[3] = node[2][i];
			break;
		}
	}
	if ((do_update_lok==1) || (do_update_lok==2))
	{
		document.forms.zamow_form.zamow_sloty.options.length = 0;
		for (i=node[3][4]; i<=node[3][5]; i++)
		{
			document.forms.zamow_form.zamow_sloty.options[document.forms.zamow_form.zamow_sloty.options.length] = new Option(i, i, false, false);
		}
	}
	var ile_sl = parseInt(document.forms.zamow_form.zamow_sloty.value);

    $('#kup-przycisk-szary').hide();
    $('#kup-przycisk').show();
    
	document.getElementById('zamow_ceny').innerHTML = '<font style="font-size:14px; font-weight:normal; color:#5d92be;">Wartość: </font><font style="font-size:14px; font-weight:bold; color:#E17B44;">'+(parseInt(node[3][typ]*ile_sl*ile_m*100)/100)+' zł</font>';
}

Calc.update2 = function(do_update_lok)
{
  
	if (arguments.length==0) {do_update_lok = 0;}
	var gra = parseInt(document.forms.zamow_form2.zamow_gra.value);
	if (gra==-1)
    
	{
        $('#kup-przycisk-szary').show();
	   $('#kup-przycisk').hide();
		document.getElementById('zamow_ceny2').innerHTML = '<font style="font-size:14px; font-weight:normal; color:#5d92be;">Wartość: </font><font style="font-size:14px; font-weight:bold; color:#E17B44;">0 zł</font>';
		return;
	}
	var node;
	for (i=0; i<Calc.tablica.length; i++)
	{
		if (Calc.tablica[i][0]==gra)
		{
			node = Calc.tablica[i];
			break;
		}
	}
    
 

	var ile_m = parseInt(document.forms.zamow_form2.zamow_okres.value);
	if (do_update_lok==1)
	{ 
		//pisanie lokalizacji
		document.forms.zamow_form2.zamow_lokalizacja.options.length = 0;
		for (i=0; i<node[2].length; i++)
		{ 
			document.forms.zamow_form2.zamow_lokalizacja.options[document.forms.zamow_form2.zamow_lokalizacja.options.length] = new Option(node[2][i][1], node[2][i][0], false, false);
		}
        
        document.forms.zamow_form2.zamow_typ_slotu.options.length = 0;          
        if(node[2][0][6]==1)
        {
        
              document.forms.zamow_form2.zamow_typ_slotu.options[1] = new Option('Publiczny', 3, false, true);

        }
                        
        else if(node[2][0][6]==2)
        {
		      document.forms.zamow_form2.zamow_typ_slotu.options[1] = new Option('Publiczny', 3, false, true);
         
        }
        
        else
        {
			document.forms.zamow_form2.zamow_typ_slotu.options[0] = new Option('Prywatny', 2, false, false);
            document.forms.zamow_form2.zamow_typ_slotu.options[1] = new Option('Publiczny', 3, false, true);
        }
	}
    var typ = parseInt(document.forms.zamow_form2.zamow_typ_slotu.value);
	var lok = parseInt(document.forms.zamow_form2.zamow_lokalizacja.value);
	for (i=0; i<node[2].length; i++)
	{
		if (node[2][i][0]==lok)
		{
			node[3] = node[2][i];
			break;
		}
	}
	if ((do_update_lok==1) || (do_update_lok==2))
	{
		document.forms.zamow_form2.zamow_sloty.options.length = 0;
		for (i=node[3][4]; i<=node[3][5]; i++)
		{
			document.forms.zamow_form2.zamow_sloty.options[document.forms.zamow_form2.zamow_sloty.options.length] = new Option(i, i, false, false);
		}
	}
	var ile_sl = parseInt(document.forms.zamow_form2.zamow_sloty.value);

    
	document.getElementById('zamow_ceny2').innerHTML = '<font style="font-size:14px; font-weight:normal; color:#5d92be;">Wartość: </font><font style="font-size:14px; font-weight:bold; color:#E17B44;">'+(parseInt(node[3][typ]*ile_sl*ile_m*100)/100)+'zł</font>';
    $('#kup-przycisk-szary').hide();
    $('#kup-przycisk').show();

    $('.jNiceHidden').each(function(){
        console.log($(this).attr('id'));
        $.jNice.SelectUpdate($(this)[0]);
    })
    
}
Calc.update3 = function(do_update_lok)
{
 
	if (arguments.length==0) {do_update_lok = 0;}
	var gra = parseInt(document.forms.zamowienie_form.zamow_gra.value);
	if (gra==-1)
    
	{
        $('#kup-przycisk-szary-zamowienie').show();
	    $('#kup-przycisk-zamowienie').hide();
		document.getElementById('cena_wartosc').innerHTML = 0;
		return;
	}

	for (i=0; i<Calc.tablica.length; i++)
	{
		if (Calc.tablica[i][0]==gra)
		{
		 	node = Calc.tablica[i];
		 	break;
		}
	}


	var ile_m = parseInt(document.forms.zamowienie_form.zamow_okres.value);
	if (do_update_lok==1)
	{
		//pisanie lokalizacji
		document.forms.zamowienie_form.zamow_lokalizacja.options.length = 0;
		for (i=0; i<node[2].length; i++)
		{
			document.forms.zamowienie_form.zamow_lokalizacja.options[document.forms.zamowienie_form.zamow_lokalizacja.options.length] = new Option(node[2][i][1], node[2][i][0], false, false);
		}
        
                
        document.forms.zamowienie_form.zamow_typ_slotu.options.length = 0;          
        if(node[2][0][6]==1)
        {
        
              document.forms.zamowienie_form.zamow_typ_slotu.options[1] = new Option('Publiczny', 3, false, true);

        }
                        
        else if(node[2][0][6]==2)
        {
		      document.forms.zamowienie_form.zamow_typ_slotu.options[1] = new Option('Publiczny', 3, false, true);
         
        }
        
        else
        {
			document.forms.zamowienie_form.zamow_typ_slotu.options[0] = new Option('Prywatny', 2, false, false);
            document.forms.zamowienie_form.zamow_typ_slotu.options[1] = new Option('Publiczny', 3, false, true);
        }
	}
    
    var typ = parseInt(document.forms.zamowienie_form.zamow_typ_slotu.value);
    
	var lok = parseInt(document.forms.zamowienie_form.zamow_lokalizacja.value);
	for (i=0; i<node[2].length; i++)
	{
		if (node[2][i][0]==lok)
		{
			node[3] = node[2][i];
			break;
		}
	}
	if ((do_update_lok==1) || (do_update_lok==2))
	{
		document.forms.zamowienie_form.zamow_sloty.options.length = 0;
		for (i=node[3][4]; i<=node[3][5]; i++)
		{
			document.forms.zamowienie_form.zamow_sloty.options[document.forms.zamowienie_form.zamow_sloty.options.length] = new Option(i, i, false, false);
		}
	}
	var ile_sl = parseInt(document.forms.zamowienie_form.zamow_sloty.value);

    var informacja = '<span id="label">Gra: </b><span id="tekst">'+document.forms.zamowienie_form.zamow_gra.options[document.forms.zamowienie_form.zamow_gra.selectedIndex].text+'</span>';
    informacja = informacja + '<span id="opis">' + document.getElementById('opis'+document.forms.zamowienie_form.zamow_gra.value).innerHTML + '</span>';
    
    informacja = informacja + '<br><span id="label">Lokalizacja: </b><span id="tekst">'+document.forms.zamowienie_form.zamow_lokalizacja.options[document.forms.zamowienie_form.zamow_lokalizacja.selectedIndex].text+'</span>';
    
    if(document.forms.zamowienie_form.zamow_lokalizacja.value==8 || document.forms.zamowienie_form.zamow_lokalizacja.value==11)
    {
    informacja = informacja + '<span id="opis">Lokalizacja ta jest przeznaczona głównie dla graczy z poza Polski. Dzięki umieszczeniu naszych serwerów w największej europejskiej serwerowni, klienci z całej europy mogą cieszyć się niskim i stabilnym pingiem.</span>';
    }    
    else if(document.forms.zamowienie_form.zamow_lokalizacja.value==10)
    {
    informacja = informacja + '<span id="opis">Lokalizacja ta przeznaczona jest głównie dla graczy z Polski. Warszawa, to miejsce w którym większość operatorów w Polsce posiada swoje bezpośrednie punkty styku z innymi operatorami. Wybierając tą lokalizacje masz gwarancje stabilnego i niskiego pingu.</span>';
    }
    
    else if(document.forms.zamowienie_form.zamow_lokalizacja.value==6)
    {
    informacja = informacja + '<span id="opis">Lokalizacja Gdańsk przeznaczona jest dla mniej wymagających graczy z Polski. Jest to najlepszy wybór cenowy, który pozwala cieszyć się niskim i stabilnym pingiem za niską cenę.</span>';
    }

    if (do_update_lok==4)
    {
    informacja = informacja + '<br><span id="label">Typ serwera: </b><span id="tekst">Publiczny</span>';    
    }
    
    else
    {
    informacja = informacja + '<br><span id="label">Typ serwera: </b><span id="tekst">'+document.forms.zamowienie_form.zamow_typ_slotu.options[document.forms.zamowienie_form.zamow_typ_slotu.selectedIndex].text+'</span>';
    }
    
    if(document.forms.zamowienie_form.zamow_typ_slotu.value==2)
    {
    informacja = informacja + '<span id="opis">Serwer prywatny musi posiadać hasło dostępowe. Hasła zgodnie z regulaminem nie wolno rozpowszechniać w Internecie.</span>';
    }   
    
    else if(document.forms.zamowienie_form.zamow_typ_slotu.value==3)
    {
    informacja = informacja + '<span id="opis">Serwer publiczny nie musi posiadać hasła dostępowego.</span>';
    }     
    
    if (do_update_lok==4)
    {
    informacja = informacja + '<br><span id="label">Liczba slotów: </b><span id="tekst">16</span>';
    }
    
    else
    {
    informacja = informacja + '<br><span id="label">Liczba slotów: </b><span id="tekst">'+document.forms.zamowienie_form.zamow_sloty.options[document.forms.zamowienie_form.zamow_sloty.selectedIndex].text+'</span>';
    }
    informacja = informacja + '<span id="opis">Taka liczba graczy będzie mogła jednocześnie podłączyć się do Twojego serwera.</span>';
      
    
    document.getElementById('zamawianie_informacje').innerHTML = informacja;

    if (do_update_lok!=4)
    {


   
        if($('input[name=ipport]:checked').val()=='on')
        {
            
            $('#ip_tr').show();   
            $('#port_tr').show(); 
            
            if ((do_update_lok==1) || (do_update_lok==2) || (do_update_lok==5))
            {   
                document.forms.zamowienie_form.ip.options.length = 0;
                $.ajax({
                url:  'http://www.gamesol.pl/panel_ajax.php?get=ipport&co=ip&lok='+document.forms.zamowienie_form.zamow_lokalizacja.value+'&gra='+document.forms.zamowienie_form.zamow_gra.value, 
                dataType: 'json',  
                async: false,  
                success: function(data) {$.each(data, function() {
                    
                    document.forms.zamowienie_form.ip.options[document.forms.zamowienie_form.ip.options.length] = new Option(this, this, false, false);
                }
                )
                    $.jNice.SelectUpdate(document.forms.zamowienie_form.ip);
                
                }
                });
    
            }
            
            if ((do_update_lok==1) || (do_update_lok==2) || (do_update_lok==5) || do_update_lok==6)
            {
                    document.forms.zamowienie_form.port.options.length = 0;
                    $.jNice.SelectUpdate(document.forms.zamowienie_form.port);
                    
                    var port_tab;
                                 
                      $.ajax({
                      url:  'http://www.gamesol.pl/panel_ajax.php?get=ipport&co=port&ip='+document.forms.zamowienie_form.ip.value+'&gra='+document.forms.zamowienie_form.zamow_gra.value,  
                      dataType: 'json',  
                      async: false,  
                      success: function(data) {$.each(data, function() {
                   
                        port_tab=String(this).split(';');
                        
                        if(!port_tab[1])
                        {
                            port_tab[1]=20;
                        }
                                                
                        document.forms.zamowienie_form.port.options[document.forms.zamowienie_form.port.options.length] = new Option(port_tab[0]+' - '+port_tab[1]+' zł', port_tab[0], false, false);
                      
                    
                    }
                    )
                    $.jNice.SelectUpdate(document.forms.zamowienie_form.port);
                    }
                    });
            }
        
        var cena_portu=parseInt(String(document.forms.zamowienie_form.port.options[document.forms.zamowienie_form.port.selectedIndex].text.match(/\s\d+/gi)).replace(' ','')); 
           
        }
        
        else
        {
            document.forms.zamowienie_form.ip.options.length = 0;
            document.forms.zamowienie_form.port.options.length = 0;
            $.jNice.SelectUpdate(document.forms.zamowienie_form.ip);
            $.jNice.SelectUpdate(document.forms.zamowienie_form.port);
            $('#ip_tr').hide();
            $('#port_tr').hide();
            var cena_portu=0;
        }
        
  
 
        
        var znizka=0;
        if (document.getElementById('kupon').value!='')
        {
    
          $.ajax({
          url:  './panel_ajax.php?get=kupony&kupon='+document.getElementById('kupon').value,
          dataType: 'get',  
          async: false,  
          success: function(data){
            
                if(data=='brak')
                {
                    return $("#kupon_opis").html('Kupon nie poprawny');
                }
                
                else if(data=='iloscoff')
                {
                    return $("#kupon_opis").html('Liczba kuponów została wykożystana.');
                }
                
                else if(data=='waznoscoff')
                {
                    return $("#kupon_opis").html('Kupon stracił ważność');
                }
                
                
                
                else 
                {
                    var tab = data.split('<nrow>');
                    
                    if(tab[5]!='a')
                    {   
                  
                        if(tab[5].indexOf("'"+document.forms.zamowienie_form.zamow_gra.value+"'")==-1)
                        {
                        return $("#kupon_opis").html('Kupon nie obsługuje tej gry.'); 
                        }
                    }

                    
                    if(tab[6]!='a')
                    {   
                  
                        if(tab[6].indexOf("'"+document.forms.zamowienie_form.zamow_lokalizacja.value+"'")==-1)
                        {
                        return $("#kupon_opis").html('Kupon nie obsługuje wybranej lokalizacji.'); 
                        }
                    }
                    
                    if(tab[7]!='a')
                    {   
                  
                        if(tab[7]!=document.forms.zamowienie_form.zamow_typ_slotu.value)
                        {
                        return $("#kupon_opis").html('Kupon nie obsługuje wybranego typu serwera.'); 
                        }
                    }
                    
                    znizka=tab[4];
                    return $("#kupon_opis").html(tab[8]);
                    
                }
            
            
            }
            
            });
        
        }  
    
        document.getElementById('cena_wartosc').innerHTML = parseInt(((parseInt(node[3][typ]*ile_sl*(ile_m)*100)/100)-(parseInt(node[3][typ]*ile_sl*znizka)/100))*100)/100 + ' zł';
    
        if(cena_portu!=0)
        {
        document.getElementById('cena_wartosc').innerHTML = document.getElementById('cena_wartosc').innerHTML + ' + ' + cena_portu + ' zł (ip)';
        }    
    
    }
    

    
     
    $('#kup-przycisk-szary-zamowienie').hide();
    $('#kup-przycisk-zamowienie').show();

    
    $('.jNiceHidden').each(function(){
       
        console.log($(this).attr('id'));
        $.jNice.SelectUpdate($(this)[0]);

    })
    
}
function print_r(o)
{
    function f(o, p, s)
    {
        for(x in o)
        {
            if ('object' == typeof o[x])
            {
                s += p + x + ' obiekt: \n';
                pre = p + '\t';
                s = f(o[x], pre, s);
            }
            else
            {
                s += p + x + ' : ' + o[x] + '\n';
            }
        }
        return s;
    }
    return f(o, '', '');
}

Calc.dodaj = function(gra_id, gra_nazwa, lok_id, lok_nazwa, cena_priv, cena_pub, sloty_min, sloty_max, rodzaj)
{
	if ((Calc.tablica.length==0) || (Calc.tablica[Calc.tablica.length-1][1]!=gra_nazwa)) Calc.tablica.push(new Array(gra_id, gra_nazwa, new Array()));
	Calc.tablica[Calc.tablica.length-1][2].push(new Array(lok_id, lok_nazwa, cena_priv, cena_pub, sloty_min, sloty_max, rodzaj));

}
