
var projects;var pagesize=4;var numPages=0;var numprojects=0;var currentPage=1;var currentProjID=1;var projecttypes=["WebPage","Download","BetaProgram"];$(document).ready(function(){ParseParams();OnReady();});function ParseParams(){currentPage=1;currentProjID=1;var params=$.parseQuery();if(params==null)return;if(params.p!=undefined)currentPage=params.p;if(params.proj!=undefined)currentProjID=params.proj;}function LoadProjects(projectsIn){projects=undefined;projects=new Array();if(projectsIn.length>pagesize){var leftover=(projectsIn.length%pagesize);numPages=((projectsIn.length-leftover)/pagesize);if(leftover>0)++numPages;var tempArray=new Array();var pagecounter=pagesize;for(var f=0;f<projectsIn.length;f++){if(pagecounter--==0){projects.push(tempArray);tempArray=new Array();tempArray.push(projectsIn[f]);pagecounter=pagesize;}else{tempArray.push(projectsIn[f]);}}projects.push(tempArray);}else{numPages=1;projects[0]=projectsIn;}numprojects=projectsIn.length;}function BindProjects(page){$("#ProjectsContainer #ProjectsList").html('');var toInject="";if(page>1)$('#ProjectsContainer #ProjectHeader #PHLeft').html('<a class="left" href="javascript:MoveToPage('+(page-1)+')">Previous</a>');else $('#ProjectsContainer #ProjectHeader #PHLeft').html('&nbsp;');if(page<numPages)$('#ProjectsContainer #ProjectHeader #PHRight').html('<a class="right" href="javascript:MoveToPage('+(page+1)+')">Next</a>');else $('#ProjectsContainer #ProjectHeader #PHRight').html('&nbsp;');$("#ProjectsContainer #ProjectHeader #PHMiddle").html('Displaying '+(((page-1)*pagesize)+1)+' to '+(numprojects<(page*pagesize)?numprojects:page*pagesize)+' of '+numprojects);$.each(projects[page-1],function(i,project){toInject+=GetProjectHtml(project,page,i);});currentPage=page;$("#ProjectsList").html(toInject);}function GetProjectHtml(project,page,i){return'<div id="Project'+i+'" class="headingtext Project" onmouseover="OnProjectHover(this)" onmouseout="OnProjectHover(null)" onclick="OnProjectClicked(projects['+(page-1)+']['+i+'], this)">'+'<b class="top"><b class="b1"></b><b class="b2 paleblue"></b><b class="b3 paleblue"></b><b class="b4 paleblue"></b></b>'+'<div class="boxcontent palebluegradient">'+((project.Url!=undefined&&project.Url!='')?'<a class="right" href="'+project.Url+'">Try it Now</a>':'')+'<img class="ProjectIcon" src="skin/project_'+projecttypes[project.ProjectType]+'.png" />'+'<h3><a href="'+project.ProjectUrl+'">'+project.Name+'</a></h3>'+'<div>'+project.ShortDescription+'</div>'+'</div><b class="bottom"><b class="b4b"></b><b class="b3b"></b><b class="b2b"></b><b class="b1b" ></b></b></div>';}function MoveToPage(page,projid){if(page>numPages||page<1)page=1;if(projid==undefined)projid=1;BindProjects(page);Select(projid);}function OnReady(){jQuery.getJSON("JSLabs.svc/projects?format=json",null,OnProjectsLoaded);}function OnProjectsLoaded(projectsIn){LoadProjects(projectsIn);BindProjects(currentPage);Select(currentProjID);}function OnProjectClicked(project,sender){SelectProject(project,sender);}function OnProjectHover(sender){if($(sender).hasClass("Selected"))return;$("#ProjectsList .Hover").removeClass("Hover");if(sender!=null)$(sender).addClass("Hover");}function Select(projectid){SelectProject(projects[currentPage-1][projectid-1],$('#ProjectsList #Project'+(projectid-1))[0]);}function SelectProject(project,projectentry){if($(projectentry).hasClass('Selected'))return;$("#ProjectDetails").hide('fast',function(){$("#ProjectDetails #ProjectContent").html(GetProjectContent(project));$(this).show('fast',function(){$(this).children('#ProjectContent').removeClass('nooverflow');}).removeClass('hidden');}).addClass('hidden').children('#ProjectContent').addClass('nooverflow');$(projectentry).parent().children(".Selected").removeClass("Selected");$(projectentry).removeClass("Hover").addClass("Selected");}function GetProjectContent(project){return((project.Url!=undefined&&project.Url!='')?'<a class="right" href="'+project.Url+'">Try it Now</a>':'')+'<h2 class="left">'+project.Name+'</h2><div class="clear"></div>'+project.Description;}