var http_request = false;
var MyStatus;
function makePOSTRequest(url, parameters, id) {
  httpRequest = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     httpRequest = new XMLHttpRequest();
     if (httpRequest.overrideMimeType) {
     	// set type accordingly to anticipated content type
        //httpRequest.overrideMimeType('text/xml');
        httpRequest.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!httpRequest) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }
//  alert(url);
//      alert('pula');
//	alert(parameters);
  httpRequest.onreadystatechange = function() { alertContents(httpRequest, id); };
//  alert('pula');
  httpRequest.open('POST.html', url, true);
  httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  httpRequest.setRequestHeader("Content-length", parameters.length);
  httpRequest.setRequestHeader("Connection", "close");
  httpRequest.send(parameters);
}

function makeRequest(url, id) {
    var httpRequest;

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType) {
            httpRequest.overrideMimeType('text/xml');
            // See note below about this line
        }
    } else if (window.ActiveXObject) { // IE
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!httpRequest) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
//    alert (url);
    httpRequest.onreadystatechange = function() { alertContents(httpRequest, id); };
    httpRequest.open('GET.html', url, true);
    httpRequest.send(null);

}

function GetValues(url) {
    var httpRequest;
    

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType) {
            httpRequest.overrideMimeType('text/xml');
            // See note below about this line
        }
    } else if (window.ActiveXObject) { // IE
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!httpRequest) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
//    alert (url);
	var response = false;
    httpRequest.onreadystatechange = function() { myhandler(httpRequest); };
    httpRequest.open('GET.html', url, true);
    httpRequest.send(null);
    
    if (response != false )
    	return response;

}

function myhandler(httpRequest) {
	if (httpRequest.readyState==4 || httpRequest.readyState=="complete")
	{ 
		eval(httpRequest.responseText);
//		document.getElementById(id).innerHTML=httpRequest.responseText;
		
//		alert(httpRequest.responseText);
//		alert(id);
	}  
}




function alertContents(httpRequest, id) {
//	var loadStr = '<table cellpadding="0" cellspacing="0" height="100%" width="100">' + 
//					'	<tr>' + 
//					'		<td style="padding: 0px;" width="100%" valign="top" align="center" height="100%">' + 
//					'			<table width="100%" height="100%" cellpadding="0" cellspacing="0">' + 
//					'				<tr>' + 
//					'					<td style="padding: 0px;" valign="top" align="center" height="100%">' + 
//					'						<table height="100%">' + 
//					'							<tr>' + 
//					'								<td><img src="'+ siteAddress +'images/1ajax-loader2.gif"></td>' + 
//					'								<td height="100%"><font class="description">Loading</font></td>' + 
//					'							</tr>' + 
//					'						</table>' + 
//					'					</td>' + 
//					'				</tr>' + 
//					'			</table>' + 
//					'		</td>' + 
//					'	</tr>' + 
//					'</table>';
//	switch (httpRequest.readyState) {
//		case 1:
//			document.getElementById(id).innerHTML = loadStr;
//			break;
//		case 2:
//			document.getElementById(id).innerHTML = loadStr;
//			break;
//		case 3:
//			document.getElementById(id).innerHTML = loadStr;
//			break;
//		default:
//			break;
//	}
	if (httpRequest.readyState==4 || httpRequest.readyState=="complete")
	{ 
//		eval(httpRequest.responseText);
		document.getElementById(id).innerHTML=httpRequest.responseText;
		
//		alert(httpRequest.responseText);
//		alert(id);
	}  
	
	
	
//  if (httpRequest.readyState == 4) {
//     if (httpRequest.status == 200) {
////        alert(httpRequest.responseText);
//        result = httpRequest.responseText;
////            alert(id);
//        document.getElementById(id).innerHTML = result;            
//     } else {
//        alert('There was a problem with the request.');
//     }
//  }
}

//post stuff
//function get(fields, target, div) {
//	alert('pula');
////	var myarray = new Array('first_name', 'last_name', 'user');
//	alert(target);
//	var poststr = fields[0] + '=' + document.getElementById(fields[0]).value;
//	for (var i = 1; i < fields.length; i++) {
//		poststr += '&' + fields[i] + '=' + document.getElementById(fields[i]).value;
//	}
//	alert(poststr);
//	makePOSTRequest(target, poststr, div);
//}

function sendByPost(fieldstr, target, div) {
	fields = fieldstr.split(',');
	var poststr = fields[0] + '=' + document.getElementById(fields[0]).value;
	for (var i = 1; i < fields.length; i++) {
		poststr += '&' + fields[i] + '=' + document.getElementById(fields[i]).value;
	}
	makePOSTRequest(siteAddress + target, poststr, div);
}

function sendFormByPost(fieldstr, target, div) {
//	# An "advanced" version of sendByPost.. it doesn't require the whole string.. each element, it requires only the 
//	# form name and id.. not really xhtml, but it does work :) 
//  # A shit, but the only shit we have at the moment
	
//	# The number of elements in the form
	var count = document.getElementById(fieldstr).length;
	var theform = document.getElementById(fieldstr);
	
	
//	# Start building the post string
	var poststr = '';
	if (theform.elements[0].type == 'checkbox') {
		// if the input is a checkbox
		if (theform.elements[0].checked)
			poststr = theform.elements[0].name + '=on';
		else
			poststr = theform.elements[0].name + '=off';
	} else {
		// for all other field types
		poststr = theform.elements[0].name + '=' + theform.elements[0].value;
	}
	
	
//	# Complete the post string with the rest of variables
	for (var i = 1; i < count; i++) {
		if (theform.elements[i].type == 'checkbox') {
			// if the input is a checkbox
			if (theform.elements[i].checked)
				poststr += '&' + theform.elements[i].name + '=on';
			else
				poststr += '&' + theform.elements[i].name + '=off';
		} else {
			// for all other field types
			poststr += '&' + theform.elements[i].name + '=' + theform.elements[i].value;
		}
	}
//	alert(poststr);

//	Finally, make the request to the server
	makePOSTRequest(siteAddress + target, poststr, div);
}


function sleep(numberMillis)
{
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true)
	{
		now = new Date();
		if (now.getTime() > exitTime)
		return;
	}
} 
