// JavaScript Document

/***
*Função que facilita o comando getElementById
***/
function getObj(idObj)
{
	return document.getElementById(idObj);
}

/***
*Função usada para se instaciar um objeto desse tipo
***/
function criaXMLHttp()
{

  var xmlHttp = null;
  try
  {
	// Firefox, Opera 8.0+, Safari
	xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
	 // Internet Explorer
	 try
	 {
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	 }
	 catch (e)
	 {
		  try
		  {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
  		  catch (e)
		  {
			alert("Seu navegador não suporta AJAX!");
			return false;
		  }
	 }
   }

  return xmlHttp;
}


function makeRequest(url)
{

	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = null;
	http_request.open('GET', url, true);
	http_request.send(null);

}

function AndAction(url,action)
{

	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { eval(action) };
	http_request.open('GET', url, true);
	http_request.send(null);
	
}

function makeRequestWithContainer(url, container) {

	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { displayContents(http_request, container); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function makeRequestWithContainerAndWithFrames(url, container, frame) {
	var http_request = false;
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { displayContentsWithFrames(http_request, container, frame); };
	http_request.open('GET', url, true);
	http_request.send(null);
}


function makePostRequestWithContainer(url,container,postData) {
	
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { displayContents(http_request, container); };
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", postData.length);
	http_request.setRequestHeader("Connection", "close");

	http_request.send(postData);

}

function makePostRequestWithContainerAndAction(url,container,postData,action) {
	//alert('URL = '+url+'\n POST = '+postData);//debug
	//exit;
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { displayAddContentsAndExecuteAction(http_request, container, action); };
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", postData.length);
	http_request.setRequestHeader("Connection", "close");

	http_request.send(postData);

}


function displayContents(http_request, container)
{       
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			//Good, we received the response from the request
			document.getElementById(container).innerHTML = http_request.responseText;
		}
		else
		{
			//No good...
		}
	} else {
	   //document.getElementById(container).innerHTML = "<table style='margin-left:auto; margin-right:auto;' width='220' height='19'><tr><td align='center'><br /><br />Carregando...<br /><br /><img src='ajax-loader.gif' width='220' height='19' /></td></tr></table>";   
	}

}

function displayContentsWithFrames(http_request, container, frame)
{

	if (http_request.readyState == 4)
	{
		//alert(http_request);
		if (http_request.status == 200)
		{
			//Good, we received the response from the request
			//alert('aqui!!!!!!!!!!');
			parent.frames[frame].document.getElementById(container).innerHTML = http_request.responseText;		
		}
		else
		{
			//No good...
		}
	} else {
	   //parent.frames[frame].document.getElementById(container).innerHTML = "<table width='100%'><tr><td align='center'>Aguarde, carregando...<img src='ajax-loader.gif' width='220' height='19' align='absmiddle' /></td></tr></table>";   
	}	

}

function displayAddContents(http_request, container)
{
    	if (http_request.readyState == 4)
    	{
    		if (http_request.status == 200)
    		{
    			//Good, we received the response from the request
    			//alert(http_request.responseText);
    			document.getElementById(container).innerHTML = http_request.responseText;
    		}
    		else
    		{
    			//No good...
    		}
    	} else {
	       document.getElementById(container).innerHTML = "<table style='margin-left:auto; margin-right:auto;' width='220' height='19'><tr><td align='center'><br /><br />Carregando...<br /><br /><img src='ajax-loader.gif' width='220' height='19' /></td></tr></table>";   
	    }
}



function makeRequestWithContainerAndAction(url, container, action)	{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = function() { displayContentsAndExecuteAction(http_request, container, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function makeRequestWithContainerAndAction2(url, container, action)	{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = function() { displayContentsAndExecuteAction2(http_request, container, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function makeRequestWithContainerAndActionLoadingOff(url, container, action)	{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = function() { displayContentsAndExecuteActionLoadingOff(http_request, container, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function makeRequestAddWithContainerAndAction(url, container, action)
{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { displayAddContentsAndExecuteAction(http_request, container, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}


function displayContentsAndExecuteAction(http_request, container, action)
{
    
    if (http_request.readyState == 4)
	{
		
		if (http_request.status == 200)	{
			
			//Good, we received the response from the request
			//alert(http_request.responseText);
			try {
				document.getElementById(container).innerHTML = http_request.responseText;
			} catch(e) {
				// There's no container
			}
            
			//alert(action);			
			eval(action);
		}
		else
		{
			//No good...
		}
 	} else {
	       document.getElementById(container).innerHTML = "<table style='margin-left:auto; margin-right:auto;' width='220' height='19'><tr><td align='center'><br /><br />Carregando...<br /><br /><img src='ajax-loader.gif' width='220' height='19' /></td></tr></table>";   
	}	

}

function displayContentsAndExecuteAction2(http_request, container, action)
{
    
    if (http_request.readyState == 4)
	{
		
		if (http_request.status == 200)	{
			
			//Good, we received the response from the request
			//alert(http_request.responseText);
			try {
				document.getElementById(container).innerHTML = http_request.responseText;
			} catch(e) {
				// There's no container
			}
            
			//alert(action);			
			eval(action);
		}
		else
		{
			//No good...
		}
 	}	

}

function displayContentsAndExecuteActionLoadingOff(http_request, container, action)
{
    
    if (http_request.readyState == 4)
	{
		
		if (http_request.status == 200)	{
			
			//Good, we received the response from the request
			//alert(http_request.responseText);
			try {
				document.getElementById(container).innerHTML = http_request.responseText;
			} catch(e) {
				// There's no container
			}
            
			//alert(action);			
			eval(action);
		}
		else
		{
			//No good...
		}
  
	}	

}

function displayAddContentsAndExecuteAction(http_request, container, action)
{
   
    	if (http_request.readyState == 4)
    	{
    		if (http_request.status == 200)
    		{
    			//Good, we received the response from the request
    			//alert(http_request.responseText);
    			try {
    				document.getElementById(container).innerHTML = document.getElementById(container).innerHTML+''+http_request.responseText;
    			} catch(e) {
    				
    				// There's no container
    				
    			}
                eval(action);
    		}
    		else
    		{
    			//No good...
    		}
  	   } else {
           	try {
			   document.getElementById(container).innerHTML = "<table style='margin-left:auto; margin-right:auto;' width='220' height='19'><tr><td align='center'><br /><br />Carregando...<br /><br /><img src='ajax-loader.gif' width='220' height='19' /></td></tr></table>";
			} catch(e) {		
				// There's no container
			}
	   }	

}

function makeRequestWithAction(url, action)
{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { executeAction(http_request, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function executeAction(http_request, action)
{

        if (http_request.readyState == 4)
    	{
    		if (http_request.status == 200)
    		{
    			//Good, we received the response from the request
                eval(action);
    		}
    		else
    		{
    			//No good...
    		}
	    }	

}

function makeRequestWithActionTimeout(url, action, timeout)
{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	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('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { executeAction(http_request, action); };
	http_request.open('GET', url, true);
	http_request.send(null);

    if(timeout > 0)
        setTimeout(action, timeout);
}

function ajaxFormSubmit(formId,container,action) {

	form = document.getElementById(formId);
	url = form.action;
	
	if(!(url)) {
		
		url = document.location.href;
		
	}
	
	postData = "";
	for(i=0;i<form.length;i++) {
		
		name 	= form[i].name;
		value 	= form[i].value;
		
		postData += name+"="+value+"&"; 
			
	}
	
	if(form.getElementsByTagName("IFRAME").length) {
		fckInstancias = document.getElementById("fckInstancias").value;
		fckInstancias = fckInstancias.split(",");
		
		for(i=0;i<fckInstancias.length;i++) {
			postData = postData.replace(fckInstancias[i]+"=&","");
			postData += fckInstancias[i] + "=" + encodeURIComponent(FCKeditorAPI.GetInstance(fckInstancias[i]).GetHTML());
		}
		
		
	}
	//alert(postData);exit;//debug
	makePostRequestWithContainerAndAction(url,container,postData,action);	
}
