/* ---------------------------------------------------------------------------------------------------
   factfinder_javascript.js
   --------------------------------------------------------------------------------------------------- */

var $j = jQuery.noConflict();

function update_fields(ftp){
    //var FTPURL            = document.getElementById("FF_FTPURL");
    //var HTTPURL           = document.getElementById("FF_HTTPURL");
    var FTPServer         = document.getElementById("FF_FTPServer");
    var FTPRoot           = document.getElementById("FF_FTPRoot");
    var FTPUser           = document.getElementById("FF_FTPUser");
    var FTPPassword       = document.getElementById("FF_FTPPassword");
    var FTPPasswordRepeat = document.getElementById("FF_FTPPasswordRepeat");
    var FTPPassiveYes     = document.getElementById("FF_PassiveMode_No");
    var FTPPassiveNo      = document.getElementById("FF_PassiveMode_Yes");
    if (ftp==1)
    {
        //FTPURL.style.display        = "block";
        //HTTPURL.style.display       = "none";
        FTPServer.disabled          = false;
        FTPRoot.disabled            = false;
        FTPUser.disabled            = false;
        FTPPassword.disabled        = false;
        FTPPasswordRepeat.disabled  = false;
        FTPPassiveNo.disabled       = false;
        FTPPassiveYes.disabled      = false;
    } else {
        //FTPURL.style.display        = "none";
        //HTTPURL.style.display       = "block";
        FTPServer.disabled          = true;
        FTPRoot.disabled            = true;
        FTPUser.disabled            = true;
        FTPPassword.disabled        = true;
        FTPPasswordRepeat.disabled  = true;
        FTPPassiveNo.disabled       = true;
        FTPPassiveYes.disabled      = true;
    }
};


function setStyle (cls, dfn) {
    if ($j.browser.msie) {
        document.styleSheets[0].addRule (cls, dfn);
    } else {
        var Sheet = document.styleSheets[0];
        Sheet.insertRule(cls + "{" +dfn + "}", Sheet.cssRules.length);
    }
};

function onSuggestCompleted(suggestLayerIsVisible) {
    if (suggestLayerIsVisible) {
        var offset = $j("#suggestLayer").offset();
        var oldoffset = $j(offset);
        var height = $j("#suggestLayer").outerHeight();
        var width = $j("#suggestLayer").outerWidth();
        var right= offset.left + width;
        var queryOffset = $j("#ffquery").offset();
        var newTop = queryOffset.top - height;
        var bottom = queryOffset.top + $j("#ffquery").outerHeight() + height;
        var newLeft = queryOffset.left - (width - $j("#ffquery").outerWidth());
        if (($j(window).height() < bottom)
            && (newTop > 0)) {
            offset.top = newTop;
        } else {
            offset.top = queryOffset.top + $j("#ffquery").outerHeight();
        }
        if ((($j(window).width() < (queryOffset.left + width))
                && (width > $j("#ffquery").outerWidth()))
            && (newLeft > 0)) {
            offset.left = newLeft;
        } else {
            offset.left = queryOffset.left;
        }
        if (offset.left != oldoffset.left
            || offset.top != oldoffset.top) {
            $j("#suggestLayer").css(offset);
        }
        if (!document.getElementById("overSuggestLayer")
		&& $j.browser.msie) {
            var suggestLayer = document.getElementById("suggestLayer");
            var previous = suggestLayer.previousSibling;
            var iframe = document.createElement("iframe");
            iframe.style.position ="absolute";
            iframe.style.zIndex="4";
            iframe.src="javascript:'<html></html>';";
            iframe.id="overSuggestLayer";
            iframe.scrolling = "no";
            iframe.frameBorder ="0";
            document.body.insertBefore(iframe, suggestLayer);
        }
	if ( $j.browser.msie) {
            $j("#overSuggestLayer").css($j("#suggestLayer").offset());
            $j("#overSuggestLayer").width($j("#suggestLayer").width());
            $j("#overSuggestLayer").height($j("#suggestLayer").height());
        }
    } else {
        if (document.getElementById("overSuggestLayer")
		&& $j.browser.msie) {
            var overSuggestLayer = document.getElementById ("overSuggestLayer");
            overSuggestLayer.parentNode.removeChild(overSuggestLayer);
        }
    }
};

function onSuggestLayerHidden () {
    if (document.getElementById("overSuggestLayer")
		&& $j.browser.msie) {
        var overSuggestLayer = document.getElementById ("overSuggestLayer");
        overSuggestLayer.parentNode.removeChild(overSuggestLayer);
    }
}

function buildFilterString(linkId)
{
    var filterString = "";
    
    $j("a[@id^=FFSelected]").each( function() {
	if( this.id != linkId )
	{
	    filterString += this.id.substring(10);
	    filterString += "||";
	}
    });
    
    if(linkId.indexOf("FFInvisible") == 0)
    {
	filterString = linkId.substring(11) + "||" + filterString;
    }
    else if ( linkId.indexOf("FFVisible") == 0 )
    {
	filterString = linkId.substring(9) + "||" + filterString;
    }

    // Remove trailings
    filterString = filterString.replace(/\|\|$/,'');
    return filterString;
}

function linkHandler ()
{
    var linkId = this.id;

    filterString = buildFilterString(linkId);

    document.forms.FACTFinderResultsForm.FFSELECTEDFILTERS.value = filterString;
    document.forms.FACTFinderResultsForm.submit();
};

function pagerHandler(e)
{
    if( $j(this).attr("href").indexOf("PageSize") == -1 )
    {
	document.forms.FACTFinderResultsForm.FFPAGE.value = $j(this).attr("href");
    }
    else
    {
	document.forms.FACTFinderResultsForm.FFRESULTSPERPAGE.value = $j(this).attr("href").match(/[0-9]+$/);
	document.forms.FACTFinderResultsForm.PageSize.value = $j(this).attr("href").match(/[0-9]+$/);
    }
    e.preventDefault();
    document.forms.FACTFinderResultsForm.submit();
}