var objSelected
var intOffsetX
var intOffsetY
var intDownX
var intDownY
var intDragX
var intDragY
var intDropX
var intDropY

// Browser must be Navigator 3.x+ or IE4+ 
if ((navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 3) || (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4)) 
  blnRollover = true; 
else 
  blnRollover = false; 

document.onmousedown = Engage
document.onmousemove = DragSelectedObject
document.onmouseup   = Release

function SubmitForm(strFormName, strOperation)
{
	var obj;
	
	obj = eval('document.' + strFormName);

	if (obj.operation)
	{
		obj.operation.value = strOperation;
	}
	obj.submit();
}

function CodeLineHighlight(strListing, intLineIDFrom, intLineIDThru, blnSet)
{
	var objList;
	var intIndex;
	var strColor;
	var strBackgroundColor;
	
	objList = eval('document.all.' + strListing);

	if (blnSet)
	{
		strColor = "#000000";
		strBackgroundColor = "#cccccc";
	}
	else
	{
		strColor = "#000000";
		strBackgroundColor = "#ffffff";
	}
	
	for (intIndex=intLineIDFrom; intIndex<=intLineIDThru; intIndex++)
	{
		objList.childNodes[intIndex-1].style.color = strColor;
		objList.childNodes[intIndex-1].style.backgroundColor = strBackgroundColor;
	}
}

function Engage(evt)
{
    SetSelectedElement(evt)
    if (objSelected)
    {
    		intDownX = window.event.clientX;
    		intDownY = window.event.clientY;
        intOffsetX = window.event.offsetX
        intOffsetY = window.event.offsetY

        switch (objSelected.className)
        {
        	case 'slider':
        	{
    				var objFrame = document.all[objSelected.getAttribute('FRAME')];
    				objFrame.SLIDERNEW = objFrame.getAttribute("SLIDERVAL");
        		break;
        	}
        }
        //obj.style.zindex = 0;
    }
    return false
}

function DragSelectedObject(evt)
{
		var intDeltaX;
    if (objSelected)
    {
    		intDragX = window.event.clientX;
    		intDragY = window.event.clientY;

    		switch (objSelected.className)
    		{
    			case 'slider':
    			{
						var objFrame = document.all[objSelected.getAttribute('FRAME')];
    				intDeltaX = Math.round((intDragX-(intDownX-intOffsetX))/8);
						intVal = parseInt(objFrame.getAttribute("SLIDERVAL"));
						intMin = parseInt(objFrame.getAttribute("SLIDERMIN"));
						intMax = parseInt(objFrame.getAttribute("SLIDERMAX"));
						intVal = intVal + intDeltaX;
						if (intVal > intMax)
						{
							intVal = intMax;
						}
						if (intVal < intMin)
						{
							intVal = intMin;
						}
						objFrame.SLIDERNEW = intVal;
						objField = eval('document.' + objFrame.SLIDERFORM + '.' + objFrame.SLIDERFIELD);
						if (objField)
						{
							objField.value = intVal;
						}
						objSelected.style.pixelLeft = (intVal*8);
    				break;
    			}
    			default:
    			{
						objSelected.style.pixelLeft = window.event.clientX - intOffsetX
						objSelected.style.pixelTop  = window.event.clientY - intOffsetY
    				break;
    			}
    		}
        return false
    }
}

function Release(evt)
{
		var intDeltaX;
    if (objSelected)
    {
    		intDropX = window.event.clientX;
    		intDropY = window.event.clientY;

    		switch (objSelected.className)
    		{
    			case 'slider':
    			{
    				var objFrame = document.all[objSelected.getAttribute('FRAME')];
    				objFrame.SLIDERVAL = objFrame.getAttribute("SLIDERNEW");
    				break;
    			}
    		}
        objSelected = null
    }
}

function SetSelectedElement(evt)
{
	var obj

	objSelected = null
	obj = window.event.srcElement
	if (obj)
	{
	while (obj.parentElement)
		{
		if (obj.getAttribute('DRAGGABLE') == "1" && obj.getAttribute('PARENT') != null)
			{
				objSelected = document.all[obj.getAttribute('PARENT')]
			}
			obj = obj.parentElement
		}
	}
	return
}

// Function to swap images.
function Rollover(strImage, strState)
{
  if (blnRollover)
    document[strImage].src=eval(strImage + strState + ".src");
}

function StatusSet(strText)
{
	window.status = strText;
	return false;
}

function StatusClear()
{
	window.status = '';
	return true;
}

function OpenHelpWindow(intHelpStyle, strTopic, strTopicFilePath)
{
	wndHelp = window.open('/help/default.asp?helpstyle=' + intHelpStyle + '&topicfilepath=' + strTopicFilePath + '&topic=' + strTopic, "SonOfSofamanHelp", "toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,width=512,height=480");
	wndHelp.focus();
}
