var total_mails; var cmail; var net=new Object(); net.READY_STATE_UNITIALIZED = 0; net.READY_STATE_LOADING = 1; net.READY_STATE_LOADED = 2; net.READY_STATE_INTERACTIVE = 3; net.READY_STATE_COMPLETE = 4; net.ContentLoader=function(url,poststr,onload,onerror){ this.url = url; this.poststr = poststr; this.req = null; this.onload = (onload) ? onload: this.defaultLoaded; this.onerror = (onerror) ? onerror: this.defaultError; this.loadXMLDoc(url,poststr); } net.ContentLoader.prototype={ loadXMLDoc:function(url,poststr){ if (window.XMLHttpRequest){ this.req = new XMLHttpRequest(); } else if (window.ActiveXObject) { this.req = new ActiveXObject("Microsoft.XMLHTTP"); } if (this.req) { try { var loader=this; this.req.onreadystatechange=function() { loader.onReadyState.call(loader); } // GET //this.req.open('GET',url,true); //this.req.send(null); // POST //задаем урл и метод открытия this.req.open('POST', url, true); this.req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // посылаем заголовок, для отправки формы this.req.setRequestHeader("Content-length", poststr.length); //отправляем размер данных в форме *это важно!* this.req.setRequestHeader("Connection", "close"); this.req.send(poststr); //посылаем данные } catch (err) { this.onerror.call(this); } } }, onReadyState:function(){ var req=this.req; var ready=req.readyState; if (ready==net.READY_STATE_COMPLETE) { var httpStatus=req.status; //alert (this.req.status); if (httpStatus==200 || httpStatus==0) { this.onload.call(this); } else { this.onerror.call(this); } } }, defaultError:function() { alert("Error fetching data!: ("+this.url+")\n\n readyState: "+this.req.readyState+"\n status: "+this.req.status+"\n headers: "+this.req.getAllResponseHeaders()); }, defaultLoaded:function() { //alert("Data fetched!"+"\n\n readyState: "+this.req.readyState+"\n status: "+this.req.status+"\n headers: "+this.req.getAllResponseHeaders()+"\n content: "+this.req.responseText); } } // функция преобразует форму в строку параметров function make_query_string(container_obj) { var ret_str = ""; var inputs_ = container_obj.getElementsByTagName("INPUT"); var exists_radio = new Object(); for (var i=0; i= 0) ret_str += "&"+obj.name+"="+encodeURIComponent(obj.options[obj.selectedIndex].value); else ret_str += "&"+obj.name+"="; } return ret_str; } /* function Reader() { var returner='start'; var input=loader.req.responseXML; //var input2=loader.req.responseText; xmlRoot=input.documentElement; avtorArray=xmlRoot.getElementsByTagName("mail"); var total_mails_a=xmlRoot.getElementsByTagName("total_mails"); total_mails=total_mails_a.item(0).firstChild.data; //alert (total_mails); //message.innerHTML=message.innerHTML+'
'; var total;//=avtorArray.length-1; if (avtorArray.length==1) total=1; for (var g=0;gотправляем: '+out; // надо получить следующее мыло и по нему отправить, var outar = out.split(":"); if (outar[0]!='') { // если оно есть - отправляем - var proc=outar[0]/total_mails*100; proc += ""; proc = proc.replace(/(\.\d).*$/,"$1"); message.innerHTML='
завершено: '+ proc +'%

текущий id подписчика: ' + outar[0] + '
email: ' +outar[1]; if (outar[0]!=total_mails) { new net.ContentLoader('/oma/old_news/mailer.php?mail='+outar[1]+'&id='+outar[0],done_function); } else { new net.ContentLoader('/oma/old_news/mailer.php?mail='+outar[1]+'&id='+outar[0],done_function3); } } else { // если нет - заканчиваем. alert (out); message.innerHTML='
рассылка завершена'; } } function done_function2 () { // тут выводим кнопочки подтверждения var out=this.req.responseText; var message = document.getElementById('message'); message.innerHTML=out; } */