﻿var SIFRLabel = new Class(
{
	initialize: function()
	{

	},

	getCssStyles: function(el)
	{
		var styles = el.getStyles("color", "font-weight", "font-style", "cursor");

		if (styles["font-weight"] == 700)
		{
			styles["font-weight"] = "bold";
		}

		return styles;
	},

	getCssString: function(el)
	{
		var cssString = "";
		var elStyles = sifrLabel.getCssStyles(el);

		cssString += "color:" + elStyles["color"];
		cssString += ";font-weight:" + elStyles["font-weight"];
		cssString += ";font-style:" + elStyles["font-style"];
		//cssString += ";text-align:" + elStyles["text-align"];
		cssString += ";cursor:" + elStyles["cursor"];

		return cssString;
	},

	updateSifr: function(button)
	{
		var flashEl = button.getElement(".sIFR-flash");
		var alternateEl = button.getElement(".sIFR-alternate");

		if (flashEl == null || alternateEl == null)
		{
			if (sIFR.ua.supported)
			{
				//document.title = "not ready yet " + sIFR.ua.supported;
				return;
			}

			//document.title = 'nja';
			return;
		}

		//document.title = 'working';

		var cssString = sifrButton.getCssString(alternateEl);
		flashEl.changeCSS(".sIFR-root{" + cssString + "}");
	},

	initControl: function(dialogID, controlID, sifrFlash, sifrClass, singleLine, leading)
	{
		var control = ui.getNestedControl(dialogID, controlID);

		if (control == null)
		{
			return;
		}

		control["sifrClass"] = sifrClass;

		var innerControl = control.getElement("." + sifrClass);

		if (innerControl != null)
		{
			var styles = sifrLabel.getCssStyles(innerControl);
			styles["leading"] = leading;

			sIFR.replace(sifrElements[sifrFlash],
				{
					elements: [innerControl],
					css:
					{
						'.sIFR-root': styles
					},
					forceSingleLine: singleLine,
					selectable: false,
					wmode: 'transparent',
//					onRelease: function(callbackInfo)
//					{
//						if (Browser.Engine.trident == true)
//						{
//							var parentDiv = $(callbackInfo.getAlternate()).getParent();
//							var ieRouteFunc = parentDiv.click;

//							if (ieRouteFunc)
//							{
//								ieRouteFunc();
//							}
//						}
//					},

					onReplacement: function(callbackInfo)
					{
						ui.onResize();
					}
				}
			);
		}
	}
});

var sifrLabel = new SIFRLabel();