var gszMapSize;
var gaszLayerStatus = new Array();

function setCookie(szName,szValue)
{
    call( '/common/save.php?action=set&name='+szName+'&value='+szValue,null, setCookieCallback,1);
}

function getCookie(szName)
{
    call( '/common/save.php?action=get&name='+szName,null, getCookieCallback,1);
}

function setCookieCallback(szResponse)
{
 //alert(szResponse);
}

function getCookieCallback(szResponse)
{
 //alert(szResponse);
}

function saveSettings(szAppName)
{
    setCookie(szAppName + '_mapsize',gszMapSize);
    setCookie(szAppName + '_layerStatus',gaszLayerStatus.join(','));
}

function mapSizeSmall()
{
    var mapsize = getMapSize();
    gszMapSize = 'small';
    if (mapsize[0] != 439)
    {
      document.forms[0].NAV_CMD.value = '';
      applyMapSize( 439, 349 );
    } 
}

function mapSizeMedium()
{
    var mapsize = getMapSize();
    gszMapSize = 'medium';
    if (mapsize[0] != 663)
    {
      document.forms[0].NAV_CMD.value = '';    
      applyMapSize( 663, 517 );
    }
}

function mapSizeLarge()
{
    var mapsize = getMapSize();
    gszMapSize = 'large';
    if (mapsize[0] != 919)
    {
      document.forms[0].NAV_CMD.value = '';    
      applyMapSize( 919, 773 );
    }
}

function getButtonByDivName( szName )
{
    var i;
    for (i=0; i< goCWCButtonManager.aButtons.length; i++)
    {
        var oButton = goCWCButtonManager.aButtons[i];
        if (oButton.szDivName == szName)
        {
            return oButton;
        }
    }
    return null;
}

function activateTab( szName )
{
    var oButton = getButtonByDivName( szName );
    if (oButton != null)
    {
        oButton.bActive = true;
        oButton.SetState( CWCBUTTONSTATE_SELECTED );
        oButton.oGroup.ActivateButton( oButton );
    }
}

function showMapTab()
{
    activateTab( 'divMaps' );
    showMapTabs( );

}

function showInfoTab()
{
    activateTab( 'divInfo' );
    showTab( null, 'divInfoTab' );
}

function showMapTabs()
{
    CWCDHTML_ShowLayer( 'divGeneralTab' );
    CWCDHTML_ShowLayer( 'divLayersTab' );
    CWCDHTML_ShowLayer( 'divInfoTab' );
    CWCDHTML_ShowLayer( 'divBlank' );
    CWCDHTML_ShowLayer( 'MapLayerBG' );
    CWCDHTML_ShowLayer( 'MapLayerDiv' );
    updateTab( 'divGeneralTab', 'divGeneral' );
    updateTab( 'divLayersTab', 'divLayers' );
    updateTab( 'divInfoTab', 'divInfo' );
    MapWPositionMapDHTML();
}

function hideMapTabs()
{
    //check if the function has been overloaded
    if ( arguments[1] == 'showPreview' )
    {
    	//show the map preview
    	previewMap();
    }
    
    CWCDHTML_HideLayer( 'divGeneralTab' );
    CWCDHTML_HideLayer( 'divLayersTab' );
    CWCDHTML_HideLayer( 'divInfoTab' );
    CWCDHTML_HideLayer( 'divBlank' );
    CWCDHTML_HideLayer( 'divGeneral' );
    CWCDHTML_HideLayer( 'divLayers' );
    CWCDHTML_HideLayer( 'divInfo' );
    CWCDHTML_HideLayer( 'MapLayerBG' );
    CWCDHTML_HideLayer( 'MapLayerDiv' );
    DistTool.dtFinishDist();
    CWCDHTML_SetLayerPos( 'MapLayerDiv', -1000, -1000 );
}

function showTab( oButton, szTab )
{

     CWCDHTML_SetLayerZOrder( 'divGeneralTab' , (szTab == 'divGeneralTab') ? 3 : 1 );
     CWCDHTML_SetLayerZOrder( 'divLayersTab', (szTab == 'divLayersTab') ? 3 : 1 );
     CWCDHTML_SetLayerZOrder( 'divInfoTab', (szTab == 'divInfoTab') ? 3 : 1 );
}

function updateTab( szTab, szDiv )
{
    var oLayer = CWCDHTML_GetLayer( szTab );
    if (oLayer != null)
    {
        if (oLayer.zIndex == 3)
        {
            CWCDHTML_ShowLayer( szDiv );
        }
    }
}

function printPreviewMap()
{
    var format = document.forms[0].printMapFormat.options[document.forms[0].printMapFormat.selectedIndex].value;
    if (document.forms[0].PreviewClicked.value == 0)
    {
        alert("Click on Preview before printing") ;
    }
    else
    {
        frames['printPreviewFrame'].focus();
        window.frames['printPreviewFrame'].fullsizeImage();
        frames['printPreviewFrame'].print();
    }
    return true;
}

function quickMap(bNewWindow)
{        
    document.forms[0].PreviewClicked.value = 1;
    var url = "preview.php?sid=" + document.forms[0].sid.value;
    url += "&title="+escape( document.forms[0].printMapTitle.value );
    var format = "PDF";  //new line
    url += "&selImageFormat="+format;
    var mapscale = document.forms[0].setMapScale.options[document.forms[0].setMapScale.selectedIndex].value;
    url += "&mapscale=current";
    var pagesize = document.forms[0].printMapPageSize.options[document.forms[0].printMapPageSize.selectedIndex].value;
    url += "&pagesize="+pagesize;
    
    if (bNewWindow)
    {
        launchWindow( url );
    }
    else
    {
        window.frames['printPreviewFrame'].location.href = url;
    }

    return true;
}

function previewMap(bNewWindow)
{        
    document.forms[0].PreviewClicked.value = 1;
    var url = "preview.php?sid=" + document.forms[0].sid.value;
    url += "&title="+escape( document.forms[0].printMapTitle.value );
    var format = "PDF";  //new line
    url += "&selImageFormat="+format;
    var mapscale = document.forms[0].setMapScale.options[document.forms[0].setMapScale.selectedIndex].value;
    url += "&mapscale="+mapscale;
    var pagesize = document.forms[0].printMapPageSize.options[document.forms[0].printMapPageSize.selectedIndex].value;
    url += "&pagesize="+pagesize;
    
    if (bNewWindow)
    {
        launchWindow( url );
    }
    else
    {
        window.frames['printPreviewFrame'].location.href = url;
    }

    return true;
}

function launchWindow(url)
{
    var myWindow = window.open('blank.html', 'quickMapWin', 'resizable=yes, scrollbars=no, toolbar=no, menubar=no, status=no');
    myWindow.focus();
    myWindow.location.href = url;
    return;
}


function buildGroup(groupName)
{
    var d = document.createElement('div');
    d.id = 'group_'+groupName;
    
    var cb = document.createElement('input');
    cb.type = 'checkbox';
    cb.name = 'legendgroupname[]';
    cb.id = 'cbg_'+groupName;
    cb.value = groupName;
    
    var s = document.createElement('span');
    s.className = 'label';
    s.innerHTML = groupName;

    d.appendChild(cb);
    d.appendChild(s);
    return d;
}

function buildLayer(layerRef, iconWidth, iconHeight)
{
    //layerRef has url and class name split by a |
    var n = layerRef.lastIndexOf("|");
    var layerURL = layerRef.substring(0, n);
    layerName = layerRef.substring(n+1);
    
    var d = document.createElement('div');
    d.className = 'legendLayer';
    d.style.display = 'none';
    var img = document.createElement('img');
    img.width = iconWidth;
    img.height = iconHeight;
    img.src = layerURL;
    var s = document.createElement('span');
    s.className = 'label';
    s.style.paddingLeft = '2px';
    s.innerHTML = layerName;
    d.appendChild(img);
    d.appendChild(s);
    return d;
}

function setGroupOn(groupName)
{
    document.getElementById('cbg_'+groupName).checked = true;
}


function printInfo( szIFrame )
{
    // popup source in a new window
    printWindow = window.open( frames[szIFrame].location.href, 'Print' );

    // check for popup blocker
    if (!printWindow)
    {
        alert( 'Unable to open popup dialog.  Perhaps you have a popup blocker installed?' );
    }
    else
    {
        // give the window focus
        printWindow.focus();
        
        /*
        printWindow.onload = function(){
            var body = printWindow.document.getElementsByTagName('body').item(0);
            var oDiv = printWindow.document.createElement( 'div' );
            oDiv.innerHTML = '<input type="button" value="Print" onclick="window.print();">';
            body.appendChild(oDiv);
        }*/
    }
}
