var request;
var dest;

function processStateChange(){
    if (request.readyState == 4){
        contentDiv = document.getElementById(dest);
        if (request.status == 200){
            response = request.responseText;
            contentDiv.innerHTML = response;
        } else {
            contentDiv.innerHTML = "Error: Status "+request.status;
        }
    }
}

function loadHTML(URL, destination){
    dest = destination;
    if (window.XMLHttpRequest){
        request = new XMLHttpRequest();
        request.onreadystatechange = processStateChange;
        request.open("GET", URL, true);
        request.send(null);
    } else if (window.ActiveXObject) {
        request = new ActiveXObject("Microsoft.XMLHTTP");
        if (request) {
            request.onreadystatechange = processStateChange;
            request.open("GET", URL, true);
            request.send();
        }
    }
}

function postHTMLForm(URL, destination, form_name) {
	var params = GenerateString(form_name);
	dest = destination;
    if (window.XMLHttpRequest){
        request = new XMLHttpRequest();
        request.onreadystatechange = processStateChange;
        request.open("POST", URL, true);
  		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      	request.setRequestHeader("Content-length", params.length);
      	request.setRequestHeader("Connection", "close");
      	request.send(params);
    } else if (window.ActiveXObject) {
        request = new ActiveXObject("Microsoft.XMLHTTP");
        if (request) {
            request.onreadystatechange = processStateChange;
            request.open("POST", URL, true);
  			request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      		request.setRequestHeader("Content-length", params.length);
      		request.setRequestHeader("Connection", "close");
      		request.send(params);
        }
    }
}


function GenerateString(form_obj) {
var elnr = form_obj.elements.length;
var r_str = "";
var isfirst = true;
	for (var i=0; i<=elnr; i++) {
		if (form_obj.elements[i]!=null) {
			if (form_obj.elements[i].type == "text") {
				if (isfirst) {
					r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					isfirst=false;
				} else {
					r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
				}
			}
			if (form_obj.elements[i].type == "password") {
				if (isfirst) {
					r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					isfirst=false;
				} else {
					r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
				}
			}
			if (form_obj.elements[i].type == "hidden") {
				if (isfirst) {
					r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					isfirst=false;
				} else {
					r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
				}
			}
			if (form_obj.elements[i].type == "textarea") {
				if (isfirst) {
					r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					isfirst=false;
				} else {
					r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
				}
			}
			if (form_obj.elements[i].type == "select-one") {
				if (isfirst) {
					r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					isfirst=false;
				} else {
					r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
				}
			}
			if (form_obj.elements[i].type == "select-multiple") {
				if (isfirst) {
					r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					isfirst=false;
				} else {
					r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
				}
			}
			if (form_obj.elements[i].type == "radio") {
				if (form_obj.elements[i].checked) {
					if (isfirst) {
						r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
						isfirst=false;
					} else {
						r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					}
				}
			}
			if (form_obj.elements[i].type == "checkbox") {
				if (form_obj.elements[i].checked) {
					if (isfirst) {
						r_str= form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
						isfirst=false;
					} else {
						r_str= r_str+"&"+form_obj.elements[i].name +"=" +encodeURI(escape(form_obj.elements[i].value));
					}
				}
			}
		}
	}
	return r_str;
}

function open_cat(id) {
	var divname="sub_cat"+id;
	var url_prefix="http://www.securitytraining.ro/site-specific/";
	var url_dest=url_prefix+"get_content.php?disp=cats&cat_id="+id;
	var url_list=url_prefix+"get_content.php?disp=list&cat_id="+id;
	loadHTML(url_dest, divname);
}

function TryToOpen(id) {
	var divname="sub_cat"+id;
	var imgname="img"+id;
	divid = document.getElementById(divname);
	if (divid.innerHTML.length == 0 ) {
		divid.style.display = "block";
		open_cat(id);
		swapImage(imgname,'','img/minus.gif',1)
	} else {
		divid.innerHTML='';
		divid.style.display = "none";
		swapImage(imgname,'','img/plus.gif',1)
	}
}