﻿/* ==================== add status via ajax ============================= */
function AddStatus(){
    if($('status').value.trim() == '' ){
        $('StatusStatus').innerHTML = "You forgot to write something.";
        $('StatusStatus').setStyle('display','');
        $('StatusStatus').highlight('#ff5426');
        return;
    }
    $('btnAddStatus').disabled = true;
    var url = 'ajax/add_status.ashx';
	$('StatusUpdate').setStyle('display','');
	$('StatusUpdate').highlight('#009900');
    $(formId).set('send', {url: url, method: 'post', onSuccess: onSuccess});
    $(formId).send();
}
function onSuccess(txt)
{
    var result = txt;
    if(result > 0) ShowResult(1);
    else{
        if(result == -4) ShowResult(3);
        else ShowResult(2);
    }    
    $('StatusUpdate').setStyle('display','none');
    $('btnAddStatus').disabled = false;
    GetStatusList();
}	
function ShowResult(mode){
    if(mode == 1){$('status').value = '';$('StatusStatus').innerHTML = "";}
    else if(mode == 2){
        $('StatusStatus').innerHTML = "Updated Failed :(";
        $('StatusStatus').setStyle('display','');
        $('StatusStatus').highlight('#ff5426');
    }
    else if(mode == 3){
        $('StatusStatus').innerHTML = "Only 7 updates in 5 minutes allowed";
        $('StatusStatus').setStyle('display','');
        $('StatusStatus').highlight('#ff5426');
    }
}	
function GetStatusList()
{
    var url = 'ajax/status_list.ashx';
	var pars = 'userId='+ userId;
	var req = new Request({url:url, onSuccess: showResponse}).send(pars);
}
function showResponse(xml)
{		    
    if(window.DOMParser){var parser=new DOMParser();var doc=parser.parseFromString(xml,"text/xml");}//firefox
    else if( window.ActiveXObject ){var doc = new ActiveXObject( "Msxml2.DOMDocument");doc.loadXML(xml);}//ie
	var nodes = doc.getElementsByTagName('status');
	var statusList = '';	
	if(nodes.length <= 0)
	    statusList = 'no status yet !';
	else{		    
	    statusList += '<ul class="StatusUL">';
	    for(var i = 0; i < nodes.length; i++){		        
		    var id  = nodes[i].getElementsByTagName('id').item(0).firstChild.nodeValue;
		    var userId  = nodes[i].getElementsByTagName('userId').item(0).firstChild.nodeValue;
		    var username  = nodes[i].getElementsByTagName('username').item(0).firstChild.nodeValue;
		    var status  = nodes[i].getElementsByTagName('content').item(0).firstChild.nodeValue;
		    var modifiedTime  = nodes[i].getElementsByTagName('modifiedTime').item(0).firstChild.nodeValue;
		    statusList +=  '<li>' + status + '<span class="StatusTime">' + modifiedTime + '</span>' +'</li>';	
	    }		    
	    statusList += '</ul>';
	}		
	$("StatusList").innerHTML = statusList;
}
