var ENV_LOADING = "<div id='search_area'><img src='../img/loader.gif'/><h3>Carregando, aguarde...</h3></div>";
var ENV_CONTENT = 'main';

function get_router(_str){
	return _str.split(".");
}

function geturl_simple(_div,_url){
	console.debug(_url);
}
	 
function geturl(_url,_display,_fctl){
	
	var _geturl = _url+"&case=ajax";

	_display = _display?_display:ENV_CONTENT;
	
	if( $(_display) ){
		
		$(_display).innerHTML = ENV_LOADING;
		
	}else{
		
		alert( 'O container ' + _display + '! A REQUISICAO FOI CANCELADA!' );
		
		return false;
		
	}

	var opt = {
	    method: 'post',
	    postBody: _geturl + '&ENV_CONTENT_DISPLAY_ID=' + _display + '&ENV_CALLBACK_FUNCTION='+_fctl,
	    on404: function(t){
	        $(ENV_CONTENT).innerHTML = 'ajax error: "' + t.statusText + '" was not found.';
	    },
	    onFailure: function(t){
	        $(ENV_CONTENT).innerHTML = 'ajax error: "' + t.statusText + '".';
	    },
	    asynchronous: true,
		onComplete: _fctl
	};
	
	if(!_fctl){
		opt.onComplete = hime;
	}
	
	//dhtmlHistory.add( hex_md5(_geturl) , {url:_geturl,_display:_display} );
	
	new Ajax.Updater( _display , _geturl , opt );
	
}

function hime(){
	console.debug(_ajax_response);
	new Effect.Highlight('content');
}

function historyChange(newLocation, historyData) {
	geturl(historyData.url,historyData.display);
}

function geturl_process_response( _ajax_response ){
	console.debug(_ajax_response);
	//_fctl
}



function exec( OPERATION_URL , RETURN_RESPONSE_FUNCTION , OPERATION_USER_MESSAGE){

	if(!OPERATION_URL||!RETURN_RESPONSE_FUNCTION||!OPERATION_USER_MESSAGE){
		alert("Para usar o serviço, é preciso informar a mensagem de retorno. A operação não foi executada.");
		return false;
	}
	if(!Ajax){
		alert("prototype não foi carregado, para usar Ajax.Request é preciso carregar a prototype.js");
		return false;
	}
	if(!Ajax.Request){
		alert("Ajax existe, mas o método Request não, Ajax não parece ser parte da prototype.");
		return false;
	}

	var post = "OPERATION_USER_MESSAGE="+encodeURI(OPERATION_USER_MESSAGE);
	    post+= "&OPERATION_REQUEST_TYPE=AJAX_REQUEST";
	    post+= "&OPERATION_URL="+encodeURI(OPERATION_URL);

	var opt = {
	    method: 'post',
	    postBody: post,
	    onSuccess: RETURN_RESPONSE_FUNCTION,
	    on404: function(t) {
	        alert('exec error: "' + t.statusText + '" was not found.');
	    },
	    onFailure: function(t) {
	        alert('exec error: ' + t.status + ' -- ' + t.statusText);
	    },
	    asynchronous: true
	}

	//console.log(opt);
	//window.open(href);

	new Ajax.Request(OPERATION_URL + "&case=ajax", opt);

}

function alert_arquivo_removido(result){
	alerta2("Arquivo removido: " + result.responseText);
}
function exec_alert(result){
	alerta2(result.responseText);
}

function SwitchMenu(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
	var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
		if(el.style.display != "block"){ //DynamicDrive.com change
			for (var i=0; i<ar.length; i++){
				if (ar[i].className=="submenu") //DynamicDrive.com change
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		}else{
			el.style.display = "none";
		}
	}
}


function _v(_,__,___){

	var $_ = $(_);
	if(!$_) return;

	if($_.style){
		if($_.style.display)
			if($_.style.display=='none')
				$_.style.display='block'
			else $_.style.display='none';
		else
			$_.style.visibility=__?'visible':'hidden';
	}else{
		$_.visibility=__?'show':'hide';
	}
}

function show(id){
	_v(id,true);
}

function hide(id){
	_v(id,false);
}

function alerta2(msg){

	var id = $('alerta');
		id.innerHTML = msg +"<br />";

	AJS.fx.fadeIn(id);

	setTimeout("alerta2_out1();",3000);

}
function alerta2_out1(){

	var id = $('alerta');
	AJS.fx.highlight(id);

	setTimeout("alerta2_out2();",1000);
}
function alerta2_out2(){

	var id = $('alerta');

	AJS.fx.fadeOut( id );

}
//

function alerta(msg){

	new_lightbox('alerta');

	var id = $('alerta');
		id.innerHTML = msg +"<br />";

	AJS.fx.fadeIn(id);

	setTimeout("alerta_out1();",3000);

}

function alerta_out1(){

	var id = $('alerta');
	AJS.fx.highlight(id);

	setTimeout("alerta_out2();",1000);
}

function alerta_out2(){

	var id = $('alerta');

	AJS.fx.fadeOut( id );

	hb.hideBox();
}

// search area

function CheckAll(){
	var ml = document.mainForm;
	var len = ml.elements.length;
	for (var i = 0; i < len; i++) {
		var e = ml.elements[i];
		Check(e);
	}
	ml.toggleAll.checked = true;
	ml.total.value = 99;
}

function ClearAll(){
    var ml = document.mainForm;
    var len = ml.elements.length;
    for (var i = 0; i < len; i++) {
        var e = ml.elements[i];
        Clear(e);
    }
    ml.toggleAll.checked = false;
}
function ToggleAll(e){
    if (e.checked) {
        CheckAll();
    } else {
        ClearAll();
    }
}

function Check(e){
    e.checked = true;
}
function Clear(e){
    e.checked = false;
}

