function showChild(elem)
{
	if(document.getElementById(elem))
	{
		if(document.getElementById(elem).style.display=='none')
		{
			document.getElementById(elem).style.display='block';
			el=elem.substring(3,elem.length);
			document.getElementById('plus_'+el).style.backgroundImage='url("/img/icon_minus.png")';
		}
		else
		{
			document.getElementById(elem).style.display='none';
			el=elem.substring(3,elem.length);
			document.getElementById('plus_'+el).style.backgroundImage='url("/img/icon_plus.png")';
		}
	}
}
function expandTree(selectedNode,dsp)
{
	clN=document.getElementById(selectedNode).className;
	clN=clN.substring(2,clN.length);		
	if(clN!=0)
	{
		showChild('ul_'+clN);
		expandTree(clN,0);
	}
	if(dsp==1)
	{
		showChild('ul_'+selectedNode);
	}
}
function getPassword(href)
{
	document.getElementById("get_pw").style.visibility="visible";
	document.getElementById("shadow").style.visibility="visible";
	var margin=Math.ceil(document.body.clientWidth*0.35)+5;	
	document.getElementById("shadow").style.margin="0 0 0 "+margin+"px";
	document.getElementById("get_pw").innerHTML='<form action="'+href+'" method="post">'+
	 '<div id="close_p"><a id="close" onClick="closePw();"></a></div>'+
	 'Введите пароль<br>'+
	 '<input type="password" name="d_pw" id="d_pw"><br>'+
	 '<input type="submit" value="Отправить">'+
     '</form>';
	document.getElementById("d_pw").focus();
}
function closePw()
{
	document.getElementById("get_pw").style.visibility="hidden";
	document.getElementById("shadow").style.visibility="hidden";
	document.getElementById("get_pw").innerHTML='';
}

// calendar functions
function plusMonth(yy,mm,elem)
{
	if(mm==11)
	{
		mm=0;
		yy++;
	}
	else
	{
		mm++;
	}
	document.getElementById("cal").innerHTML='';
	document.getElementById("cal").innerHTML=createCal(yy,mm,0,elem);
}
function minusMonth(yy,mm,elem)
{
	if(mm==0)
	{
		mm=11;
		yy--;
	}
	else
	{
		mm--;
	}
	document.getElementById("cal").innerHTML='';
	document.getElementById("cal").innerHTML=createCal(yy,mm,0,elem);
}
function createCal(yy,mm,dd,elem)
{
	var fDt=new Date(yy,mm,1);
	var dayOfWeek=fDt.getDay();
	switch(mm)
	{
		case 0:
			dtName='Январь ';
			tDays=31;
		break;
		case 1:
			dtName='Февраль ';
			if(yy%4==0)
			{
				tDays=29;
			}
			else
			{
				tDays=28;
			}
		break;
		case 2:
			dtName='Март ';
			tDays=31;
		break;
		case 3:
			dtName='Апрель ';
			tDays=30;
		break;
		case 4:
			dtName='Май ';
			tDays=31;
		break;
		case 5:
			dtName='Июнь ';
			tDays=30;
		break;
		case 6:
			dtName='Июль ';
			tDays=31;
		break;
		case 7:
			dtName='Август ';
			tDays=31;
		break;
		case 8:
			dtName='Сентрябрь ';
			tDays=30;
		break;
		case 9:
			dtName='Октябрь ';
			tDays=31;
		break;
		case 10:
			dtName='Ноябрь ';
			tDays=30;
		break;
		case 11:
			dtName='Декабрь ';
			tDays=31;
		break;
		default:break;
	}	
	dtName=dtName+yy;
	var cal='';
	cal=cal+"<table id='calend' cellspacing=0><tr><th colspan=7><span id='minus' onClick='minusMonth("+yy+","+mm+","+elem+");'>&lt;&lt;</span><a id='dtname' onClick='showCal();'>"+dtName+"</a><span id='plus' onClick='plusMonth("+yy+","+mm+","+elem+");'>&gt;&gt;</span><a onClick='showCal();'></th></tr>   <tr><td class='dw'>Пн</td><td class='dw'>Вт</td><td class='dw'>Ср</td><td class='dw'>Чт</td><td class='dw'>Пт</td><td class='dw'>Сб</td><td class='dw'>Вс</td></tr>";
	b=true;
	days=1;
	for(var i=1;i<=6;i++)
	{
		cal=cal+"<tr>";
		for(var j=0;j<=6;j++)
		{
			if(i==1)
			{
				day=j<6?j+1:0;
				if(day==dayOfWeek)
				{
					b=false;					
				}
				if(b)
				{
					cal=cal+"<td></td>";
				}
				else
				{
					if(days<=tDays)
					{
						if(dd==days)
						{
							cal=cal+"<td><b><span onClick='returnDate("+yy+","+mm+","+days+","+elem+");'>"+days+"</span></b></td>";
						}
						else
						{
						cal=cal+"<td><span onClick='returnDate("+yy+","+mm+","+days+","+elem+");'>"+days+"</span></td>";
						}
					}
					else
					{
						cal=cal+"<td></td>";
					}
				}
			}		
			else
			{
				if(days<=tDays)
				{
					if(dd==days)
					{
						cal=cal+"<td><b><span onClick='returnDate("+yy+","+mm+","+days+","+elem+");'>"+days+"</span></b></td>";
					}
					else
					{
						cal=cal+"<td><span onClick='returnDate("+yy+","+mm+","+days+","+elem+");'>"+days+"</span></td>";
					}
				}
				else
				{
					cal=cal+"<td></td>";
				}
			}
			if(!b)
			{
				days++;
			}
		}
		cal=cal+"</tr>";
	}
	cal=cal+"</table><a class='down' style='font-size:0.5em;font-weight:bold;' onClick='hideCal();'>(X) Закрыть</a>";
	return cal;
}
function showCal(elem)
{	
	var dt=new Date();
	var mt=dt.getMonth();
	var yr=dt.getFullYear();
	var dd=dt.getDate();	
//	alert(yr+'_'+mt+'_'+dayOfWeek);
	var y=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;
	y+=220;
	document.getElementById("cal").style.top=y+"px";
	document.getElementById("cal").style.visibility="visible";
	document.getElementById("cal").innerHTML='';
	document.getElementById("cal").innerHTML=createCal(yr,mt,dd,elem);
}
function hideCal()
{
	document.getElementById("cal").style.visibility="hidden";
	document.getElementById("cal").innerHTML='';
}
function returnDate(y,m,d,elem)
{
	m++;
	dtn='dt'+elem;
	document.getElementById("cal").innerHTML='';
	document.getElementById("cal").style.visibility="hidden";
	if(elem>100)
	{
		document.getElementById(dtn).innerHTML='';
		document.getElementById(dtn).innerHTML=y+'-'+m+'-'+d;	
	}
	else
	{
		document.getElementById(dtn).value='';
		document.getElementById(dtn).value=y+'-'+m+'-'+d;	
	}	
}
var count=1;
function filePlus()
{
	count++;
	next=count+1;	
	var fText="<br>Описание<input type='text' name='f"+count+"' id='f"+count+"' style='margin:3px;'> </input>Файл<input type='file' name='file"+count+"' style='margin:3px;'></div><div id='f_"+next+"'>";
	next="f_"+count;
	document.getElementById(next).innerHTML="";	
	document.getElementById(next).innerHTML=fText;
}
var cnt=1;
function fPlus()
{
	cnt++;
	next=cnt+1;	
	var fText="<br>Описание<input type='text' name='f"+cnt+"' id='f"+cnt+"' style='margin:3px;'> </input>Файл<input type='file' name='file"+cnt+"' style='margin:3px;'></div><div id='ff_"+next+"'>";
	next="ff_"+cnt;
	document.getElementById(next).innerHTML="";	
	document.getElementById(next).innerHTML=fText;
}
var im_count=1;
function imagePlus()
{
	im_count++;
	next=im_count+1;	
	var fText="Имя изображения<input type='text' name='im"+im_count+"' id='im"+im_count+"' style='margin:3px;'> Файл<input type='file' name='image_"+im_count+"' style='margin:3px;'></div><div id='img_"+next+"'><br>";
	next="img_"+im_count;
	document.getElementById(next).innerHTML="";	
	document.getElementById(next).innerHTML=fText;
}
function showPreview(imagename)
{
	document.getElementById('preview').innerHTML="";	
	document.getElementById('preview').innerHTML="<img src='"+imagename+"' width=150>";
}
function hidePreview()
{
	document.getElementById('preview').innerHTML="";	
}
function changeStatus(email,status,n_elem)
{
	//Create a boolean variable to check for a valid IE instance.
	var xmlhttp = false;
	//Check if we are using IE.
	try 
	{
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) 
	{
		//If not, then use the older active x object.
		try 
		{
			//If we are using IE.
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (E) 
		{
			//Else we must be using a non-IE browser.
			xmlhttp = false;
		}
	}
	//If we are using a non-IE browser, create a JavaScript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
	{
		xmlhttp = new XMLHttpRequest();
	}
	var serverPage = "changestatus.php?email="+email+"&status="+status;
	var obj = document.getElementById('acc'+n_elem);
	var obj2 = document.getElementById('decl'+n_elem);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
		{
			obj.innerHTML = xmlhttp.responseText;
			obj2.innerHTML = "";
		}
	}
	xmlhttp.send(null);
}
// check form for tender_reg
var lastErr="Это значение переменной LastError увидеть не возможно!";
function checkForm()
{
	var frm=document.forms["register"];
	var org_name=frm.org_name.value;
	var postal=frm.postal.value;
	var contacts=frm.contacts.value;
	var IIK=frm.IIK.value;
	var RNN=frm.RNN.value;
	var BIK=frm.BIK.value;
	var KBE=frm.KBE.value;
	var bank=frm.bank.value;
	var email=frm.email.value;
	var check=frm.check.value;
	if(org_name.length<5)
	{
		lastErr="Слишком короткое название организации(менее 5 символов)";
		return false;
	}
	if(postal.length<5)
	{		
		lastErr="Слишком короткий адресс(менее 5 символов)";
		return false;
	}
	if(KBE.length!=2)
	{		
		lastErr="КБе должно состоять из двух символов";
		return false;
	}
	re = new RegExp("\\+7[0-9]{10}","gi");
	myArr=re.exec(contacts)
	if(!myArr)
	{
		lastErr="Не указано ни одного контактного телефона";
		return false;
	}
	re = new RegExp("[0-9]{4}","gi");
	myArrc=re.exec(check);
	if(!myArrc)
	{		
		lastErr="Контрольный код должен состоять из 4 цифр";
		return false;
	}
	re = new RegExp("[0-9]{9}","gi");
	myArri=re.exec(IIK);
	if(!myArri)
	{		
		lastErr="ИИК должен состоять из 9 цифр";
		return false;
	}
	re = new RegExp("[0-9]{9}","gi");
	myArrb=re.exec(BIK);
	if(!myArrb)
	{		
		lastErr="БИК должен состоять из 9 цифр";
		return false;
	}
	//Проверка РНН
	re = new RegExp("[0-9]{12}","gi");
	myArrq=re.exec(RNN);
	if(!myArrq)
	{
		lastErr="РНН должен состоять из 12 цифр";
		return false;
	}
	fst=RNN.substr(0,1);
	tr=true;
	for(i=0;i<12;i++)
	{
		if(fst!=RNN.substr(i,1))
		{
			tr=false;
		}
	}
	if(tr)
	{
		lastErr="Значение разрядов РНН не может быть одинаковым";
		return false;
	}
	kontrznak9=-3;
	ja=0;
	rnnerror9=0;
	K=11;
	ves= new Array(13)
	while(K>=10)
	{
		if(rnnerror9==11)
		{
			lastErr="Данное число для РНН исключается";
			return false;
		}
		jb=0;
		l9=0;
		for(i9=ja+1;i9<=11+ja;i9++)
		{
			if(i9<11)
			{ 
				l9++;
				ves[l9]=i9;
			}
			if(i9>=11)
			{
				l9++;
				jb++;
				ves[l9]=jb;
			}
		}
    S=0;
    for(i9=1;i9<=11;i9++)
	{
		S=S+parseInt(RNN.substr(i9-1,1))*ves[i9];
	}
    C=Math.floor(S/11);
    K=S-C*11;
    if(K<10)
    {
      kontrznak9=K;
      break;
    }
    ja++;
    rnnerror9++;
	}
	if(RNN.substr(11,1)==kontrznak9)
	{
		if(RNN.substr(4,1)!=0)
		{
			lastErr="В РНН юридического лица 5 знак не равен нулю";
			return false;
		}
		return true;
	}
	else
	{
		lastErr="В РНН не правильный контрольный знак";
		return false;
	}
	//Проверка РНН - конец
	//Проверка имейла
	re = new RegExp("^[a-zA-Z0-9._\-]+@[a-zA-Z0-9._\-]+\.[a-zA-Z]{2,3}$","");
	myArre=re.exec(email)
	if(!myArre)
	{
		lastErr="Укажите реальный адрес почтового ящика";
		return false;
	}
	//Проверка имейла - конец
	return true;
}
function chkForm()
{
	var frm=document.forms["register"];
	if(checkForm())
	{
		frm.submit();
		//alert('Бес ашипак: '+lastErr);
	}
	else
	{
		alert('Ошибка при заполнении формы: '+lastErr);
	}
}
///////////////////bb_code_editor
var StPos,EndPos;
var rng;
function insert_bb(bb_open,bb_close,elem)
{
	value=document.forms['mainform'].elements[elem].value;
	intSt=parseInt(StPos);
	intEnd=parseInt(EndPos);
	if((isNaN(intSt))&&(isNaN(intEnd)))
	{
		document.forms['mainform'].elements[elem].focus();
		rng=document.selection.createRange().duplicate();
		value=rng.text;
		rng.text=bb_open+value+bb_close;	
		document.forms['mainform'].elements[elem].focus();
	}
	else
	{
		befSel=value.substring(0,StPos);
		Sel=value.substring(StPos,EndPos);
		aftSel=value.substring(EndPos,value.length);
		document.forms['mainform'].elements[elem].value=befSel+bb_open+Sel+bb_close+aftSel;
		document.forms['mainform'].elements[elem].setSelectionRange(EndPos+bb_open.length,EndPos+bb_open.length);
		document.forms['mainform'].elements[elem].focus();
	}
}
function selectState(elem)
{
	StPos=document.forms['mainform'].elements[elem].selectionStart;
	EndPos=document.forms['mainform'].elements[elem].selectionEnd;	
}
function insertHeader(selElem,elem)
{
	h=document.getElementById(selElem).value; 
	insert_bb('['+h+']','[/'+h+']',elem);
}
function insertImage(selElem,elem)
{ 
	h=document.getElementById(selElem).value;
	insert_bb('[img]'+h,'[/img]',elem);
}
// function for uploads
function showFileForm(id_tender,f_number,tbl,href)
{
	document.getElementById("get_pw").style.visibility="visible";
	document.getElementById("shadow").style.visibility="visible";
	var margin=Math.ceil(document.body.clientWidth*0.35)+5;	
	document.getElementById("shadow").style.margin="0 0 0 "+margin+"px";
	document.getElementById("get_pw").innerHTML='<form action="'+href+'" method="POST" enctype="multipart/form-data">'+
	 '<div id="close_p"><a id="close" onClick="closePw();"></a></div>'+
	 'Выберите файл<br>'+
	 '<input type="file" name="tnd_file" id="tnd_file" style="width:100%;">'+
	 '<input type="hidden" name="f_number" value="'+f_number+'">'+
	 '<input type="hidden" name="tbl" value="'+tbl+'">'+
	 '<input type="hidden" name="id_tender" value="'+id_tender+'">'+
	 '<input type="submit" value="Отправить">'+
     '</form>';
	document.getElementById("tnd_file").focus();
}
function saveDate(elem,table,field,id_tender)
{
	var newdate=document.getElementById("dt"+elem).innerHTML;
	//Create a boolean variable to check for a valid IE instance.
	var xmlhttp = false;
	//Check if we are using IE.
	try 
	{
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) 
	{
		//If not, then use the older active x object.
		try 
		{
			//If we are using IE.
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (E) 
		{
			//Else we must be using a non-IE browser.
			xmlhttp = false;
		}
	}
	//If we are using a non-IE browser, create a JavaScript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
	{
		xmlhttp = new XMLHttpRequest();
	}
	var serverPage = "dateupd.php?table="+table+"&field="+field+"&newdate="+newdate+"&id_tender="+id_tender;
	var obj = document.getElementById('save'+elem);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
		{
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
}
function update(table)
{
	document.getElementById("upd").innerHTML="";
	document.getElementById("busy").style.display='block';
	var id=document.getElementById("change").value;
	//Create a boolean variable to check for a valid IE instance.
	var xmlhttp = false;
	//Check if we are using IE.
	try 
	{
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) 
	{
		//If not, then use the older active x object.
		try 
		{
			//If we are using IE.
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (E) 
		{
			//Else we must be using a non-IE browser.
			xmlhttp = false;
		}
	}
	//If we are using a non-IE browser, create a JavaScript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
	{
		xmlhttp = new XMLHttpRequest();
	}
	var serverPage = "update.php?table="+table+"&id="+id;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
		{
			document.getElementById("upd").innerHTML = xmlhttp.responseText;
			document.getElementById("busy").style.display='none';
		}
	}
	xmlhttp.send(null);
}
function delcomm(md5,id)
{
	//Create a boolean variable to check for a valid IE instance.
	var xmlhttp = false;
	//Check if we are using IE.
	try 
	{
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) 
	{
		//If not, then use the older active x object.
		try 
		{
			//If we are using IE.
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (E) 
		{
			//Else we must be using a non-IE browser.
			xmlhttp = false;
		}
	}
	//If we are using a non-IE browser, create a JavaScript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
	{
		xmlhttp = new XMLHttpRequest();
	}
	var serverPage = "del.php?dell="+md5+"&delete="+id;
	var obj = document.getElementById('delcomm'+id);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
		{
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
}
function sendfile()
{
 //alert('name: ' + document.forms['one'].elements['myfile'].value);
 var fileName=document.forms['mainform_d'].elements['d_file'].value;
 if(fileName.length>0)
 {
  myRe = new RegExp("[a-zA-Z0-9._\-]+\.[a-zA-Z]{3,4}$","gi");
  myArray = myRe.exec(fileName);
  re = new RegExp("[^\/\\\\]+\.[a-zA-Z]{3,4}$","gi");
  myarr=re.exec(fileName);
  if(myArray[0]==myarr[0])
  {
   document.forms['mainform_d'].submit();
  } 
  else
  {
   alert("Неправильное имя файла");
   document.forms['mainform_d'].elements['d_file'].value="";
  }
 }
 else
 {
  alert("Выберите файл");
 }
}