/*
HTML: <DIV ID="spin1" FOR="temp1" VALUE="2" MAX="10" MIN="0" STEP="3"></DIV>
CODE: createSpinControl(spin1);
*/
var spinbuttonIntervalID;
var spinbuttonPressed;

function createSpinControl(element)
{
	var element_for = element.getAttribute("FOR");
	var text_value = element.getAttribute("VALUE"); 
	var text_min = element.getAttribute("MIN");
	var text_max = element.getAttribute("MAX");
	var text_step = element.getAttribute("STEP");
	var range = element.getAttribute("RANGE");
	var inside = range=="ON";
	var source = '<TABLE FOR="'+element_for+'" CELLSPACING="0" CELLPADDING="0" CLASS="spin_buttons" border="0"><TR><TD HEIGHT="50%"><BUTTON  ID="'+element.id+'UpButton" STYLE="height:100%;width:100%;" ONCLICK="javascript:spinbuttonUpClick('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');" ONMOUSEDOWN="javascript:spinbuttonUpMouseDown('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');" ONMOUSEUP="javascript:spinbuttonUpMouseUp('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');" ONMOUSEOUT="javascript:spinbuttonUpMouseUp('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');"><IMG ID="'+element.id+'UpButtonImage" SRC="images/spinup.gif" BORDER=0 ALT=""></BUTTON></TD></TR><TR><TD HEIGHT="50%"><BUTTON ID="'+element.id+'DownButton" STYLE="height:100%;width:100%;" ONCLICK="javascript:spinbuttonDownClick('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');" ONMOUSEDOWN="javascript:spinbuttonDownMouseDown('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');" ONMOUSEUP="javascript:spinbuttonDownMouseUp('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');" ONMOUSEOUT="javascript:spinbuttonDownMouseUp('+element_for+","+text_value+','+text_min+','+text_max+','+text_step+','+inside+');"><IMG ID="'+element.id+'DownButtonImage" SRC="images/spindown.gif" BORDER=0 ALT=""></BUTTON></TD></TR></TABLE>'
	element.innerHTML = source;
}

function DisableSpinControl(element,disabled)
{
	var element_for = document.all(element.getAttribute("FOR"));
	var up = document.all(element.id+"UpButton");
	var upimage = document.all(element.id+"UpButtonImage");
	var down = document.all(element.id+"DownButton");
	var downimage = document.all(element.id+"DownButtonImage");
	if (element_for) element_for.disabled = disabled;
	if (up) up.disabled = disabled;
	if (upimage)
	{
		try{
		upimage.style.filter = disabled?"Alpha(Opacity=30,Style=0)":"";
		}catch(e){}
	}
	if (down) down.disabled = disabled;
	if (downimage) 
	{
		try{		
		downimage.style.filter = disabled?"Alpha(Opacity=30,Style=0)":"";
		}catch(e){}
	}
}

function spinbuttonUpClick(element,defvalue,min,max,step,inside)
{	
	var value = String(element.value);
	if (!isNaN(parseFloat(value)))
	{
		value = parseFloat(value);
		if (parseFloat(step)) value+=step;
		else value++;
		if (value<min) value = max;
		if (value>max) value = min;
	}else value = (defvalue)?defvalue:0;
	element.value = value;
	element.select();
	if (element.onchange) element.onchange();
}
function spinbuttonDownClick(element,defvalue,min,max,step,inside)
{
	//if (!spinbuttonPressed) return;
	var value = String(element.value);
	if (!isNaN(parseFloat(value)))
	{
		value = parseFloat(value);
		if (parseFloat(step)) value-=step;
		else value--;
		if (value<min) value = max;
		if (value>max) value = min;
	}else if (min<0) value = 0;
	element.value = value;
	element.select();
	if (element.onchange) element.onchange();
}

function spinbuttonUpMouseDown(element,defvalue,min,max,step,inside)
{
	spinbuttonPressed = true;
	spinbuttonIntervalID = setInterval("spinbuttonUpClick("+element.id+","+defvalue+","+min+","+max+","+step+","+inside+")", 200);
}

function spinbuttonUpMouseUp(element,defvalue,min,max,step,inside)
{
	clearInterval(spinbuttonIntervalID);
	spinbuttonPressed = false;
}

function spinbuttonDownMouseDown(element,defvalue,min,max,step,inside)
{
	spinbuttonPressed = true;
	spinbuttonIntervalID = setInterval("spinbuttonDownClick("+element.id+","+defvalue+","+min+","+max+","+step+","+inside+")", 200);
}

function spinbuttonDownMouseUp(element,defvalue,min,max,step,inside)
{
	clearInterval(spinbuttonIntervalID);
	spinbuttonPressed = false;
}
