/*
  Nextstyle Universal AJAX Script
  v1.1 11-11-08

	IE7 Bug Fixed
*/


var xmlHttp;
var xmlHttpResponseText;
function addEvent(obj, evType, fn){
 // elcio.com.br/crossbrowser
    if (obj.addEventListener)
        obj.addEventListener(evType, fn, true)
    if (obj.attachEvent)
        obj.attachEvent("on"+evType, fn)
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, fn );
  } else {
    obj.removeEventListener( type, fn, false ); }
} 
function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
function AJAXRequestURL(url,responsefunction)
{ 
  if (typeof responsefunction == "undefined") 
	{
    responsefunction = AJAXSubmitFormstateChanged;
	}
	//Create AJAX object
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    ServerResponse("Your browser does not support AJAX!");
    return;
  }
  xmlHttp.onreadystatechange=function () 
														 {
														   if (xmlHttp.readyState==4)
  														 {
															   xmlHttpResponseText = xmlHttp.responseText;
														     responsefunction();
														 	 }
														 }
  xmlHttp.open("GET",url,true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
  xmlHttp.send(null);
}
function AJAXSubmitForm(form,responsefunction)
{ 
  if (typeof responsefunction == "undefined") 
	{
    responsefunction = AJAXSubmitFormstateChanged;
	}
	//Create AJAX object
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    ServerResponse("Your browser does not support AJAX!");
    return;
  } 
  var url=form.action;
  xmlHttp.onreadystatechange=function () 
														 {
														   if (xmlHttp.readyState==4)
  														 {
															   xmlHttpResponseText = xmlHttp.responseText;
														     responsefunction();
														 	 }
														 }
  xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	//Send Data
	var sendString='';
	for (i=0;i<form.elements.length;i++)
	{
	  if (i>0){sendString += '&';}
		switch (form.elements[i].type)
		{
		  case 'checkbox':
			  if (form.elements[i].checked) {sendString += form.elements[i].name+'='+form.elements[i].value;}
				else													{sendString += form.elements[i].name+'=undefined'}
			break;
			default:
			  sendString += form.elements[i].name+'='+form.elements[i].value;
			break;
		}
	}
  xmlHttp.send(sendString);
}
function AJAXSubmitFileForm(form,responsefunction,returnuploadedsize_id)
{ //Default Values
  if (typeof responsefunction == "undefined") 
	{
    responsefunction = AJAXSubmitFormstateChanged;
	}
	if (typeof returnuploadedsize_id == "undefined") 
	{
    returnuploadedsize_id = false;
	}

	//Create IFRAME object
	var objBody = document.getElementsByTagName("body").item(0);
	var uploadframe=document.createElement("iframe");
	uploadframe.id="uploadframe";
	uploadframe.name="uploadframe";
	uploadframe.src="#";
	uploadframe.style.display="none";
	objBody.insertBefore(uploadframe, objBody.firstChild);
	var url=form.action;
	onloadfunction = function(){
											 	   	   var objBody = document.getElementsByTagName("body").item(0);
															 var IFrame 	= document.getElementById("uploadframe");
															 removeEvent(IFrame,"load", onloadfunction);
														   //Get Response
  														 xmlHttpResponseText = IFrame.contentWindow.document.body.innerHTML;
															 //Delete IFRAME
  														 IFrame.parentNode.removeChild(IFrame);
															 //Activate stateChanged Function
  														 responsefunction();
														 }
	window.frames['uploadframe'].name="uploadframe";	
	addEvent(uploadframe,"load", onloadfunction);
	//form.enctype = "multipart/form-data";
	form.encoding = "multipart/form-data";
	form.target="uploadframe";	
	form.action=url; 
	form.submit();
}
function AJAXSubmitFormstateChanged() 
{ 
	  switch(xmlHttpResponseText)
		{
		  case'refresh':
		    window.location.reload( true );
			break;
			case'no-action':
			break;
			case'':
			  alert("No Server Response");
			break;
			default:
			  //br2nl
				var temp_Text = xmlHttpResponseText.replace(/\<br ?\/?\>/g, "\n");
				//stripHTML
			  temp_Text = temp_Text.replace(/<\S[^><]*>/g,"");
				//Alert
				alert(temp_Text);
			break;
		}
}