/* - - - - - - - - - - - - - - - - - - - - - - -
 SFSI Javascript
 - - - - - - - - - - - - - - - - - - - - - - - */

// Variables //

    var shouldMenuClose = false;       // Should the submenu be closed?
    var openSubMenu = '';              // Which submenu is open
    var litSubMenu = '';               // Which submenu is lit
    var lastOpenSubMenu = '';          // Last open submenu
    var curSlide = 1;                  // Which slideshow picture is displayed
    var menuOffTimeout = 500;          // Menu hide delay. Increase for poor mousers
    var newMenuOffTimeout = 150;       // Similar to previous. Diffenent type of poor mousing

// End Variables //


// Slideshow stuff //
    var slide1 = "img/slideshow/slideshow00001.jpg";
    var slide2 = "img/slideshow/slideshow00002.jpg";
    var slide3 = "img/slideshow/slideshow00003.jpg";
    var preLoad1 = new Image();
    var preLoad2 = new Image();
    var preLoad3 = new Image();
    preLoad1.src = "img/slideshow/slideshow00001.jpg";
    preLoad2.src = "img/slideshow/slideshow00002.jpg";
    preLoad3.src = "img/slideshow/slideshow00003.jpg";
    

    function swapSlides(whichSlide) {
        if(whichSlide!=curSlide) {
            // Change the pictures
            fadeImage(whichSlide, 100, 'out');

            // Change the text
            document.getElementById('slideshowText').innerHTML = eval('ssText'+whichSlide);
        }
    }

    function fadeImage(whichSlide, opacity, fadeMode) {
            if(fadeMode=='out') {
                opacity -= 33;
                if(opacity<0) opacity=0;
                ieOpacity = parseInt(opacity);
                mozOpacity = parseFloat(opacity/100);

                mySlide = document.getElementById('slideshow');
                mySlide.style.filter = 'alpha(opacity='+ieOpacity+')';
                mySlide.style.MozOpacity = mozOpacity;

                if(opacity > 0) fadeMode = 'out';
                else fadeMode = 'change';
                setTimeout('fadeImage(\''+whichSlide+'\','+opacity+',\''+fadeMode+'\')', 0);
            }
            else if(fadeMode=='change') {
                changeSlide = document.getElementById('slideshow');
                changeSlide.style.background = 'url('+eval('slide'+whichSlide)+')';
                changeConnector = document.getElementById('slideshowSeparator'+whichSlide);
                changeConnector.style.visibility = 'visible';
                oldConnector = document.getElementById('slideshowSeparator'+curSlide);
                oldConnector.style.visibility = 'hidden';

                setTimeout('fadeImage(\''+whichSlide+'\','+opacity+',\'in\')', 0);
            }
            else {
                opacity += 33;
                if(opacity>100) opacity=100;
                ieOpacity = parseInt(opacity);
                mozOpacity = parseFloat(opacity/100);

                mySlide = document.getElementById('slideshow');
                mySlide.style.filter = 'alpha(opacity='+ieOpacity+')';
                mySlide.style.MozOpacity = mozOpacity;

                if(opacity < 100) setTimeout('fadeImage(\''+whichSlide+'\','+opacity+',\'in\')', 10);
                else curSlide = whichSlide;
            }
    }
// End slideshow stuff//

// URL stuff //

    function sendURL(whereTo) {
        if(String(whereTo)!='') {
            location.href=whereTo;
        }
    }

// End URL stuff //


// Tabbed Stuff //

    function showTab(whichTab) {
        newsBar = document.getElementById('newstabs');
        newsBar.src = 'img/news/'+whichTab+'.gif';

        tabArea = document.getElementById('tabarea');
        tabContent = document.getElementById(whichTab);
        tabArea.innerHTML = tabContent.innerHTML;
        //tabArea,tabContent = '';
    }

// End Tabbed Stuff //

// Field functions //

    function clearField(whichfield, defVal) {
        if(eval('document.getElementById(\''+whichfield+'\').value')==defVal) eval('document.getElementById(\''+whichfield+'\').value=\'\'');
    }

    function populateOnBlur(whichfield, defVal) {
        if(eval('document.getElementById(\''+whichfield+'\').value')=='') eval('document.getElementById(\''+whichfield+'\').value=\''+defVal+'\'');
    }

    function buttonDown(whichButton, buttonPic) {
        eval('document.getElementById(\''+whichButton+'\').src=\'img/buttons/'+buttonPic+'_down.gif\'');
    }

    function buttonUp(whichButton, buttonPic) {
        eval('document.getElementById(\''+whichButton+'\').src=\'img/buttons/'+buttonPic+'.gif\'');
    }

// End Field functions //


// Menu scripts //

    function containsDOM (container, containee) {
        var isParent = false;
        do {
            if ((isParent = container == containee))
                break;
            containee = containee.parentNode;
        }
        while (containee != null);
        return isParent;
    }

    function checkMouseEnter (element, evt) {
        if (element.contains && evt.fromElement) {
            return !element.contains(evt.fromElement);
        }
        else if (evt.relatedTarget) {
            return !containsDOM(element, evt.relatedTarget);
        }
    }

    function checkMouseLeave (element, evt) {
        if (element.contains && evt.toElement) {
            return !element.contains(evt.toElement);
        }
        else if (evt.relatedTarget) {
            return !containsDOM(element, evt.relatedTarget);
        }
    }

    function mouseOverMenu(whichMenu, subMenu) {
        shouldMenuClose = false;

        menuStyle = document.getElementById(whichMenu);
        menuStyle.style.backgroundColor = '#ffff99';
        menuStyle.style.color = '#000000';

        if(subMenu) {
            if(document.getElementById('sub'+whichMenu).style.display=='none') {

                if(openSubMenu!=''&&openSubMenu!==whichMenu) {
                    shouldMenuClose = true;
                    menuClose(openSubMenu,true);
                }

                openSubMenu = whichMenu;
                submenuStyle = document.getElementById('sub'+whichMenu);
                topOffset = (document.getElementById(whichMenu).offsetTop)+80;
                submenuStyle.style.top = topOffset+'px';
                submenuStyle.style.left = '450px';
                submenuStyle.style.position = 'absolute';
                submenuStyle.style.clip = 'rect(auto,auto,auto,155px)';
                submenuStyle.style.display = '';
                submenuStyle.style.visibility = 'visible';

                slideLeft(155,whichMenu);
            }
        }
        else if(openSubMenu!='') {
            menuStyle = document.getElementById(openSubMenu);
            menuStyle.style.backgroundColor = '';
            menuStyle.style.color = '#ffffff';
            shouldMenuClose = true;
            if(subMenu) {
//                alert('aaa');
                setTimeout('menuClose(\''+openSubMenu+'\',true)',0);
            }
            else setTimeout('menuClose(\''+openSubMenu+'\',true)',newMenuOffTimeout);
        }

    }

    function mouseOffMenu(whichMenu, subMenu) {
        if(!subMenu) {
            menuStyle = document.getElementById(whichMenu);
            menuStyle.style.backgroundColor = '';
            menuStyle.style.color = '#ffffff';
        }
        if(subMenu) {
            shouldMenuClose = true;
            setTimeout('menuClose(\''+whichMenu+'\',false)',menuOffTimeout);
        }
    }

    function slideLeft(curClip,whichMenu) {
        curClip = parseInt(curClip);
        if(curClip > 0){
            var slidemenuStyle = document.getElementById('sub'+whichMenu);
            if(curClip>25) curClip -= 25;
            else curClip = 0;
            slidemenuStyle.style.clip = 'rect(auto, auto, auto, '+curClip+'px)';
            slidetimer = setTimeout('slideLeft('+curClip+',\''+whichMenu+'\');',0);
        }
        else {
            clearTimeout(slidetimer);
        }
    }

    function slideRight(curClip, whichMenu) {
        curClip = parseInt(curClip);
        if(curClip < 156){
            var slidemenuStyle = document.getElementById('sub'+whichMenu);
            slidemenuStyle.style.clip = 'rect(auto, auto, auto, '+curClip+'px)';
            curClip += 25;
            slidetimer = setTimeout('slideRight('+curClip+',\''+whichMenu+'\');',0);
        }
        else {
            clearTimeout(slidetimer);
            openSubMenu='';
        }
    }

    function menuClose(whichMenu, closeLastMenu) {
        if(shouldMenuClose&&!closeLastMenu) {
            menuStyle = document.getElementById(whichMenu);
            menuStyle.style.backgroundColor = '';
            menuStyle.style.color = '#ffffff';
            submenuStyle = document.getElementById('sub'+whichMenu);
            submenuStyle.style.display = 'none';
        }

        if(shouldMenuClose&&closeLastMenu) {
//            menuStyle = document.getElementById(whichMenu);
//            menuStyle.style.backgroundColor = '';
//            menuStyle.style.color = '#ffffff';

            submenuStyle = document.getElementById('sub'+whichMenu);
            submenuStyle.style.display = 'none';
        }
    }

    function subMenuClose(whichMenu) {
        if(shouldMenuClose) {
            subMenu = document.getElementById(whichMenu);
            subMenu.style.display = 'none';
            parentID = String(whichMenu).split('_');
            parentMenu = document.getElementById('menu_'+parentID[1]);
            parentMenu.style.backgroundColor='';
            parentMenu.style.color='#ffffff';
        }
    }

    function mouseOverSubMenu(whichSubMenu) {
        shouldMenuClose = false;
        subMenu = document.getElementById(whichSubMenu);
        if(litSubMenu!='') {
            prevSubMenu = document.getElementById(litSubMenu);
            prevSubMenu.style.backgroundColor='';
            prevSubMenu.style.color='#ffffff';
        }
        litSubMenu = whichSubMenu
        subMenu.style.backgroundColor='#ffff99';
        subMenu.style.color='#000000'
    }

    function mouseOffSubMenu(whichMenu) {
        if(litSubMenu!='') {
            prevSubMenu = document.getElementById(litSubMenu);
            prevSubMenu.style.backgroundColor='';
            prevSubMenu.style.color='#ffffff';
            litSubMenu='';
        }
        shouldMenuClose = true;
        setTimeout('subMenuClose(\''+whichMenu+'\')',menuOffTimeout);
    }



// End menu scripts //

// Test functions //

    function testFunc(whichMenu) {
        alert(document.getElementById(whichMenu).offsetTop);
    }

// Test functions //

// Weather functions //

    function checkICAO(icaocode) {
        icaoPattern = /.{1,4}/;
        if(icaoPattern.test(icaocode)) {
            window.open('weather.php','weatherpopup','dependent,scrollbars=yes,height=325,width=400,top=50,left=50');
            return true;
        }
        else {
            alert('Invalid ICAO Code. Please reenter');
            document.weatherForm.icaocode.focus();
            return false;
        }
    }
// End weather functions //


// MyFbo Login //

    function myFboLoginScript() {
        frames['myFboLogin'].document.getElementById('logincode').value = document.getElementById('logincode').value;
        frames['myFboLogin'].document.getElementById('password').value = document.getElementById('password').value;
        frames['myFboLogin'].document.getElementById('submitbutton').click();
        document.getElementById('logincode').value='Username';
        document.getElementById('password').value='password';
        
    }

// End MyFbo Login //

// FCKEditor Hack for updatepanels
    function FCKUpdateLinkedField(id)
    {
        try
        {
            if(typeof(FCKeditorAPI) == "object")
            {
                FCKeditorAPI.GetInstance(id).UpdateLinkedField();
            }
        }
        catch(err)
        {
        }
    }
//end hack

