/* ======================================================================== */
/* Name:			BaseFunctions.js										*/
/* Author:			Derrick Went											*/
/* Date:			31 July 2006											*/
/* Client:			SpecHead    											*/
/* Description:		Base Functions											*/
/* ======================================================================== */

function GoToNext(NextPage)
{
	document.form1.action = NextPage;
	document.form1.submit();
}
function CheckMandatoryField( objField, NameForMessage, ErrorFieldName)
{
	var objMessage;
    if ( objField.value )
    {
        return true;
    }
    else
    {
        objMessage = document.getElementById( ErrorFieldName );
		objMessage.innerHTML = '** ' + NameForMessage + ' has not been specified';
		alert(NameForMessage + ' has not been specified');
		objField.focus;
		return false;
    }
}
function CheckEmailField( objField, NameForMessage, ErrorFieldName)
{
	var objMessage;
    if ( objField.value )
    {
		var at;
		at = objField.value.indexOf('@');
		if (at > 0)
			{
			var after;
			after = objField.value.substr(at + 1)
			var dot;
			dot = after.indexOf('.');
			if (dot > 0)
				{
				return true;
				}
			}
        objMessage = document.getElementById( ErrorFieldName );
		objMessage.innerHTML = '** ' + NameForMessage + ' must be a valid email address';
		alert(NameForMessage + ' must be a valid email address');
		objField.focus;
		return false;
    }
    else
    {
        objMessage = document.getElementById( ErrorFieldName );
		objMessage.innerHTML = '** ' + NameForMessage + ' has not been specified';
		alert(NameForMessage + ' has not been specified');
		objField.focus;
		return false;
    }
}
function CheckEqualFields( FieldName1, FieldName2, TextForMessage, ErrorFieldName)
{
	var objField1;
	var objField2;
	var objMessage;

    objField1 = document.getElementById( FieldName1 );
    objField2 = document.getElementById( FieldName2 );
    if ( objField1.value == objField2.value )
    {
        return true;
    }
    else
    {	
        objMessage = document.getElementById( ErrorFieldName );
		objMessage.innerHTML = '** ' + TextForMessage;
		alert(TextForMessage);
		objField1.focus;
		return false;
    }		
}
function WaterMark_Focus(objname, waterMarkText, waterMarkStyle, normalStyle)
{
    obj = document.getElementById(objname);
    if (obj.value == waterMarkText)
    {
		obj.value = "";
		obj.className = normalStyle;
    }
}
function WaterMark_Blur(objname, waterMarkText, waterMarkStyle, normalStyle)
{
    obj = document.getElementById(objname);
    if (obj.value == "")
    {
		obj.value = waterMarkText;
		obj.className = waterMarkStyle;
    }
    else
    {
		obj.className = normalStyle;
    }
}
function ShowSpanObject(objId)
{
	var obj;
    obj = document.getElementById(objId);
    if (obj)
    {
		obj.style.display = 'inline';
    }
}
function fnShowHelp(FieldName)
{
	var oFrom;
	var ohelp;
	var ohelpfield;
	
	ohelp = document.getElementById('TheHelpBox');
	if (ohelp)
	{
		oFrom = document.getElementById('Help' + FieldName + 'Heading');
		ohelpfield = document.getElementById('HelpHeading');
		ohelpfield.innerHTML = oFrom.innerHTML;	
		oFrom = document.getElementById('Help' + FieldName + 'Text');
		ohelpfield = document.getElementById('HelpText');
		ohelpfield.innerHTML = oFrom.innerHTML;	
		ohelp.style.display = 'block';
	}
}
function ShowBlockObject(objId)
{
	var obj;
    obj = document.getElementById(objId);
    if (obj)
    {
		obj.style.display = 'block';
    }
}
function ShowZoomInNewWindow(s, ss1, ss2)
{
    var oNewWindow = window.open("", "_blank", "channelmode=no,directories=no,fullscreen=no,height=480,left=100,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no,top=100,width=640");
    var sMarkup = '<html><head><title>Zoom</title>' + ss1 + '\n' + ss2 + '\n' + '</head><body>' + s + '</body></html>';
    oNewWindow.document.write(sMarkup);
}
function HideObject(objId)
{
	var obj;
    obj = document.getElementById(objId);
    if (obj)
    {
		obj.style.display = 'none';
    }
}
function LTrim(str) 
{
	for (var k = 0; k < str.length && str.charAt(k) <= " " ; k++) ;
	return str.substring(k, str.length);
}
function RTrim(str) 
{
	for (var j = str.length - 1; j >=0 && str.charAt(j) <= " " ; j--) ;
	return str.substring(0, j+1);
}
function Trim(str) 
{
	return LTrim(RTrim(str));
}
function WithError(ErrorFieldName, ErrorMessage)
{
	var objMessage;
	objMessage = document.getElementById( ErrorFieldName );
	objMessage.innerHTML = '** ' + ErrorMessage;
	alert(ErrorMessage);
	return false;
}

function fnClickLabel(objLabel)
{
    var target = window.document.getElementById(objLabel.htmlFor);
    if (target)
	{
//		target.focus();
        window.event.returnValue = false;
	}
	return(false);
}

//Set a temp expando to store the current selectedIndex
function SelectOnFocusIn()
{
	try
	{
		var eSrc = window.event.srcElement;
		if (eSrc) 
			eSrc.tmpIndex = eSrc.selectedIndex;
	}
	catch (e)
	{
		HandleError(e, false);
	}
}
//restore the selectedIndex
function SelectOnFocus()
{
	try
	{
		var eSrc = window.event.srcElement;
		if (eSrc) 
			eSrc.selectedIndex = eSrc.tmpIndex;
	}
	catch (e)
	{
		HandleError(e, false);
	}
}
//Set a temp expando to store the current selectedIndex
function RadioOnFocusIn()
{
	try
	{
		var eSrc = window.event.srcElement;
		if (eSrc) 
			eSrc.tmpIndex = eSrc.selectedIndex;
	}
	catch (e)
	{
		HandleError(e, false);
	}
}
//restore the selectedIndex
function RadioOnFocus()
{
	try
	{
		var eSrc = window.event.srcElement;
		if (eSrc) 
			eSrc.selectedIndex = eSrc.tmpIndex;
	}
	catch (e)
	{
		HandleError(e, false);
	}
}

// Drag and Drop Functions...

function fnStartDrag(obj, TheText) 
{				
	// Sets data format in first parameter and provides text to drop in second...
	window.event.dataTransfer.setData("Text", TheText);
	// Copies text...
	window.event.dataTransfer.effectAllowed = "copy";
}
function fnCancelDrag()
{															// Cancel default action in ondragenter
	event.returnValue = false;								// and ondragover so that copy cursor will  
	window.event.dataTransfer.dropEffect = "copy";			// display until selection is dropped.
}



