
var _DEBUD_MODE = false;
var _scriptFolder = "/scripts/";
//=================================================================================
function Ajax_Init(lang){
	Ajax.Responders.register({
		onCreate: function(request){ 
			//$('ajaxTopIndicator').style.display = '';
			
			//EnableDisableConatiners(false,request);
			
			if(request.url.indexOf("?")==-1){
			  request.url+= "?";
			}else{
			  request.url+= "&";
			} 
			//request.url+="_UserReference=" + _UserReference;
			request.url+="lang=" + lang;
		}, 
		onComplete: function(request, transport){ 
		 if (Ajax.activeRequestCount == 0){
			//$('ajaxTopIndicator').style.display = 'none';
		 }
		 
		//EnableDisableConatiners(true,request);

		if (transport.status!=200){
			ajaxErrHandler(transport)
		}
		//request.url 
		//alert(transport.responseText);
		//transport.responseText.escapeHTML
		ajaxShowDebug(transport,request.url,'');
		}
	
	}); 
}
//=================================================================================

function ajaxShowDebug(http_request,requestUrl,strPostParams){
		 //return;
		if (!_DEBUD_MODE) return;
		
		var wDebug = window.open(_scriptFolder + "ajaxDebug.html","wDebug");
		wDebug.document.body.innerHTML = "";
		
		var now = new Date();
		var currentTime = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
		
		var strHTML = "<span style='font-family: Arial; font-size: 12px;'>";				
		strHTML+= currentTime + "<br>";	
		strHTML+="<b style='color:red'>Ajax Debug mode</b><br>";
		strHTML+="HTTP Status: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b style='color:red'>" + http_request.status + "</b><br>";
		strHTML+="Request URL: &nbsp;&nbsp;&nbsp;" +  requestUrl  + "<br>";
		//strHTML+="All Response Headers: " + _http_request.getAllResponseHeaders + "<br>";
		if(strPostParams.length>0){
		  strHTML+="Sended POST Parameters: &nbsp;&nbsp;" +  strPostParams  + "<br>";
		}
		strHTML+="<br>Response Text: <hr size=1>" +  http_request.responseText;
		strHTML+= "</span>";
		wDebug.document.body.innerHTML = strHTML;
		//wDebug.focus();
}

function getContainers(request){
	var containers = "";
	if(request.container!=null){
		containers = request.container.success;
	}else if(request.options.containers!=null){
		containers = request.options.containers;
	}
	var arrContainers = containers.split(',');
	return arrContainers;
}

function EnableDisableConatiners(isEnable,request){
	var arrContainers = getContainers(request);
	if(arrContainers==null){
		return;
	}
	if(isEnable){
		for (var i = 0; i < arrContainers.length; i++)
		{
			$(arrContainers[i]).disabled = false;
		}
	}else{
		for (var i = 0; i < arrContainers.length; i++)
		{
			if($(arrContainers[i]).innerHTML==''){ $(arrContainers[i]).innerHTML = "Loading..."; }
			$(arrContainers[i]).disabled = true;
		}
	}
}

function ajaxErrHandler(transport){
	alert("Error:\n" + transport.responseText);
	// + transport.responseText
	//$('ajaxErrMsg').style.display = '';
	//$('ajaxErrMsg').innerHTML = 'Sorry, an error occurred...';
	//setTimeout("$('ajaxErrMsg').style.display='none'", 4000);
}

function msgSaved(transport){
	if(transport.responseText=="OK"){
		document.getElementById('msgSaved').style.display = '';
		setTimeout("document.getElementById('msgSaved').style.display = 'none'", 1000);
	}
}

function ajaxPopulate(vDIV,transport){
	//can be name or object
	if(typeof(vDIV)=='object'){
		vDIV.innerHTML = transport.responseText;
	}else{
		$(vDIV).innerHTML = transport.responseText;
	}
}
