window.onerror = handleError;

//var mainContent = null;
var currentHeight = 0;
var currentWidth = 0;
var opacity = 1;
var mainContent = null;
var pageContent = null;

function contentBorderAnimation()
{
    mainContent = document.getElementById('mainContent');
    pageContent = document.getElementById('pageContent');

    mainContent.style.height = '25px';
    
    //pageLoadDelay();
    setupAnimation();
}

function pageLoadDelay()
{
    // Give the page some time to load
    setTimeout(setupAnimation, 500);
}

function setupAnimation()
{
    if ((mainContent != null) &&
        (typeof(mainContent) != 'undefined') &&
        (pageContent != null) &&
        (typeof(pageContent) != 'undefined'))
    {
        currentHeight = parseInt(pageContent.offsetHeight) + 45;
        //currentWidth = parseInt(mainContent.clientWidth);

        //mainContent.style.width = '1px';

        if (currentHeight < 400)
        {
        	currentHeight = 400;
        }
        
        doContentAnimation();
    }
}

function doContentAnimation()
{
    var heightDone = ((parseInt(mainContent.style.height) + 10) > currentHeight);
    //var widthDone = ((parseInt(mainContent.style.width) + 20) > currentWidth);

    if (!heightDone)
    {
        mainContent.style.height = (parseInt(
            mainContent.style.height) +
            10 +
            'px');
    }
    else
    {
        mainContent.style.height = (
            currentHeight + 
            'px');
    }
    
    /*
    if (!widthDone)
    {
        mainContent.style.width = (parseInt(
            mainContent.style.width) +
            20 +
            'px');
    }
    else
    {
        mainContent.style.width = (
            currentWidth +
            'px');
    }
    */
    
    if (!heightDone)
    {
        setTimeout(doContentAnimation, 20);
    }
    else
    {
        mainContent = document.getElementById('mainContent');
        
        contentFadein();
    }
}

function contentFadein()
{
    if ((pageContent != null) &&
        (typeof(pageContent) != 'undefined'))
    {
        if (opacity <= 100)
        {
            pageContent.style.opacity = (opacity / 100);
            pageContent.style.MozOpacity = (opacity / 100);
            pageContent.style.KhtmlOpacity = (opacity / 100);
            pageContent.style.filter = 'alpha(opacity=' + opacity + ')'; 
            
            opacity += 2;
            
            setTimeout(contentFadein, 1);
        }
        else
        {
            pageContent.style.opacity = 1;
            pageContent.style.MozOpacity = 1;
            pageContent.style.KhtmlOpacity = 1;
            pageContent.style.filter = 'alpha(opacity=' + 100 + ')';
            
            showInteractiveMap();
        }
    }
}

function showInteractiveMap()
{
    var interactiveMap = document.getElementById('divInteractiveMap');
    
    if ((interactiveMap != null) &&
        (typeof(interactiveMap) != 'undefined'))
    {
        interactiveMap.style.border = 'none';
        
        interactiveMap.innerHTML = '<iframe id=\'iFrameInteractiveMap\' src=\'http://www.maps.calpoly.edu/flashmap/map.html?vlist=065-0\'></iframe>';
    }
}

function toggleInteractiveMapAndMapImage()
{
    var interactiveMap = document.getElementById('divInteractiveMap');
    var imageMap = document.getElementById('imgMap');
    
    if ((interactiveMap != null) &&
        (typeof(interactiveMap) != 'undefined') &&
        (imageMap != null) &&
        (typeof(imageMap) != 'undefined'))
    {
        interactiveMap.style.display = 'none';
        imageMap.style.display = '';
    }
}

function handleError(
    message,
    url,
    line)
{
    var errorDescription = (
        message +
        "; URL: " +
        url +
        "; Line: " +
        line);
        
    var errorDate = new Date();
    
    var hdnJavascriptErrorDescription = document.getElementById('hdnJavascriptErrorDescription');
    var hdnJavascriptErrorDate = document.getElementById('hdnJavascriptErrorDate');
    
    if ((hdnJavascriptErrorDescription != null) &&
        (typeof(hdnJavascriptErrorDescription) != 'undefined') &&
        (hdnJavascriptErrorDate != null) &&
        (typeof(hdnJavascriptErrorDate) != 'undefined'))
    {
        hdnJavascriptErrorDescription.value = errorDescription;
        hdnJavascriptErrorDate.value = errorDate.toLocaleString();
    }
}

function setRFILinkReferrerLink(
    id)
{
    var rfiLink = document.getElementById('rfiLink');
    
    if ((rfiLink != null) &&
        (typeof(rfiLink) != 'undefined'))
    {
        rfiLink.href += id;
    }
}

function toggleSearchOptions(
    rblSearchOptionsNames)
{
    var rblSearchOptions = document.getElementsByName(
        rblSearchOptionsNames);
        
    if ((rblSearchOptions) &&
        (rblSearchOptions.length > 0))
    {
        for (var index = 0; index < rblSearchOptions.length; index++)
        {
            if (rblSearchOptions[index].checked)
            {
                var googleSearchForm = document.getElementById(
                    'cse-search-box');
                    
                var googleHiddenFieldSearchData = document.getElementById(
                    'googleHiddenFieldSearchData');
                    
                if ((googleSearchForm) &&
                    (googleHiddenFieldSearchData))    
                {
                    switch (rblSearchOptions[index].value)
                    {
                        case '10':
                        {
                            googleSearchForm.action = 'http://www.google.com/cse';
                            googleSearchForm.target = '_blank';
                            googleHiddenFieldSearchData.value = 'partner-pub-1229252540137726:8okir2-5x3j';
                        }
                        
                        case '20':
                        {
                            googleSearchForm.action = 'http://www.mustanglanes.com';
                            googleSearchForm.target = '_self';
                            googleHiddenFieldSearchData.value = 'partner-pub-1229252540137726:m3oj38-ndub';
                        }
                    }
                }
                
                break;
            }
        }
    }
}

function initializeGoogleSiteWideSearch(
    searchText)
{
    var googleSearchForm = document.getElementById(
        'cse-search-box');
        
    var googleHiddenFieldSearchData = document.getElementById(
        'googleHiddenFieldSearchData');
        
    var googleSearchTextBox = document.getElementById(
        'googleSearchTextBox');
        
    var searchResultsHeader = document.getElementById(
        'googleSearchResults');
        
    if ((googleSearchForm) &&
        (googleHiddenFieldSearchData) &&
        (googleSearchTextBox) &&
        (searchResultsHeader))
    {
        googleSearchTextBox.value = searchText;
        googleSearchForm.action = 'http://www.mustanglanes.com';
        googleSearchForm.target = '_self';
        googleHiddenFieldSearchData.value = 'partner-pub-1229252540137726:m3oj38-ndub';
        
        searchResultsHeader.style.display = '';
    }   
}