
if(typeof(frontpage)=='undefined'){this.frontpage={};var GUEST=1;var PASSWORD=2;var _genIcon=function(course,type)
{var gen,alt,icon;if(GUEST==type){gen=course.guest;alt=Config.msg.guest;icon='/i/guest.gif';}else{gen=course.password;alt=Config.msg.password;icon='/i/key.gif';}
var result='<td class="course info square14">'
+(gen==0?'&nbsp;':'<a title="'+alt+'" href="'+Config.url.home+'/course/view.php?id='+course.id+'">'
+'<img class="square14" src="'+Config.url.pix+icon+'" alt="'+alt+'"/></a>')
+'</td>';return result;}
var _genSummaryIcon=function(course)
{var gen=course.summary;var alt=Config.msg.summary;var icon='/i/info.gif';var result='<td class="course info square14">'
+(gen==0?'&nbsp;':'<a title="'+alt+'" href="'+Config.url.home+'/course/info.php?id='+course.id+'" '
+' onclick="this.target=\'courseinfo\'; return openpopup(\'/course/info.php?id='+course.id
+'\', \'courseinfo\', \'menubar=0,location=0,scrollbars,resizable,width=500,height=400\', 0);">'
+'<img class="square14" src="'+Config.url.pix+icon+'" alt="'+alt+'"/></a>')
+'</td>';return result;}
var _genIcons=function(course)
{return _genIcon(course,GUEST)
+_genIcon(course,PASSWORD)
+_genSummaryIcon(course);}
var _buildCategoryCourses=function(category)
{if(typeof(category.courses)=='undefined'){return'';}
var courses=category.courses;var indent=_indent(new Number(category.depth)+1);var result='';for(var i in courses){var course=courses[i];result+='<table class="categorylist"><tr>'
+'<td width="'+indent+'">&nbsp;</td>'
+'<td class="course name">'
+'<a '+(0==course.visible?'class="dimmed" ':'')+'href="'+Config.url.home+'/course/view.php?id='+course.id+'">'
+course.fullname+'</a></td>'
+_genIcons(course)+'</tr></table>';}
return result;}
var _indent=function(depth)
{return depth==0?1:depth*30;}
var _prefix=function(num)
{if(typeof(num)!='number'){num=3;}
var result='';for(var i=0;i<num;i++){result+=String.fromCharCode(97+Math.floor(Math.random()*26));}
return result;}
var _getChildrenSize=function(category)
{var result=0;if(typeof(category.categories)=='object'){for(var i in category.categories){result++;}}
if(typeof(category.courses)=='object'){for(var i in category.courses){result++;}}
return result;}
var _expandTable=function(category)
{var frontpage=Config.frontpage;if(category.depth>frontpage.expandDepth){return false;}
var size=_getChildrenSize(category);return size<frontpage.expandSize&&size>1;}
var _buildCategoryTable=function(category)
{return'<table class="categorylist"><tr>'
+'<td width="'+_indent(category.depth)+'">&nbsp;</td>'
+'<td class="category image"><img src="'+Config.url.pix+'/i/course.gif" alt=""/></td>'
+'<td class="category name">'
+((typeof(category.categories)=='object'||typeof(category.courses)=='object')?'<a '+(0==category.visible?'class="dimmed" ':'')+'href="javascript:void(0)" onclick="ecMenu(\''+frontpage.prefix+category.id+'\')">'+category.name+'</a></td>':category.name)
+'</tr></table>';}
var _genDisplayHeader=function(category)
{return'<div id="'+frontpage.prefix+category.id+'" class="'
+frontpage.clazz+'"'
+(_expandTable(category)?'':' style="display:none"')
+'>';}
var _genDisplayFooter=function()
{return'</div>';}
var _buildCategory=function(category)
{var result=_buildCategoryTable(category)
+_genDisplayHeader(category)
+_buildCategoryCourses(category);if(typeof(category.categories)=='object'){for(var i in category.categories){result+=_buildCategory(category.categories[i]);}}
result+=_genDisplayFooter();return result;}
var _buildWholeCategory=function(category)
{var result='';if(typeof(category.categories)=='object'){for(var i in category.categories){result+=_buildCategory(category.categories[i]);}}
return result;}
frontpage.displayCategory=function(category,elmid,clazz)
{frontpage.prefix=_prefix(3);frontpage.clazz=clazz;document.getElementById(elmid).innerHTML=_buildWholeCategory(category);}}
function displayCategory(response,ioArgs)
{var category=eval('('+response+')');var elmid=ioArgs.args.content.elmid;var clazz=ioArgs.args.content.clazz;frontpage.displayCategory(category,elmid,clazz);}
function displayError(response,ioArgs)
{dojo.byId(ioArgs.args.content.elmid).innerHTML='Error when retrieving data from the server!';}
function printTreeMenu(elmid,clazz)
{dojo.xhrPost({url:Config.url.home+'/lms/ajax/category_course.php',load:displayCategory,error:displayError,content:{elmid:elmid,clazz:clazz}});}
Ext.onReady(function(){var coreEl=Ext.get('category-course');if(!coreEl){return;}
Ext.Ajax.request({url:Config.url.home+'/lms/ajax/category_course.php',success:function(response,options){var category=Ext.decode(response.responseText);var clazz=coreEl.first().id;frontpage.displayCategory(category,coreEl.id,clazz);},failure:function(response,options){coreEl.update('Error when retrieving data from the server!');}});});
