/***************************************

	Slide in Help Utils - Just wanted a central place to put all the scripts.
	Created  11th Jan 2006 - dnb

***************************************/

	// Get the pagename
	var JavascriptPageName = document.location.href ;
	// alert(JavascriptPageName);

	var InstallLocation

	InstallLocation = DisplayCurrentDirectory();
	//alert(InstallLocation);
	
	/* if current page in admin folder, go one folder up */
	if (InstallLocation == 'admin' || InstallLocation == 'events')
	{
		InstallLocation = "../";
	}
	else
	{
		InstallLocation = "";
	}
	//document.write('InstallLocation='+InstallLocation);

	JavascriptPageName = document.location.href.substr(document.location.href.lastIndexOf("/")+1);
	// alert(JavascriptPageName);

	

	JavascriptPageName = JavascriptPageName.replace(/\?.*$/g, '');
	// alert(JavascriptPageName);

	function initialiseYPMenu(textboxID, slideMode, leftMargin, topMargin, helpWidth, helpHeight)
	{
		if (document.getElementById(textboxID))
		{
				new ypSlideOutMenu(textboxID, slideMode,leftMargin,topMargin,helpWidth,helpHeight);


				// ypSlideOutMenu(id, dir, left, top, width, height)

				if (window.navigator.appVersion.indexOf( "MSIE ") >  0)
				{ 
					// IE
					document.getElementById(textboxID).attachEvent('onfocus', function() { ypSlideOutMenu.showMenu(textboxID); });
					document.getElementById(textboxID).attachEvent('onblur', function() { ypSlideOutMenu.hideMenu(textboxID); });
				} 
				else 
				{ 
					// Mozilla, Netscape, Firefox
					document.getElementById(textboxID).addEventListener("focus", function() { ypSlideOutMenu.showMenu(textboxID); }, false);
					document.getElementById(textboxID).addEventListener("blur", function() { ypSlideOutMenu.hideMenu(textboxID); }, false);
				}
		}
	}

	// Create a new instance of ajax
	// var ajax = new sack();

	
	// Get the help data
	function GetHelpData(RunThisScript)
		{
			// alert(RunThisScript);
			ajax.requestFile = RunThisScript;			// Specifying which file to get
			ajax.onCompletion = ShowHelpData;	// Specify function that will be executed after file has been found
			ajax.runAJAX();						// Execute AJAX function			
		}
	
	function ShowHelpData()
		{
			document.getElementById('GetHelp').innerHTML= ajax.response;
		}

	// Create a new instance of ajax
	// var ajax2 = new sack();

	
	// Get the help data
	function GetMenuDefinition(RunThisScript)
		{
			// alert(RunThisScript);
			ajax2.requestFile = RunThisScript;			// Specifying which file to get
			ajax2.onCompletion = ShowMenuDefinition;	// Specify function that will be executed after file has been found
			ajax2.runAJAX();						// Execute AJAX function			
		}
	
	function ShowMenuDefinition()
		{
			//document.getElementById('MenuDef').innerHTML= ajax2.response;
			var script;
			script = document.createElement('script');
			script.type = 'text/javascript';
			
			if (window.ActiveXObject)
			{
				script.text = "initialiseYPMenu('some_control', 'left', 100, 100, 320, 140);";
			}
			else
			{
				//document.createTextNode("initialiseYPMenu('some_control', 'left', 100, 100, 320, 140);"));
				script.appendChild(document.createTextNode("initialiseYPMenu('some_control', 'left', 100, 100, 320, 140);"));
			}
			
			//document.getElementsByTagName('body')[1].appendChild(script);
			document.getElementById("finalCall").appendChild(script);
		}


function DisplayCurrentScript(){
	var UrlElements=window.location.href.split('/');
	ThisScript=UrlElements[UrlElements.length-1].split('?');
//	alert(ThisScript[0]);
//	ThisScript=ThisScript.replace('?', '');
//	return ThisScript;


//	var UrlElements=window.location.href.split('/'),
//	ThisScript=UrlElements[UrlElements.length-1];
//	ThisScript=ThisScript.replace('?', '');
	return ThisScript[0];
}

function DisplayCurrentDirectory(){
	var UrlElements=window.location.href.split('/'),
	ThisFolder=UrlElements[UrlElements.length-2];
	return ThisFolder;
}

function DisplayCurrentServer(){
	var UrlElements=window.location.href.split('/'),
	ThisFolder=UrlElements[0] + '//' + UrlElements[2];
	return ThisFolder;
}


function getAllFormElements( parent_node, ValuesInDatabase ) {

	if( parent_node == undefined ) { parent_node = document; }

	var ElementsWithoutHelp = '';
	var ItemCounter = 0;
	
	var Allelements = getElementsByTagNameMultiple(
		[ 'input', 'textarea', 'select' ]
	);

	// document.write('<hr>ValuesInDatabase= ' + ValuesInDatabase + ' <hr>' );
	// alert('Allelements=' + Allelements + ' ');

	for (p=0;p<Allelements.length;p++){

			var ThisPlace = InStr(ValuesInDatabase, Allelements[p]);
			// alert('searching for ' + Allelements[p] + ', found at ' + ThisPlace); 
			if (ThisPlace != -1 ) {
				// alert(Allelements[p] + ' Is in database ' + InStr(ValuesInDatabase, Allelements[p]));
			}
			else
			{
				// alert( Allelements[p] + ' = ThisPlace = -1, ' + ThisPlace);
				ItemCounter++;
				ElementsWithoutHelp += '<tr class="Row"><td>' + Allelements[p] + '</td><td><a href="' + InstallLocation + 'SlideInHelp/SlideInHelpMaint.asp?popup=true&ControlName=' + Allelements[p] +'&pagename=' + DisplayCurrentScript() + '" target="_blank">Add Help</a></td></tr>'			}

			// Allelements[p].src=fadeimages[p]
		}
		if (ItemCounter == 0 )
		{
			alert('Help is defined for all page elements'); 
		}
		else
		{
			document.write('<table class="Grid" style="width:300px;"><tr><th colspan="2" align="left">' + ItemCounter +  ' Items have No help</th></tr>');
			document.write('<tr class="caption"><th>Item</th><th>&nbsp;</th></tr>' + ElementsWithoutHelp + '</table><br>' ); 
		}


	return ''; //Allelements;
}

function getElementsByTagNameMultiple( tag_names, parent_node ) {
  if( parent_node == undefined ) { parent_node = document; }
  var out = new Array();
  // alert('tags length=' + tag_names.length );
  for( var i = 0; i <  tag_names.length; i++ ) {
    elementsFound = parent_node.getElementsByTagName(tag_names[i]);
	// alert(tag_names[i]);
	// alert('Found ' + elementsFound.length + ' of ' + tag_names[i]);
    for (var j = 0; j < elementsFound.length; j++) out.push( elementsFound.item(j).name );
	}
  return out;
}


function InStr(strSearch, charSearchFor)
{
	return strSearch.indexOf(charSearchFor);
}


