image_directory='/dural/images/';
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function colortableReplace(identifier,text) {
  document.getElementById(identifier).innerHTML = text;
}
function fixBrokenImage(image,dummy)
{
	if(dummy)
		image.src=image_directory+'noimage.jpg';
	else
		image.src="";
}
function roundFloat(number,digits)
{
	number=parseFloat(number);
	number*=Math.pow(10,digits);
	number=Math.ceil(number);
	number/=Math.pow(10,digits);
	return number;
}
function isEqualSign(e)
{
	if(e.which==61 || e.keyCode==61)
		return true;
	else
		return false;
}
function showAgentInfo()
{
	if(document.forms.newfloorlog.agentrole[1].checked)
	{
		document.getElementById('passlabel').style.display='inline';
		document.forms.newfloorlog.pass.style.display='inline';
	}
	else
	{
		document.getElementById('passlabel').style.display='none';
		document.forms.newfloorlog.pass.style.display='none';
	}
}
function updateLastName(form)
{
		fullname=form.fullname.value;
		if(lastSpace=fullname.lastIndexOf(' '))
			form.lastname.value=fullname.substring(lastSpace+1);
		else if(fullname.length>0)
			form.lastname.value=fullname;
		if(firstSpace=fullname.indexOf(' '))
			form.greeting.value=fullname.substring(0,firstSpace);
		else if(fullname.length>0)
			form.greeting.value=fullname;
}
function showStateList(country)
{
	name=country.name.replace("[country]","");
	if(country.value=='US')
	{
		document.getElementById(name+"CAstates").disabled=true;
		document.getElementById(name+"USstates").disabled=false;
		document.getElementById(name+"CAstates").style.display="none";
		document.getElementById(name+"USstates").style.display="inline";
	}
	else if(country.value=='CA')
	{
		document.getElementById(name+"CAstates").disabled=false;
		document.getElementById(name+"USstates").disabled=true;
		document.getElementById(name+"CAstates").style.display="inline";
		document.getElementById(name+"USstates").style.display="none";
	}
	else
	{
		document.getElementById(name+"CAstates").disabled=true;
		document.getElementById(name+"USstates").disabled=true;
		document.getElementById(name+"CAstates").style.display="none";
		document.getElementById(name+"USstates").style.display="none";
	}
}

function toggleVisibility(id,displaytype)
{
		id=id.name+'desc';
		if(document.getElementById(id).style.display==displaytype)
			document.getElementById(id).style.display='none';
		else
			document.getElementById(id).style.display=displaytype;
}

function toggleVisibility(id)
{
		id=id.name+'desc';
		if(document.getElementById(id).style.display=='block')
			document.getElementById(id).style.display='none';
		else
			document.getElementById(id).style.display='block';
}
function toggleDisabled(checkbox,inputid)
{
		if(checkbox.checked==true)
			document.getElementById(inputid).disabled=false;
		else
			document.getElementById(inputid).disabled=true;
}
function checkNewPassword(form)
{
	if(form.newpassword.value!=form.newpassword_confirm.value)
	{
		form.newpassword.style.backgroundColor=form.newpassword_confirm.style.backgroundColor="#DDFFFF";
		alert("Please make sure you have typed your new password correctly in both text boxes.");
		return false;
	}
	else
		return true;
}
function toggleExpandSelect(selectbox)
{
		if(selectbox.style.width=='100%')
			selectbox.style.width='50%';
		else
			selectbox.style.width='100%';
}
function toggleExpandTextbox(textbox)
{
		if(textbox.rows==10)
			textbox.rows=4;
		else
			textbox.rows=10;
}
function toggleExpandInput(input,oldsize)
{
		if(input.size==oldsize)
			input.size=oldsize*2;
		else
			input.size=oldsize;
}
function fillRow(inputrow,oldvalue,startindex)
{
	lastinput=document.getElementById((inputrow+startindex));
	i=startindex;
	while(nextinput=document.getElementById((inputrow+i)))
	{
		if(nextinput.value=='' || nextinput.value==oldvalue)
			nextinput.value=lastinput.value;
		lastinput=nextinput;
		i++;
	}
}
function pasteMultipleInputs(field)
{
	var fieldname=field.id.substr(0,field.id.length-1);
	var fieldvalue=field.value;
	if(fieldvalue.indexOf("\t")>0)
	{
		var fullvalues=fieldvalue.split("\t");
		field.value=fullvalues[0];
		var i=1;
		while(i<fullvalues.length)
		{
			nextfield=document.getElementById((fieldname+i));
			nextfield.value=fullvalues[i];
			i++;
		}
	}
}
function changeNumRows(numrows,table)
{
	var row,a,b,c,d,f;
	table=document.getElementById(table);
	if(numrows<1)
		return false;
	else if(numrows>40)
	{
		alert("Only 40 items can be added at a time.");
		numrows=40;
	}
	var count=table.rows.length;
	if(count-1>numrows)
	{
			for(i=count-1;i>numrows;i--)
			{
					table.deleteRow(-1);			
			}
			return true;
	}
	else if(count-1<numrows)
	{
		for(i=count-1;i<numrows;i++)
		{
				row=table.insertRow(-1);
				a=row.insertCell(0);
				b=row.insertCell(1);
				c=row.insertCell(2);
				d=row.insertCell(3);
				e=row.insertCell(4);
				f=row.insertCell(5);
				g=row.insertCell(6);
				b.innerHTML='<input type="text" id="newprodname'+i+'" name="newprod['+i+'][name]" size="30" onKeyPress="javascript:goUpDown(event,this.id);" />';
				c.innerHTML='<input type="text" id="newprodsku'+i+'" name="newprod['+i+'][sku]" size="15" onKeyPress="javascript:goUpDown(event,this.id);" />';
				d.innerHTML='<select name="newprod['+i+'][style]">'+document.getElementById('stylelist0').innerHTML+'</select>';
				e.innerHTML='<select name="newprodnewimg['+i+'][imgtype]">'+document.getElementById('imgtypelist0').innerHTML+'</select>';
				f.innerHTML='<input type=\"text\" size=\"45\" id="newprodimg'+i+'" name=\"newprodnewimg['+i+'][url]\" onKeyPress=\"javascript:goUpDown(event,this.id);\" />'
				if(i<=15)
					f.innerHTML+='<br /><input type=\"file\" id="newprodfile'+i+'" size=\"35\" name=\"newprodnewimg['+i+']\" onKeyPress=\"javascript:goUpDown(event,this.id);\" />';
				else if(i==16)
					f.innerHTML+='<br />Only 15 images should be uploaded at once.';
				g.innerHTML='<input type="submit" class="gobutton" value="Go" />';
		}
		return numrows;
	}
	return false;
}
function changeNumCatRows(numrows,table)
{
	var a,b,c,d,e,f;
	var table=document.getElementById(table);
	if(numrows<1)
		return false;
	var count=table.rows.length;
	if(count>30)
	{
		alert("Only 30 categories can be added at a time.");
		count=30;
	}
	if(count-1>numrows)
	{
			for(i=count-1;i>numrows;i--)
			{
					table.deleteRow(-1);			
			}
			return true;
	}
	else if(count-1<numrows)
	{
		for(i=count-1;i<numrows;i++)
		{
				var row=table.insertRow(-1);
				a=row.insertCell(0);
				b=row.insertCell(1);
				c=row.insertCell(2);
				d=row.insertCell(3);
				e=row.insertCell(4);
				f=row.insertCell(5);
				g=row.insertCell(6);
				b.innerHTML='<input type="text" id="newcatname'+i+'" name="newcat['+i+'][name]" size="30" />';
				c.innerHTML='<select id="newcatparent'+i+'" name="newcat['+i+'][parent]">'+document.getElementById('stylelist0').innerHTML+'</select>';
				d.innerHTML='<select id="newcattype'+i+'" name="newcat['+i+'][type]">'+document.getElementById('typelist0').innerHTML+'</select>';
				e.innerHTML='<select id="newcatmanu'+i+'" name="newcat['+i+'][manu]">'+document.getElementById('manulist0').innerHTML+'</select> <select id="newcatftyp'+i+'" name="newcat['+i+'][ftyp]">'+document.getElementById('ftyplist0').innerHTML+'</select> <select id="newcatptyp'+i+'" name="newcat['+i+'][ptyp]">'+document.getElementById('ptyplist0').innerHTML+'</select>';
				f.innerHTML='<textarea name="newcat['+i+'][desc]" cols="45" rows="2" onFocus="toggleExpandTextbox(this);" onBlur="toggleExpandTextbox(this);"></textarea>';
				g.innerHTML='<input type="submit" class="gobutton" value="Go" />';
				document.getElementById('newcatparent'+i).selectedIndex=document.getElementById('stylelist0').selectedIndex;
				document.getElementById('newcattype'+i).selectedIndex=document.getElementById('typelist0').selectedIndex;
				document.getElementById('newcatmanu'+i).selectedIndex=document.getElementById('manulist0').selectedIndex;
				document.getElementById('newcatftyp'+i).selectedIndex=document.getElementById('ftyplist0').selectedIndex;
				document.getElementById('newcatptyp'+1).selectedIndex=document.getElementById('ptyplist0').selectedIndex;
		}
		return true;
	}
	return false;
}

function toggleNewField(field)
{
	var fieldform,status,newfield,fieldname;
	fieldform=field.form;
	if(field.value=='NEW')
		status=false;
	else
		status=true;
	fieldname=field.name.replace(/\W/g,'');
	document.getElementById(fieldname).disabled=status;
}

function toggleAll(basename)
{
	var i=0;
	while(nextfield=document.getElementById(basename.id+i))
	{
		if(nextfield.checked==true || nextfield.checked==false)
			nextfield.checked=basename.checked;
		else if(nextfield.length>0)
			nextfield.selectedIndex=basename.selectedIndex;
		else
			nextfield.value=basename.value;
		i++;
	}
}
/*******************************************************
CHECKBOXES
By Ryan Parman
- Click and Drag functionality by Peter Bailey, http://www.peterbailey.net
- Must be initialized as an object, then (optionally) attach an onload to the BODY tag, 
      either objName.enableMouseover(), or objName.enableClickDrag(), but not both.
- Use objName.check(), objName.clear(), or objName.toggle().
*******************************************************/
function checkbox(nameOfForm)
{
	// Store variables.
	this.nameOfForm=(nameOfForm) ? nameOfForm:0;
	this.toggleOnOff=1;

	// Can be used externally, but meant for internal use only.
	this.set=function(bool)
	{
		if (document.forms && document.getElementsByTagName)
		{
			var theFields=eval('document.forms["'+this.nameOfForm+'"].getElementsByTagName("input");');

			var theFieldsLen=theFields.length;
			for (i=0; i<theFieldsLen; i++)
			{
				if (theFields[i].getAttribute("type").toLowerCase() == "checkbox" || theFields[i].getAttribute("type").toLowerCase() == "radio") theFields[i].checked=bool;
				else if (theFields[i].getAttribute("type").toLowerCase() == "text") theFields[i].value=bool.toString();
			}
		}
		else alert('Not Supported');
	}

	// Basic functions to use externally.
	this.check=function() { this.set(true); }
	this.clear=function() { this.set(false); }

	// Just a nifty little feature.
	this.toggle=function()
	{
		if (this.toggleOnOff) { this.set(true); this.toggleOnOff=0; }
		else if (!this.toggleOnOff) { this.set(false); this.toggleOnOff=1; }
	}

	// Call this during BODY onLoad to add mouseover functionality to the form.
	this.enableMouseover=function()
	{
		if (document.forms && document.getElementsByTagName)
		{
			var moFields=eval('document.forms["'+this.nameOfForm+'"].getElementsByTagName("input");');

			var moFieldsLen=moFields.length;
			for (i=0; i<moFieldsLen; i++)
			{
				if (moFields[i].getAttribute("type").toLowerCase() == "checkbox" || moFields[i].getAttribute("type").toLowerCase() == "radio") //|| moFields[i].getAttribute("type").toLowerCase() == "text")
				{
					onMO=moFields[i];
					onMO.onmouseover=this.change;
				}
			}
		}
	}

	this.change=function() { this.checked=(this.checked) ? false:true; }

	// By Peter Bailey, www.peterbailey.net
	// Slight modifications by Ryan Parman, www.skyzyx.com
	// Modified by Wes Bryant to include radio buttons
	this.enableClickDrag=function(sameNameOnly)
	{
		// Abort if browser can't do script
		if (document.all && !document.attachEvent) return true;
		else if (!document.all && !document.addEventListener) return true;
		//else if (document.all && !document.addEventListener) return true; // For retarded-ass Opera 7...

		// Initialize Variables/properties
		var f=eval('document.forms["'+this.nameOfForm+'"]');
		var dragObj=this;
		this.checked=false;
		this.value='';
		this.mousedown=false;
		this.validClick=false;
		this.same=Boolean( sameNameOnly );

		// Attach Events
		if ( document.attachEvent )
		{
			f.attachEvent( "onclick", function() { downHandler( event.srcElement, dragObj ) } );
			f.attachEvent( "onmouseover", function() { overHandler( event.srcElement, dragObj ) } );
			document.attachEvent( "onmouseup", function() { upHandler( event.srcElement, dragObj ) } );
		}
		else
		{
			f.addEventListener( "mousedown", function( e ) { downHandler( e.target, dragObj ) }, false );
			f.addEventListener( "mouseover", function( e ) { overHandler( e.target, dragObj ) }, false );
			document.addEventListener( "mouseup", function( e ) { upHandler( e.target, dragObj ) }, false );
		}

		// Handler for form.onclick event
		function downHandler(elem, o)
		{
			if (elem.type=="checkbox" || elem.type=="radio")
			{
				o.validClick=true;
				o.firstCB=elem;
				o.mousedown=true;
				o.checked=!elem.checked
				if (o.same) o.name=elem.name;
			}
			/*else if(elem.type=='text')
			{
				o.validClick=true;
				o.firstCB=elem;
				o.mousedown=true;
				o.value=elem.value;
				if (o.same) o.name=elem.name;
			}*/
		}

		// Handler for document.onMouseUp event
		function upHandler(elem, o)
		{
			if ((elem.type=="checkbox" || elem.type=="radio") && o.validClick && o.firstCB)
			{
				o.firstCB.checked=o.checked;
				o.mousedown=false;
				o.checked=!o.checked;
				o.validClick=false;
				if (elem===o.firstCB) elem.checked=o.checked;
			}
			/*else if (elem.type=='text' && o.validClick && o.firstCB)
			{
				o.firstCB.value=o.value;
				o.mousedown=false;
				elem.value=o.value;
				o.validClick=false;
				if (elem===o.firstCB) elem.value=o.value;
			}*/
		}

		// Hanlder for form.onMouseOver event
		function overHandler(elem, o)
		{
			if ((elem.type=="checkbox" || elem.type=="radio") && o.mousedown)
			{
				if (o.same && elem.name == o.name) elem.checked=o.checked;
				else if (!o.same) elem.checked=o.checked;
			}
			/*else if (elem.type=='text' && o.mousedown)
			{
				
				if (o.same && elem.name == o.name) elem.value=o.value;
				else if (!o.same) elem.value=o.value;
			}*/
		}
	}
}
