var catStatus = 2;
var catRunning = 0;
var catDetail = 0;
var time = 0.5;

function init_kolekce(time,max){
    if($('catwalk'+(catStatus-2))){
        new Effect.Move('catwalk'+(catStatus-2), {x: 0, y: 138, mode: 'relative', duration: 0, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus-2)), {style: 'width: 140px;', duration: time});
        $('catwalk'+(catStatus-2)).style.zIndex = 1;
    }

    if($('catwalk'+(catStatus-1))){
        new Effect.Move('catwalk'+(catStatus-1), {x: -30, y: 84, mode: 'relative', duration: 0, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus-1)), {style: 'width: 212px;', duration: time});
        $('catwalk'+(catStatus-1)).style.zIndex = 2;
    }

    new Effect.Morph($('catwalk'+(catStatus)), {style: 'width: 325px;', duration: time});
    new Effect.Move('catwalk'+(catStatus), {x: -92, y: 0, mode: 'relative', duration: 0, afterFinish: function(){}})
    $('catwalk'+(catStatus)).style.zIndex = 3;

    if($('catwalk'+(catStatus+1))){
        new Effect.Move('catwalk'+(catStatus+1), {x: -154, y: 84, mode: 'relative', duration: 0, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus+1)), {style: 'width: 212px;', duration: time});
        $('catwalk'+(catStatus+1)).style.zIndex = 2;
    }

    if($('catwalk'+(catStatus+2))){
        new Effect.Move('catwalk'+(catStatus+2), {x: -185, y: 138, mode: 'relative', duration: 0, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus+2)), {style: 'width: 140px;', duration: time});
        $('catwalk'+(catStatus+2)).style.zIndex = 1;
    }
    for(i=3;i<=max;i++){
        if($('catwalk'+(catStatus+i))){
            new Effect.Move('catwalk'+(catStatus+i), {x: -185, y: 138, mode: 'relative', duration: 0, afterFinish: function(){}})
            new Effect.Morph($('catwalk'+(catStatus+i)), {style: 'width: 140px;', duration: 0});
        }
    }
    $('catlist').style.visibility = 'visible';
}

function kolekceClick(id,id2,direction,max,time) {
	if (catRunning==0) {
		catRunning=1;
		var o1 = document.getElementById(id+'left');
		var o2 = document.getElementById(id+'right');
                switch (direction) {
                    case 1:
			catStatus += 1;
                        if(catDetail == 1)
                            kolekceResizeRight(0);
                        else
                            kolekceResizeRight(time);
                        if(catStatus != 1){
                            new Effect.Move(id, {x: -140, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                            if(catDetail == 1)
                                new Effect.Move(id2, {x: -844, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                        }
                        else{
                            new Effect.Move(id, {x: -210, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                            if(catDetail == 1)
                                new Effect.Move(id2, {x: -844, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                        }
                        break;
                    case -1:
			catStatus -= 1;
                        if(catDetail == 1)
                            kolekceResizeLeft(0);
                        else
                            kolekceResizeLeft(time);
                        if(catStatus != 0){
                            new Effect.Move(id, {x: 140, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                            if(catDetail == 1)
                                new Effect.Move(id2, {x: 844, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                        }
                        else{
                            new Effect.Move(id, {x: 210, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                            if(catDetail == 1)
                                new Effect.Move(id2, {x: 844, y: 0, mode: 'relative', duration: time, afterFinish: function(){catRunning=0;}});
                        }
                        break;
                    default:
                        break;
                }

		if (catStatus<=0) o1.style.visibility='hidden';
		else o1.style.visibility='visible';

		if (catStatus>=(max-1)) o2.style.visibility='hidden';
		else o2.style.visibility='visible';

		o1.blur();
		o2.blur();
                return true;
	}
	return false;
}

function kolekceResizeRight(time){
    if($('catwalk'+(catStatus-2))){
        new Effect.Move('catwalk'+(catStatus-2), {x: 30, y: 54, mode: 'relative', duration: time, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus-2)), {style: 'width: 140px;', duration: time});
        $('catwalk'+(catStatus-2)).style.zIndex = 1;
    }

    if($('catwalk'+(catStatus-1))){
        new Effect.Move('catwalk'+(catStatus-1), {x: 62, y: 84, mode: 'relative', duration: time, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus-1)), {style: 'width: 212px;', duration: time});
        setTimeout("$('catwalk'+(catStatus-1)).style.zIndex = 2",(time*500));
    }

    new Effect.Move('catwalk'+(catStatus), {x: 62, y: -84, mode: 'relative', duration: time, afterFinish: function(){}})
    new Effect.Morph($('catwalk'+(catStatus)), {style: 'width: 325px;', duration: time});
    setTimeout("$('catwalk'+(catStatus)).style.zIndex = 3",(time*500));

    if($('catwalk'+(catStatus+1))){
        new Effect.Move('catwalk'+(catStatus+1), {x: 30, y: -54, mode: 'relative', duration: time, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus+1)), {style: 'width: 212px;', duration: time});
        setTimeout("$('catwalk'+(catStatus+1)).style.zIndex = 2",(time*500));
    }

    if($('catwalk'+(catStatus+2))){
        $('catwalk'+(catStatus+2)).style.zIndex = 1;
    }
}

function kolekceResizeLeft(time){
    if($('catwalk'+(catStatus+3))){
        $('catwalk'+(catStatus+3)).style.zIndex = 0;
    }
    if($('catwalk'+(catStatus+2))){
        new Effect.Move('catwalk'+(catStatus+2), {x: -30, y: 54, mode: 'relative', duration: time, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus+2)), {style: 'width: 140px;', duration: time});
        $('catwalk'+(catStatus+2)).style.zIndex = 1;
    }

    if($('catwalk'+(catStatus+1))){
        new Effect.Move('catwalk'+(catStatus+1), {x: -62, y: 84, mode: 'relative', duration: time, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus+1)), {style: 'width: 212px;', duration: time});
        setTimeout("$('catwalk'+(catStatus+1)).style.zIndex = 2",(time*500));
    }

    new Effect.Move('catwalk'+(catStatus), {x: -62, y: -84, mode: 'relative', duration: time, afterFinish: function(){}})
    new Effect.Morph($('catwalk'+(catStatus)), {style: 'width: 325px;', duration: time});
    setTimeout("$('catwalk'+(catStatus)).style.zIndex = 3",(time*500));

    if($('catwalk'+(catStatus-1))){
        new Effect.Move('catwalk'+(catStatus-1), {x: -30, y: -54, mode: 'relative', duration: time, afterFinish: function(){}})
        new Effect.Morph($('catwalk'+(catStatus-1)), {style: 'width: 212px;', duration: time});
        setTimeout("$('catwalk'+(catStatus-1)).style.zIndex = 2",(time*500));
    }
}

function detail(id,max){
    var i = 0;
    if(catStatus != id){
        i = (catStatus - id);
        kolekceClick2("catlist",-i,max);
    }

    catDetail = 1;
//    catStatus = id;
    if (catStatus<=0) $('catlistleft').style.visibility='hidden';
    else $('catlistleft').style.visibility='visible';

    if (catStatus>=(max-1)) $('catlistright').style.visibility='hidden';
    else $('catlistright').style.visibility='visible';

    new Effect.Move('catlist2', {x: (-844*id), y: 0, mode: 'relative', duration: 0, afterFinish: function(){$('catlist2').style.display = "block";}});
    $('back').style.display = "block";
    $('catlist').style.display = "none";
}

function detailClose() {
    catDetail = 0;
    $('back').style.display = "none";
    $('catlist').style.display = "block";
    new Effect.Move('catlist2', {x: (844*catStatus), y: 0, mode: 'relative', duration: 0, afterFinish: function(){}});
    $('catlist2').style.display = "none";
}

function kolekceClick2(id,direction,max) {
	if (catRunning==0) {
		catRunning=1;
		var o1 = document.getElementById(id+'left');
		var o2 = document.getElementById(id+'right');
                switch (direction) {
                    case 1:
			catStatus += 1;
                        kolekceResizeRight(0);
                        if(catStatus != 1){
                            new Effect.Move(id, {x: -140, y: 0, mode: 'relative', duration: 0, afterFinish: function(){catRunning=0;}});
                        }
                        else{
                            new Effect.Move(id, {x: -210, y: 0, mode: 'relative', duration: 0, afterFinish: function(){catRunning=0;}});
                        }
                        break;
                    case -1:
			catStatus -= 1;
                        kolekceResizeLeft(0);
                        if(catStatus != 0){
                            new Effect.Move(id, {x: 140, y: 0, mode: 'relative', duration: 0, afterFinish: function(){catRunning=0;}});
                        }
                        else{
                            new Effect.Move(id, {x: 210, y: 0, mode: 'relative', duration: 0, afterFinish: function(){catRunning=0;}});
                        }
                        break;
                    case 2:
			catStatus += 1;
                        kolekceResizeRight(0);
                        if(catStatus != 1){
                            new Effect.Move(id, {x: -140, y: 0, mode: 'relative', duration: 0.2, afterFinish: function(){catRunning=0;kolekceClick2("catlist",1,max);}});
                        }
                        else{
                            new Effect.Move(id, {x: -210, y: 0, mode: 'relative', duration: 0.2, afterFinish: function(){catRunning=0;kolekceClick2("catlist",1,max);}});
                        }
                        break;
                    case -2:
			catStatus -= 1;
                        kolekceResizeLeft(0);
                        if(catStatus != 0){
                            new Effect.Move(id, {x: 140, y: 0, mode: 'relative', duration: 0.2, afterFinish: function(){catRunning=0;kolekceClick2("catlist",-1,max);}});
                        }
                        else{
                            new Effect.Move(id, {x: 210, y: 0, mode: 'relative', duration: 0.2, afterFinish: function(){catRunning=0;kolekceClick2("catlist",-1,max);}});
                        }
                        break;
                    default:
                        break;
                }

		if (catStatus<=0) o1.style.visibility='hidden';
		else o1.style.visibility='visible';

		if (catStatus>=(max-1)) o2.style.visibility='hidden';
		else o2.style.visibility='visible';

		o1.blur();
		o2.blur();
                return true;
	}
	return false;
}
