/*============================================================================*/
/*                   Copyright (c) 2007 Adobe Systems Inc.                    */
/*                            All rights reserved.                            */
/*============================================================================*/

function setDefaultValues()
{
	Widget.elem.customData["flexClassName"] = "ComboBox";

	var currValues = new Array();

	currValues.push({ name:"State",             type:"ComboBox", value:"Up,Up,Over,Down" });
	currValues.push({ name:"color",             type:"Color",    value:"#0B333C"         });
	currValues.push({ name:"disabledColor",     type:"Color",    value:"#AAB3B3"         });
	currValues.push({ name:"editable",          type:"Boolean",  value:"false"           });
	currValues.push({ name:"enabled",           type:"Boolean",  value:"true"            });
	currValues.push({ name:"text",              type:"Text",     value:"Text"            });
	currValues.push({ name:"textRollOverColor", type:"Color",    value:"#2B333C"         });
	currValues.push({ name:"textSelectedColor", type:"Color",    value:"#2B333C"         });

	currValues.push({ name:"MXML", type:"MXML", value:"<mx:ComboBox color='$1' disabledColor='$2' editable='$3' enabled='$4' text='$5' textRollOverColor='$6' textSelectedColor='$7'></mx:ComboBox>" });

	Widget.elem.customData["currentValues"] = currValues;
}

function applyCurrentValues()
{
	var vals     = Widget.elem.customData["currentValues"];
	var state    = vals[0].value.split(",")[0];
	var editable = vals[3].value;
	var enabled  = vals[4].value;
	var obj;

	obj = Widget.GetObjectByName("text");
	if (enabled)
	{
		switch (state)
		{
			case "Up"  : obj.pathAttributes.fillColor = vals[1].value; break;
			case "Over": obj.pathAttributes.fillColor = vals[6].value; break;
			case "Down": obj.pathAttributes.fillColor = vals[7].value; break;
		}
	}
	else
	{
		obj.pathAttributes.fillColor = vals[2].value;
	}
	obj.textChars = vals[5].value;
	obj.visible   = true;

	Widget.GetObjectByName("up_fill").visible      = (!editable && ((state=="Up") || (state=="Over") || (!enabled)));
	Widget.GetObjectByName("up_border").visible    = (!editable && ((state=="Up") || (!enabled)));
	Widget.GetObjectByName("over_border").visible  = (!editable && (((state=="Over") || (state=="Down")) && enabled));
	Widget.GetObjectByName("down_fill").visible    = (!editable && ((state=="Down") && enabled));

	Widget.GetObjectByName("textbox").visible      = editable;
	Widget.GetObjectByName("up_fill_").visible     = (editable && ((state=="Up") || (state=="Over") || (!enabled)));
	Widget.GetObjectByName("up_border_").visible   = (editable && ((state=="Up") || (!enabled)));
	Widget.GetObjectByName("over_border_").visible = (editable && (((state=="Over") || (state=="Down")) && enabled));
	Widget.GetObjectByName("down_fill_").visible   = (editable && ((state=="Down") && enabled));
}

switch (Widget.opCode)
{
	case 1: setDefaultValues();   break;
	case 2: applyCurrentValues(); break;
	default: break;
}

/*============================================================================*/
/*                   Copyright (c) 2007 Adobe Systems Inc.                    */
/*                            All rights reserved.                            */
/*============================================================================*/