// Selectbox Workaround für IE7 - IE8 -> wirkt sich bei heroes auch auf IE9 aus, weil dieser den IE7 emuliert.
if (jQuery.browser.msie && parseInt(jQuery.browser.version)>6 && parseInt(jQuery.browser.version)<=8) {
	jQuery(document).ready(function() {
		// statt bind oder mousedown... -> live, damit ist sichergestellt dass auch dynamisch nachträglich eingefügte SELECTs diese Workaround-Handler ausführen
		var sels = jQuery('select')
		.live('mousedown', function() {
			jQuery('#heroesHiddenSelectForIEStyleFix').remove();
			var jqHiddenSelect = jQuery('<select></select>')
									.attr('id', 'heroesHiddenSelectForIEStyleFix')
									// FIXME: Methode finden um alle Style Informationen zu kopieren!!!
									.css('width', jQuery(this).css('width'))
									.css('font-size', jQuery(this).css('font-size'))
									.css('border', jQuery(this).css('border'))
									// FIXME: Methode finden um alle Style Informationen zu kopieren!!!
									.hide()
									.appendTo(jQuery(this).parent());
			jQuery(this).find('option').clone().appendTo(jqHiddenSelect);

			// Breite vor Änderung (am versteckten select)
			var widthBefore = jqHiddenSelect.outerWidth();
			
			// Breite nach Änderung (am versteckten select)
			jqHiddenSelect.css('width', 'auto');
			var widthAfter = jqHiddenSelect.outerWidth();
			
			if (widthAfter > widthBefore) {
				// Breite nach Änderung > Breite vor Änderung -> Style-Anpassung für IE
				if (jQuery(this).data('origWidth') == undefined) {
					jQuery(this).data('origWidth', jQuery(this).outerWidth()+'px');
				}
				jQuery(this).css('width', "auto");
			}
		})
		.live('change', function() {
			// Breite des select auf Orignalwert setzen
			jQuery(this).css('width', jQuery(this).data('origWidth'));
			jQuery(this).removeData('origWidth');
		})
		.live('blur', function() {
			// Breite des select auf Orignalwert setzen
			jQuery(this).css('width', jQuery(this).data('origWidth'));
			jQuery(this).removeData('origWidth');
		});
		/* -> funktioniert nicht!!!
		sels.each(function(i, sel) {
			// Wenn sich Select-Box inneralb einer Tabelle befindet, kann Layout zerschossen werden,
			// deswegen table-layout:fixed, allerdings nur bei Struts-Masken, bei wingS funktioniert das nicht.
			var isStruts = (window.parent == window);
			if (isStruts) {
				var parents = jQuery(sel).parentsUntil('table');  
				var outerParent = jQuery(parents.get(length-1)).parent();
				if (outerParent.is('table')) {
					parents.filter('td').css('width', '100%');
					outerParent.css('table-layout', 'fixed');
				}
			}
		});
		*/
	});
}

