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

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 ($.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 = jQuery("#suggestLayer").offset();
        var oldoffset = jQuery(offset);
        var height = jQuery("#suggestLayer").outerHeight();
        var width = jQuery("#suggestLayer").outerWidth();
        var right= offset.left + width;
        var queryOffset = jQuery("#ffquery").offset();
        var newTop = queryOffset.top - height;
        var bottom = queryOffset.top + jQuery("#ffquery").outerHeight() + height;
        var newLeft = queryOffset.left - (width - jQuery("#ffquery").outerWidth());
        if ((jQuery(window).height() < bottom)
            && (newTop > 0)) {
            offset.top = newTop;
        } else {
            offset.top = queryOffset.top + jQuery("#ffquery").outerHeight();
        }
        if (((jQuery(window).width() < (queryOffset.left + width))
                && (width > jQuery("#ffquery").outerWidth()))
            && (newLeft > 0)) {
            offset.left = newLeft;
        } else {
            offset.left = queryOffset.left;
        }
        if (offset.left != oldoffset.left
            || offset.top != oldoffset.top) {
            jQuery("#suggestLayer").css(offset);
        }
        if (!document.getElementById("overSuggestLayer")
		&& $.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 ( $.browser.msie) {
            jQuery("#overSuggestLayer").css(jQuery("#suggestLayer").offset());
            jQuery("#overSuggestLayer").width(jQuery("#suggestLayer").width());
            jQuery("#overSuggestLayer").height(jQuery("#suggestLayer").height());
        }
    } else {
        if (document.getElementById("overSuggestLayer")
		&& $.browser.msie) {
            var overSuggestLayer = document.getElementById ("overSuggestLayer");
            overSuggestLayer.parentNode.removeChild(overSuggestLayer);
        }
    }
};

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


function buildFilterString(linkId)
{
  var filterString = "";

  jQuery("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;
  var filterString = "";
	filterString = buildFilterString(linkId);
  
	document.forms.FACTFinderResultsForm.FFSELECTEDFILTERS.value = filterString;
  document.forms.FACTFinderResultsForm.submit();
};

function pagerHandler(e)
{
	document.forms.FACTFinderResultsForm.FFPAGE.value = jQuery(this).attr('href');
	document.forms.FACTFinderResultsForm.submit();
	e.preventDefault();
}
