// global flag
var isIE = false;

// global request and XML document objects
var req;
var docId='';
function loadXMLDoc(url,docDiv) {
	docId=docDiv;
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("GET", "http://www.oops-stars.com/"+url, true);
		req.send(null);
		// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		isIE = true;
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChange;
			req.open("GET", "http://www.oops-stars.com/"+url, true);
			req.send();
		}
	}
}
// handle onreadystatechange event of req object
function processReqChange() {
	var text='';
	// only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
        	clearTopicList();
        	buildTopicList();
         } else {
            
         }
    }
}
// empty Topics select list content
function clearTopicList() {
    var select = document.getElementById(docId);
    while (select.length > 0) {
        select.remove(0);
    }
}
// fill Topics select list with items from
// the current XML document
function buildTopicList() {
	var select = document.getElementById(docId);
	var items = req.responseText;
	select.innerHTML = decode(items.toString());
}
// urlencode
function urlencode( str ) {
    var ret = str;
    ret = ret.toString();
    ret = encodeURIComponent(ret);
    return ret;
}
// public method for url decoding
function decode(utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}