// JavaScript Document

var gActivity_request = null;
var gBoxToFill;

var gSiteURL = "http://mounteverest.ch/";		// mit / at end
var gSiteURLPrefix = "";						// empty or me-test/



function displayActivityOnHomepage(box,long)
{
	gBoxToFill = box;
	if (long)
		var cmd = "Activity.pl?cmd=Latest&num=8";
	else
		var cmd = "Activity.pl?cmd=Latest&num=4";
	activityAjax(cmd,processActivityReqLatest);
}



function registerActivity(uid,typ,text,xid)
{
	var cmd = "Activity.pl?cmd=Register&type=" +typ +"&desc=" + encodeURIComponent(text) +"&uid=" +uid  +"&xid=" +xid;
	activityAjax(cmd,processActivityReqRegister);	
}






function processActivityReqLatest()
{
	var err = 0;
	
    if (gActivity_request.readyState == 4) {
        // only if "OK"
        if (gActivity_request.status == 200) {
//			alert(gActivity_request.responseText);
			if (gActivity_request.responseText.length > 0) {
				var txt = "<span class='boxTitle'>"+getLocStr('Community')+"</span><br /><br>";
				txt += "<table width='100%' border='0'>";
				var items = gActivity_request.responseXML.getElementsByTagName("activity");
				
				var nickname, picture, gender, datum, desc, xid, type, text, datetime, pictureStr, userDesc, interest;
				for (var i = 0; i < items.length; i++) {
					nickname = getElementTextNS("", "nickname", items[i], 0);
					picture = getElementTextNS("", "picture", items[i], 0);
					gender = parseInt(getElementTextNS("", "gender", items[i], 0),10);
					datum = getElementTextNS("", "datum", items[i], 0);
					userDesc = getElementTextNS("", "user_desc", items[i], 0);
					interest = parseInt(getElementTextNS("", "interest", items[i], 0),10);
					desc = getElementTextNS("", "desc", items[i], 0);
					xid = parseInt(getElementTextNS("", "xid", items[i], 0),10);
					type = parseInt(getElementTextNS("", "type", items[i], 0),10);
					
					pictureStr = profilePictureBoxString(picture,nickname,"",gender,userDesc,interest);
					
					datetime = "<span class='boxTextDate'>"+convertDBDateToShortDateTime(datum)+"</span>";
					
					txt += "<tr><td width='34'>"+pictureStr+"</td><td>"+buildActivityText(nickname,type,desc)+" "+datetime+"</td></tr>";
					
				}
				gBoxToFill.innerHTML = txt;
			}
			else
				alert(getLocStr('Msg-Failed-Operation') + ": A1 (load activity)");
		}
		else {
			//alert("Failed to retrieve data (" + gTracks_request.status + "/" + err + ")");
		}
	}
	else {
	}
}



function processActivityReqRegister()
{
	var err = 0;
    if (gActivity_request.readyState == 4) {
        // only if "OK"
        if (gActivity_request.status == 200) {
			
			if (gActivity_request.responseText.length > 0) {
				if (gActivity_request.responseText != "true")
					;
//					alert(gActivity_request.responseText);
			}
			else
				alert(getLocStr('Msg-Failed-Operation') + ": A2 (register activity)");
		}
		else {
			//alert("Failed to retrieve data (" + gTracks_request.status + "/" + err + ")");
		}
	}
	else {
	}
}


function buildActivityText(nickname,type,desc)
{
	var actText = "";
	
	switch (type) {
		case 1:		actText = nickname+" "+getLocStr('hat sich neu registriert')+".";
					break;
		case 2:		actText = nickname+" "+getLocStr('hat den Club')+" "+desc+" "+getLocStr('registriert')+".";
					break;
		case 3:		actText = nickname+" "+getLocStr('hat eine neue Strecke eingetragen')+": "+desc;
					break;
		case 4:		actText = nickname+" "+getLocStr('hat ein neues Streckenbild hochgeladen')+".";
					break;
		case 5:		actText = nickname+" "+getLocStr('hat das Profilbild geändert')+".";
					break;
		case 6:		actText = nickname+" "+getLocStr('hat den Status')+" "+getUserStatusIconFromLevel(parseInt(desc,10))+" "+getLocStr('erreicht')+".";
					break;
		case 7:		actText = nickname+" "+getLocStr('hat einen Streckenkommentar eingetragen zu:')+": "+desc;
					break;
		default: ;
	}
	
	return actText;
}



// -----------------------------------------------------------
// USER AJAX
// -----------------------------------------------------------

function activityAjax(cmdStr,callBack)
{	
	gActivity_request = false;
    if (typeof XMLHttpRequest != 'undefined') {
    	try {
			gActivity_request = new XMLHttpRequest();
        } catch(e) {
			gActivity_request = false;
        }
    } else if(window.ActiveXObject) {
       	try {
        	gActivity_request = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		gActivity_request = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		gActivity_request = false;
        	}
		}
    }
	
	
	if (gActivity_request) {
		var localfile = document.URL.indexOf("file:",0);
		if (localfile < 0)
			var url = document.URL.substring(0,(document.URL.indexOf(".ch/") + 4)) + gSiteURLPrefix + "cgi-local/";
		else
			var url = gSiteURL + "cgi-local/";
						
				
		gActivity_request.onreadystatechange = callBack;
		url += cmdStr + "&sid=" + gSID;
		

		gActivity_request.open("GET",url,true);
		gActivity_request.send(null);
	}
	
//	alert(url);

}
