

// Event Type Constants
var APPROVE_CLICKED = "ApproveClicked";
var APPROVE_SUBMITTED = "ApproveSubmitted";
var DOCUMENT_BUTTONS_LOAD = "DocumentButtonsLoad";
var DOWNLOAD_CLICKED = "Download_Clicked";
var ADD_TO_CART = "Add_To_Cart";
var DOWNLOAD_SUBMITTED = "DownloadSubmitted";
var REGION_BUTTON_CLICKED = "RegionButtonClicked";
var INPUT_SUBMITTED = "InputSubmitted";
var JOB_TICKET_OPENED = "JobTicketOpened";
var JOB_TICKET_SUBMITTED = "JobTicketSubmitted";
var NAVIGATE_PAGES = "NavigatePages";
var PREFERENCES_LOAD = "PreferencesLoad";
var PREFERENCES_SUBMITTED = "PreferencesSubmitted";
var PREVIEW_LOAD = "PreviewLoad";
var QUIT = "Quit";
var REGION_BUTTONS_LOAD = "RegionButtonsLoad";
var REJECT_CLICKED = "RejectClicked";
var REJECT_SUBMITTED = "RejectSubmitted";
var INIT = "Init";
var SUBMIT_FOR_APPROVAL = "SubmitForApproval";
var SUBMIT_FOR_APPROVAL_SUBMITTED = "SubmitForApprovalSubmitted";
var QUIT_SUBMITTED = "QuitSubmitted";

// Window Sizes
var DOWNLOAD_WINDOW_HEIGHT = 285;
var DOWNLOAD_WINDOW_WIDTH = 260;

var DELIVER_DOWNLOAD_WINDOW_HEIGHT = 285;
var DELIVER_DOWNLOAD_WINDOW_WIDTH = 260;

//////////////////////////////////////////////////////////////
// WF - Document Approval Reason
// Added 2 new window dimensions for document approval reason
var APPROVE_WINDOW_WITH_REASON_HEIGHT=375;
var APPROVE_WINDOW_WITH_REASON_WIDTH=550;
var APPROVE_WINDOW_HEIGHT = 250;
var APPROVE_WINDOW_WIDTH = 250;
//////////////////////////////////////////////////////////////


var REJECT_WINDOW_HEIGHT = 375;
var REJECT_WINDOW_WIDTH = 550;

var SUBMIT_WINDOW_HEIGHT = 250;
var SUBMIT_WINDOW_WIDTH = 250;

var INPUT_WINDOW_HEIGHT = 500;
var INPUT_WINDOW_WIDTH = 300;

var PREPARING_DOWNLOAD_WINDOW_HEIGHT = 175;
var PREPARING_DOWNLOAD_WINDOW_WIDTH = 275;

var JOB_TICKET_WINDOW_HEIGHT = 400;
var JOB_TICKET_WINDOW_WIDTH = 600;

var MAILING_LIST_WINDOW_HEIGHT = 550;
var MAILING_LIST_WINDOW_WIDTH = 772;

// Status Graphic States
var NORMAL = 1;
var EDITING  = 2;
var COMPLETED = 3;

var sessionID = "";
var keyEvent = "";
var keySessionID = "";

var REPORT_SCREEN_URL = "index.htm";

function SetEventKey(key)
{
	keyEvent = key;
}

function SetSessionIDKey(key)
{
	keySessionID = key;
}

function AppendEventType(URL, eventType)
{
    return (URL + "?" + keyEvent + "=" + eventType + "&rand=" + Math.floor(Math.random() * 1000000000));
}

function AppendSessionID(URL)
{
	return (URL + "?" + keySessionID + "=" + sessionID + "&rand=" + Math.floor(Math.random() * 1000000000));
}

function AppendEventTypeAndSessionID(URL, eventType)
{
	return (URL + "?" + keyEvent + "=" + eventType + "&" + keySessionID + "=" + sessionID + "&rand=" + Math.floor(Math.random() * 1000000000));
}

function SetSessionID(ID)
{
	sessionID = ID;
}

function Redirect(URL)
{
	window.location.href = URL;
}

// old call function OpenNewWindow(URL, windowName)
function OpenNewWindow()
{
	var argv = OpenNewWindow.arguments;

	var myURL = argv[0]+"&rand=" + Math.floor(Math.random() * 1000000000);

	var width = eval(argv[1] + "_WIDTH");
	var height = eval(argv[1] + "_HEIGHT");
	if (argv.length != 3)
	{
		return window.open(myURL, argv[1], "WIDTH=" + width + ",HEIGHT=" + height + ",scrollbars");
	}
	else
	{
		return window.open(myURL, argv[1], "WIDTH=" + width + ",HEIGHT=" + height + ",scrollbars," + argv[2]);
	}
}

function GetNewWindow(URL, windowName)
{
	var width = eval(windowName + "_WIDTH");
	var height = eval(windowName + "_HEIGHT");
	
	return window.open(URL, windowName, "WIDTH=" + width + ",HEIGHT=" + height + ",scrollbars");
}

function GetTopWindow()
{
    if (window.agilisTopFrame == 1 || window.closed)
       return window;

	if (window.opener && opener.GetTopWindow)
	{
		return (opener.GetTopWindow());
	}
	
	if (window.parent && window.parent != window && window.parent != null)
	{
		if (window.parent.agilisTopFrame == 1)
		{
		   return (window.parent);
		}
		else
		{
			return (window.parent.GetTopWindow());
		}
	}
}

function RedrawPreviewImage()
{
	// just reload the whole frame
	var previewFrame = GetTopWindow().frames.preview;

	drawServerBusy();
	previewFrame.location.href = "showPreview.jsp?Event=PreviewLoad";
}

function RedrawDocumentButtons()
{
	// just reload the whole frame
	var topWindow = GetTopWindow();
	var documentButtonsFrame = topWindow.frames.documentbuttons;

	documentButtonsFrame.location.reload();
}

function drawServerBusy()
{
	var topWindow = GetTopWindow();
	
	var documentButtonsFrame = topWindow.frames.documentbuttons;
	var statusGraphic = eval("documentButtonsFrame.document.images['serverStatus']");
	if (statusGraphic != null)
	{
		statusGraphic.src = "images/anim.gif";
	}
}

function drawServerIdle()
{
	var topWindow = GetTopWindow();
	var documentButtonsFrame = topWindow.frames.documentbuttons;
	var statusGraphic = eval("documentButtonsFrame.document.images['serverStatus']");
	if (statusGraphic != null)
	{
		statusGraphic.src = "images/blank.gif";
	}
}

function RedrawRegionButtons()
{
	// just reload the whole frame
	var topWindow = GetTopWindow();
	var regionButtonsFrame = topWindow.frames.regionbuttons;

	regionButtonsFrame.location.reload();
}

function GetStatusGraphic(status)
{
	if (status == NORMAL)
		return "box.gif";
	
	if (status == EDITING)
		return "glow.gif";
	
	if (status == COMPLETED)
		return "check.gif";
}

function GetStatus(statusGraphic)
{
	// if statusGraphic contains the string "box.gif"...
	if (statusGraphic.indexOf("box.gif") != -1)
		return NORMAL;
	
	// if statusGraphic contains the string "glow.gif"...
	if (statusGraphic.indexOf("glow.gif") != -1)
		return EDITING;
	
	// if statusGraphic contains the string "check.gif"...
	if (statusGraphic.indexOf("check.gif") != -1)
		return COMPLETED;
}

function GetRegionButtonStatus(regionID)
{
	var topWindow = GetTopWindow();
	var regionButtonsFrame = topWindow.frames.regionbuttons;
	var statusGraphic = eval("regionButtonsFrame.document.images['status" + regionID + "']");
	
	return GetStatus(statusGraphic.src);
}

function SetRegionButtonStatus(regionID, status)
{
	var topWindow = GetTopWindow();
	
	var regionButtonsFrame = topWindow.frames.regionbuttons;
	var statusGraphic = eval("regionButtonsFrame.document.images['status" + regionID + "']");
	
	if (statusGraphic != null)
	{
		statusGraphic.src = "images/" + GetStatusGraphic(status);
	}
}

function SetStatusMessage(msg)
{
	var topWindow = GetTopWindow();
	topWindow.status = msg;
}

function AppendStatusMessage(msg)
{
	var topWindow = GetTopWindow();
	topWindow.status = topWindow.status + msg;
}

function ClearStatusMessage()
{
	SetStatusMessage("");
}

function SendFile(URL)
{
	var topWindow = GetTopWindow();
	var windowName = "DELIVER_DOWNLOAD_WINDOW";
	var width = eval(windowName + "_WIDTH");
	var height = eval(windowName + "_HEIGHT");

	if (isSP2())
	{
		var dlWindow = window.open(URL, windowName, "WIDTH=" + width + ",HEIGHT=" + height + ",scrollbars=no");
		dlWindow.focus();
	}
	else 
	{
		topWindow.frames.actions.location.href = URL;
	}
}

function isSP2 () 
{
   var g_fIsSP2 = (window.navigator.userAgent.indexOf("SV1") != -1) || (window.navigator.userAgent.indexOf("MSIE 7") != -1);

   return (g_fIsSP2);
}

function IsMacintosh()
{
	return navigator.userAgent.toLowerCase().indexOf("mac") != -1;
}

function IsIE()
{
	return navigator.userAgent.toLowerCase().indexOf("msie") != -1;
}

function AHREFTag(URL)
{
	return "<A href=\"#\" onClick=\"" + URL + "\">";
}

function ClickAHREFTag(URL)
{
	return "<A href=\"" + URL + "\">";
}

 function tcnc(inURL)
 {
       if (confirm("The template has not been completely filled in.  Continue anyway?"))
       {       
               var topWindow = GetTopWindow();
               topWindow.location.href=inURL;
       }
}

function BrowserType () {
     var srchText = navigator.userAgent;
     var brwTypes = ("Opera,MSIE,Netscape,Firefox").split(',');
     for (var ix=0; ix < brwTypes.length; ix++) {
          if (srchText.toString().match(brwTypes[ix])) {
               return brwTypes[ix];
          }
     }

     return "Firefox";
}
var key = 0;
var brwType = BrowserType();
function doAction (evt) {
     return false;

     if (evt) {
          evt.returnValue = false;
          evt.cancelBubble = true;
     }
     else {
          alert ('Bad Event Object');
     }
}

function kH2(e)
{
     evt = (e) ? e : window.event;
     var type = evt.type;
     var pK = e ? e.which : window.event.keyCode;

     pK = key;

     if (pK == 9 || pK == 0)
     {
           doAction (evt);
           return false;
     }
}

function kH(e) {
     evt = (e) ? e : window.event;
     var type = evt.type;
     var pK = e ? e.which : window.event.keyCode;

     key = pK;
     
     if (pK == 9)
     { 
       var superTarget = evt.target;
       
       if (!superTarget)
          superTarget = evt.srcElement;
          
       if (superTarget.nodeType == 3)
          superTarget = superTarget.parentNode;
       
       var caret = 0;
       if (document.selection)
       {
          var selection = document.selection.createRange();
          selection.moveStart('character', -superTarget.value.length);
          caret = selection.text.length;
       }
       else if (superTarget.selectionStart || superTarget.selectionStart == '0')
       {
          caret = superTarget.selectionStart;
       }
       
	caret = getCursorPosition(superTarget);
   
       superTarget.value = superTarget.value.substring(0, caret) + "\t" + superTarget.value.substring(caret, superTarget.value.length);
       
       if (superTarget.setSelectionRange)
       {
          superTarget.setSelectionRange(caret + 1, caret + 1);
       }
       else if (superTarget.createTextRange)
       {
          var range = superTarget.createTextRange();
          range.collapse(true);
          range.moveEnd('character', caret + 1);
          range.moveStart('character', caret + 1);
          range.select();
       }
       
       doAction (evt);
       return false;
     }

     if (pK == 9 || pK == 0)
     {
          doAction (evt);
          return  false;
     }
}

function getCursorPosition(field) {
   var cursorPos = -1;
   if (document.selection && document.selection.createRange) {
     var range = document.selection.createRange().duplicate();
     if (range.parentElement() == field) {
       range.moveStart('textedit', -1);
       cursorPos = range.text.length;
     }
   } else if (field.selectionEnd) {
     cursorPos = field.selectionEnd;
   }
   return cursorPos;
}

function DisableEnterAndTab ()
{
     if (!brwType) { return; }
     if (brwType == 'MSIE') {
          document.onkeypress = kH;
          document.onkeydown = kH;
     }
     else if (brwType == 'Firefox') {
          document.onkeydown = kH;
          document.onkeypress=kH2;
          document.onkeyup = kH2;
     }
     else if (brwType == 'Netscape') {
          document.onkeypress = kH;
          if (document.captureEvents) {
          document.captureEvents (Event.KEYPRESS);
          }
     }
     else {
          alert ('UnSupported Browswer');
     }
}

//if (window.captureTabs != "no") 
//   DisableEnterAndTab();

