/**
     * Get the language manager markup.
     *
     * @return  string
     */
    protected function getInput()
    {
        // Generate field container id
        $id = str_replace('_', '-', $this->id) . '-field';
        // Preset output
        $html[] = '
<style type="text/css">
	#' . $id . ' {
		position: relative;
	}
	.jsn-bootstrap #' . $id . ' label.checkbox a:hover {
		text-decoration: inherit;
	}
	.jsn-bootstrap #' . $id . ' .alert {
		position: absolute;
		top: 0;
		left: 50%;
		white-space: nowrap;
	}
	.jsn-bootstrap #' . $id . ' .alert ul {
		margin-bottom: 0;
	}
	.ui-dialog-buttonpane .ui-dialog-buttonset button.jsn-loading {
		display: inline-block;
		border: 0;
		padding: 0;
		width: 42px;
		height: 42px;
		background: url(../plugins/system/jsnframework/assets/joomlashine/images/icons-32/icon-32-loading-circle.gif) 50% 50% no-repeat;
		font-size: 0;
	}
</style>
<p class="item-title">' . JText::_('JSN_EXTFW_LANGUAGE_SELECT') . '</p>';
        foreach ($this->getOptions() as $lang) {
            // Initialize variables
            $component = JFactory::getApplication()->input->getCmd('option');
            $langText = JText::_('JSN_EXTFW_LANGUAGE_' . strtoupper(str_replace('-', '', $lang)));
            $editLink = JUri::root() . 'plugins/system/jsnframework/libraries/joomlashine/editors/language/index.php?component=' . $component;
            $revertLink = $editLink . '&task=post.revert';
            // Check necessary attributes
            $aChecked = JSNUtilsLanguage::installed($lang) ? ' checked="checked"' : '';
            $aDisabled = (!JSNUtilsLanguage::installable($lang) or JSNUtilsLanguage::installed($lang) or !JSNUtilsLanguage::supported($lang)) ? ' disabled="disabled"' : '';
            $aEditable = JSNUtilsLanguage::installed($lang) ? ' <a href="javascript:void(0)" data-source="' . $editLink . '&client=admin&lang=' . $lang . '" title="' . JText::_('JSN_EXTFW_EDITORS_LANG_CLICK_TO_EDIT') . '" class="jsn-language-editor icon16 icon-pencil"></a>' : '';
            $aRevert = JSNUtilsLanguage::edited($lang) ? '<a href="javascript:void(0)" action="' . $revertLink . '&client=admin&lang=' . $lang . '" title="' . JText::_('JSN_EXTFW_EDITORS_LANG_CLICK_TO_REVERT') . '" class="jsn-language-revert icon16 icon-refresh"></a>' : '';
            $sChecked = JSNUtilsLanguage::installed($lang, true) ? ' checked="checked"' : '';
            $sDisabled = (!JSNUtilsLanguage::installable($lang, true) or JSNUtilsLanguage::installed($lang, true) or !JSNUtilsLanguage::supported($lang, true)) ? ' disabled="disabled"' : '';
            $sEditable = JSNUtilsLanguage::installed($lang, true) ? ' <a href="javascript:void(0)" data-source="' . $editLink . '&client=site&lang=' . $lang . '" title="' . JText::_('JSN_EXTFW_EDITORS_LANG_CLICK_TO_EDIT') . '" class="jsn-language-editor icon16 icon-pencil"></a>' : '';
            $sRevert = JSNUtilsLanguage::edited($lang, true) ? '<a href="javascript:void(0)" action="' . $revertLink . '&client=site&lang=' . $lang . '" title="' . JText::_('JSN_EXTFW_EDITORS_LANG_CLICK_TO_REVERT') . '" class="jsn-language-revert icon16 icon-refresh"></a>' : '';
            // Generate markup for language manager
            $html[] = '
<div class="jsn-language-item ' . $lang . '">
	<span class="jsn-icon24 jsn-icon-flag ' . strtolower($lang) . '"></span>
	<label class="checkbox">
		<input type="checkbox" name="languagemanager[a][]" value="' . $lang . '"' . $aDisabled . $aChecked . ' />
		<span>' . $lang . ' - ' . $langText . ' (' . JText::_('JADMINISTRATOR') . ')</span>' . " {$aEditable} {$aRevert}" . '
	</label>
	<label class="checkbox">
		<input type="checkbox" name="languagemanager[s][]" value="' . $lang . '"' . $sDisabled . $sChecked . ' />
		<span>' . $lang . ' - ' . $langText . ' (' . JText::_('JSITE') . ')</span>' . " {$sEditable} {$sRevert}" . '
	</label>
</div>';
        }
        $html[] = '
<input type="hidden" name="' . $this->name . '" value="JSN_CONFIG_SKIP_SAVING" />
<div class="clearbreak"></div>
';
        // Load language editor script
        $html[] = JSNHtmlAsset::loadScript('jsn/languagemanager', array('editSelector' => 'a.jsn-language-editor', 'revertSelector' => 'a.jsn-language-revert', 'language' => JSNUtilsLanguage::getTranslated(array('JSN_EXTFW_EDITORS_LANG', 'JSN_EXTFW_EDITORS_LANG_REVERT_CONFIRM', 'JSN_EXTFW_EDITORS_LANG_LAST_REVERT_FAIL', 'JSN_EXTFW_EDITORS_LANG_REVERT_SUCCESS'))), true);
        return implode($html);
    }