	function hiddenResult()
	{
        var ohiddenResult = ohiddenSort.value + "&" + 
        ohiddenPageNumber.value + "&" + 
        ohiddenPDim_Trigger.value + "&" + 
        ohiddenPDim_DimCode.value + "&" + 
        ohiddenPDim_MemberCode.value + "&" + 
        ohiddenIsMQ.value;
		return ohiddenResult;
	}

	function Export( Dest )
	{
		
		var sExportURL =  "./ModalExports.aspx?ExportType=";
		
		if( Dest == "Excel" )
			sExportURL += "Excel";
		else if( Dest == "CSV" )
			sExportURL += "bulk";
		else if( Dest == "PCAxis" )
			sExportURL += "pcaxis";
		else
			alert( "Exception occurred in Export." );
			
		if( ohiddenIsMQ.value == "on" )
			sExportURL += "&JTD=on";
		
		try
		{
			document.getElementById("DialogTitle").innerHTML = "Exports";
			SaveDimMembersAndOpenURL( sExportURL );
		}
		catch(ex)
		{	
			document.location = sExportURL;
		}	
	}
	
	function ShowDatasetMetadata( DSCode )
	{
		ShowMetadata( DSCode, "" );
	}
	
	function AdvancedReplace( sString, sOld, sNew )
	{
		while( sString.indexOf( sOld ) >= 0 )
		{
			sString = sString.replace( sOld, sNew );
		}
		return sString;
	}
	
	function CleanDimensionName( s )
	{
		s = RemoveFromString( s, "[" );
		s = RemoveFromString( s, "]" );
		return s;
	}

	function onSort( column_number, sortorder )
	{
		/*
		 *	column_number is an INT from 1 to n
		 *	sortorder can be -1, 0 or 1
		 *		-1 means DESC
		 *		 0 means NOSORT
		 *		 1 means ASC
		 */
		 
		if( ohiddenSort )
		{
			if( sortorder < 0 )
				ohiddenSort.value = "DESC";			
			else if( sortorder > 0 )
				ohiddenSort.value = "ASC";
			else
				ohiddenSort.value = "NOSORT";

			ohiddenSort.value += "_" + column_number;
			
	 	MainCallback.callback("CallBack2&" + hiddenResult());
		}
	}

	function onHideRows( HRefTag, FirstRowToHide, LastRowToHide)
	{

        var aSrc = HRefTag.src.split("/");
        aSrc[aSrc.length - 1]
        if (aSrc[aSrc.length - 1] == "minus.gif")
        {
    	    for( var iRowNumber=FirstRowToHide ; iRowNumber<=LastRowToHide ; iRowNumber++ )
	        {
                 if ($("#row" + iRowNumber).attr("nodisplay"))
                 {
                 $("#row" + iRowNumber).attr("nodisplay", parseInt($("#row" + iRowNumber).attr("nodisplay")) + 1);
                 }
                 else
                 {
                 $("#row" + iRowNumber).attr("nodisplay", "1");
                 }
             $("#row" + iRowNumber).children().hide();
            }
            HRefTag.src = "Images/plus.gif";
		    HRefTag.title = "Show subtree";
        }
        else if (aSrc[aSrc.length - 1] == "plus.gif")
        {
    	    for( var iRowNumber=FirstRowToHide ; iRowNumber<=LastRowToHide ; iRowNumber++ )
	        {
                 if ($("#row" + iRowNumber).attr("nodisplay") == 1)
                 {
                     $("#row" + iRowNumber).children().show();
                     $("#row" + iRowNumber).removeAttr("nodisplay") 
                 }
                 else
                 {
                 $("#row" + iRowNumber).attr("nodisplay", $("#row" + iRowNumber).attr("nodisplay") - 1);
                 }
            }
            HRefTag.src = "Images/minus.gif";
		    HRefTag.title = "Hide subtree";
	    }
    }
    
	function ShowMicrodata( DSCode, Coords )
	{
		var oWindow = OpenWindow( "./Loading.htm", 800, 600 );

		//var sXML = "<AjaxTools Action=\"DecodeHTML\">" + Coords + "</AjaxTools>";
		var sXML = "<AjaxTools Action=\"MicrodataURL\" DSCode=\"" + DSCode + "\">" + Coords + "</AjaxTools>";
		
		var sURL = AJAX_Sync( "AjaxTools.aspx", sXML );
		
		if( sURL != "" )  
		{
			oWindow.document.location = sURL;
			oWindow.focus();
		}
	}
	
	function OpenWindow( FileName, WindowWidth, WindowHeight )
	{
		try
		{
			if( FileName == "" )
				FileName = "./Blank.htm";

			var sWidth = WindowWidth;
			var sHeight = WindowHeight;
			var sLeft = (screen.width-sWidth)/2;
			var sTop = (screen.height-sHeight)/2;
			
			var sOptions = "left=" + sLeft + ",top=" + sTop + ",height=" + sHeight + ",width=" + sWidth + ",location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0";
			return window.open( FileName, null, sOptions );
		}
		catch(ex)
		{}
	}
	
	function ChgPageNumberSel( PageNumberSelectTag )
	{
		if( ohiddenPageNumber )
		{
		ohiddenPageNumber.value = PageNumberSelectTag;
	 	window.scrollTo(0,0);
	 	MainCallback.callback("CallBack2&" + hiddenResult());
		}
		else
			alert( "The application was not able to request that page." );
	}

/*=======================================================
 Management of Drop down list for "Page" dimensions.
=======================================================*/

/*
 --------------------------------------------------------
 function ChgPageSel( oDrpDown )
 --------------------------------------------------------
 Invoked when an element in the dropdown list is clicked.
 ---------------------------------------------------------
 oDrpDown: handler on the dropdown list element
 ---------------------------------------------------------
 Basically, only fills the two hidden fields hiddenPDim_DimCode and 
 hiddenPDim_DimCode with the corresponding information taken from the 
 dropdown list.
*/
 function ChgPageSel( oDrpDown )
 {

 		
 		ohiddenPDim_DimCode.value = oDrpDown.id;
 		ohiddenPDim_MemberCode.value = oDrpDown.options[oDrpDown.selectedIndex].value; //GetSelectedOption(oDrpDown.children);
 		ohiddenPDim_Trigger.value = 'true';

		if( ohiddenPageNumber )
	 		ohiddenPageNumber.value = "1";	//Reset to first page on changing selection
	 	
	 	MainCallback.callback("CallBack2&" + hiddenResult());
	 	    
 }

/*
 --------------------------------------------------------
 function GetSelectedOption( oOptions )
 --------------------------------------------------------
 Invoked by ChgPageSel(
 ---------------------------------------------------------
 oOptions: list of options in the dropdownlist
 ---------------------------------------------------------
 Retrieves the value of the selected entry in the list.
*/

 function GetSelectedOption( oOptions )
 {
  for (var i=0; i<oOptions.length; i++)
  {
   if (oOptions[i].selected)
    return oOptions[i].value; 
  }
  return '';
 }
	

	function OpenThisQuery( arg )
	{
		if( arg == "CiteThisDatabase" )
		{
		    document.getElementById("DialogTitle").innerHTML = "Use those info. to cite Database";

		    DialogCiteDatabase.beginUpdate();

		    if (document.getElementById("_ctl0:ContentPlaceHolder1:hfUrlCitation") == null) {
		        DialogCiteDatabase.set_contentUrl("./ModalCiteDatabase.aspx?&Random=" + Math.random());
		    }
		    else {
		        DialogCiteDatabase.set_contentUrl("http://"+document.getElementById("_ctl0:ContentPlaceHolder1:hfUrlCitation").value);
		    }
            DialogCiteDatabase.endUpdate();
            DialogCiteDatabase.Show();
		}
		if( arg == "Exports" )
		{
			OpenModal( "./ModalExports.aspx?");
		}
		if( arg == "ExportsMQ" )
		{
			document.getElementById("DialogTitle").innerHTML = "Exports";
			OpenModal( "./ModalExports.aspx?MQ=true&JTD=on");
		}
		else if( arg == "Options" )
		{
		    document.getElementById("DialogTitle").innerHTML = "Pivot Dimensions";
			OpenModal( "./ModalDimension.aspx?");
		}
		else if( arg == "Options2" )
		{
		    document.getElementById("DialogTitle").innerHTML = "Options";
			OpenModal( "./ModalOptions2.aspx?");
		}
		else if( arg == "OptionsMQ" )
		{
		    document.getElementById("DialogTitle").innerHTML = "Options";
			OpenModal( "./ModalOptions.aspx?MQ=true");
		}
		else if( arg == "Save" )
		{
		    document.getElementById("DialogTitle").innerHTML = "Save";
		    OpenModal("./ModalSave.aspx?");
		}
		else if( arg == "EditQuery" )
		{
		    OpenModal("./ModalEditQueryXML.aspx?");
		}		
	}

	function OpenModal( URL )
	{
        Dialog1.beginUpdate();
        Dialog1.set_contentUrl(URL + "&Random=" + Math.random());
        Dialog1.endUpdate();
        Dialog1.Show();
    }


function Chart()
{
    OpenModal("Chart/ChartIframe.aspx?");
}


