﻿// Save Report options dialog code.

var M_strSaveReportOptions =
"<table class='OptionTable' width='100%' cellPadding='3' cellSpacing='0'>"
+ "<tr>"
+ "<td>"
+ "<table cellPadding='3' cellSpacing='0'>"
+ "<tr>"
+ "<td class=OptionHeader nowrap align=left>" + resSave + "</td>"
+ "</tr>"
+ "<tr height='3'></tr>"
+ "</table>"
+ "</td>"
+ "</tr>"
+ "<tr>"
+ "<td>"
+ "<table cellPadding='3' cellSpacing='0'>"
+ "<tr>"
+ "<td id='SaveReportMsg' class=OptionHeader nowrap align=left></td>"
+ "</tr>"
+ "<tr height='3'></tr>"
+ "</table>"
+ "</td>"
+ "</tr>"
+ "<tr>"
+ "<td>"
+ "<table cellPadding='3' cellSpacing='0'>"
+ "<tr height='3'></tr>"
+ "<tr>"
+ "<td class=OptionItem nowrap><label FOR=SaveAsId ACCESSKEY=\"s\">" + resTitle + "</label></td>"
+ "<td>"
+ "<input type=TEXT title='" + resTitle + "' name='SaveAs' id='SaveAsId' size='50' class=Default onkeypress=\"javascript:return SubmitSaveReport(event);\" onmousedown='event.cancelBubble = true; return true;' onmousemove='event.cancelBubble = true; return true;' >"
+ "</td>"
+ "</tr>"
+ "<tr height='3'></tr>"
+ "<tr>"
+ "<td class=OptionItem nowrap>"
+ "<label FOR=SaveReportFolderId ACCESSKEY=\"d\">" + resChooseFolder + "</label>"
+ "</td>"
+ "<td nowrap>"
+ "<select name=SaveReportFolder title = '" + resChooseFolder + "' id=SaveReportFolderId onkeypress=\"javascript:SubmitSaveReport(event);\"></select>"
+ "</td>"
+ "</tr>"
+ "</table>"
+ "</td>"
+ "<td width='100%'></td>"
+ "</tr>"
+ "<tr>"
+ "<td nowrap valign='bottom'>"
+ "<input type=button name=SaveAsGo value='" + resOK + "' onclick=\"javascript:return OnSaveAsOptions();\" >"
+ "&nbsp;<input type=button name=Cancel value='" + resCancel + "' onclick=\"javascript:OnCancelOptions();\">&nbsp;"
+ "<input name=DialogHelpButton type=button value=\"" + resHelp
+ "\" onclick=\"javascript:DisplayDialogHelp('SaveReport.htm', '');\">"
+ "</td>"
+ "</tr>"
+ "</table>"

//--------------------------------------------------------------
function SaveReportInitialize()
{
   var nIndex;
   var objFolder = document.getElementById("SaveReportFolderId");
   var objReportFolderId = document.aspnetForm.ReportFolderId;
   var oOption;
   var objSaveReportMsgCell;
   var viewTitle = document.aspnetForm.ViewTitle.value;
	var nSelectedIndex;

	if (viewTitle != "") {
	   viewTitle = viewTitle.replace(new RegExp(GSingleQuoteRep, "g"), "'");
	   viewTitle = viewTitle.replace(new RegExp(GLtRep, "g"), "<");
	   viewTitle = viewTitle.replace(new RegExp(GGtRep, "g"), ">");
	   document.aspnetForm.SaveAs.value = viewTitle;
	}

   document.aspnetForm.SaveAs.select();
   setTimeout("document.aspnetForm.SaveAs.focus();", 100);
   
   // add the user's folders
   nSelectedIndex = 0;
   var objFolders = document.getElementById("SaveReportFolderId");
   if (objFolders) {
      for (nIndex = 0; nIndex < M_astrSaveFoldersId.length; nIndex++) {
         SelectControlAddOption(objFolders, M_astrSaveFoldersId[nIndex], M_astrSaveFoldersTitle[nIndex]);
         if (M_astrSaveFoldersId[nIndex] == objReportFolderId.value) nSelectedIndex = nIndex;
      }
      objFolders.selectedIndex = nSelectedIndex;
   }
}
//-------------------------------------------------------------------
//displays the Table Options dialog when you click the Table Options button in the toolbar
function ShowSaveReportOptions()
{
   DisplayOption(M_strSaveReportOptions);
   SaveReportInitialize();
   onLayoutResize();
}

//---------------------------------------------------------------
function SubmitSaveReport(e)
{
   var valid = true;
   var key = GetKeyCode(e);
   
   valid = !(key==13 && document.aspnetForm.SaveAsGo.disabled); 
   if (valid){
      if (key==13 && !document.aspnetForm.SaveAsGo.disabled){
         if (!OnSaveAsOptions()) valid = false;
      }
   }
   return valid;
}

//-----------------------------------------------------------------------------
function OnSaveAsOptions()
{
   var bValid;
   var nFolderId;
   var objFolder = document.getElementById("SaveReportFolderId");
   var szUrl = document.location.pathname;
   var szViewName = "";

   do {
	   bValid = true;
	   szViewName = document.aspnetForm.SaveAs.value
	   if (szViewName == null) {
         document.aspnetForm.SaveAs.focus();
		   return false;
	   }
	   if (szViewName.charAt(0) == " ") {
		   alert(resFirstCharacter); 
		   bValid = false;
         document.aspnetForm.SaveAs.focus();
         return false;
	   }
	   else if (szViewName.length > 250) {
		   alert(resNameTooLong);
		   bValid = false;
         document.aspnetForm.SaveAs.focus();
         return false;
	   }
	   else if (szViewName.length == 0) {
		   alert(resSpecifyName);
		   bValid = false;
         document.aspnetForm.SaveAs.focus();
         return false;
	   }
	   else {      
		   for (nIndex = 0; nIndex < szViewName.length && bValid; nIndex++) {
			   nTemp = szViewName.charAt(nIndex);
			   nCode = szViewName.charCodeAt(nIndex);
			   if ( nCode == 34 || nCode == 43 || nCode == 92) // Invalidate " + \
			   {
				   alert(nTemp + resInvalidChar);
				   bValid = false;
               document.aspnetForm.SaveAs.focus();
               return false;         
			   }
		   }           
	   }
	} while (!bValid);
	nFolderId = parseInt(objFolder.options[objFolder.selectedIndex].value);
   szViewName = szViewName.replace(new RegExp("<", "g"), GLtRep);
   szViewName = szViewName.replace(new RegExp(">", "g"), GGtRep);

   if (szUrl.toLowerCase().indexOf("rsreport.aspx") >= 0) {
      SaveRSReport(szViewName, true, nFolderId)
   }
   else {
      SaveReport(szViewName, true, nFolderId)
   }
}

