var strony = new Array();
var ile = 0;
var xmlhttp, ajax;

var zielony = "#c0e69e";
var niebieski = "#bcd1ef";
var kolortla = "#f8f3e6";
var rootUrl = "http://matematyka.pisz.pl/"  //do zmiany jest jeszcze w drukowanie.html
//var rootUrl = "http://localhost/matma/"

var kliknietoDrukuj = false;


function id(co){
    return document.getElementById(co);
}

function znajdzCiastko(co){
    var ciacho = document.cookie;

    var p = ciacho.indexOf(co+'=');
    if (p>=0){
	var wycinek = ciacho.substring(p,ciacho.length);
	var p = wycinek.indexOf('=') + 1; //poczatek zawartosci dla np. ustawienia="...zawartosc .."
	var k = wycinek.indexOf(';');     //koniec
	if (k<0) k = wycinek.length;
	var wartosc = wycinek.substring(p,k);
	return wartosc;
    }else{
	return 'brak';
    }
}

function upieczCiacho(nazwa,zawartosc){
    var data = new Date(2090,11,10,19,30,30);
    document.cookie = nazwa+"="+escape(zawartosc)+"; expires="+data.toGMTString()+"; path=/";
}

function killCiacho(){
    var data = new Date(2000,11,10,19,30,30);
    var ciacho = document.cookie;
    if ((ciacho.indexOf('strony=') >= 0)) document.cookie = "strony=; expires="+data.toGMTString()+"; path=/";
}

function czyTaStronaJestJuzDodana(strona){
    for(var n=0; n<ile; n++){
	if (strony[n] == strona) return true;
    }
    return false;
}

function wygladGdyStronaJestDodana(){
    id("drukdodaj").style.backgroundColor = zielony;
    id("drukdodaj").onmouseover = function(){  id("druklicznik").innerHTML = ile; aktualizujIleNaPodstawieCiastka();} 
    id("drukdodaj").onmouseout = null;
    id("druklicznik").innerHTML = ile;
    id("drukkosz").style.display = "block";
    id("drukkosz").onclick = wyczysc;
    id("drukpdf").style.display = "block";
}

function wygladGdyStronaNieJestDodanaAleInneSa(){
    id("drukdodaj").style.backgroundColor = kolortla;
    id("drukdodaj").onmouseover = function(){ this.style.backgroundColor = niebieski; aktualizujIleNaPodstawieCiastka();};
    id("drukdodaj").onmouseout = function(){ this.style.backgroundColor = kolortla; };
    id("druklicznik").innerHTML = ile;
    id("drukkosz").style.display = "block";
    id("drukkosz").onclick = wyczysc;
    id("drukpdf").style.display = "block";
}

function dodajTaStrone(strona){
    if (czyTaStronaJestJuzDodana(strona)){
	alert("Ta strona jest już dodana do wydrukowania!");
	return 0;
    }
    strony[ile] = strona;
    ile++;

    for(n=0; n<ile; n++){
	if (n == 0){
	    var dociacha = strony[n];
	}else{
	    dociacha += "."+strony[n];
	}
    }
    upieczCiacho("strony",dociacha);
    wygladGdyStronaJestDodana();
}

function wyczysc(){
    strony = new Array();
    ile = 0;
    killCiacho();
    id("drukdodaj").style.backgroundColor = kolortla;
    id("drukdodaj").onmouseover = function(){ this.style.backgroundColor = niebieski; };
    id("drukdodaj").onmouseout = function(){ this.style.backgroundColor = kolortla; };

    id("druklicznik").innerHTML = '<img src="../printer.png">';
    id("drukkosz").style.display = "none";
    id("drukpdf").style.display = "none";
    id("drukpdf").onclick = function(){ document.location = rootUrl+"drukowanie.html" }; //gdyby bylo utworzPdf
}

function aktualizujIleNaPodstawieCiastka(){
    var ciastko = znajdzCiastko("strony");
    if (ciastko != 'brak'){
	ile = ciastko.split(".").length;
	id("druklicznik").innerHTML = ile;
    }
}

/* poczatek statystyka */

function makexmlhttp(){
    var xmlhttp = false;
    if (window.XMLHttpRequest){
	xmlhttp = new XMLHttpRequest();
    }else{
	try{
	    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
	    try{
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	    }catch (e){
		xmlhttp = false;
	    }
	}
    }
    return xmlhttp;
}

function wyslij(s){
    var xmlhttp = makexmlhttp();
    if (xmlhttp){
	xmlhttp.open('GET', rootUrl + '?s='+s, true);
	xmlhttp.onreadystatechange = null;
	xmlhttp.send(null);
    }

}

function dajLosowe() {
    tekst = '';
    var literki = "abcdefghijklmnopqrstuvwxyz0123456789";
    for(var n=0; n<6; n++){
	//losuje znak
	var liczba = Math.floor(  Math.random() * 36 ) ;
	var litera = literki.charAt(liczba);
	tekst += litera;
    }
    return tekst;
}

function statystyka(){
//    if (rootUrl == 'http://localhost/matma/') return true;
	try{
	    var skad = document.referrer.toString();
	    var url = document.location.toString();

	    if (url.search(/strona\/\d+\.html/) > 0){
		var nrStrony = url.match(/strona\/(\d+)\.html/)[1];

		var s = znajdzCiastko('s');
		if (s == 'brak'){
		    s = dajLosowe();
		    upieczCiacho('s', s);
		}
		if ( (skad.indexOf('http://matematyka.pisz.pl') == 0) || 
		     (skad.indexOf('http://www.matematyka.pisz.pl') == 0) ){
		    wyslij(nrStrony + '.1.' + s)
		}else{
		    wyslij(nrStrony + '.0.' + s)
		}
	}
    }catch (e){}

}
function oplatyZaSerwer(){
    try{
	var s = ["rzek", "kub", "Grz", "Ja", " ", "ego"];
	id("imieNazwisko").innerHTML = s[3] + s[1] + s[4] + s[2] + s[5] + s[0];
	var s = ["00","11","32","20","44","40","04","37","02","39","27","98"," "];
	id("konto").innerHTML = s[4] + s[12] + s[1] + s[5] + s[12] + s[3] + s[6] + s[12] + s[0] +
	    s[0] + s[12] + s[7] + s[8] + s[12] + s[2] + s[9] + s[12] + s[10] + s[11];
	var s = ["ja","sz.p","tema","ku","b@","ma","tyk","a.pi","l"];
	id("adr").innerHTML = s[0] + s[3] + s[4] + s[5] + s[2] + s[6] + s[7] + s[1] + s[8];
    }catch (e){}
}


function poczatek(){
    try{
	var s = ["ja","sz.p","tema","ku","b@","ma","tyk","a.pi","l"];
	id("madr").innerHTML = s[0] + s[3] + s[4] + s[5] + s[2] + s[6] + s[7] + s[1] + s[8];
    }catch (e){}


    //statystyka();

    var url = document.location.toString();
    
    if (url.search(/strona\/oplaty.html/) > 0) oplatyZaSerwer();

    if (url.search(/strona\/\d+\.html/) == -1) return 0;


    if (url.indexOf("www")>=0){
	rootUrl = "http://www.matematyka.pisz.pl/";
    }

    strona = url.match(/strona\/(\d+)\.html/)[1];

    id("buttonyDrukowania").innerHTML = '<div id="drukdodaj">'+
	'<div id="druklicznik"></div>'+
	'dodaj<br>'+
	'do<br>'+
	'wydruku'+
	'</div>'+
	'<div id="drukkosz">'+
	'<div id="drukkoszimg"><img src="../kosz.png"></div>'+
	'wyczyść'+
	'</div>'+
	'<div id="drukpdf">'+
	'<div id="drukpdfimg"><img src="../pdf.png"></div>'+
	'utwórz<br>'+
	'wydruk'+
	'</div>'+
	'<div id="drukJednaStrona">Tylko <u>jedną</u> stronę chcesz wydrukować?<br>Możesz przeglądać dalej i dodawać inne strony. Na końcu wydrukujesz wszystko z jednego pliku.</div>';


    var ciastko = znajdzCiastko("strony");

    if ( ciastko != 'brak'){ //jezeli sa dodane strony
	strony = ciastko.split(".");
	ile = strony.length;
	if (czyTaStronaJestJuzDodana(strona)){ //jezeli true
	    wygladGdyStronaJestDodana();
	}else{
	    wygladGdyStronaNieJestDodanaAleInneSa();
	}
    }else{
	id("druklicznik").innerHTML = '<img src="../printer.png">';
    }

    id("drukdodaj").onclick = function(){ dodajTaStrone(strona); };

    var takTylkoJedna = false;
    id("drukpdf").onclick = function(){

	if (kliknietoDrukuj){ //jakby ktoś cofnął po drukowaniu, to ma ile=0, ale wciaz sie pokazuje ikona drukpdf
	    window.location.reload();
	    return true;
	}

	if ((ile == 1) && (takTylkoJedna == false)){
	    id("drukJednaStrona").style.display = "block";
	    takTylkoJedna = true;
	    return true;
	}

	if (id("drukJednaStrona").style.display == "block") id("drukJednaStrona").style.display = "none";

	kliknietoDrukuj = true;

	//drukuje
	document.location = rootUrl+"drukowanie.py" 
    };


}

window.onload = poczatek;



