function AdmHeader() {
Response.Write('
');
Response.Write(' \r\n');
Response.Write(' \r\n');
Response.Write(' ');
if ( db.GetDomainItems().length > 0 ) {
Response.Write('Add Q&A | ');
}
Response.Write('FAQ List | ');
Response.Write('Categories | ');
Response.Write('Rating Ranks \r\n');
Response.Write(' \r\n');
Response.Write(' ');
Response.Write(' \r\n');
Response.Write('
');
//Response.Write('
');
}
// Categories management
function AdmDomainList() {
var domain_array = new Array();
domain_array = db.GetDomainItems();
Response.Write('Add category ');
if ( domain_array.length > 0 ) {
Response.Write('');
Response.Write(' ');
Response.Write(' Category ');
Response.Write(' ');
Response.Write(' ');
for(var i=0; i');
Response.Write(' ' + db.GetDomainName(domain_array[i]) + ' ');
Response.Write(' edit ');
var dom_link_del = '"' + FRM_ACTION+'?act=adm.domain_delete&id_domain=' + domain_array[i] + '"';
if ( db.GetDomainFAQCount( domain_array[ i ] ) > 0 ) {
dom_link_del += ' onClick="JavaScript: return confirm(\'There are questions associated with this category which will also be deleted. Do you want to continue?\');"';
}
Response.Write(' delete ');
Response.Write('');
}
Response.Write('
');
} else {
Response.Write('No category is defined.');
}
Response.Write('
');
}
function AdmDomainDelete() {
db.DeleteDomainItem( P_id_domain );
if ( db.GetDomainFAQCount( P_id_domain ) > 0 ) {
db.DeleteFAQIemsByDomain( P_id_domain );
}
AdmDomainList();
}
function AdmDomainEdit() {
Response.Write(' \r\n');
Response.Write('');
Response.Write(' ');
if ( P_id_domain == 0 ) {
Response.Write( 'Add new category' );
}
else {
Response.Write('Edit category');
P_domain_name = db.GetDomainName(P_id_domain).replace(/\"/g,'"');
P_question = db.GetDomainDescription(P_id_domain).replace(/\ /g,'\r\n').replace(/\"/g,'"');
}
Response.Write(' ');
Response.Write(' ');
Response.Write('');
Response.Write('
');
}
function AdmDomainSave() {
var dom_name = P_domain_name;
var dom_desc = P_question;
dom_name = txt2html(P_domain_name);
dom_desc = txt2html(P_question);
if ( P_id_domain == 0 ){
db.AddDomainItem(dom_name, dom_desc);
} else {
db.SetDomainItem(P_id_domain, dom_name, dom_desc);
}
AdmDomainList();
}
function AdmFAQNavigator( link_prefix ) {
var items_nr;
var nr_of_pages;
var result = '';
if(P_id_domain != 0) items_nr = new Number(db.GetDomainFAQCount(P_id_domain, P_question));
else items_nr = new Number(db.GetFAQCount(P_question));
nr_of_pages = Math.ceil(items_nr / A_faq_qa_page);
if(nr_of_pages > 1) {
result += '\r\n';
if(P_sql_indx == 1) result += ' ';
else result += '<< prev \r\n';
result += ' ';
for(var i=1; i<=nr_of_pages; i++) {
if(P_sql_indx == i) result += '[' + i + '] ';
else result += '' + i + ' \r\n';
result += ' ';
}
result += ' ';
if(P_sql_indx == nr_of_pages) result += ' ';
else result += 'next >> \r\n';
result += '
\r\n';
}
return result;
}
// FAQ management
function AdmFAQList() {
var faq_array = new Array();
var domain_array = new Array();
if(P_id_domain > 0) faq_array = db.GetFAQItemsByDomain(P_sql_indx, A_faq_qa_page, P_id_domain, P_question, '');
else faq_array = db.GetFAQItems(P_sql_indx, A_faq_qa_page, P_question, '');
domain_array = db.GetDomainItems();
Response.Write('\r\n');
Response.Write('\r\n');
Response.Write('\r\n');
Response.Write(' \r\n');
Response.Write('\r\n');
Response.Write('\r\n');
if (faq_array.length > 0) {
Response.Write('\r\n');
Response.Write(' \r\n');
Response.Write(' Question \r\n');
Response.Write(' Modified \r\n');
Response.Write(' \r\n');
Response.Write(' \r\n');
var bg_color = '#ffffff';
for ( var i = 0; i < faq_array.length; i++ ) {
bg_color = (bg_color == '#ffffff') ? '#ffffee' : '#ffffff';
Response.Write('\r\n');
Response.Write(' ' + db.GetFAQQuestion(faq_array[i]).replace('\r\n',' ').replace(/\"/g,'"') + '' + ' \r\n');
Response.Write(' ' + db.GetFAQDate(faq_array[i]) + ' \r\n');
Response.Write(' edit \r\n');
Response.Write(' delete \r\n');
Response.Write(' \r\n');
}
Response.Write('
\r\n');
Response.Write(AdmFAQNavigator(FRM_ACTION + '?act=adm.faq_list&id_domain=' + P_id_domain + '&question=' + P_question + '&sql_indx='));
} else {
Response.Write(' No FAQ found.');
}
Response.Write('
\r\n');
Response.Write('\r\n');
}
function AdmFAQEdit() {
var faq_array = new Array();
var domain_array = new Array();
domain_array = db.GetDomainItems();
if ( P_id_faq > 0 ){
P_question = db.GetFAQQuestion(P_id_faq).replace(/\ /g,'\r\n').replace(/\"/g,'"');
P_description = db.GetFAQDescription(P_id_faq).replace(/\ /g,'\r\n').replace(/\"/g,'"');
P_answer = db.GetFAQAnswer(P_id_faq).replace(/\ /g,'\r\n').replace(/\"/g,'"');
}
Response.Write(' \r\n');
Response.Write('\r\n');
Response.Write(' \r\n');
Response.Write(' \r\n');
Response.Write('\r\n');
if ( domain_array.length > 0 ) {
Response.Write('\r\n');
Response.Write(' Choose category: \r\n');
Response.Write(' \r\n');
Response.Write(' \r\n');
for ( var i = 0; i < domain_array.length; i++ ) {
Response.Write('' + db.GetDomainName(domain_array[i]) + ' \r\n');
}
Response.Write(' \r\n');
Response.Write(' \r\n');
Response.Write(' \r\n');
Response.Write(' \r\n');
} else {
Response.Write(' \r\n');
}
Response.Write('
\r\n');
Response.Write(' \r\n');
Response.Write(' \r\n');
}
function AdmFAQSave() {
if(P_id_faq == 0) P_id_faq = db.AddFAQ();
db.SetFAQQuestion(P_id_faq, txt2html(P_question));
db.SetFAQDescription(P_id_faq, txt2html(P_description));
db.SetFAQAnswer(P_id_faq, txt2html(P_answer));
db.SetFAQNowDate(P_id_faq);
db.SetFAQDomain(P_id_faq, P_id_domain);
P_id_domain = '';
P_question = '';
AdmFAQList();
}
function AdmFAQDelete() {
db.DeleteFAQItem(P_id_faq);
AdmFAQList();
}
function AdmFAQSearch() {
AdmFAQList(P_question);
}
// Ranks management
function AdmRankList() {
var rank_array = new Array();
rank_array = db.GetRankItems();
Response.Write('');
if ( rank_array.length < 9 ) {
Response.Write('Add rank ');
} else {
Response.Write('No more ranks could be defined.');
}
Response.Write(' \r\n');
if ( rank_array.length > 0 ) {
Response.Write(' \r\n');
Response.Write(' \r\n');
Response.Write(' Rank \r\n');
Response.Write(' Rank Name \r\n');
Response.Write(' \r\n');
Response.Write(' \r\n');
for(var i=0; i');
Response.Write(' ' + rank_array[i] + ' \r\n');
Response.Write(' ' + db.GetRankName(rank_array[i]) + ' \r\n');
if (rank_array[i] > 0){
Response.Write(' edit \r\n');
var dom_link_del = '"' + FRM_ACTION+'?act=adm.rank_delete&id_rank=' + rank_array[i] + '"';
Response.Write(' delete \r\n');
} else {
Response.Write(' \r\n');
}
Response.Write(' \r\n');
}
Response.Write('
\r\n');
} else {
Response.Write('No rank is defined.');
}
Response.Write('
\r\n');
}
function AdmRankDelete() {
db.DeleteRankItem(P_id_rank);
AdmRankList();
}
function AdmRankAddEdit( isAdd ) {
var ranks_array = new Array();
ranks_array = db.GetRankItems();
var idRankReadOnly = isAdd ? "" : " readonly";
var idRankValue = isAdd ? "" : P_id_rank;
var rankNameValue = P_rank_name.replace(/\"/g,'"');
var pageTitle = isAdd ? "Add new rank" : "Edit rank";
// when adding, try to guess the next rank
if ( isAdd ) {
idRankValue = 1;
var found = false;
while ( !found ) {
// assume current value is okay
found = true;
for ( var i = 0; i < ranks_array.length; i++ ){
if ( ranks_array[ i ] == idRankValue ) {
// ooops! current value is used; try the next one
found = false;
idRankValue++;
}
}
}
}
// generate the HTML code
Response.Write(' \r\n');
Response.Write(' \r\n');
}
function AdmRankAdd() {
AdmRankAddEdit( true );
}
function AdmRankEdit() {
P_rank_name = db.GetRankName( P_id_rank );
AdmRankAddEdit( false );
}
function AdmRankSave() {
if ( P_id_rank_old == 0 ) {
db.AddRankItem( P_id_rank, txt2html( P_rank_name ) );
} else {
db.SetRankItem( P_id_rank, txt2html( P_rank_name ) );
}
AdmRankList();
}