function OptionInit()
{
    $.historyInit(HistoryCallBack);
}
function HistoryCallBack(hash)
{
    RequestData();
}
//var ajaxUrl; It has been defined in the server client;
function RequestData()
{
    var hash=window.location.hash;
    var index = 0;
    var paramArr = hash.split("#");
    for(var i = 0 ; i < paramArr.length; i++)
    {
        if(paramArr[i].toLowerCase().indexOf("pageindex=") == 0)
        {
            index = paramArr[i].substring("pageindex=".length  , paramArr[i].length);
            break;
        }
    }
    if(queryStr.indexOf("?pageindex=") != -1 || queryStr.indexOf("&pageindex=") != -1){
        var reg = new RegExp('([&?]PageIndex=)[^#&]*', 'gi');
        queryStr = queryStr.replace(reg,"$1" + index) + "&rnd=" + Math.random();;
    }
    else{
        if(queryStr.length > 1){
            queryStr +="&pageindex=" + index + "&rnd=" + Math.random();
        }
        else{
            queryStr +="?pageindex=" + index + "&rnd=" + Math.random();
        }
    }

    document.getElementById('forumlist').innerHTML='<div class="loading"><img src="http://im.morningstar.com/im/GlobalHome/LoadingScreenAnimation.gif" /></div>';
    
    try{
        $.getJSON(ajaxUrl + queryStr,handleResponse);
    }
    catch(e){
        $("#forumlist").html("");
    }   
}

function handleResponse(data)
{
    if(data.error==null)
    {
        document.getElementById('forumlist').innerHTML='';
        var fragment=document.createDocumentFragment();
        if(data.value.length==0)
        {        
            var cnt=document.createElement('div');
            cnt.className='drow2';
            var space=document.createElement('div');
            space.className='dcolm_a1';
            space.innerHTML='&nbsp;'
            cnt.appendChild(space);
            var prompt=document.createElement('div');
            prompt.className='dcolm_a2 dtitle_read';
            prompt.innerHTML='<i>No matching posts were found</i>';
            cnt.appendChild(prompt);
            fragment.appendChild(cnt);
        }
        for(var i=0;i<data.value.length;i++)
        {
            var cnt=document.createElement('div');
            cnt.className='drow2';
            var resetRegion=document.createElement('div');
            resetRegion.className="dcolm_reset2";
            resetRegion.innerHTML='&nbsp;';
            cnt.appendChild(resetRegion);
            
            //Forum
            var sectionName=document.createElement('h3');
            sectionName.className='dcolm_a1';
            var sectionNameLink=document.createElement("a");
            sectionNameLink.className='dtext_unread';
            sectionNameLink.style.color= '#336699';
            sectionNameLink.style.textDecoration="none";
            sectionNameLink.title=data.value[i].SectionName;     
            sectionNameLink.innerHTML=data.value[i].SectionName40;
            sectionNameLink.href=data.value[i].SUrl;
            sectionName.appendChild(sectionNameLink);
            cnt.appendChild(sectionName);
            
            //Post
            var subject=document.createElement('h3');
            subject.className='dcolm_s2';
            var subjectLink=document.createElement("a");
            subjectLink.className='dtitle_unread';
            subjectLink.style.color= '#336699';
            subjectLink.title=data.value[i].Title;
            subjectLink.innerHTML= " " + data.value[i].SubjectTitle;
            subjectLink.href=data.value[i].SubjectUrl;
            subject.appendChild(subjectLink);
            cnt.appendChild(subject);

            //Author
            var author=document.createElement('div');
            author.className='dcolm_a4';
            var authorLink=document.createElement("a");
            authorLink.className='dtext_unread';
            authorLink.style.color= '#336699';
            authorLink.title=data.value[i].UserName;
            authorLink.innerHTML=data.value[i].SUserName;
            authorLink.href=data.value[i].UserUrl;
            author.appendChild(authorLink);
            cnt.appendChild(author);

            //Time
            var postDate=document.createElement('div');           
            postDate.className='dcolm_a5 dtext_unread2';
            postDate.innerHTML=data.value[i].PostDate
            cnt.appendChild(postDate);                
              
            fragment.appendChild(cnt);
        }
        
       downPager=new DClientPager(30,parseInt(data.totalrecords),'downPager',RequestData);
       if(document.getElementById('totalPages'))
       {
          var re=/(\d{1,3})(?=(\d{3})+(?:$|\D))/g
          document.getElementById('totalPages').innerHTML=downPager.PageCount.toString().replace(re,"$1,");
       }
        if(document.getElementById('pageinput'))
        {
            document.getElementById('pageinput').removeAttribute("disabled");
            document.getElementById('pageinput').value=downPager.PagerIndex;
        }
        
        document.getElementById('forumlist').appendChild(fragment);
    }
}
