var xmlReqS = false;

function xmlRequestS () {
	try {
	    xmlReqS = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) {
		try {
		      xmlReqS = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E) {
			xmlReqS = false;
		}
	}
	if (!xmlReqS && 'undefined' != typeof(XMLHttpRequest)) {
		try {
		    xmlReqS = new XMLHttpRequest(); 
		}
		catch (e) {
			xmlReqS = false;
		}
	}
	if (!xmlReqS && window.createRequest) {
		try {
		    xmlReqS = window.createRequest();
		} catch (e) {
			xmlReqS = false;
		}
	}
}


function xmlSyncRequestText (file, params, id) {
//prompt("alert",file +', '+ params +'');
	if (file  ) {
		if ( file.indexOf("?") >= 0 ){
			var url = file +'&'+ params;
		}
		else {
			var url = file +'?'+ params;
		}
		xmlRequestS ();
		xmlReqS.open("GET", url, false);
		xmlReqS.send(null);

    sethtml(id,xmlReqS.responseText)
		//document.getElementById(id).innerHTML = xmlReqS.responseText;

	}
	else {
		alert(
			'Source: ajax.js: \n\n' + 
			'File: '+ file +' not found!'
		);
	}
}

function xmlSyncRequestTextFunction (file, params, id,callBackFunc) {
//prompt("alert",file +', '+ params +'');
	if (file  ) {
		if ( file.indexOf("?") >= 0 ){
			var url = file +'&'+ params;
		}
		else {
			var url = file +'?'+ params;
		}
		xmlRequestS ();
		xmlReqS.open("GET", url, false);
		xmlReqS.send(null);

    sethtml(id,xmlReqS.responseText)
		if (typeof(callBackFunc) == 'function') {
				callBackFunc();
		}    

	}
	else {
		alert(
			'Source: ajax.js: \n\n' + 
			'File: '+ file +' not found!'
		);
	}
}
function xmlSyncRequestTextPost (file, params, id) {
//prompt("alert",file +', '+ params +'');
	if (file) {
		if ( file.indexOf("?") >= 0 ){
			var url = file +'&'+ params;
		}
		else {
			var url = file +'?'+ params;
		}
		xmlRequestS ();
		xmlReqS.open("POST", file, false);
		xmlReqS.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlReqS.setRequestHeader("Content-length", params.length);
		xmlReqS.setRequestHeader("Connection", "close");
		xmlReqS.send(params);
		
		sethtml(id,xmlReqS.responseText)
		//document.getElementById(id).innerHTML = xmlReqS.responseText;

	}
	else {
		alert(
			'Source: ajax.js: \n\n' + 
			'File: '+ file +' not found!'
		);
	}
}

function xmlSyncRequestXml (file, params, callBackFunc) {
//alert(file +', '+ params +', '+ callBackFunc);
	if (file) {
		if ( file.indexOf("?") >= 0 ){
			var url = file +'&'+ params;
		}
		else {
			var url = file +'?'+ params;
		}
		xmlRequestS ();
		xmlReqS.open("GET", url, false);
		xmlReqS.send(null);
		if (typeof(callBackFunc) == 'function') {
				callBackFunc(xmlReqS.responseXML);
		}
		else {
			alert(
				'Source: ajax.js: \n\n' + 
				'Undefined callback function: '+ callBackFunc
			);
		}
	}
	else {
		alert(
			'Source: ajax.js: \n\n' + 
			'File: '+ file +' not found!'
		);
	}
}

function xmlSyncRequestXmlPost (file, params, callBackFunc) {
	if (file) {
		if ( file.indexOf("?") >= 0 ){
			var url = file +'&'+ params;
		}
		else {
			var url = file +'?'+ params;
		}
		xmlRequestS ();
		xmlReqS.open("POST", url, false);
		xmlReqS.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlReqS.setRequestHeader("Content-length", params.length);
		xmlReqS.setRequestHeader("Connection", "close");
		xmlReqS.send(params);
		if (typeof(callBackFunc) == 'function') {
				callBackFunc(xmlReqS.responseXML);
		}
		else {
			alert(
				'Source: ajax.js: \n\n' + 
				'Undefined callback function: '+ callBackFunc
			);
		}
	}
	else {
		alert(
			'Source: ajax.js: \n\n' + 
			'File: '+ file +' not found!'
		);
	}
}

function xmlAsyncRequestText (file, params, id) {
//prompt('Ajax request:', file +', '+ params +', '+ id)
	if (file) {
		if ( file.indexOf("?") >= 0 ){
			var url = file +'&'+ params;
		}
		else {
			var url = file +'?'+ params;
		}
		xmlRequestS ();
		xmlReqS.open("GET", url, true);
		xmlReqS.send(null);
		xmlReqS.onreadystatechange = function() {
			if (4 == xmlReqS.readyState) {
				if (404 != xmlReqS.status) {
				  sethtml(id,xmlReqS.responseText);
					//document.getElementById(id).innerHTML = xmlReqS.responseText;
				}
				else {
					alert(
						'Source: ajax.js: \n\n' + 
						'File: '+ file +' not found!'
					);
				}
			}
		}
	}
	else {
		alert(
			'Source: ajax.js: \n\n' + 
			'Malformed request: no URL!'
		);
	}
}

function xmlAsyncRequestXml (file, params, callBackFunc) {
	if (file) {
		if ( file.indexOf("?") >= 0 ){
			var url = file +'&'+ params;
		}
		else {
			var url = file +'?'+ params;
		}
		xmlRequestS ();
		xmlReqS.open("GET", url, true);
		xmlReqS.send(null);
		xmlReqS.onreadystatechange = function() {
			if (4 == xmlReqS.readyState) {
				if (404 != xmlReqS.status) {
					if (typeof(callBackFunc) == 'function') {
							callBackFunc(xmlReqS.responseXML);
					}
					else {
						alert(
							'Source: ajax.js: \n\n' + 
							'Undefined callback function: '+ callBackFunc
						);
					}
				}
				else {
					alert(
						'Source: ajax.js: \n\n' + 
						'File: '+ file +' not found!'
					);
				}
			}
		}
	}
	else {
		alert(
			'Source: ajax.js: \n\n' + 
			'Malformed request: no URL!'
		);
	}
}


function formMakeQueryString( form_name )
{
	var d=document, f, qry="", sep="";

    if (d.forms[form_name])
    {
    	if( d && (f=d.forms[form_name]) )
    	{
    		for(var i=0;i<f.length;i++)
    		{
    			if( f[i].name!="" && f[i].name!="__VIEWSTATE" )
    			{
    				if( f[i].type=="hidden" || f[i].type=="text" || f[i].type=="textarea" )
    				{
    					qry += sep + escape(f[i].name) +"="+ escape(f[i].value);	sep = "&";
    				}
    
    				if( f[i].type=="select" || f[i].type=="select-one" )
    				{
    					if( f[i].selectedIndex >=0 && f[i].selectedIndex < f[i].options.length )
    					{
    						qry += sep + escape(f[i].name) +"="+ escape(f[i].options[f[i].selectedIndex].value);		sep = "&";
    					}
    				}
    
    				if( f[i].type=="checkbox" && f[i].checked )
    				{
    					qry += sep + escape(f[i].name) +"="+ escape(f[i].value);	sep = "&";
    				}
    
    				if( f[i].type=="radio" && f[i].checked )
    				{
    					qry += sep + escape(f[i].name) +"="+ escape(f[i].value);	sep = "&";
    				}
    			}
    		}
    	}
	}
	
	return qry;
}


function sethtml(div,content) 
{
 var search = content;
 var script;
 
 var is_singleq = 0; var singleq = "'";
 var is_doubleq = 0; var doubleq = '"';
 var is_escaped = 0; var escap = "\\";
 var layer = 0;
       
 while( script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/)) 
 {
    search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length);
    if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break;
    block = search.substr(0, search.indexOf(RegExp.$1));
    search = search.substring(block.length + RegExp.$1.length);
    
    while(func = block.match(/(function(.+?)\((.*?)\)\s*\{)/)) 
    {
       eval(block.substr(0,block.indexOf(RegExp.$1)));
       // for evaluating non functions
       
       block = block.substr(block.indexOf(RegExp.$1) + RegExp.$1.length);
       name = RegExp.$2;
       param = RegExp.$3;
       
       is_singleq = 0;
       is_doubleq = 0;
       is_escaped = 0;
       layer = 0;
       
       
       for(i=0;i<block.length;i++) 
       {
          c = block.substr(i,1);
          
          if ((is_singleq || is_doubleq) && is_escaped) {
             is_escaped = 0;
          } else if (!is_doubleq && (c==singleq)) {
             is_singleq = !is_singleq;
          } else if (!is_singleq && (c==doubleq)) {
             is_doubleq = !is_doubleq;
          } else if ((is_singleq || is_doubleq) && (c==escap)) {
             is_escaped = 1;
          } else if ( c=="{") {
             layer++;
          } else if ( c=="}") {
             if ( layer==0 ) {
                break;
             }
             layer--;
          }
       }
       
       code = block.substr(0,i-1);
       block = block.substr(i +1);
       
       code = code.replace(/\n/g, '\\n');
       code = code.replace(/\r/g, '\\r');
       code = code.replace(/'/g,"\\'");
       
       eval(name + " = new Function('"+param+"','"+code+"');");
  }
    eval(block); // for evaluating non functions
}
if (document.getElementById(div))
document.getElementById(div).innerHTML=content;
}


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

function alertContents() {
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
        result = http_request.responseText;
        document.getElementById('myspan').innerHTML = result;            
     } else {
        alert('There was a problem with the request.');
     }
  }
}

function get(obj,$url) {
  var poststr = "location[nume]=" + encodeURI( document.getElementById("location[nume]").value )
                + "&location[adresa]=" + encodeURI( document.getElementById("location[adresa]").value)
                + "&location[email]=" + encodeURI( document.getElementById("location[email]").value)
                + "&location[telefon]=" + encodeURI( document.getElementById("location[telefon]").value)
                + "&location[oras]=" + encodeURI( document.getElementById("location[oras]").value)
                + "&location[tip]=" + encodeURI( document.getElementById("location[tip]").value)
                + "&location[description]=" + encodeURI( document.getElementById("location[description]").value
                );
  makePOSTRequest($url, poststr);
}