/////////////شروع دستور آژاكس
//////////////met,   روش ارسال متغيير ها('post' / 'get' )
//////////////url ,   آدرس فايل كه اجرا مي شود
//////////////post  ,  متغييرها
//////////////idshow ,  محل ديدن اطلاعات خروجي
//////////////idwait , محل نوشتن متن يا عكس لودينگ 
//////////////state_mode ,   ( 'text' نمايش متن در لودينگ/ 'pic'نمايش عكس در لودينگ / 'return'فراخاني صفحه جاري  / 'newreturn'فراخاني صفحه جاري از سرور / 'js' / 'input' / 'no' ) 
//////////////wait_pic , آدرس عكس لودينگ
//////////////java_function , ('no'/''/'js'/'return'/'newreturn'  )
//////////////alpha ('1' / '') ايجاد سايه در كل وب سايت يا خير
//////////////
//////////////
/////////////////////////
////javascript:ajax( 'post', 'center_includes.asp' , 'setpage=help'  ,'respage' , 'respage' , 'pic' , 'images/load.gif' ,'' ,'1');		 
function ajax( met, url , post  ,idshow , idwait , state_mode , wait_pic ,java_function ,alpha){
 var xmlhttp=false;
 var my_respons='';
 var my_new_fun='';
 //this is note for change in states
 var note_1='&#1583;&#1585; &#1581;&#1575;&#1604; &#1575;&#1585;&#1587;&#1575;&#1604;...'
 var note_2='&#1583;&#1585; &#1581;&#1575;&#1604; &#1576;&#1585;&#1585;&#1587;&#1740; &#1588;&#1583;&#1606;...'
 var note_3='&#1583;&#1585; &#1581;&#1575;&#1604; &#1583;&#1585;&#1740;&#1575;&#1601;&#1578; &#1575;&#1591;&#1604;&#1575;&#1593;&#1575;&#1578;...'
 var note_4=''
 var note_5='&#1594;&#1740;&#1585; &#1602;&#1575;&#1576;&#1604; &#1583;&#1587;&#1578;&#1585;&#1587;&#1740; ...'
 my_wait='<table border="0" width="100%" height="80%"><tr><td align="center" ><img src="'+wait_pic+'" border="0"></td></tr></table>';
 if(alpha==1 ){
 loading_effect('1');
 }
 //END
     if (window.navigator.onLine==false){
	 alert('اشکالی در برقراری ارتباط با سایت وجود دارد');
	 return false;
	 }
     if (window.XMLHttpRequest){
       xmlhttp = new XMLHttpRequest();
       if (xmlhttp.overrideMimeType){
       xmlhttp.overrideMimeType("text/xml");
	   }
	 }
     else 
	 if (window.ActiveXObject){
	 try{
     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 }
     catch (e){
	 try{
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	 }
     catch(e){
	 xmlhttp=false;
	 }
   }
  }
  if (!xmlhttp){
  alert("CONNECT FAILURE");
  return false;
  }
		if( met =='post' ){
		xmlhttp.open('POST', url, true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		post=post+'&MY_AJAX_TIME_SEND='+escape(new Date().getTime());
		xmlhttp.send(post);
		}else
		if( met == 'get' ){
		url=url+'&MY_AJAX_TIME_SEND='+escape(new Date().getTime());
	    xmlhttp.open('GET',url, true);
		xmlhttp.send(null);
		}
		if ( state_mode == 'text' ){
		write_in_id(idwait,note_1);
		}else if ( state_mode == 'pic' ){
		write_in_id(idwait,my_wait);
		}
    xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4  && xmlhttp.status == 200 ) {
		my_respons=xmlhttp.responseText;
	    my_respons = my_respons.replace('\n', '');
	    my_respons = my_respons.replace('\r', '');
	    my_respons = getscript(my_respons);
		}
	 if ( state_mode == 'return' && xmlhttp.readyState == 4  && xmlhttp.status == 200 ) {
	 //eval(java_function+"'"+my_respons+"')");قبلا اين بود من به خط بعدي تغيير دادم
	 doeval(java_function+"'"+my_respons+"')");
	 }else if ( state_mode == 'newreturn'  && xmlhttp.readyState == 4  && xmlhttp.status == 200 ) {
	  my_new_fun = java_function.replace('#codehayeman#', my_respons);
	  doeval(my_new_fun);
	 }else if ( state_mode == 'js'  && xmlhttp.readyState == 4  && xmlhttp.status == 200 ) {
	 doeval(my_respons)
	 }else if ( state_mode == 'input'   && xmlhttp.readyState == 4  && xmlhttp.status == 200  ) {
	 document.getElementById(idshow).value=my_respons;
	 }else	if ( state_mode == 'text' ){
	   if(xmlhttp.readyState==1){
	   write_in_id(idwait,note_1);
	   }
	   if(xmlhttp.readyState==2){
	   write_in_id(idwait,note_2);
	   }
	   if(xmlhttp.readyState==3){
	   write_in_id(idwait,note_3);
	   }
       if (xmlhttp.readyState == 4  && xmlhttp.status == 200 ) {
	   write_in_id(idwait,note_4);
	   write_in_id(idshow,my_respons);
	   
	   }
	 }else if ( state_mode == 'pic' &&  xmlhttp.readyState == 4  && xmlhttp.status == 200 ) {
     write_in_id(idwait,'');
	 write_in_id(idshow,my_respons);
	 
	 }else if ( state_mode == 'no'   &&  xmlhttp.readyState == 4  && xmlhttp.status == 200 ) {
	 write_in_id(idshow,my_respons);
	 }else if ( xmlhttp.readyState == 4  &&  xmlhttp.status != 200 ) {
		 alert( 'با عرض پوزش \n در خواست شما به صورت كامل انجام نشد \لطفا اتصال خود را به شبكه اينترنت چك كنيد\nدسترسي به اين آدرس مقدور نمي باشد \n '+url );
	 }
	 if ( xmlhttp.readyState == 4  &&  xmlhttp.status == 200 ){
	    if(alpha==1){
	    setTimeout("loading_effect('2')",100);
	    }
        if(java_function !=='no' && java_function !=='' &&  state_mode != 'js' && state_mode != 'return'  && state_mode != 'newreturn'  ){
	    setTimeout("eval("+java_function+")",100)
		}
	 }
     }
}
////////////////////
function loading_effect(k){
	ht = document.getElementsByTagName("html");
	if(k==1){
    ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";	
	ht[0].style.cursor = 'wait';
	}else{
    ht[0].style.filter = "";
	ht[0].style.cursor = 'auto';
	}
}

///////////////////////////
function replace_for_ajax(note){
	note= note.replace(/&/g,"**am**");
	note= note.replace(/=/g,"**mosavi**");
	note= note.replace(/\+/g,"**jam**");
	return note;
}
///////////////////////////////
function write_in_id(id,note){
 if( document.getElementById(id) ){
  show_id(id);
 document.getElementById(id).innerHTML=note;
 }
}
///////////////////////////////
function hide_id(id){
    if( document.getElementById(id) ){
	document.getElementById(id).style.display ='none';
	}
}
//////////////////////////////////
function show_id(id){
    if( document.getElementById(id) ){
    document.getElementById(id).style.display ='';
	}
}
//////////////////////////////////
function getscript(str){
let_out=str;
str=str.split('#endofmyscript');
if( str[1] !=null){
doeval(str[0]);
let_out =let_out.replace(str[0]+'#endofmyscript', '');
}

return let_out;
}
////////////////////////////////////////
function doeval(js){
	if(js!=null){
	var sc = document.createElement('script');
	jsCode = js;
	sc.type = 'text/javascript';
	document.getElementsByTagName('head')[0].appendChild(sc);
	sc.text = 'try{eval(jsCode);}catch(e){}jsCode="";';
	//sc.text = 'try{eval(jsCode);}catch(e){try{alert(e.fileName+" : "+e.lineNumber+"\\n"+e.name+" : "+e.message); alert(e.stack);}catch(e){}}jsCode="";';
	sc.text = "\/\/ :-)";
	}
}
//////////////////////////////////////////

//////////////////////////////////////////
function doeval(js){
	if(js!=null){
	var sc = document.createElement('script');
	jsCode = js;
	sc.type = 'text/javascript';
	document.getElementsByTagName('head')[0].appendChild(sc);
	sc.text = 'try{eval(jsCode);}catch(e){}jsCode="";';
	//sc.text = 'try{eval(jsCode);}catch(e){try{alert(e.fileName+" : "+e.lineNumber+"\\n"+e.name+" : "+e.message); alert(e.stack);}catch(e){}}jsCode="";';
	sc.text = "\/\/ :-)";
	}
}
////////////////////////////////////////////




////////////////////////////////////////////////////////////////////END AJAX
