//AJAX
var xmlHttp,xmlHttpResponseID,parameters;
var loadingIndicator=document.getElementById("ajaxLoadingIndicator");
	


//create XMLHttpRequest object
function createXMLHttpRequest(){
	if (window.XMLHttpRequest){
		xmlHttp = new XMLHttpRequest();
	}else if (window.ActiveXObject){
		xmlHttp = new ActiveXObject('MSXML2.ServerXMLHTTP');
		if (! xmlHttp){
			xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
		}
	}
}
//XMLHttpRequest event handler
function XMLHttpResponse(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState=='complete')
	{
		if (xmlHttp.status == 200){
			//loadingIndicator=document.getElementById("ajaxLoadingIndicator");
			loadingIndicator.innerHTML ="Loading";
			loadingIndicator.style.display="none";
			
			var responseText = xmlHttp.responseText
			xmlHttpResponseID.innerHTML = responseText; //	html clear display or?.
			responseText = parseScript(responseText) //; // if caontain script then run it.  if another form exist runtime error occured
			//xmlHttpResponseID.innerHTML  = responseText;
			
			//xmlHttpResponseID.innerHTML = parseScript(xmlHttp.responseText);			
		}else {
			//xmlHttpResponseID.innerHTML = xmlHttp.responseXml; 
			//xmlHttpResponseID.innerHTML = xmlHttp.responseText; 
			//xmlHttpResponseID.innerHTML = parseScript(xmlHttp.responseText);
			xmlHttpResponseID.innerHTML = xmlHttp.responseText; 
			loadingIndicator.innerHTML	= "<font color=red>Error Occured</font>";
			
		}
	}
	//else
//	{xmlHttpResponseID.innerHTML ="Error, maybe too many request";
//		}
}
//Get AJAX data
function getAjaxData(sn,elementID){
	xmlHttpResponseID = document.getElementById(elementID);
	//xmlHttpResponseID.innerHTML = '<strong>Loading...</strong>';
	
	loadingIndicator=document.getElementById("ajaxLoadingIndicator");
	loadingIndicator.style.display="block";
	
	
	createXMLHttpRequest();
	xmlHttp.onreadystatechange = XMLHttpResponse;
	//var url="ajax.asp?page=ajax&sname=" + subname;
	//var uri = window.location.href.replace(/#.*$/ig, '');
	var uri=returnDocument();
	var url=uri + "?page=rajax&sn=" + sn;
	//alert(url);
	xmlHttp.open("post", url, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8"); 
	GetParams1(); 
    xmlHttp.setRequestHeader("Content-length", parameters.length); 
    //xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
}

 


function returnDocument() {
        var file_name = document.location.href;
        var end = (file_name.indexOf("?") == -1) ? file_name.length : file_name.indexOf("?");
		
		file_name = file_name.substring(file_name.lastIndexOf("/")+1, end);
		file_name = file_name.replace("#", "");
	   return file_name;
		
		
    }



function setParameters()
{ 
parameters=""; 
var frm = document.forms[0];


		var numberElements = frm.elements.length; 
		for(var i = 0; i < numberElements; i++) 
		{ 
			if(i < numberElements-1) 
				{
					parameters += frm.elements[i].name+"="+ encodeURIComponent(frm.elements[i].value)+"&"; 
				} 
			else 
				{
					parameters += frm.elements[i].name+"="+ encodeURIComponent(frm.elements[i].value); 
				} 
		}
		
		
		

}



function GetParams1()
{
var ParamObj = document.forms[0]

var StrParam = "";
	  for (i=0; i<ParamObj.getElementsByTagName("input").length; i++) 
	  {
			if (ParamObj.getElementsByTagName("input")[i].type == "text") 
			{
			   StrParam += ParamObj.getElementsByTagName("input")[i].name + "=" + encodeURIComponent(ParamObj.getElementsByTagName("input")[i].value) + "&";
			   
			}
			
			if (ParamObj.getElementsByTagName("input")[i].type == "password") 
			{
			   StrParam += ParamObj.getElementsByTagName("input")[i].name + "=" + encodeURIComponent(ParamObj.getElementsByTagName("input")[i].value) + "&";
			   
			}
			
			
			if (ParamObj.getElementsByTagName("input")[i].type == "checkbox") 
			{
				   if (ParamObj.getElementsByTagName("input")[i].checked) 
						{
					  StrParam += ParamObj.getElementsByTagName("input")[i].name + "=" + encodeURIComponent(ParamObj.getElementsByTagName("input")[i].value) + "&";
						} 
				   else 
						{
					  StrParam += ParamObj.getElementsByTagName("input")[i].name + "=&";
						}
			}
			
			
			
			if (ParamObj.getElementsByTagName("input")[i].type == "radio")
			{
			   if (ParamObj.getElementsByTagName("input")[i].checked) 
				   {
					  StrParam += ParamObj.getElementsByTagName("input")[i].name + "=" + encodeURIComponent(ParamObj.getElementsByTagName("input")[i].value) + "&";
				   }
			}  
		 
			if (ParamObj.getElementsByTagName("input")[i].type == "hidden")
			{
			   
				StrParam += ParamObj.getElementsByTagName("input")[i].name + "=" + encodeURIComponent(ParamObj.getElementsByTagName("input")[i].value) + "&";
			
			} 
		}
  
	   for (i=0; i<ParamObj.getElementsByTagName("textarea").length; i++)
		{
			var val =  ParamObj.getElementsByTagName("textarea")[i].value;
			
			//val = val.replace("\r","<br/>")
//			val = val.replace("\\n","<br/>")
		 
			
			//val = val.replace("\n","<br>") single replace
			//val = val.replace(/\n/g,"<br>")		//replaceAll ==>>  sorun : html kodları içinde problem : ornek : <table>
			
			// solution : eger panel yok ise  bunu yap.
			if  (nicEditors.findEditor('msg1')!=null) {val=val} else {val = val.replace(/\n/g,"<br>")}
			// cozum2: 
			
			
			val = encodeURIComponent(val);
			
			StrParam += ParamObj.getElementsByTagName("textarea")[i].name + "=" + val + "&";
		}
		
		for (i=0; i<ParamObj.getElementsByTagName("select").length; i++) 
		{
			var sel = ParamObj.getElementsByTagName("select")[i];
			StrParam += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
	
		
		if  (nicEditors.findEditor('msg')!=null)
			{
				nicEditors.findEditor('msg').saveContent();
				///alert(document.getElementById('msg').value)
				//document.getElementById('Counter').innerHTML=document.getElementById('msg').value.length;		
				StrParam +=  "msg=" + encodeURIComponent(document.getElementById('msg').value);
			}
		
parameters = StrParam;
}


function parseScript(_source) {
		var source = _source;
		var scripts = new Array();
		
		// Strip out tags
		while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) {
			var s = source.indexOf("<script");
			var s_e = source.indexOf(">", s);
			var e = source.indexOf("</script", s);
			var e_e = source.indexOf(">", e);
			
			// Add to scripts array
			scripts.push(source.substring(s_e+1, e));
			// Strip from source
			source = source.substring(0, s) + source.substring(e_e+1);
		}
		
		// Loop through every script collected and eval it
		for(var i=0; i<scripts.length; i++) {
			try {
				 eval(scripts[i]); // calişstir. burda calistirilirse append ile birlikte 2 defa calistirilmis oluyor. 1.1.2012
				// append new script, if responsetext contents a script add it to the document head scripts
				// response html icine eni script fonksiyonu tanimlanabilir ve bu fonksiyon html sayfasinda her islemde artik erişilebilir.
					var oScript = document.createElement('script'); 
				    oScript.text = scripts[i]; 
				    document.getElementsByTagName("head").item(0).appendChild(oScript); 
				
			}
			catch(ex) {
				// do what you want here when a script fails
			}
		}
		
		// Return the cleaned source
		//return source;
	}



