function JLMS_editCertificate_Page(&$row, $from_gb = false)
    {
        global $Itemid, $JLMS_CONFIG;
        $JLMS_ACL =& JLMSFactory::getACL();
        $lroles = $JLMS_ACL->GetSystemRoles(1);
        if (true) {
            ?>
<script language="javascript" type="text/javascript">
<!--//--><![CDATA[//><!--
function jlms_changeCrtfDefaultValue(element, form_suffix) {
	var form = element.form;
	var is_dis = element.checked;
	form['userfile_'+form_suffix].disabled = is_dis;
	form['crtf_text_'+form_suffix].disabled = is_dis;
	var ca_Item = form['crtf_align_'+form_suffix];
	if (ca_Item) {
		if (ca_Item.length) {
			var i;
			for (i = 0; i<ca_Item.length; i++) {
				ca_Item[i].disabled = is_dis;
			}
		} else { ca_Item.disabled = is_dis; }
	}
	var cs_Item = form['crtf_shadow_'+form_suffix];
	if (cs_Item) {
		if (cs_Item.length) {
			var i;
			for (i = 0; i<cs_Item.length; i++) {
				cs_Item[i].disabled = is_dis;
			}
		} else { cs_Item.disabled = is_dis; }
	}
	form['text_x_'+form_suffix].disabled = is_dis;
	form['text_y_'+form_suffix].disabled = is_dis;
	form['text_size_'+form_suffix].disabled = is_dis;
	form['crtf_font_'+form_suffix].disabled = is_dis;
	var c1_Item = form['ctxt_mes_text_'+form_suffix+'[]'];
	if (c1_Item) {
		if (c1_Item.length) {
			var i;
			for (i = 0; i<c1_Item.length; i++) {
				c1_Item[i].disabled = is_dis;
			}
		} else { c1_Item.disabled = is_dis; }
	}
	var c2_Item = form['ctxt_mes_shadow_'+form_suffix+'[]'];
	if (c2_Item) {
		if (c2_Item.length) {
			var i;
			for (i = 0; i<c2_Item.length; i++) {
				c2_Item[i].disabled = is_dis;
			}
		} else { c2_Item.disabled = is_dis; }
	}
	var c3_Item = form['ctxt_mes_x_'+form_suffix+'[]'];
	if (c3_Item) {
		if (c3_Item.length) {
			var i;
			for (i = 0; i<c3_Item.length; i++) {
				c3_Item[i].disabled = is_dis;
			}
		} else { c3_Item.disabled = is_dis; }
	}
	var c4_Item = form['ctxt_mes_y_'+form_suffix+'[]'];
	if (c4_Item) {
		if (c4_Item.length) {
			var i;
			for (i = 0; i<c4_Item.length; i++) {
				c4_Item[i].disabled = is_dis;
			}
		} else { c4_Item.disabled = is_dis; }
	}
	var c5_Item = form['ctxt_mes_h_'+form_suffix+'[]'];
	if (c5_Item) {
		if (c5_Item.length) {
			var i;
			for (i = 0; i<c5_Item.length; i++) {
				c5_Item[i].disabled = is_dis;
			}
		} else { c5_Item.disabled = is_dis; }
	}
	var c6_Item = form['ctxt_mes_font_'+form_suffix+'[]'];
	if (c6_Item) {
		if (c6_Item.length) {
			var i;
			for (i = 0; i<c6_Item.length; i++) {
				c6_Item[i].disabled = is_dis;
			}
		} else { c6_Item.disabled = is_dis; }
	}
	form['new_txt_message_'+form_suffix].disabled = is_dis;
	form['new_txt_mes_shadow_'+form_suffix].disabled = is_dis;
	form['new_txt_message_X_'+form_suffix].disabled = is_dis;
	form['new_txt_message_Y_'+form_suffix].disabled = is_dis;
	form['new_txt_message_H_'+form_suffix].disabled = is_dis;
	form['new_txt_mes_font_'+form_suffix].disabled = is_dis;
	form['add_new_field_'+form_suffix].disabled = is_dis;
}
function jlms_ShowCertificatePreview() {
	var crtf_roles = new Array();
	crtf_roles[0] = 0;
	<?php 
            $i = 1;
            foreach ($lroles as $lr) {
                echo 'crtf_roles[' . $i . '] = ' . $lr->id . ';';
                $i++;
            }
            ?>
	
	var crtf_id = <?php 
            echo $row->id ? $row->id : 0;
            ?>
;
	if (crtf_id != '0' && crtf_id != 0 && crtf_id != '') {
		var crtf_role_num = 0;
		var iii = 0;
		if (crtf_roles.length) {
			$$('h2.tab').each(function(ael){if (ael.hasClass('selected')) {crtf_role_num = iii;}iii++;});
		}
		var crtf_role = crtf_roles[crtf_role_num];
		<?php 
            if ($from_gb) {
                ?>
			window.open('<?php 
                echo $JLMS_CONFIG->getCfg('live_site') . "/index.php?tmpl=component&option=com_joomla_lms&Itemid={$Itemid}&no_html=1&task=crt_preview&id={$row->course_id}";
                ?>
&crtf_id='+crtf_id+'&crtf_role='+crtf_role);
		<?php 
            } else {
                ?>
			window.open('<?php 
                echo $JLMS_CONFIG->getCfg('live_site') . "/index.php?tmpl=component&option=com_joomla_lms&Itemid={$Itemid}&no_html=1&task=quizzes&id={$row->course_id}&page=preview_crtf";
                ?>
&crtf_id='+crtf_id+'&crtf_role='+crtf_role);		
		<?php 
            }
            ?>
	}
}



function ReAnalize_tbl_Rows( start_index, tbl_id ) {
	start_index = 1;
	var tbl_elem = getObj(tbl_id);
	if (tbl_elem.rows[start_index]) {
		var count = start_index; var row_k = 2 - start_index%2;//0;
		for (var i=start_index; i<(tbl_elem.rows.length - 1); i++) {
			tbl_elem.rows[i].cells[0].innerHTML = count;

			if (i > 1) { 
				tbl_elem.rows[i].cells[8].innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Up_tbl_row(this); return false;" title="<?php 
            echo _JLMS_MOVEUP;
            ?>
"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_uparrow.png" width="16" height="16" border="0" alt="<?php 
            echo _JLMS_MOVEUP;
            ?>
" \/><\/a>';
			} else { tbl_elem.rows[i].cells[8].innerHTML = '&nbsp;'; }
			if (i < (tbl_elem.rows.length - 2)) {
				tbl_elem.rows[i].cells[9].innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Down_tbl_row(this); return false;" title="<?php 
            echo _JLMS_MOVEDOWN;
            ?>
"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_downarrow.png" width="16" height="16" border="0" alt="<?php 
            echo _JLMS_MOVEDOWN;
            ?>
" \/><\/a>';;
			} else { tbl_elem.rows[i].cells[9].innerHTML = '&nbsp;'; }
			if (row_k == 1) {
				tbl_elem.rows[i].className = '<?php 
            echo JLMSCSS::_('sectiontableentry1');
            ?>
';
			} else {
				tbl_elem.rows[i].className = '<?php 
            echo JLMSCSS::_('sectiontableentry2');
            ?>
';
			}
			count++;
			row_k = 3 - row_k;
		}
	}
}
function Delete_tbl_row(element) {
	var del_index = element.parentNode.parentNode.sectionRowIndex;
	var tbl_id = element.parentNode.parentNode.parentNode.parentNode.id;
	element.parentNode.parentNode.parentNode.deleteRow(del_index);
	ReAnalize_tbl_Rows(del_index - 1, tbl_id);
}

function Up_tbl_row(element) {
	if (element.parentNode.parentNode.sectionRowIndex > 1) {
		var sec_indx = element.parentNode.parentNode.sectionRowIndex;
		var table = element.parentNode.parentNode.parentNode;
		var tbl_id = table.parentNode.id;

		var cell1 = document.createElement("td");
		cell1.align = 'center';
		var row = table.insertRow(sec_indx - 1);
		row.appendChild(cell1);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		element.parentNode.parentNode.parentNode.deleteRow(element.parentNode.parentNode.sectionRowIndex);

		var ceLL8 = document.createElement("td");
		var ceLL9 = document.createElement("td");
		var ceLL10 = document.createElement("td");

		ceLL8.innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Delete_tbl_row(this); return false;" title="Delete"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_cancel.png" width="16" height="16" border="0" alt="Delete" \/><\/a>';
		ceLL9.innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Up_tbl_row(this); return false;" title="<?php 
            echo _JLMS_MOVEUP;
            ?>
"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_uparrow.png" width="16" height="16" border="0" alt="<?php 
            echo _JLMS_MOVEUP;
            ?>
" \/><\/a>';
		ceLL10.innerHTML = '&nbsp;';

		row.appendChild(ceLL8);
		row.appendChild(ceLL9);
		row.appendChild(ceLL10);
		ReAnalize_tbl_Rows(sec_indx - 2, tbl_id);
	}
}

function Down_tbl_row(element) {
	if (element.parentNode.parentNode.sectionRowIndex < (element.parentNode.parentNode.parentNode.rows.length - 2)) {
		var sec_indx = element.parentNode.parentNode.sectionRowIndex;
		var table = element.parentNode.parentNode.parentNode;
		var tbl_id = table.parentNode.id;

		var cell1 = document.createElement("td");
		cell1.align = 'center';
		var row = table.insertRow(sec_indx + 2);
		row.appendChild(cell1);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		row.appendChild(element.parentNode.parentNode.cells[1]);
		element.parentNode.parentNode.parentNode.deleteRow(element.parentNode.parentNode.sectionRowIndex);

		var ceLL8 = document.createElement("td");
		var ceLL9 = document.createElement("td");
		var ceLL10 = document.createElement("td");

		ceLL8.innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Delete_tbl_row(this); return false;" title="Delete"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_cancel.png" width="16" height="16" border="0" alt="Delete" \/><\/a>';
		ceLL9.innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Up_tbl_row(this); return false;" title="<?php 
            echo _JLMS_MOVEUP;
            ?>
"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_uparrow.png" width="16" height="16" border="0" alt="<?php 
            echo _JLMS_MOVEUP;
            ?>
" \/><\/a>';
		ceLL10.innerHTML = '&nbsp;'; 

		row.appendChild(ceLL8);
		row.appendChild(ceLL9);
		row.appendChild(ceLL10);
		ReAnalize_tbl_Rows(sec_indx, tbl_id);
	}
}

function analyze_change_check(e) {
	if (!e) { e = window.event;}
	var cat2=e.target?e.target:e.srcElement;
	analyze_change_check2(cat2);
	
}
function analyze_change_check2(check_element) {
	var td_element = check_element.parentNode;
	var is_check = check_element.checked;
	if (td_element.hasChildNodes()) {
		var children = td_element.childNodes;
		for (var i = 0; i < children.length; i++) {
			if (children[i].nodeName.toLowerCase() == 'input') {
				var inp_type = children[i].type;
				if (inp_type.toLowerCase() == 'hidden') {
					children[i].value = is_check ? '1' : '0'
				}
			}
		}
	}
}

/*function hasOptions(obj){if(obj!=null && obj.options!=null){return true;}return false;} */
function copyOptions(from,to){
	var options = new Object();
	//if(hasOptions(to)){for(var i=0;i<to.options.length;i++){options[to.options[i].value] = to.options[i].text;}}
	//if(!hasOptions(from)){return;}
	for(var i=0;i<from.options.length;i++){
		var o = from.options[i];
	/*	if(options[o.value] == null || options[o.value] == "undefined" || options[o.value]!=o.text){
			if(!hasOptions(to)){
				var index = 0;
			}else{
				var index=to.options.length;
			}
			to.options[index] = new Option( o.text, o.value, false, false);
		}*/
		var index=to.options.length;
		to.options[index] = new Option( o.text, o.value, false, false);
	}
	to.selectedIndex = from.selectedIndex;
}

function Add_new_tbl_field(button_element, pref) {

	var a_tbl_ctxt_name = 'certificate_custom_msgs'+pref;
	var a_fld_txt_name = 'new_txt_message'+pref;
	var a_fld_txt_mes_select = 'new_txt_mes_font'+pref;
	var a_fld_txt_mes_shadow = 'new_txt_mes_shadow'+pref;
	var a_fld_txt_x = 'new_txt_message_X'+pref;
	var a_fld_txt_y = 'new_txt_message_Y'+pref;
	var a_fld_txt_h = 'new_txt_message_H'+pref;


	var f_hidden_id_name = 'ctxt_mes_id'+pref+'[]';
	var f_txt_mes_name = 'ctxt_mes_text'+pref+'[]';
	var f_font_select_name = 'ctxt_mes_font'+pref+'[]';
	var f_shadow_check_name = 'ctxt_mes_shadow'+pref+'[]';
	var f_shadow_hid_name = 'ctxt_mes_shadow_hid'+pref+'[]';
	var f_txt_mes_x = 'ctxt_mes_x'+pref+'[]';
	var f_txt_mes_y = 'ctxt_mes_y'+pref+'[]';
	var f_txt_mes_h = 'ctxt_mes_h'+pref+'[]';


	var form = button_element.form;


	if (trim(getObj(a_fld_txt_name).value) == '') {
		alert("Please enter text to the field.");return;
	}



	var is_check = getObj(a_fld_txt_mes_shadow).checked;

	var tbl_elem = getObj(a_tbl_ctxt_name);
	var row = tbl_elem.insertRow(tbl_elem.rows.length - 1);
	var ceLL1 = document.createElement("td");
	var ceLL2 = document.createElement("td");
	var ceLL3 = document.createElement("td");
	var ceLL4 = document.createElement("td");
	var ceLL5 = document.createElement("td");
	var ceLL6 = document.createElement("td");
	var ceLL7 = document.createElement("td");
	var ceLL8 = document.createElement("td");
	var ceLL9 = document.createElement("td");
	var ceLL10 = document.createElement("td");


	ceLL1.innerHTML = 0;
	ceLL1.align = 'center';


	var input_hidden = document.createElement("input");
	input_hidden.type = "hidden";
	input_hidden.name = f_hidden_id_name;
	input_hidden.value = '0';
	var input_txt_mes = document.createElement("input");
	input_txt_mes.type = "text";
	input_txt_mes.className = 'inputbox';
	input_txt_mes.size = 24;
	input_txt_mes.name = f_txt_mes_name;
	input_txt_mes.value = getObj(a_fld_txt_name).value;					getObj(a_fld_txt_name).value = '';
	ceLL2.appendChild(input_hidden);
	ceLL2.appendChild(input_txt_mes);


	var input_hidden_s = document.createElement("input");
	input_hidden_s.type = "hidden";
	input_hidden_s.name = f_shadow_hid_name;
	input_hidden_s.value = is_check ? '1' : '0';
	var input_check = document.createElement("input");
	input_check.type = "checkbox";
	input_check.name = f_shadow_check_name;
	input_check.value = '1';
	input_check.checked = is_check;
	input_check.onchange=input_check.onclick = new Function('analyze_change_check2(this)');
	ceLL3.appendChild(input_check);
	ceLL3.appendChild(input_hidden_s);
	ceLL3.align = 'center';


	var input_txt_x = document.createElement("input");
	input_txt_x.type = "text";
	input_txt_x.className = 'inputbox';
	input_txt_x.size = 3;
	input_txt_x.name = f_txt_mes_x;
	input_txt_x.value = getObj(a_fld_txt_x).value;
	ceLL4.appendChild(input_txt_x);


	var input_txt_y = document.createElement("input");
	input_txt_y.type = "text";
	input_txt_y.className = 'inputbox';
	input_txt_y.size = 3;
	input_txt_y.name = f_txt_mes_y;
	input_txt_y.value = getObj(a_fld_txt_y).value;
	ceLL5.appendChild(input_txt_y);


	var input_txt_h = document.createElement("input");
	input_txt_h.type = "text";
	input_txt_h.className = 'inputbox';
	input_txt_h.size = 3;
	input_txt_h.name = f_txt_mes_h;
	input_txt_h.value = getObj(a_fld_txt_h).value;
	ceLL6.appendChild(input_txt_h);


	var input_select = document.createElement("select");
	input_select.name = f_font_select_name;
	input_select.className = 'inputbox';
	copyOptions(form[a_fld_txt_mes_select],input_select);
	input_select.style.width = "180px";

	ceLL7.appendChild(input_select);


	
	

	ceLL8.innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Delete_tbl_row(this); return false;" title="Delete"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_cancel.png" width="16" height="16" border="0" alt="Delete" \/><\/a>';
	ceLL9.innerHTML = '<a class="jlms_img_link" href="javascript: void(0);" onclick="javascript:Up_tbl_row(this); return false;" title="<?php 
            echo _JLMS_MOVEUP;
            ?>
"><img src="<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_uparrow.png" width="16" height="16" border="0" alt="<?php 
            echo _JLMS_MOVEUP;
            ?>
" \/><\/a>';
	ceLL10.innerHTML = '';
	row.appendChild(ceLL1);
	row.appendChild(ceLL2);
	row.appendChild(ceLL3);
	row.appendChild(ceLL4);
	row.appendChild(ceLL5);
	row.appendChild(ceLL6);
	row.appendChild(ceLL7);
	row.appendChild(ceLL8);
	row.appendChild(ceLL9);
	row.appendChild(ceLL10);
	ReAnalize_tbl_Rows(tbl_elem.rows.length - 2, a_tbl_ctxt_name);
}

//--><!]]>
</script>
<?php 
        }
        ?>
	<table width="100%" cellpadding="0" cellspacing="0" border="0" class="jlms_table_no_borders">
		<tr>
			<td valign="middle" style="vertical-align:middle"><br /><?php 
        echo _JLMS_GB_CRT_NAME;
        ?>
</td>
			<td>
				<br /><input size="40" class="inputbox" type="text" name="crtf_name" value="<?php 
        echo str_replace('"', '&quot;', $row->crtf_name);
        ?>
" />
			</td>
		</tr>
<?php 
        if ($from_gb) {
            ?>
		<tr>
			<td valign="middle" style="vertical-align:middle"><br /><?php 
            echo _JLMS_GB_CRT_ENABLED;
            ?>
</td>
			<td>
				<br /><?php 
            echo mosHTML::yesnoRadioList('published', '', $row->published);
            ?>
			</td>
		</tr>
<?php 
        }
        /* search for font (ttf) files */
        $fonts = array();
        $path = $JLMS_CONFIG->getCfg('absolute_path') . '/media';
        $filter = '.ttf';
        $handle = opendir($path);
        while ($file = readdir($handle)) {
            if ($file != "." && $file != "..") {
                if (preg_match("/{$filter}/", $file)) {
                    $fonts[] = trim($file);
                }
            }
        }
        $font_s = array();
        foreach ($fonts as $font) {
            $rr = new stdClass();
            $rr->text = $font;
            $rr->value = $font;
            $font_s[] = $rr;
        }
        /* end of fonts search */
        //if (count($lroles) > 1) {
        //DEN: recently we have disabled multiple-roles certificates
        if (false) {
            $tabs = new JLMSTabs(0);
            echo '<tr><td colspan="2"><br />';
            echo $tabs->startPane("JLMS");
            echo $tabs->startTab('Default', "jlmsroletab_0");
            echo '<table width="100%" cellpadding="0" cellspacing="0" border="0" class="jlms_table_no_borders">';
            JLMS_Certificates::JLMS_editCertificate_OneRole($row, $font_s);
            echo '</table>';
            echo $tabs->endTab();
            foreach ($lroles as $lrole) {
                echo $tabs->startTab($lrole->lms_usertype, "jlmsroletab_" . $lrole->id);
                echo '<table width="100%" cellpadding="0" cellspacing="0" border="0" class="jlms_table_no_borders">';
                $is_show = false;
                if (!empty($row->add_certificates)) {
                    foreach ($row->add_certificates as $rac) {
                        if ($rac->crtf_type == $lrole->id) {
                            JLMS_Certificates::JLMS_editCertificate_OneRole($rac, $font_s, $lrole->id, false);
                            $is_show = true;
                            break;
                        }
                    }
                }
                if (!$is_show) {
                    JLMS_Certificates::JLMS_editCertificate_OneRole($row, $font_s, $lrole->id, true);
                }
                echo '</table>';
                echo $tabs->endTab();
            }
            echo $tabs->endPane();
            echo '</td></tr>';
        } else {
            JLMS_Certificates::JLMS_editCertificate_OneRole($row, $font_s);
        }
        echo '	</table>';
    }