
// pgpluginscripts.js
// 
// Copyright 2000 QPR Software Oyj. All Rights Reserved.

var bInitialized = false;
var undefined;

// ToolbarButtontypes, must be the same as in ENT_ToolbarButtonType in PluginTypes, defined in Initvars()
var TBT_BACK, TBT_HELP, TBT_CLOSE, TBT_RESOURCE, TBT_MEASURE, TBT_ELEMENTLIST, TBT_DETAILS, TBT_SUBPROCESS, TBT_PROCESS_STEP, TBT_FLOWS, TBT_STORES, TBT_ZOOM_100, TBT_ZOOM_75, TBT_ZOOM_50, TBT_ZOOM_25, TBT_PROCESSLEVELUP, TBT_PARENTLEVELS, TBT_ADD_BOOKMARK, TBT_OPEN_BROWSER, TBT_PROCESS_HIERARCHY, TBT_RESOURCE_GROUP_HIERARCHY, TBT_RESOURCE_POOL_HIERARCHY, TBT_INFORMATION_HIERARCHY, TBT_ORGANIZATION_HIERARCHY, TBT_NOTE_HIERARCHY, TBT_ADD_BASKET;

// Opening params
var HELP_PARAMS, RESOURCE_PARAMS, MEASURE_PARAMS, ELEMENTLIST_PARAMS, DETAILS_PARAMS, SUBPROCESS_PARAMS, PROCESS_STEP_PARAMS, FLOWS_PARAMS, STORES_PARAMS, PARENT_PARAMS, ADD_BOOKMARK_PARAMS, OPEN_BROWSER_PARAMS, ADD_BASKET_PARAMS; 

// Buttons
var back_off, back_over, back_down;
var resource_off, resource_over, resource_down;
var measure_off, measure_over, measure_down;
var elementlist_off, elementlist_over, elementlist_down; 
var details_off, details_over, details_down; 
var subprocess_off, subprocess_over, subprocess_down, subprocess_sel; 
var process_step_off, process_step_over, process_step_down, process_step_sel; 
var flows_off, flows_over, flows_down, flows_sel; 
var stores_over, stores_down, stores_dis, stores_sel; 
var zoom100_off, zoom100_over, zoom100_down;
var zoom75_off, zoom75_over, zoom75_down;
var zoom50_off, zoom50_over, zoom50_down;
var zoom25_off, zoom25_over, zoom25_down;
var processlevelup_off, processlevelup_over, processlevelup_down; 
var help_off, help_over, help_down; 
var close_off, close_over ,close_down; 
var add_bookmark_off, add_bookmark_over, add_bookmark_down;
var open_browser_off, open_browser_over, open_browser_down;
var process_hierarchy_off, process_hierarchy_over, process_hierarchy_down;
var resource_group_hierarchy_off, resource_group_hierarchy_over, resource_group_hierarchy_down;
var resource_pool_hierarchy_off, resource_pool_hierarchy_over, resource_pool_hierarchy_down;
var information_hierarchy_off, information_hierarchy_over, information_hierarchy_down;
var organization_hierarchy_off, organization_hierarchy_over, organization_hierarchy_down;
var note_hierarchy_off, note_hierarchy_over, note_hierarchy_down;
var add_basket_off, add_basket_over, add_basket_down;

function details_window(vsURL,viBtntype)
{
	var openingparams;
	var tempwin;
        var winname = 'DETAILS';

	if (vsURL != '')
	{
		if (viBtntype != TBT_ADD_BOOKMARK && viBtntype != TBT_ADD_BASKET) {
			window.location = vsURL; // in single frame skin, the same frame is always used
			return;
		}

		// Get window opening parameters for different type of windows
		if (viBtntype == TBT_HELP)
			openingparams = HELP_PARAMS;
		else if (viBtntype == TBT_RESOURCE)	 
			openingparams = RESOURCE_PARAMS;
		else if (viBtntype == TBT_MEASURE)				
			openingparams = MEASURE_PARAMS;
		else if (viBtntype == TBT_ELEMENTLIST)
			openingparams = ELEMENTLIST_PARAMS;
		else if (viBtntype == TBT_DETAILS)
			openingparams = DETAILS_PARAMS;
		else if (viBtntype == TBT_SUBPROCESS)								
			openingparams = SUBPROCESS_PARAMS;
		else if (viBtntype == TBT_PROCESS_STEP)		
			openingparams = PROCESS_STEP_PARAMS;
		else if (viBtntype == TBT_FLOWS)		
			openingparams = FLOWS_PARAMS;
		else if (viBtntype == TBT_STORES)			
			openingparams = STORES_PARAMS;
		else if (viBtntype == TBT_PARENTLEVELS)
			openingparams = PARENT_PARAMS;
		else if (viBtntype == TBT_ADD_BOOKMARK) {
			openingparams = ADD_BOOKMARK_PARAMS;
			winname = 'ADD_BOOKMARK';
		}
		else if (viBtntype == TBT_OPEN_BROWSER) {
			openingparams = OPEN_BROWSER_PARAMS;
			winname = '_blank';
		}
		else if (viBtntype == TBT_ADD_BASKET) {
			openingparams = ADD_BASKET_PARAMS;
			winname = 'ADD_BASKET';
		}

		// Do some action based on btntype
		// Buttons changing the flowchart or navigator frame
		if (viBtntype == TBT_ZOOM_100 || viBtntype == TBT_ZOOM_75 ||
		    viBtntype == TBT_ZOOM_50  || viBtntype == TBT_ZOOM_25 ||
		    viBtntype == TBT_PROCESSLEVELUP || 
                    viBtntype == TBT_PROCESS_HIERARCHY ||
                    viBtntype == TBT_RESOURCE_GROUP_HIERARCHY ||
                    viBtntype == TBT_RESOURCE_POOL_HIERARCHY ||
                    viBtntype == TBT_INFORMATION_HIERARCHY ||
                    viBtntype == TBT_ORGANIZATION_HIERARCHY ||
                    viBtntype == TBT_NOTE_HIERARCHY)
		{ 
			window.location = vsURL;
		}

		// Help button in detail window
		else if (viBtntype == TBT_HELP)
		{
			tempwin = window.open(vsURL,"HELP",openingparams);
			tempwin.focus();
		}
		// Other buttons
		else
		{
			// Catch button presses in details window
			if (window.name == 'DETAILS' && winname == 'DETAILS')
				window.location = vsURL;
			else
			{
				// flowchart hotspots, navigator found
				if(parent.NAVIGATOR != undefined)
				{
	    				if (parent.detailswindow == undefined)
	      				parent.detailswindow = window.open(vsURL,winname,openingparams);
	    				else 
					{
						if (parent.detailswindow.closed)
							parent.detailswindow = window.open(vsURL,winname,openingparams);
						else 
							parent.detailswindow.location = vsURL;
					}
				}
				else
				{
					tempwin = window.open(vsURL,winname,openingparams);
				}
			}		
		}
	}
	return;
}


function set_view(vsURL,viBtntype)
{
	window.location = vsURL;
}


// Init variables
function InitVars()
{
  if (bInitialized == true) { return; }

  TBT_BACK = 0;
  TBT_HELP = 1;
  TBT_CLOSE = 2;
  TBT_RESOURCE = 3;
  TBT_MEASURE = 4;
  TBT_ELEMENTLIST = 5;
  TBT_DETAILS = 6;
  TBT_SUBPROCESS = 7;
  TBT_PROCESS_STEP = 8;
  TBT_FLOWS = 9;
  TBT_STORES = 10;
  TBT_ZOOM_100 = 11;
  TBT_ZOOM_75 = 12;
  TBT_ZOOM_50 = 13;
  TBT_ZOOM_25 = 14;
  TBT_PROCESSLEVELUP = 15;
  TBT_PARENTLEVELS = 16;
  TBT_ADD_BOOKMARK = 17;
  TBT_OPEN_BROWSER = 18;
  TBT_PROCESS_HIERARCHY = 19; 
  TBT_RESOURCE_GROUP_HIERARCHY = 20;
  TBT_RESOURCE_POOL_HIERARCHY = 21;
  TBT_INFORMATION_HIERARCHY = 22;
  TBT_ORGANIZATION_HIERARCHY = 23;
  TBT_NOTE_HIERARCHY = 24;
  TBT_ADD_BASKET = 25;

  back_off = new Image();
  back_over = new Image();
  back_down = new Image();
  resource_off = new Image();
  resource_over = new Image();
  resource_down = new Image();
  measure_off = new Image();
  measure_over = new Image();
  measure_down = new Image();
  elementlist_off = new Image();
  elementlist_over = new Image();
  elementlist_down = new Image();
  details_off = new Image();
  details_over = new Image();
  details_down = new Image();
  subprocess_off = new Image();
  subprocess_over = new Image();
  subprocess_down = new Image();
  subprocess_sel = new Image();
  process_step_off = new Image();
  process_step_over = new Image();
  process_step_down = new Image();
  process_step_sel = new Image();
  flows_off = new Image();
  flows_over = new Image();
  flows_down = new Image();
  flows_sel = new Image();
  stores_off = new Image();
  stores_over = new Image();
  stores_down = new Image();
  stores_sel = new Image();
  processlevelup_off = new Image();
  processlevelup_over = new Image();
  processlevelup_down = new Image();
  zoom100_off = new Image();
  zoom100_over = new Image();
  zoom100_down = new Image();
  zoom75_off = new Image();
  zoom75_over = new Image();
  zoom75_down = new Image();
  zoom50_off = new Image();
  zoom50_over = new Image();
  zoom50_down = new Image();
  zoom25_off = new Image();
  zoom25_over = new Image();
  zoom25_down = new Image();
  help_off = new Image();
  help_over = new Image();
  help_down = new Image();
  close_off = new Image();
  close_over = new Image();
  close_down = new Image();
  add_bookmark_off = new Image();
  add_bookmark_over = new Image();
  add_bookmark_down = new Image();
  open_browser_off = new Image();
  open_browser_over = new Image();
  open_browser_down = new Image();
  process_hierarchy_off = new Image();
  process_hierarchy_over = new Image();
  process_hierarchy_down = new Image();
  resource_group_hierarchy_off = new Image();
  resource_group_hierarchy_over = new Image();
  resource_group_hierarchy_down = new Image();
  resource_pool_hierarchy_off = new Image();
  resource_pool_hierarchy_over = new Image();
  resource_pool_hierarchy_down = new Image();
  information_hierarchy_off = new Image();
  information_hierarchy_over = new Image();
  information_hierarchy_down = new Image();  
  organization_hierarchy_off = new Image();
  organization_hierarchy_over = new Image();
  organization_hierarchy_down = new Image();
  note_hierarchy_off = new Image();
  note_hierarchy_over = new Image();
  note_hierarchy_down = new Image();
  add_basket_off = new Image();
  add_basket_over = new Image();
  add_basket_down = new Image();

  // Window opening parameters
  HELP_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  RESOURCE_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  MEASURE_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  ELEMENTLIST_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  DETAILS_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  SUBPROCESS_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  PROCESS_STEP_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  FLOWS_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  STORES_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  PARENT_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=500,height=500";
  ADD_BOOKMARK_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=510,height=140";
  OPEN_BROWSER_PARAMS = "copyhistory=no,menubar=yes,toolbar=yes,location=yes,directories=no,resizable=yes,scrollbars=yes,width=700,height=500";
  ADD_BASKET_PARAMS = "copyhistory=no,menubar=yes,toolbar=no,location=no,directories=no,resizable=yes,scrollbars=yes,width=290,height=250";

  bInitialized = true;
}

// Init variables
function InitToolbarImages(vsImageDir)
{
  back_off.src = vsImageDir + "btn_back_e.gif";
  back_over.src = vsImageDir + "btn_back_eh.gif";
  back_down.src = vsImageDir + "btn_back_ec.gif";
  resource_off.src = vsImageDir + "btn_resource_e.gif";
  resource_over.src = vsImageDir + "btn_resource_eh.gif";
  resource_down.src = vsImageDir + "btn_resource_ec.gif";
  measure_off.src = vsImageDir + "btn_measure_e.gif";
  measure_over.src = vsImageDir + "btn_measure_eh.gif";
  measure_down.src = vsImageDir + "btn_measure_ec.gif";
  elementlist_off.src = vsImageDir + "btn_listview_e.gif";
  elementlist_over.src = vsImageDir + "btn_listview_eh.gif";
  elementlist_down.src = vsImageDir + "btn_listview_ec.gif";
  details_off.src = vsImageDir + "btn_details_e.gif";
  details_over.src = vsImageDir + "btn_details_eh.gif";
  details_down.src = vsImageDir + "btn_details_ec.gif";
  subprocess_off.src = vsImageDir + "btn_subprocess_e.gif";
  subprocess_over.src = vsImageDir + "btn_subprocess_eh.gif";
  subprocess_down.src = vsImageDir + "btn_subprocess_ec.gif";
  subprocess_sel.src = vsImageDir + "btn_subprocess_es.gif";
  process_step_off.src = vsImageDir + "btn_step_e.gif";
  process_step_over.src = vsImageDir + "btn_step_eh.gif";
  process_step_down.src = vsImageDir + "btn_step_ec.gif";
  process_step_sel.src = vsImageDir + "btn_step_es.gif";
  flows_off.src = vsImageDir + "btn_flow_e.gif";
  flows_over.src = vsImageDir + "btn_flow_eh.gif";
  flows_down.src = vsImageDir + "btn_flow_ec.gif";
  flows_sel.src = vsImageDir + "btn_flow_es.gif";
  stores_off.src = vsImageDir + "btn_store_e.gif";
  stores_over.src = vsImageDir + "btn_store_eh.gif";
  stores_down.src = vsImageDir + "btn_store_ec.gif";
  stores_sel.src = vsImageDir + "btn_store_es.gif";
  processlevelup_off.src = vsImageDir + "btn_levelup_e.gif";
  processlevelup_over.src = vsImageDir + "btn_levelup_eh.gif";
  processlevelup_down.src = vsImageDir + "btn_levelup_ec.gif";
  help_off.src = vsImageDir + "btn_help_e.gif";
  help_over.src = vsImageDir + "btn_help_eh.gif";
  help_down.src = vsImageDir + "btn_help_ec.gif";
  close_off.src = vsImageDir + "btn_close_e.gif";
  close_over.src = vsImageDir + "btn_close_eh.gif";
  close_down.src = vsImageDir + "btn_close_ec.gif";
  add_bookmark_off.src = vsImageDir + "btn_add_bookmark_e.gif";
  add_bookmark_over.src = vsImageDir + "btn_add_bookmark_eh.gif";
  add_bookmark_down.src = vsImageDir + "btn_add_bookmark_ec.gif";
  open_browser_off.src = vsImageDir + "btn_flowchart_e.gif";
  open_browser_over.src = vsImageDir + "btn_flowchart_eh.gif";
  open_browser_down.src = vsImageDir + "btn_flowchart_ec.gif";
  process_hierarchy_off.src = vsImageDir + "btn_hierarchy_process_e.gif";
  process_hierarchy_over.src = vsImageDir + "btn_hierarchy_process_eh.gif";
  process_hierarchy_down.src = vsImageDir + "btn_hierarchy_process_ec.gif";
  resource_group_hierarchy_off.src = vsImageDir + "btn_hierarchy_resgroups_e.gif";
  resource_group_hierarchy_over.src = vsImageDir + "btn_hierarchy_resgroups_eh.gif";
  resource_group_hierarchy_down.src = vsImageDir + "btn_hierarchy_resgroups_ec.gif";
  resource_pool_hierarchy_off.src = vsImageDir + "btn_hierarchy_respools_e.gif";
  resource_pool_hierarchy_over.src = vsImageDir + "btn_hierarchy_respools_eh.gif";
  resource_pool_hierarchy_down.src = vsImageDir + "btn_hierarchy_respools_ec.gif";
  information_hierarchy_off.src = vsImageDir + "btn_hierarchy_info_e.gif";
  information_hierarchy_over.src = vsImageDir + "btn_hierarchy_info_eh.gif";
  information_hierarchy_down.src = vsImageDir + "btn_hierarchy_info_ec.gif";
  organization_hierarchy_off.src = vsImageDir + "btn_hierarchy_org_e.gif";
  organization_hierarchy_over.src = vsImageDir + "btn_hierarchy_org_eh.gif";
  organization_hierarchy_down.src = vsImageDir + "btn_hierarchy_org_ec.gif";
  note_hierarchy_off.src = vsImageDir + "btn_hierarchy_note_e.gif";
  note_hierarchy_over.src = vsImageDir + "btn_hierarchy_note_eh.gif";
  note_hierarchy_down.src = vsImageDir + "btn_hierarchy_note_ec.gif";
  open_browser_over.src = vsImageDir + "btn_flowchart_eh.gif";
  open_browser_down.src = vsImageDir + "btn_flowchart_ec.gif";
  add_basket_off.src = vsImageDir + "btn_add_basket_e.gif";
  add_basket_over.src = vsImageDir + "btn_add_basket_eh.gif";
  add_basket_down.src = vsImageDir + "btn_add_basket_ec.gif";
}


function getbuttonname(button)
{
  // numbers same as ToolbarButtontypes
  switch(button)
  {
    case 0: return 'back';
    case 1: return 'help';
    case 2: return 'close';
    case 3: return 'resource';
    case 4: return 'measure';
    case 5: return 'elementlist';
    case 6: return 'details';
    case 7: return 'subprocess';
    case 8: return 'process_step';
    case 9: return 'flows';
    case 10: return 'stores';
    case 11: return 'zoom100';
    case 12: return 'zoom75';
    case 13: return 'zoom50';
    case 14: return 'zoom25';
    case 15: return 'processlevelup';
    case 16: return 'processlevelup';
    case 17: return 'add_bookmark';
    case 18: return 'open_browser';
    case 19: return 'process_hierarchy';
    case 20: return 'resource_group_hierarchy';
    case 21: return 'resource_pool_hierarchy';
    case 22: return 'information_hierarchy';
    case 23: return 'organization_hierarchy';
    case 24: return 'note_hierarchy';
    case 25: return 'add_basket';
  }
}

function downreal(name)
{
  name2 = getbuttonname(name);
  name3 = "myimg" + name;
  document[name3].src= eval(name2 + "_down.src");
  return;
}


function overreal(name)
{
  name2 = getbuttonname(name);
  name3 = "myimg" + name;
  document[name3].src = eval(name2 + "_over.src");
  return;
}

function offreal(name)
{
  name2 = getbuttonname(name);
  name3 = "myimg" + name;
  document[name3].src = eval(name2 + "_off.src");
  return;
}

function selreal(name)
{
  name2 = getbuttonname(name);
  name3 = "myimg" + name;
  document[name3].src = eval(name2 + "_sel.src");
  return;
}

function over(name)
{
  if(bInitialized)
  { 
    overreal(name); 
  }
  return;
}

function off(name)
{
  if(bInitialized)
  {
    offreal(name);
  }
  return;
}

function down(name)
{
  if(bInitialized)
  {
    downreal(name);
  }
  return;
}

function sel(name)
{
  if(bInitialized)
  {
    selreal(name);
  }
  return;
}

function change_location(vsURL)
{
  location.href = vsURL;
}

