function imagebrowser_open(fieldid, host, path)
{
	if(gWinObjRefImagebrowser == null || gWinObjRefImagebrowser.closed)
	{
		gWinObjRefImagebrowser = window.open('filebrowser.php?fieldid='+fieldid+'&host='+host+'&path='+path+'','soticfilebrowser','width=780,height=600,toolbar=0,status=0,menubar=0,location=0,scrollbars=1')
	}
	else
	{
		gWinObjRefImagebrowser.focus()
	}
}

function filebrowser_select( fid, name, path, thumbnail, upldid )
{
	var objField = document.getElementById('field-'+fid);
	if(objField != null) objField.value = name;
	if(objField && upldid > 0) objField.value = upldid;
                
	var objFileUploaded = document.getElementById('fileuploaded-'+fid);
	if(objFileUploaded && upldid > 0) objAjax = new ajax_XmlHttpPost('/tools/fileuploader.php?action=view&upldid='+upldid,'fileuploaded-'+fid);
		
	var objFieldName = document.getElementById('field-'+fid+'-name');
	if(objFieldName != null) objFieldName.innerHTML = name;
                
	var objThumbnail = document.getElementById('field-'+fid+'-thumbnail');
	if(objThumbnail != null) objThumbnail.src = thumbnail;
}

function filebrowser_remove( fid )
{
	document.getElementById('field-'+fid).value = '';
	document.getElementById('field-'+fid+'-name').innerHTML = '';
	var objThumbnail = document.getElementById('field-'+fid+'-thumbnail');
	if(objThumbnail != null) objThumbnail.src = '/tools/images/spacer.gif';
	var objUpldIdInput = document.getElementById('field-'+fid+'-upldid');
	if(objUpldIdInput != null) objUpldIdInput.value = '';
}

function dynamic_add( fid, photoupload )
{
	objtemp = document.getElementById('template-'+fid);
	objdyn = document.getElementById('dynamic-'+fid);
	newelement = document.createElement('div');
	newelement.id = 'itembox'+dynid;
	newelement.className = 'item';
	newelement.innerHTML = objtemp.innerHTML.replace(/\[id\]/g,dynid);
	objdyn.appendChild(newelement);
	document.getElementById('iteminput'+dynid).value = 1;
	document.getElementById('field-'+fid).value += dynid + ';';
	dynid++;
	if(photoupload)
	{
		$$('.photoupload').each(function(d) {
	        new PhotoUpload(d);
	    });
	}
}

function dynamic_remove( fid, iid )
{
	document.getElementById('itembox'+iid).style.display = 'none';
	document.getElementById('iteminput'+iid).value = 0;
}

function select_change( fid )
{
	obj = document.getElementById('field-'+fid);
	for( i=0; i<obj.options.length; i++ ) { document.getElementById('infobox-'+fid+'-'+i).style.display = 'none'; }
	sel = obj.selectedIndex;
	var infobox = document.getElementById('infobox-'+fid+'-'+sel)
	if(infobox != null) infobox.style.display = 'block';
}

function radio_getvalue( fid )
{
	optlist = document.getElementById('options-'+fid).value;
	optarray = optlist.split(';');

	val = '';

	for( i=0; i<optarray.length; i++ )
	{
		if( document.getElementById('field-'+fid+'-'+optarray[i]).checked ) { val = optarray[i]; }
	}

	return val;
}

function radio_restrict( fid, vallist )
{
	optlist = document.getElementById('options-'+fid).value;
	optarray = optlist.split(';');
	valarray = vallist.split(';');

	sel = '';
	for( i=0; i<optarray.length; i++ )
	{
		if( optarray[i] != '' ) { document.getElementById('optbox-'+fid+'-'+optarray[i]).style.display = 'none'; }
	}
	for( i=0; i<valarray.length; i++ )
	{
		if( valarray[i] != '' )
		{
			document.getElementById('optbox-'+fid+'-'+valarray[i]).style.display = 'block';
			if( document.getElementById('field-'+fid+'-'+valarray[i]).checked || sel == '' ) { sel = valarray[i]; }
		}
	}
	if( sel != '' ) { document.getElementById('field-'+fid+'-'+sel).checked = true; }
}

function multicheckbox_getvalue(fid)
{
	optlist = document.getElementById('options-'+fid).value;
	md5optlist = document.getElementById('md5options-'+fid).value;
	optarray = optlist.split(';');
	md5optarray = md5optlist.split(';');

	val = '';
	var valarray = new Array();

	for(var i=0; i<optarray.length; i++ )
	{
		if( document.getElementById('field-'+fid+'-'+md5optarray[i]).checked ) { valarray.push(optarray[i]); }
	}

	val = valarray.join(';');
               
	return val;
}
        

function checkbox_getvalue(fid)
{
	if( document.getElementById('field-'+fid).checked ) { return 1; } else { return 0; }
}

function multicheckbox_restrict( fid, vallist, setvalue )
{
	optlist = document.getElementById('options-'+fid).value;
	md5optlist = document.getElementById('md5options-'+fid).value;
	optarray = optlist.split(';');
	md5optarray = md5optlist.split(';');
	valarray = vallist.split(';');

	sel = '';
	for(var i=0; i<optarray.length; i++ )
	{
		if( optarray[i] != '' )
		{
			allowed = 0;
			for( j=0; j<valarray.length; j++ )
			{
				if( optarray[i] == valarray[j] ) { allowed = 1; }
			}

			obj = document.getElementById('optbox-'+fid+'-'+md5optarray[i]);
			if( allowed == 1 )
			{
				obj.style.display = 'block';
				if( setvalue != null )
				{
					fieldobj = document.getElementById('field-'+fid+'-'+md5optarray[i]);
					if( fieldobj ) { fieldobj.checked = setvalue; }
				}
			}
			else
			{
				obj.style.display = 'none';
				fieldobj = document.getElementById('field-'+fid+'-'+md5optarray[i]);
				if( fieldobj ) { fieldobj.checked = false; }
			}
		}
	}
}


function date_getvalue( fid )
{
	val = '';
	
	if( document.getElementById('dropdown_field-'+fid+'-fromyear') )
	{
		obj = document.getElementById('dropdown_field-'+fid+'-fromyear');
		if( obj ) { val += formbuilder_intpad(obj.value,4); } else { return ''; }
		obj = document.getElementById('dropdown_field-'+fid+'-frommonth');
		if( obj ) { val += '-' + formbuilder_intpad(obj.value,2); } else { return ''; }
		obj = document.getElementById('dropdown_field-'+fid+'-fromday');
		if( obj ) { val += '-' + formbuilder_intpad(obj.value,2); } else { return ''; }
	}
	else
	{
		obj = document.getElementById('dropdown_field-'+fid+'-year');
		if( obj ) { val += formbuilder_intpad(obj.value,4); } else { return ''; }
		obj = document.getElementById('dropdown_field-'+fid+'-month');
		if( obj ) { val += '-' + formbuilder_intpad(obj.value,2); } else { return ''; }
		obj = document.getElementById('dropdown_field-'+fid+'-day');
		if( obj ) { val += '-' + formbuilder_intpad(obj.value,2); } else { return ''; }
	}

    return val;
}


function date_setvalue( fid, val )
{
	obj = document.getElementById('dropdown_field-'+fid+'-year');
    if( obj ) { obj.value = val.substring(0,4); }
	obj = document.getElementById('dropdown_field-'+fid+'-month');
    if( obj ) { obj.value = val.substring(5,7); }
	obj = document.getElementById('dropdown_field-'+fid+'-day');
    if( obj ) { obj.value = formbuilder_inttrim(val.substring(8,10)); }
}


function reorder_moveup( fid )
{
	selobj = document.getElementById('select-'+fid);
	i = selobj.selectedIndex;
	if( i > 0 )
	{
		temp = selobj.options[i].value;
		selobj.options[i].value = selobj.options[i-1].value;
		selobj.options[i-1].value = temp;

		temp = selobj.options[i].text;
		selobj.options[i].text = selobj.options[i-1].text;
		selobj.options[i-1].text = temp;

		temp = document.getElementById('field-'+fid+'-value'+i).value;
		document.getElementById('field-'+fid+'-value'+i).value = document.getElementById('field-'+fid+'-value'+(i-1)).value;
		document.getElementById('field-'+fid+'-value'+(i-1)).value = temp;

		temp = document.getElementById('field-'+fid+'-name'+i).value;
		document.getElementById('field-'+fid+'-name'+i).value = document.getElementById('field-'+fid+'-name'+(i-1)).value;
		document.getElementById('field-'+fid+'-name'+(i-1)).value = temp;

		selobj.selectedIndex = i-1;
	}
}


function reorder_movedown( fid )
{
	selobj = document.getElementById('select-'+fid);
	i = selobj.selectedIndex;
	if( i < selobj.options.length-1 && i > -1 )
	{
		temp = selobj.options[i].value;
		selobj.options[i].value = selobj.options[i+1].value;
		selobj.options[i+1].value = temp;

		temp = selobj.options[i].text;
		selobj.options[i].text = selobj.options[i+1].text;
		selobj.options[i+1].text = temp;

		temp = document.getElementById('field-'+fid+'-value'+i).value;
		document.getElementById('field-'+fid+'-value'+i).value = document.getElementById('field-'+fid+'-value'+(i+1)).value;
		document.getElementById('field-'+fid+'-value'+(i+1)).value = temp;

		temp = document.getElementById('field-'+fid+'-name'+i).value;
		document.getElementById('field-'+fid+'-name'+i).value = document.getElementById('field-'+fid+'-name'+(i+1)).value;
		document.getElementById('field-'+fid+'-name'+(i+1)).value = temp;

		selobj.selectedIndex = i+1;
	}
}

function formbuilder_showhelp( fid )
{
	document.getElementById('fieldhelp-'+fid).style.top = showoverlay() + "px";
	document.getElementById('fieldhelp-'+fid).style.display = 'block';
}

function formbuilder_hidehelp( fid )
{
	hideoverlay();
	document.getElementById('fieldhelp-'+fid).style.display = 'none';
}


function formbuilder_getvalue( fid )
{
	obj = document.getElementById('type-'+fid);
	if( obj ) { fieldtype = obj.value; }
	
	if( fieldtype == 'radio' ) { return radio_getvalue(fid); }
	else if( fieldtype == 'checkbox' ) { return checkbox_getvalue(fid); }
	else if( fieldtype == 'multicheckbox' ) { return multicheckbox_getvalue(fid); }
	else if( fieldtype == 'date' ) { return date_getvalue(fid); }
	else
	{
		obj = document.getElementById('field-'+fid);
		if( obj ) { return obj.value; }
	}
	
	return '';
}


function formbuilder_setvalue( fid, val )
{
	obj = document.getElementById('type-'+fid);
	if( obj ) { fieldtype = obj.value; }

	if( fieldtype == 'date' ) { date_setvalue(fid,val); }
	else
	{
		obj = document.getElementById('field-'+fid);
		if( obj ) { obj.value = val; }
	}
}


function formbuilder_intpad( val, len )
{
	while( val.length < len ) { val = '0'+val; }
	return val;
}

function formbuilder_inttrim( val )
{
	while( val.substring(0,1) == '0' && val.length > 1 ) { val = val.substring(1,val.length); }
	return val;
}