function RaiseEvent(event, cb, args){
	if(args===undefined){args='';}
        xmlReq = null;
        if(window.XMLHttpRequest) xmlReq = new XMLHttpRequest();else if(window.ActiveXObject) xmlReq = new ActiveXObject("Microsoft.XMLHTTP");
        if(xmlReq==null) return;
	xmlReq.onreadystatechange = function(){
		if(xmlReq.readyState==4){
			if (xmlReq.responseText.substring(0,3) != "<br"){
				var codeBlock = xmlReq.responseText.split("|#");
				for (code in codeBlock){
					try{
                                            eval(codeBlock[code]);
					}catch(err){
                                            alert(err);
					}
				}
			}else{alert("Fatal Error in Code Behind : "+xmlReq.responseText);}
		}
	}
    var sPage = window.location.pathname;
    var page = sPage.substring(sPage.lastIndexOf('/') + 1);
    xmlReq.open('POST', '/Spark/EventHandler.php');
    xmlReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlReq.send("event="+event+"&args="+args+"&page="+cb+"&curpage="+page+getElements());
}

function getElements(){
	var q = "";
        var eles = document.getElementsByTagName('*');
	for (var i=0;i<eles.length;i++)
	{
		if (eles[i].id) {
                    if (eles[i].getAttribute('value')) {q = q + "&elements["+eles[i].id+"][value]="+eles[i].getAttribute('value');}
                    if (eles[i].value) {q = q + "&elements["+eles[i].id+"][value]="+eles[i].value;}
                    if (tinyMCE.get(eles[i].id)) {q = q +  "&elements["+eles[i].id+"][content]= " + escape(tinyMCE.get(eles[i].id).getContent());}
                    if ((eles[i].innerHTML) && (eles[i].tagName.toLowerCase() != "div") && (eles[i].tagName.toLowerCase() != "select")) {q = q + "&elements["+eles[i].id+"][innerHTML]="+eles[i].innerHTML;}
                    if (eles[i].getAttribute('class')) {q = q + "&elements["+eles[i].id+"][class]="+eles[i].getAttribute('class');}
                    if (eles[i].className) {q = q + "&elements["+eles[i].id+"][class]="+eles[i].className;}
                    if (eles[i].style.display) {q = q + "&elements["+eles[i].id+"][display]="+eles[i].style.display;}
                    if (eles[i].innerText && (eles[i].tagName.toLowerCase() != "div") && (eles[i].tagName.toLowerCase() != "select")) {q = q + "&elements["+eles[i].id+"][text]="+eles[i].innerText;}
                    if (eles[i].href) {q = q + "&elements["+eles[i].id+"][href]="+eles[i].href;}
                    if (eles[i].src) {q = q + "&elements["+eles[i].id+"][src]="+eles[i].src;}
                    if (eles[i].alt) {q = q + "&elements["+eles[i].id+"][alt]="+eles[i].alt;}
                    if (eles[i].checked) {q = q + "&elements["+eles[i].id+"][checked]="+eles[i].checked;}
                    if (eles[i].textContent && (eles[i].tagName.toLowerCase() != "div") && (eles[i].tagName.toLowerCase() != "select")) {q = q + "&elements["+eles[i].id+"][text]="+eles[i].textContent;}
                    // Lists
                    if (eles[i].selectedIndex) {
                            q = q + "&elements["+eles[i].id+"][selectedIndex]="+eles[i].selectedIndex;
                            if (eles[i].options[eles[i].selectedIndex].text) {q = q + "&elements["+eles[i].id+"][selectedText]="+eles[i].options[eles[i].selectedIndex].text;}
                            if (eles[i].options[eles[i].selectedIndex].text) {q = q + "&elements["+eles[i].id+"][selectedValue]="+eles[i].options[eles[i].selectedIndex].value;}
                    }
		}
	}return q;
}

function getPage(){return (window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1)=="") ? "index.php" : window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1);}


