var CurrentRecentLimit = 5;
var CurrentLinksLimit=5;
var CurrentCommentsLimit=5;
var CurrentThoughtsLimit = 5;
var CurrentKalWeeksBefore = 0;
var CurrentKalWeeksAfter  = 5;

function docLoad()
{

     if (window.ActiveXObject)
     {   ie_compatible = true;
         xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
     }
     else if  (document.implementation && document.implementation.createDocument)
     {  firefox_compatible = true; }

     else

     { not_supported=true;}

}

function xmldoc(obj  )
{
    docLoad();
    if (obj["type"]=="xml")
    {
        if (window.ActiveXObject) // ie
        {
            xmlDoc.loadXML(obj["data"].xml);

        }
        // code for Mozilla, Firefox, Opera, etc.
        else if (document.implementation && document.implementation.createDocument)
        {
            xmlDoc=obj["data"];

        }
        return xmlDoc;
    }
}

function recentResponse(obj,params){
doc = xmldoc(obj);
processKaoResponse(doc,params,"Recent");
}


function linksResponse(obj,params){
doc = xmldoc(obj);
processKaoResponse(doc,params,"Links");
}


function commentsResponse(obj,params){
doc = xmldoc(obj);
processKaoResponse(doc,params,"Comments");
}


function processKaoResponse(xmlDoc , params, tid)
{
document.getElementById(tid + "RefreshInd").style.visibility="hidden";
TableBodyElem = document.getElementById(tid);

for(var i = TableBodyElem.rows.length; i > 0;i--)
{
TableBodyElem.deleteRow(i -1);
}
resultNodes = xmlDoc.getElementsByTagName("result");

for (i=0; i<resultNodes.length; i++)
    {resultNode = resultNodes[i];

    tr= document.createElement('tr');

    href = getNodeText(resultNode , 'href');
    title = getNodeText(resultNode , 'title');
    created = getNodeText(resultNode , 'created');
	creatorHref = getNodeText(resultNode , 'creatorHref');
	creatorIcon = getNodeText(resultNode , 'creatorIcon');
	cssClass = getNodeText(resultNode , 'cssClass');

	td0 =  document.createElement('td');
	div0 = document.createElement('div');
	a0 =  document.createElement('a');
	div0.setAttribute('class',"recentTdDiv recentItmLink");
	a0.setAttribute('href', href) ;
	a0.title = title ;
	a0.setAttribute('class', cssClass +  ' kaomain_red_s');
	text0 = document.createTextNode(title);

	td0.appendChild(div0);
	div0.appendChild(a0);
	a0.appendChild(text0);

	link=getNodeText(resultNode , 'link');
	if (link){
	al =  document.createElement('a');
	al.setAttribute('href', link) ;

	al.setAttribute('class', 'linkarrow');


	al.innerHTML = "&nbsp;&nbsp;";
	al.setAttribute('target', '_blank');
	div0.appendChild(al);



	}


	td1 =  document.createElement('td');
	div1 = document.createElement('div');
	div1.setAttribute('class',"recentTdDiv portletItemDetails");
	text1 = document.createTextNode(created);

	div1.appendChild(text1);
	td1.appendChild(div1);

	td2 =  document.createElement('td');
	if (creatorHref)
		 {div2 = document.createElement('div');
		 a1 =  document.createElement('a');
		 a1.setAttribute('href',creatorHref) ;
		 img0 = document.createElement('img');
		 img0.setAttribute('class', "user_icon");
		 img0.setAttribute('src', creatorIcon);
		 img0.removeAttribute("width");
		 img0.removeAttribute("height");
		 //img0.setAttribute('style', "height:16px");
		 td2.appendChild(div2);
		 div2.appendChild(a1);
		 a1.appendChild(img0);
		 }
	tr.appendChild(td0);
	tr.appendChild(td1);
	tr.appendChild(td2);
	TableBodyElem.appendChild(tr);
    }

}


function getNodeText(node , name)
{
data=null;
elems = node.getElementsByTagName(name);
    if (elems.length > 0)
    {//alert(elems.length);
     if ( elems[0].firstChild != null){
       xmlNode = elems[0];
	   if(typeof(xmlNode.textContent) != "undefined")
	   		{data= xmlNode.textContent;}
       else
       		{data=  xmlNode.firstChild.nodeValue;}

     }
    }
return data;
}



function moreRecent(lang){
CurrentRecentLimit +=5;
document.getElementById("RecentRefreshInd").style.visibility="visible";
http( 'post'  , '/' + lang +'/recent_xml/recent' , recentResponse , 'offset=0&limit=' + CurrentRecentLimit , null);
}


function lessRecent(lang){
CurrentRecentLimit -=5;
document.getElementById("RecentRefreshInd").style.visibility="visible";
http( 'post'  , '/' + lang +'/recent_xml/recent' , recentResponse , 'offset=0&limit=' + CurrentRecentLimit, null);
}


function moreLinks(lang){
CurrentLinksLimit +=5;
document.getElementById("LinksRefreshInd").style.visibility="visible";
http( 'post'  , '/' + lang +'/recent_xml/links' , linksResponse , 'offset=0&limit=' + CurrentLinksLimit , null);
}


function lessLinks(lang){
CurrentLinksLimit -=5;
document.getElementById("LinksRefreshInd").style.visibility="visible";
http( 'post'  , '/' + lang +'/recent_xml/links' , linksResponse , 'offset=0&limit=' + CurrentLinksLimit, null);
}


function moreComments(lang){
CurrentCommentsLimit +=5;
document.getElementById("CommentsRefreshInd").style.visibility="visible";
http( 'post'  , '/' + lang +'/recent_xml/comments' , commentsResponse , 'offset=0&limit=' + CurrentCommentsLimit , null);
}


function lessComments(lang){
CurrentCommentsLimit -=5;
document.getElementById("CommentsRefreshInd").style.visibility="visible";
http( 'post'  , '/' + lang +'/recent_xml/comments' , commentsResponse , 'offset=0&limit=' + CurrentCommentsLimit, null);
}


function sayit(posthref){
document.getElementById("ThoughtsRefreshInd").style.visibility="visible";
val=document.getElementById('page.content.-1.html_content').value;
val=encodeURIComponent(val);
params="page.content.-1.html_content=" + val;

http('post', posthref , sayitResponse , params, null);
}

function sayitResponse(obj,params){
doc = xmldoc(obj);

statusNodes = doc.getElementsByTagName("status");
status = statusNodes[0].firstChild.data;
if (status == '1'){
document.getElementById('page.content.-1.html_content').value = '';
refreshThoughts();

}else{
mNodes = doc.getElementsByTagName("message");
message = mNodes[0].firstChild.data;
document.getElementById("ThoughtsRefreshInd").style.visibility="hidden";
alert(message);
}

//processKaoResponse(doc,params,"Links");

}

function refreshThoughts(){

document.getElementById("ThoughtsRefreshInd").style.visibility="visible";
http( 'post'  , '/' + Lang +'/recent_xml/thoughts' , thoughtsResponse , 'offset=0&limit=' + CurrentThoughtsLimit , null);
}


function moreThoughts(){
CurrentThoughtsLimit +=5;
document.getElementById("ThoughtsRefreshInd").style.visibility="visible";
http( 'post'  , '/' + Lang +'/recent_xml/thoughts' , thoughtsResponse , 'offset=0&limit=' + CurrentThoughtsLimit , null);
}


function lessThoughts(){
CurrentThoughtsLimit -=5;
document.getElementById("ThoughtsRefreshInd").style.visibility="visible";
http( 'post'  , '/' + Lang +'/recent_xml/thoughts' , thoughtsResponse , 'offset=0&limit=' + CurrentThoughtsLimit, null);
}




function moreEvents(){
CurrentKalWeeksAfter +=5;
CurrentKalWeeksBefore -=5;
//alert (CurrentKalWeeksBefore + " , " + CurrentKalWeeksAfter);
document.getElementById("EventsRefreshInd").style.visibility="visible";
http( 'post'  , '/' + Lang +'/calendar/xml' , calResponse , 'weeksAfter=' + CurrentKalWeeksAfter + '&weeksBefore=' + CurrentKalWeeksBefore , null);
}


function lessEvents(){
CurrentKalWeeksBefore +=5;
CurrentKalWeeksAfter -=5;
//alert (CurrentKalWeeksBefore + " , " + CurrentKalWeeksAfter);
document.getElementById("EventsRefreshInd").style.visibility="visible";
http( 'post'  , '/' + Lang +'/calendar/xml' , calResponse , 'weeksAfter=' + CurrentKalWeeksAfter + '&weeksBefore=' + CurrentKalWeeksBefore , null);
}

function calResponse(obj,params){
kaocale=document.getElementById('kaocal');

doc = xmldoc(obj);

results = doc.getElementsByTagName("result");

calhtm=getNodeText(results[0],'content');

kaocale.innerHTML=calhtm;
document.getElementById("EventsRefreshInd").style.visibility="hidden";
}


function thoughtsResponse(obj,params){
doc = xmldoc(obj);
processThoughtsResponse(doc,params,"Thoughts");
}

function processThoughtsResponse(xmlDoc , params, tid)
{
document.getElementById(tid + "RefreshInd").style.visibility="hidden";
TableBodyElem = document.getElementById(tid);

for(var i = TableBodyElem.rows.length; i > 0;i--)
{
TableBodyElem.deleteRow(i -1);
}
resultNodes = xmlDoc.getElementsByTagName("result");

for (i=0; i<resultNodes.length; i++)
    {resultNode = resultNodes[i];


    created = getNodeText(resultNode , 'created');
	creatorHref = getNodeText(resultNode , 'creatorHref');
	creatorIcon = getNodeText(resultNode , 'creatorIcon');
	content = getNodeText(resultNode , 'content');

	//start dom paranoia
	tr= document.createElement('tr');

	td0 =  document.createElement('td');
	td0.setAttribute('class',"thought_content");
	//text0 = document.createTextNode(content);
	//td0.appendChild(text0);
	td0.innerHTML = content;
	//alert(content);
	td2 =  document.createElement('td');
	if (creatorHref)
		 {div2 = document.createElement('div');
		 div2.setAttribute('class',"thought_owner");
		 a1 =  document.createElement('a');
		 a1.setAttribute('href',creatorHref) ;
		 img0 = document.createElement('img');
		 img0.setAttribute('class', "user_icon");
		 img0.setAttribute('src', creatorIcon);
		 img0.removeAttribute("width");
		 img0.removeAttribute("height");
		 //img0.setAttribute('style', "height:16px");
		 td2.appendChild(div2);
		 div2.appendChild(a1);
		 a1.appendChild(img0);
		 }

	span1 = document.createElement('span');
	span1.setAttribute('class',"thought_date");
	text1 = document.createTextNode(created);
	span1.appendChild(text1);
	td2.appendChild(span1);


	tr.appendChild(td2);
	tr.appendChild(td0);


	TableBodyElem.appendChild(tr);
    }

}