/*
url-loading object and a request queue built on top of it
*/

/* namespacing object */
var net=new Object();

net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;


/*--- content loader object for cross-browser requests ---*/
net.ContentLoader=function(url,onload,onerror,method,params,contentType){
  this.req=null;
  this.onload=onload;
  this.onerror=(onerror) ? onerror : this.defaultError;
  this.loadXMLDoc(url,method,params,contentType);
}

net.ContentLoader.prototype.loadXMLDoc=function(url,method,params,contentType){
  if (!method){
    method="GET";
  }
  if (!contentType && method=="POST"){
    contentType='application/x-www-form-urlencoded';
  }
  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(){
        net.ContentLoader.onReadyState.call(loader);
      }
      this.req.open(method,url,true);
      if (contentType){
        this.req.setRequestHeader('Content-Type', contentType);
      }
      this.req.send(params);
    }catch (err){
      this.onerror.call(this);
    }
  }
}


net.ContentLoader.onReadyState=function(){
  var req=this.req;
  var ready=req.readyState;
  if (ready==net.READY_STATE_COMPLETE){
    var httpStatus=req.status;
    if (httpStatus==200 || httpStatus==0){
      this.onload.call(this);
    }else{
      this.onerror.call(this);
    }
  }
}

net.ContentLoader.prototype.defaultError=function(){
  alert("error fetching data!"
    +"\n\nreadyState:"+this.req.readyState
    +"\nstatus: "+this.req.status
    +"\nheaders: "+this.req.getAllResponseHeaders());
}

function SendVote(toarticle, vote){
        var url = '/test/addVote4test.php'; 
        var strArticle = toarticle;
        var strVote = vote;
        var strParams = "toarticle="+strArticle + "&vote=" + strVote + "&makeUpload=1"
      	if(strArticle && strVote){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}
      }
function AddFavorite(){
        
        var url = '/test/addFavorite4test.php'; 
        var strArticle = document.forms['favor'].toarticle.value;
	if(document.forms['favor'].UplSend.value){
	var UplSend = document.forms['favor'].UplSend.value
		var strParams = "toarticle=" + strArticle 
		        if(strArticle &&   UplSend){
			strParams += "&uplsend" + UplSend

		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}}
		else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}
      }
function LoginRequest(){
        
        var url = '/test/getArticle4test.php';
	if(document.forms['complaint_form']){
        if(document.forms['complaint_form'].toarticle){
	var strArticle = document.forms['complaint_form'].toarticle.value;}}
	var strName = document.forms[0].username.value;
        var strPass = document.forms[0].passwd.value;
        var strParams = "username="+strName + "&passwd=" + strPass
	if(strArticle){strParams += "&toarticle=" + strArticle}
        document.getElementById("go_login").style.display='none';
	document.getElementById("message").innerHTML = "Пожалуйста, подождите!";document.getElementById("message").style.display='block';
	if(strName && strPass){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
	else if(strName){
			oidForm=document.forms['4oid'];
			if(oidForm){oidForm.username.value=strName;oidForm.submit();
			}
	}
	else{
		document.getElementById("go_login").style.display='block';
		document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
	}
      }
	function CreateTxt(){
           strText = this.req.responseText;
		   eval(this.req.responseText);
		  
	}
  function extLogin(){
        
        var url = '/test/getArticle4test.php'; 
        document.getElementById("go_login").style.display='none';
	document.getElementById("menu_user").style.display='none';
	document.getElementById("message").innerHTML = "Пожалуйста, подождите!";document.getElementById("message").style.display='block';
	//blockSendComment=document.getElementById('comment_form');
	//if(blockSendComment){blockSendComment.style.display='none';}
	deleteCookie('user_id');
	strParams="exit=1";
	if(strParams){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			document.getElementById("message").innerHTML = "Пусто!!!";
		}
      }
	function UserIsReg(strNickname, strUsername, NewMess){
		if(NewMess){strNewMess='&nbsp;'+NewMess;}else{strNewMess='';}
		blockLogin=document.getElementById('go_login');
		blockLogin.innerHTML='<span class=privet>Добрый д&egrave;нь, <a href="/'+strUsername+'/" title="Перейти на личную страницу пользователя '+strNickname+'">'+strNickname+'!</a><font>&nbsp;&mdash;&nbsp;<a href="#" onclick="extLogin();" title="Войти под другим именем">Обознались?</a></font></span>';blockLogin.style.display='block';menuUser=document.getElementById('menu_user');menuUser.style.display='block';menuUser.innerHTML='&#8594;&nbsp;<a href="/'+strUsername+'/favorites/" title="Статьи, помеченные вами как &laquo;Избранные&raquo;">Избранное</a>&nbsp;|&nbsp;<a href="/'+strUsername+'/edit_info/" title="Поменять пароль, подпись под вашими статьями, закачать аватар и др.">Редактировать профиль</a>&nbsp;|&nbsp;<a href="/'+strUsername+'/edit_adj/" title="Запретить показ рекламы на своих статьях, закачать собственные баннеры, ссылки и др.">Настройки</a>&nbsp;|&nbsp;<a href="/'+strUsername+'/messages/" title="Ваши личные сообщения">Cообщения</a>'+strNewMess;document.getElementById('message').style.display='none';
		blockSendComment=document.getElementById('comment_form');
		if(blockSendComment){blockSendComment.style.display='block';
		document.getElementById('new_comment4user').style.display='block';}
		ParentComments=document.getElementById('comments_parent');
		//if(document.getElementById('user_message')){
		//	block_mess=document.getElementById('user_message');
		//	if(block_mess){block_mess.style.display='block';}
		//}
		
		//block_mess_article=document.getElementById('user_message_article');
		//if(block_mess_article){block_mess_article.style.display='block';
		//	addEvent(document.getElementById('link4MailAuthor'), 'click', getMailAuthor);
		//}
		
		//if(document.forms['message']){
		//	if(document.forms['message'].fromuser){
		//		document.forms['message'].fromuser.value=strUsername;
		//	}
		//}
		blockFavorite=document.getElementById('ask');
		if(blockFavorite){
		blockFavorite.style.display='block';}
		blockAddStat=document.getElementById('add_stat');
		if(blockAddStat){blockAddStat.style.display='block';}
		CommentsForm=document.forms['base_comment'];
		if(CommentsForm){CommentsForm.user.value=strUsername;}
		if(ParentComments){
		//	arrDiv=ParentComments.getElementsByTagName('div');
			arrFm=ParentComments.getElementsByTagName('form');

		//	for(i=0;i<arrDiv.length;i++){
		//		if(whoisClass(arrDiv[i], 'answ')){
		//			arrDiv[i].style.display='block';
					
		//		}
		//	}
			for(i=0;i<arrFm.length;i++){
				
					arrFm[i].user.value=strUsername;
					
				
			}

		}	
		
	}
	function CommentRequest(formName){
        var url = '/test/loadComment4test.php';
        var strUser = document.forms[formName].user.value;
	var strArticle = document.forms[formName].toarticle.value;
	if(document.forms[formName].parentcomment) {var strParent = document.forms[formName].parentcomment.value;}
        var strText = document.forms[formName].bodytext.value;
	var strParams = "user="+strUser + "&toarticle=" + strArticle + "&bodytext=" + strText + "&makeUpload=1"
        
        
	if(strParent) {strParams += "&parentcomment=" + strParent; }
	if(strText){ 
		if(document.getElementById('comm_debug')&& !strParent){
			document.getElementById('comm_debug').style.display="block";document.forms[formName].makeUpload.disabled="true";
		} 
		if(document.forms[formName].parentNode){
			if(whoisClass(document.forms[formName].parentNode, 'middle')){
				newElement=document.createElement('span');
				newElement.innerHTML='Пожалуйста, подождите!';
				newElement.className='comm_debug1';
				document.forms[formName].parentNode.insertBefore(newElement, document.forms[formName]);
				document.forms[formName].makeUpload.disabled=true;
			}
		}
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);
	}
		else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}
      }
	function LoadImg(){
                var url = '/test/loadImage4test.php'; 
        	var strUser = document.forms['load_article'].user.value;
	        var strArticle = document.forms['load_article'].toarticle.value;
		if(document.forms['load_article'].parentarticle) {var strParent = document.forms['load_article'].parentarticle.value;}
	        var strImg = document.forms['load_article'].turl.value;
	        var strCap = document.forms['load_article'].caption.value;
		var strParams = "user="+strUser + "&toarticle=" + strArticle + "&turl=" + strImg + "&caption=" + strCap + "&makeUpload=1"
	        if(strParent) {strParams += "&parentarticle=" + strParent; }
		if(strImg){
			var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
			else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}

	}
	function ComplaintRequest(formName){
	var url = '/test/loadComplaint4test.php'; 
        var strUser = document.forms[formName].user.value;
        var strArticle = document.forms[formName].toarticle.value;
	var strText = document.forms[formName].bodytext.value;
	var strParams = "user="+strUser + "&toarticle=" + strArticle + "&bodytext=" + strText + "&makeUpload=1"
	if(strText){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}
      }
	  function ReqUserDelArt(){
	var url = '/test/addDeleteRequest.php';
        var strArticle = document.forms['edit_user'].article.value;
		var strParams = "article=" + strArticle + "&makeUpload=1"
	if(strArticle){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}
      }
	  function SaveUserAdd(){
	var url = '/test/editUserMode4test.php';
        for(i=0;i<3;i++){
		if(document.forms['edit_userrec'].rec_user[i].checked){
		var strMode = document.forms['edit_userrec'].rec_user[i].value;}}
		var strParams = "mode=" + strMode + "&makeUpload=1"
	if(strMode){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}
      }
	function SaveUserVew(){
	var url = '/test/editUserMode4test.php';
        
		var strVew = document.forms['edit_uservew'].sortmode.value;
		var strParams = "vew=1&sortmode=" + strVew + "&makeUpload=1"
	if(strVew){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			//document.getElementById("go_login").style.display='block';
			//document.getElementById("message").innerHTML = "Пожалуйста, заполните поля Логин и Пароль.";
		}
      }
	function SaveUserSubs(){
	var url = '/test/editUserMode4test.php';
        	var strSMode=0;
		var strSModeTr = document.forms['edit_usersubs'].sbscmode.checked;
		if(strSModeTr)strSMode=1
		var strParams = "subs=1&sbscmode=" + strSMode + "&makeUpload=1";
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);
      }


	  function LoadLink(){
	var url = '/test/loadLink4test.php';
        
		if(document.forms['links'].caption && document.forms['links'].target){
			if(document.forms['links'].caption.value!="" && document.forms['links'].target.value!=""){
				var strCaption = document.forms['links'].caption.value;
				var strTarget = document.forms['links'].target.value;
				var strParams = "caption=" + strCaption + "&targetlink=" + strTarget + "&makeUpload=1"
				if(strCaption&&strTarget){
				if(document.getElementById("deb_link")){document.getElementById("deb_link").innerHTML="Пожалуйста, подождите!";
				document.getElementById("deb_link").style.color='#666666';document.getElementById("deb_link").style.display='block';}
					var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);
				}
			}
		
			else{
				if(document.getElementById("hid_mess_links")){document.getElementById("hid_mess_links").innerHTML="Пожалуйста, заполните оба поля!";
				document.getElementById("hid_mess_links").style.display='block';}
			}
      	}
	}
	function SendMessage(FormName){
		var formName=FormName;
		var url = '/test/loadMessage4test.php'; 
		if(formName){
			var strHdrTitle = document.forms[formName].hdrtitle.value;
        		var strBodyText = document.forms[formName].bodytext.value;
			var strToUser = document.forms[formName].touser.value;
			var strFromUser = document.forms[formName].fromuser.value;

		}
		else{
        		var strHdrTitle = document.forms['message'].hdrtitle.value;
        		var strBodyText = document.forms['message'].bodytext.value;
			var strToUser = document.forms['message'].touser.value;
			var strFromUser = document.forms['message'].fromuser.value;

		}
		var strParams = "touser="+strToUser + "&fromuser=" + strFromUser + "&hdrtitle=" + strHdrTitle + "&bodytext=" + strBodyText + "&makeUpload=1"
		if(formName) {
			strParams += "&formname=" + formName; 
		}
		if(strBodyText && strHdrTitle){
			var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);
		}
		else{fn="message_send_"+formName;
			if(document.getElementById("message_send")){
				document.getElementById("message_send").style.display='block';
				document.getElementById("message_send").innerHTML = "Пожалуйста, заполните поля формы сообщения!";
			}
			else if(document.getElementById(fn)){
				document.getElementById(fn).style.display='block';
				document.getElementById(fn).innerHTML = "Пожалуйста, заполните поля формы сообщения!";
			}
		}
	}
	
	// added 05.01.08 Andrey
	function MarkMsgAsRead(msgId){
		if (!msgId){ return false; }
		var url = '/test/markMessageAsRead4test.php';
		var strParams = "msgId="+msgId;
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);
	}
      
	  function SendPasswd(){
		var url = '/test/getPasswd4test.php'; 
		var strLogin = document.forms['form_passwd'].user_login.value;
   		if(strLogin){
			var strParams = "touser="+strLogin + "&makeUpload=1"
			var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);
		}
		else{var dvError=document.getElementById('passwd_error');
			if(dvError){dvError.style.display='block';dvError.innerHTML="Пожалуйста, впишите в поле формы свой логин.";}

		}
		}
	function DeleteFav(article){
	var url = '/test/delFav4test.php'; 
        if(article){
		var strArticle = article;
       	var strParams = "article="+strArticle + "&makeUpload=1"
	if(strArticle){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			//document.getElementById("message_send").style.display='block';
			//document.getElementById("message_send").innerHTML = "Пожалуйста, заполните поля формы сообщения!";
		}}
     }

function DeleteImg(elem) {
	var parentElem = elem.parentNode.parentNode.parentNode;
	if(document.getElementById('debug')){
		elDebug=document.getElementById('debug');
		elDebug.style.display="block";
		elDebug.style.color="#666666";
		elDebug.innerHTML="Пожалуйста, подождите!";
	}
	if(whoisClass(parentElem, 'img')){
		var stElem = new String(parentElem.id);
		var strElem = stElem.substring(7, stElem.length); 
        
        	var url='/test/delImg4test.php';
           	img_id= strElem;
              toarticle= document.forms["load_article"].toarticle.value;
       	var strParams = "img_id="+img_id + "&toarticle="+toarticle+"&makeUpload=1"
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);
	}
}
	

      function UserIsExt(){
		blockLogin=document.getElementById('go_login');
		blockLogin.innerHTML='<table><tr><td class=fr>Логин&nbsp;&mdash;&nbsp;<a href="/registration/" title="Зарегистрировать нового автора">Зарегистрировать</a></td></td><td>Пароль&nbsp;&mdash;&nbsp;<a href="/password_restoration/" title="Нажмите, если забыли свой пароль">Вспомнить</a></td><td></td></tr><tr><td class=lg><input type="text" name="username" class=inplogin value="" placeholder=" openID тоже сработает!"></td><td><input type="password" name="passwd" class=inplogin value=""></td><td><input type="submit" name="btn_login" value="Войти" class=btn_go onclick="LoginRequest();return false;"></td></tr></table>';
		blockLogin.style.display='block';
		document.getElementById('menu_user').style.display='none';
		//if(document.getElementById('new_comment4user')){document.getElementById('new_comment4user').style.display='none';}
                document.getElementById("message").style.display='none';
		blockFavorite=document.getElementById('ask');
		if(blockFavorite){blockFavorite.style.display='none';}
		block_mess=document.getElementById('user_message');
		if(block_mess){block_mess.style.display='none';}
		block_mess_article=document.getElementById('user_message_article');
		if(block_mess_article){block_mess_article.style.display='none';}
		blockDelete=document.getElementById('delete');
		if(blockDelete){
				blockDelete.innerHTML='<img src="/images/printstat.gif" alt="" border="0"><a href="#">Распечатать</a>';
				spEl=blockDelete.getElementsByTagName('a')[0];
				if(spEl){
					addEvent(spEl, 'click', printDoc);
				}
				
			}

		if(document.getElementById){
		var ph = new InputPlaceholder (document.forms[0].username, 'openID тоже сработает!', 'inplogin', 'emptyLogin');}

		blockAddStat=document.getElementById('add_stat');
		if(blockAddStat){blockAddStat.style.display='none';}
		
		//parentEl=document.getElementById('rate');
		//if(parentEl){
		//arrEl=parentEl.getElementsByTagName('span');
			//if(arrEl){
			//	for(i=0;i<arrEl.length;i++){
			//		if(whoisClass(arrEl[i], 'rate_result_1')){
			//		setClass(arrEl[i], 'disabled');}
			//	}
			//}
		//}
		CommentsForm=document.forms['base_comment'];
		if(CommentsForm){CommentsForm.user.value='';}

		ParentComments=document.getElementById('comments_parent');
		if(ParentComments){
		arrFm=ParentComments.getElementsByTagName('form');

		
			for(i=0;i<arrFm.length;i++){
				
					arrFm[i].user.value="";
					
				
			}

		//	arrDiv=ParentComments.getElementsByTagName('div');
		//	for(i=0;i<arrDiv.length;i++){
		//		if(whoisClass(arrDiv[i], 'answ')){
					//arrDiv[i].style.display='none';
				//}
			//}
		}	
		

	}
	function printDoc(){window.print();return false;}
	function DeleteMessage(message){
		var url = '/test/delMessage4test.php'; 
        if(message){
		var strMessage = message;
       	var strParams = "delid="+strMessage + "&makeUpload=1"
	if(strMessage){
		var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
		else{
			//document.getElementById("message_send").style.display='block';
			//document.getElementById("message_send").innerHTML = "Пожалуйста, заполните поля формы сообщения!";
		}
	}
	}
	function DelLink(evt){
		var elem=null;
		if((evt=checkEvent(evt))){
			elem = (evt.target) ? evt.target : evt.srcElement;
			if(elem){
				if(elem.nodeName=='FONT' || elem.nodeName=='font'){
					var url = '/test/delLink4test.php'; 
        				pp=elem.parentNode;
					var Link = pp.getAttribute('id');
					strLink=Link.substring(5, Link.length);
       				var strParams = "delid="+strLink + "&makeUpload=1"
					if(strLink){
					        document.getElementById("del_link").style.display='block';
						document.getElementById("del_link").innerHTML = "Пожалуйста, подождите!";
						var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
					else{
					//document.getElementById("message_send").style.display='block';
					//document.getElementById("message_send").innerHTML = "";
					}
				}
			}
		}
	}
	function DelBan(evt){

		var elem=null;
		if((evt=checkEvent(evt))){
			elem = (evt.target) ? evt.target : evt.srcElement;
			if(elem){
				if(elem.nodeName=='FONT' || elem.nodeName=='font'){
					var url = '/test/delBan4test.php'; 
        				pp=elem.parentNode;
					var Link = pp.getAttribute('id');
					strLink=Link.substring(7, Link.length);
       				var strParams = "delid="+strLink + "&makeUpload=1"
					if(Link){
					        //document.getElementById("del_ban").style.display='block';
						//document.getElementById("del_ban").innerHTML = "Пожалуйста, подождите!";
						var loader=new net.ContentLoader(url,CreateTxt,null,"POST",strParams);}
					else{
					//document.getElementById("message_send").style.display='block';
					//document.getElementById("message_send").innerHTML = "";
					}
				}
			}
		}
	}

	function isNotEmpty(elem){
		var str= elem.value;
		var re = /.{4,}/;  blockHid=document.getElementById("empty");
		if(!str.match(re)){
		if(blockHid){blockHid.style.display="block";blockHid.innerHTML="Слова для поиска не должны быть короче 4 символов.";}
		return false;
		}else{if(blockHid){blockHid.style.display="none";}return true;}
	}
	function isLen(elem){
		var str= elem.value;
		var re = /.+/;  blockHid=document.getElementById("error_"+elem.name);
		if(!str.match(re)){
		if(blockHid){blockHid.style.display="inline";}
		return false;
		}else{if(blockHid){blockHid.style.display="none";}return true;}
	}
	function isValidForm(form){
		if(isLen(form.username)){
			if(isLen(form.nickname)){
				if(isLen(form.email)){
					if(isLen(form.varcode)){
						return true;
					}
				}
			}
		}
		return false;
	}
	function delConfirm(){
		blockDelete=document.getElementById('delete');
		if(blockDelete){
			spEl=blockDelete.getElementsByTagName('span')[0];
			if(spEl){
				spEl.innerHTML='Уверены?';
				addEvent(spEl, 'click', delStat);
			}
		}
	}
	function delStat(){
		if(document.forms['4del']){
		document.forms['4del'].submit();}
	}