var dolzina = 0;

var id = -1;

var p0 = 0;     // odmik
var p1 = 0;     // pozicija 1
var p2 = w0;    // pozicija 2

var res0 = 30;    // resolucija def
var resm = 55;    // resolucija max
var resmm = 5;    // resolucija min
var res = res0;    // resolucija

var ff = 0;

var	kraj = 1;
var	katk = -1;

var hist = new Array ();
var hpos = 0;

var uri = null;
var zz = 2;

//hist[0] = new Array(p0,p1,p2,res,ff); // kasneje izbrisi

function loadKlanecF (id_k, kat, d) {
    
    dolzina = d;
    
    id=id_k;
    
    p0 = 0;     // odmik
    p1 = 0;     // pozicija 1
    p2 = w0;    // pozicija 2
    res = res0;
    ff = 0;
	kraj = 1;
	katk = kat;
    w = w0;
	
	lk();
	
    hpos = 0;
    hist[0] = new Array(p0,p1,p2,res,ff,kraj);
    for (var i=hpos+1; i<hist.length;i++) hist[i] = null;   

    menuEn ('t', true);
    menuEn ('sr', true);	
    menuEn ('re', false);
    menuEn ('u', false);
    
    document.getElementById ('k').style.display = "block";
    document.getElementById ('tabela').style.backgroundImage = "url('img/l_bg.gif')";
    document.getElementById ('tabela').style.height = "236px";
    document.getElementById ('tb').style.height = "210px";  
}

function loadKlanec (id_k, start, end, r) {

    p0 = p1;
    
    w = p2-p1;
    p1 = p0+start/w0*w;
    p2 = p0+end/w0*w;
    w = p2-p1;
    res = r

    res = Math.min(res, maxBars());
    writeHistory ();     
}

function loadHistory (go) {
    var hp = hpos+go;
    if (hp>=0 && hist[hp]!=null) {
        hpos += go;
        p0 = hist[hpos][0];
        p1 = hist[hpos][1];
        p2 = hist[hpos][2];
        w = p2-p1;
        res  = hist[hpos][3];
        ff = hist[hpos][4];
		kraj = hist[hpos][5];
		lk ();
    } 
    menuEn('u', hpos > 0);
    menuEn('re', hist[hpos+1]!=null);

}

function zoomKlanec (z) {

    if (z == 0) {
        p0 = p1 = 0;
        w = p2 = w0;
        writeHistory ();        
    } else {
        w = p2-p1;  
        var t = z;
        var tt = maxBars();
        if (dolzina*w/w0/zz >= 200 || z < 0) {
            z = z>0 ? z : z+z;
            var zoom = w*z/(zz*2);
    
            p2 = (p2-zoom)> w0 ? w0 : p2-zoom;
            p1 = (p1+zoom)<  0 ? 0  : p1+zoom;
            p0 = (p0+zoom)<  0 ? 0  : p0+zoom;
            w=p2-p1;

            res = (t>0) ? Math.min(res, maxBars()) : ((res < tt) ? Math.max(res,resmm) : Math.max (res, defBars()));
    
            writeHistory ();
        } 
    }
}

function moveKlanec (go) {
    w = p2-p1;
    var move = w*go;
    
    if (go > 0) {
        if (p2+move>w0) {
            p2 = w0;        p0 = p1 = w0-w;
        } else {
            p1 += move;   p2 += move; p0 += move;
        }
    } else {
        if (p1+move<0) {
            p0 = p1 = 0;        p2 = w;
        } else {
            p1 += move;   p2 += move; p0 = Math.max (0,p0+move);
        }
    }
    writeHistory ();
}

function maxBars () {
    return Math.min(Math.max(Math.round(dolzina*(p2-p1)/w0/50),resmm), resm);
}

function defBars () {
    return Math.min (res0, maxBars ());
}

function changeRes (go) {
	if (katk != 2 || !((dolzina*(p2-p1)*2/w0/zz >= 15000)))  {
	    var t = res+5*go
    	res = (t > maxBars()) ? maxBars() : ((t < resmm) ? resmm : t);
	    writeHistory ();
	}
}

function writeHistory () {
    if (p0 != hist[hpos][0] || p1 != hist[hpos][1] || p2 != hist[hpos][2] || res != hist[hpos][3] || ff != hist[hpos][4]|| kraj != hist[hpos][5]) {
        w = p2-p1;
        hpos++;
        hist[hpos]= new Array(p0,p1,p2,res,ff,kraj);
        for (var i=hpos+1; i<hist.length;i++) hist[i] = null;

		lk();

        menuEn ('re', false);
        menuEn ('u', true);
    }
}

function lk () {

	var ltype = (katk == 1) ? "klanec" : ((dolzina*(p2-p1)*2/w0/zz >= 15000) ? "tura" : "klanec" );
	
	klanec (ltype +".php?id="+id+"&s="+Math.round(p1/w0*dolzina)+"&e="+Math.round(p2/w0*dolzina)+"&r="+res+"&f="+ff+"&k="+kraj);      ///////////////// ODKOMENTIRAJ

}

function menuEn (obj, bool) {
    if (document.getElementById (obj).className != ((bool) ? null : "o"))
        document.getElementById (obj).className  = (bool) ? null : "o";
}

function klanec (url) {
    
    document.getElementById('klanecbg').style.backgroundImage = document.getElementById('klanec').style.backgroundImage;

    uri = url;    
    clearDrag ();

    // meni                      
	
	
    menuEn ('rp', (res<maxBars() && !(dolzina*(p2-p1)*2/w0/zz >= 15000 && katk == 2)));                 // resolucija +
    menuEn ('rm', (res>resmm && !(dolzina*(p2-p1)*2/w0/zz >= 15000 && katk == 2)));                     // resolucija -

//    menuEn ('t', ((dolzina*(p2-p1)*2/w0/zz >= 15000 && kat == 1)));                     // resolucija -

    menuEn ('l', p1!=0);                            // premikanje
    menuEn ('r', p2!=w0);
    menuEn ('a', (p1!=0 || p2!=w0));                // 1:1
    menuEn ('o', (p1!=0 || p2!=w0));                // zoom out
    menuEn ('i', (dolzina*(p2-p1)/w0/zz >= 200));   // zoom in

    document.getElementById('klanec').style.backgroundImage = "url('"+url+"')";  

}
