var req;
var tmpurl;
function Random(min, max)
{		
	var randomNum = Math.random() * (max-min); 
	return(Math.round(randomNum) + min); 
}
function loadDAMDoc(url) 
{
	//alert(url);
	tmpurl = url;
	var urlSplit = url.split("?");
	var randomNum = "&R="+Random(1,999)+"."+Random(1,999)+"."+Random(1,999)+"."+Random(1,999);
	url = url+randomNum;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processDAM;
        req.open("POST", urlSplit[0], true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", urlSplit[1].length);
		if(!document.all) req.setRequestHeader("Connection", "close");
        req.send(urlSplit[1]);
		
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processDAM;
			req.open("POST", urlSplit[0], true);
			req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			req.setRequestHeader("Content-length", urlSplit[1].length);
			if(!document.all) req.setRequestHeader("Connection", "close");
			req.send(urlSplit[1]);
        }
    }
}

function processDAM()
{
	// only if req shows "complete"
	var reqstatus;
	try
	{
		reqstatus = req.status;
	}
	catch(err)
	{
		reqstatus = '404';
	}
	
	if (req.readyState == 4) 
	{
		// only if "OK"
		if (reqstatus == 200) 
		{
			var p1 = 0;
			var p2 = 0;
			var response  = req.responseText;
			
			//start eval
			p1 = response.indexOf("{starteval}") + 11;
			p2 = response.indexOf("{/starteval}");
			var startEval = response.substring(p1,p2);
			if (startEval != "") eval(startEval);
			//document.getElementById("divEval1").innerHTML = startEval;
			
			
			//divs
			p1 = response.indexOf("{divs}") + 6;
			p2 = response.indexOf("{/divs}");
			var divs = response.substring(p1,p2);
			if (divs != "") setDivs(divs);
			
			
			//end eval
			p1 = response.indexOf("{finisheval}") + 12;
			p2 = response.indexOf("{/finisheval}");
			var endEval = response.substring(p1,p2);
			if (endEval != "") eval(endEval);
			//document.getElementById("divEval2").innerHTML = endEval;
			
			
        } 
		else 
		{
			setTimeout ( loadDAMDoc(tmpurl), 1000 );
        }
    }
}

function setDivs(divStr)
{
	var i = 1;
	var divName = "";
	var divContent = "";
	var p1 = 0;
	var p2 = 0;
	var str = divStr
	while (str.indexOf("{div" + i + "=") > -1)
	{
		p1 = str.indexOf("{div" + i + "=") + 6;
		p2 = str.indexOf("}");
		divName = str.substring(p1,p2);
		
		
		p1 = str.indexOf("{/div" + i + "}");
		divContent = str.substring(p2 + 1,p1);
		try
		{
			if (divName != "") document.getElementById(divName).innerHTML = divContent;
		}
		catch (e)
		{
		}
		
		str = str.substring(p1 + 7);
		i++;
	}
}

function stripSpaces(x) {

    while (x.substring(0,1) == ' ') x = x.substring(1);
    while (x.substring(x.length-1,x.length) == ' ') x = x.substring(0,x.length-1);
    return x;
}
