var HelpImage = new Array();
var SolutionImage = new Array();
var FunctionIcon = new Array();
var ImgCoordX, ImgCoordY, KeyBoxXCoord, KeyBoxYCoord;

function InitPage()
{   var i;
    var scrOfs = getScrollXY();
    for ( i=0; i<=AllSteps; i++ )
    {   SolutionImage[i] = new Image();
        SolutionImage[i].src = SolutionPath + AbsCisPr + "_r" + i + ".gif";
    }
    for ( i=0; i<=AllSteps; i++ )
    {   HelpImage[i] = new Image();
        HelpImage[i].src = SolutionPath + AbsCisPr + "_h" + i + ".gif";
    }
    FunctionIcon[0] = new Image();
    FunctionIcon[0].src = "pictures/step_begin.ico";
    FunctionIcon[1] = new Image();
    FunctionIcon[1].src = "pictures/step_begin_over.ico";
    FunctionIcon[2] = new Image();
    FunctionIcon[2].src = "pictures/step_back.ico";
    FunctionIcon[3] = new Image();
    FunctionIcon[3].src = "pictures/step_back_over.ico";
    FunctionIcon[4] = new Image();
    FunctionIcon[4].src = "pictures/step_next_none.ico";
    FunctionIcon[5] = new Image();
    FunctionIcon[5].src = "pictures/step_next_over.ico";
    FunctionIcon[6] = new Image();
    FunctionIcon[6].src = "pictures/step_end_none.ico";
    FunctionIcon[7] = new Image();
    FunctionIcon[7].src = "pictures/step_end_over.ico";
    FunctionIcon[8] = new Image();
    FunctionIcon[8].src = "pictures/example_previous_over.ico";
    FunctionIcon[9] = new Image();
    FunctionIcon[9].src = "pictures/example_next_over.ico";
    FunctionIcon[10] = new Image();
    FunctionIcon[10].src = "pictures/bulb_off.ico";
    FunctionIcon[11] = new Image();
    FunctionIcon[11].src = "pictures/bulb_on.ico";
    var imgObject = document.getElementById('solutionImg');
    imgObject.src = SolutionImage[0].src;
    ImgCoordX = imgObject.offsetLeft;
    ImgCoordY = imgObject.offsetTop;
    MakeStep(-2);
    imgObject.style.visibility = 'visible';
    KeyBoxXCoord = document.getElementById('main-inner').offsetWidth - document.getElementById('keyBox').offsetWidth;
    document.getElementById('keyBox').style.left = KeyBoxXCoord + scrOfs.x + 'px';
    KeyBoxYCoord = 0;
    document.getElementById('keyBox').style.top = KeyBoxYCoord + scrOfs.y + 'px';
    document.getElementById('keyBox').style.visibility = 'visible';
}

function MakeStep(krok)
{   switch ( krok )
    {   case -2:
            Step = 0;
            document.StepBegin.src = "pictures/step_begin_none.ico";
            document.StepBack.src = "pictures/step_back_none.ico";
            document.StepNext.src = "pictures/step_next.ico";
            document.StepEnd.src = "pictures/step_end.ico";
            break;
        case -1:
            Step += krok;
            if ( Step < 0 ) {Step = 0;}
            if ( Step == 0 )
            {   document.StepBegin.src = "pictures/step_begin_none.ico";
                document.StepBack.src = "pictures/step_back_none.ico";
            }
//            else
//            {   document.StepBegin.src = "pictures/step_begin.ico";
//                document.StepBack.src = "pictures/step_back_over.ico";
//            }
            document.StepNext.src = "pictures/step_next.ico";
            document.StepEnd.src = "pictures/step_end.ico";
            break;
        case 1:
            Step += krok;
            if ( Step > AllSteps ) {Step = AllSteps;}
            if ( Step == AllSteps )
            {   document.StepNext.src = "pictures/step_next_none.ico";
                document.StepEnd.src = "pictures/step_end_none.ico";
            }
//            else
//            {   document.StepNext.src = "pictures/step_next_over.ico";
//                document.StepEnd.src = "pictures/step_end.ico";
//            }
            document.StepBegin.src = "pictures/step_begin.ico";
            document.StepBack.src = "pictures/step_back.ico";
            break;
        case 2:
            Step = AllSteps;
            document.StepBegin.src = "pictures/step_begin.ico";
            document.StepBack.src = "pictures/step_back.ico";
            document.StepNext.src = "pictures/step_next_none.ico";
            document.StepEnd.src = "pictures/step_end_none.ico";
            break;
/*        default:
            Step += krok;
            if ( Step < 0 ) {Step = 0;}
            if ( Step > AllSteps ) {Step = AllSteps;}
            if ( Step == 0 )
            {   document.StepBegin.src = "pictures/step_begin_none.ico";
                document.StepBack.src = "pictures/step_back_none.ico";
            }
            else
            {   document.StepBegin.src = "pictures/step_begin.ico";
                document.StepBack.src = "pictures/step_back.ico";
            }
            if ( Step == AllSteps )
            {   document.StepNext.src = "pictures/step_next_none.ico";
                document.StepEnd.src = "pictures/step_end_none.ico";
            }
            else
            {   document.StepNext.src = "pictures/step_next.ico";
                document.StepEnd.src = "pictures/step_end.ico";
            } */
    }
    document.getElementById('solutionImg').src = SolutionImage[Step].src;
    document.getElementById('helpImg').src = HelpImage[Step].src;
    if ( HelpPosY[Step] >= 0 ) { document.Help.src = "pictures/bulb_on.ico"; }
    else { document.Help.src = "pictures/bulb_off.ico"; }
}

function ShowNotice()
{   var helpObject = document.getElementById('helpImg');
    var scrOfs = getScrollXY();
    if ( HelpPosY[Step] >= 0 )
    {   helpObject.style.left = Math.round((document.getElementById('main').offsetWidth-helpObject.width)/2) - 10 + 'px';
        if( (helpObject.height+HelpPosY[Step]+ImgCoordY+10) <= document.getElementById('main').offsetHeight ) {helpObject.style.top = HelpPosY[Step] + ImgCoordY + 10 + 'px';}
        else {helpObject.style.top = scrOfs.y + ImgCoordY + 'px';}
        helpObject.style.visibility = 'visible';
    }
}

function HideNotice()
{   var helpObject = document.getElementById('helpImg');
    helpObject.style.visibility = 'hidden';
}

function KeyIsPressed(e)
{   if( !e )
    {   if( window.event ) {e = window.event;}
        else {return;}
    }
    if( typeof( e.keyCode ) == 'number' ) {e = e.keyCode;}
    else if( typeof( e.which ) == 'number' ) {e = e.which;}
    else if( typeof( e.charCode ) == 'number' ) {e = e.charCode;}
    else {return;}
    if( e == 16 ) ShowNotice();
    if( e == 17 ) window.alert("Klávesa CTRL je zablokovaná!");
}

function KeyIsUp(e)
{   if( !e )
    {   if( window.event ) {e = window.event;}
        else {return;}
    }
    if( typeof( e.keyCode ) == 'number'  ) {e = e.keyCode;}
    else if( typeof( e.which ) == 'number' ) {e = e.which;}
    else if( typeof( e.charCode ) == 'number'  ) {e = e.charCode;}
    else {return;}
    // window.alert(e);
    switch( e )
    {   case 87:
            MakeStep(-2);
            break;
        case 79:
            MakeStep(-2);
            break;
        case 65:
            MakeStep(-1);
            break;
        case 75:
            MakeStep(-1);
            break;
        case 68:
            MakeStep(1);
            break;
        case 59:
            MakeStep(1);
            break;
        case 192:
            MakeStep(1);
            break;
        case 212:
            MakeStep(1);
            break;
        case 214:
            MakeStep(1);
            break;
        case 186:
            MakeStep(1);
            break;
        case 83:
            MakeStep(2);
            break;
        case 76:
            MakeStep(2);
            break;
        case 16:
            HideNotice();
            break;
        case 81:
            if( PrevExampleLink != "" ) window.open(PrevExampleLink,'_self');
            break;
        case 73:
            if( PrevExampleLink != "" ) window.open(PrevExampleLink,'_self');
            break;
        case 69:
            if( NextExampleLink != "" ) window.open(NextExampleLink,'_self');
            break;
        case 80:
            if( NextExampleLink != "" ) window.open(NextExampleLink,'_self');
            break;
    }
}

function MouseIsOver(iconIndex)
{   switch(iconIndex)
    {   case -3:
            document.ExamplePrevious.src = "pictures/example_previous_over.ico";
            break;
        case 3:
            document.ExampleNext.src = "pictures/example_next_over.ico";
            break;
        case -2:
            if ( Step != 0 ) {document.StepBegin.src = "pictures/step_begin_over.ico";}
            break;
        case -1:
            if ( Step != 0 ) {document.StepBack.src = "pictures/step_back_over.ico";}
            break;
        case 1:
            if ( Step != AllSteps ) {document.StepNext.src = "pictures/step_next_over.ico";}
            break;
        case 2:
            if ( Step != AllSteps ) {document.StepEnd.src = "pictures/step_end_over.ico";}
            break;
    }
}

function MouseIsOut(iconIndex)
{   switch(iconIndex)
    {   case -3:
            document.ExamplePrevious.src = "pictures/example_previous.ico";
            break;
        case 3:
            document.ExampleNext.src = "pictures/example_next.ico";
            break;
        case -2:
            if ( Step != 0 ) {document.StepBegin.src = "pictures/step_begin.ico";}
            break;
        case -1:
            if ( Step != 0 ) {document.StepBack.src = "pictures/step_back.ico";}
            break;
        case 1:
            if ( Step != AllSteps ) {document.StepNext.src = "pictures/step_next.ico";}
            break;
        case 2:
            if ( Step != AllSteps ) {document.StepEnd.src = "pictures/step_end.ico";}
            break;
    }
}

function PageIsScrolling()
{   var scrOfs = getScrollXY();
    document.getElementById('keyBox').style.left = KeyBoxXCoord + scrOfs.x + 'px';
    document.getElementById('keyBox').style.top = KeyBoxYCoord + scrOfs.y + 'px';
}

function getScrollXY()
{   var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == 'number' )
    {   scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    }
    else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
    {   scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    }
    else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
    {   scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return { x : scrOfX, y : scrOfY };
}

function CheckRightMouseButton(e)
{   if (document.layers)
	 {  if ( e.which == 2 || e.which == 3 )
		{   window.alert('Pravé tlačidlo myšky je zablokované!');
            return false;
		}
	}
	else
	{   window.alert('Pravé tlačidlo myšky je zablokované!');
        return false;
	}
}

if ((location.pathname == '/priklad.php') || (location.pathname == '/goblmat/priklad.php'))
{   if ( document.all || !document.all && document.getElementById ) {document.oncontextmenu = CheckRightMouseButton;}
    else {document.captureEvents(Event.MOUSEDOWN || Event.MOUSEUP); document.onmousedown = CheckRightMouseButton;}
    document.onkeydown = KeyIsPressed;
    document.onkeyup = KeyIsUp;
    window.onscroll = PageIsScrolling;
}
