function isValidDate( intDay, intMonth, intYear )
{
	if ( intMonth.length == 1) {
		intMonth = "0" + intMonth.toString();
	}
	switch (intMonth) {
		case "01":
		case "03":
		case "05":
		case "07":
		case "08":
		case "10":
		case "12":
   				 {
					intMaxDay = 31;
   				 }
  			 break;
		case "04":
		case "06":
		case "09":
		case "11":
   				 {
					intMaxDay = 30; 
  				 }
   			 break;
		case "02": 
				{
					if (intYear % 4 == 0 && (intYear % 1000 == 0 || intYear % 100 != 0)) {
  						intMaxDay = 29;
					} else {
                   		intMaxDay = 28;
					}
				}
  			 break; 
		default: 
				{
                   	intMaxDay = 31;
                }
	}
	if (intYear > 0 && intYear < 100) {
		(intYear <= 32)?(intYear = '20' + intYear):(intYear = '19' + intYear)
	}
	if ( intYear < 1970 || intYear > 2032 || intMonth < 1 || intMonth > 12 || intDay < 1 || intDay > intMaxDay ) {
		return false;
	} else {
		return true;
	}
}

function isValidDate2( date )
{
	aDate = date.split('.')
	if (aDate.length != 3) { return false }
	return isValidDate(aDate[0],aDate[1],aDate[2])
}

function DoCal(el){
	if (showModalDialog) {
		var sRtn;
		sRtn = showModalDialog("inc/calendar.asp","","help=0;status=0;edge=raized;center=yes;dialogWidth=130pt;dialogHeight=150pt");
		if ((sRtn!="")&&(sRtn!=null)){
		  el.value = sRtn;
		}
	}
	else{
		alert("Internet Explorer 4.0 or later is required.");
	}
}

var bDesc=false;


function Sort(oTable,nColumnID,nColumnType){
var i=0;
var a=new Array();
var oA=new Array();
	if (bDesc){
		bDesc=false;
	}else{
		bDesc=true;
	}

	var oTBody=oTable.tBodies[0];
	
	for (i=0;i<oTBody.rows.length;i++){
		oA[i]=oTBody.rows[i];
	}
	oA.sort(SortBody(nColumnID,bDesc,nColumnType));
	for (var i=0; i<oA.length; i++){
		oTBody.appendChild(oA[i]);
	}
	var oTHead=oTable.tHead;
	var sDescSimbol='<FONT face="wingdings 3">~</FONT>';
	var sAscSimbol='<FONT face="wingdings 3">' + String.fromCharCode(128) + '</FONT>';
	var _ell=event.srcElement;
	while (_ell.tagName!="TD") _ell=_ell.parentElement;
		
	if (oTHead!=null){
		for (i=0; i <oTHead.rows[0].cells.length;i++){
			oTHead.rows[0].cells[i].innerHTML=oTHead.rows[0].cells[i].innerHTML.replace(sDescSimbol,"").replace(sAscSimbol,"").toString();
		}
		_ell.innerHTML=_ell.innerHTML.toString() + (bDesc?sDescSimbol:sAscSimbol).toString();
	}
}

function SortBody(nColumnID, bDesc, nColumnType) {
//1 - Number;
//2 - String;
//3 - Date;
	var sFunction="";
	if (nColumnType == 1)
		sFunction = parseNumber;
	else if (nColumnType == 2)
		sFunction = upperString;
	else if (nColumnType == 3)
		sFunction = parseDate;
	return function (n1, n2) {
		if (sFunction(n1.cells[nColumnID].innerText) < sFunction(n2.cells[nColumnID].innerText))
			return bDesc ? -1 : +1;
		if (sFunction(n1.cells[nColumnID].innerText) > sFunction(n2.cells[nColumnID].innerText))
			return bDesc ? +1 : -1;
		return 0;
	};
}
	
function parseDate(s) {
//s must be in format dd.mm.yy or dd.mm.yyyy;
	s=s.replace(" ","");
	var sD=s.substring(0,2);
	var sM=s.substring(3,5);
	var sY=s.substr(s.length-2);
	var sDate=sM + "/" + sD + "/" + sY;
	return Date.parse(sDate);
}
	
function upperString(s) {
	return String(s).toUpperCase();
}
function parseNumber(s){
	return Number(s.replace(",","."));
}


function format_text(oText){
	var sText=new String;
	sText=oText.innerText;
	//замена новой строки
	re1=String.fromCharCode(13) + String.fromCharCode(10);
	while(sText.search(re1)!=-1){
		sText=sText.replace(re1,"<br>");
	}
	//замена двойного пробела строки
	re2=String.fromCharCode(32)+String.fromCharCode(32);
	while(sText.search("  ")!=-1){
		sText=sText.replace("  ","&nbsp;&nbsp;");
	}
	//замена символа Табуляции строки
	re2=String.fromCharCode(9);
	while(sText.search(re2)!=-1){
		sText=sText.replace(re2,"<span style=margin-left:20px>");
	}
	oText.innerText=sText;
}

function edit(oContainer){
	var retVal=window.showModalDialog('editor.asp',oContainer,"dialogHeight: " + (window.screen.availHeight).toString() + "px; dialogWidth:" + (window.screen.availWidth).toString() + "px; center: Yes; help: No; resizable: No; status: No")
	//alert("dialogHeight: " + (window.screen.availHeight-10).toString() + "px; dialogWidth:" + (window.screen.availWidth-10).toString() + "px; center: Yes; help: No; resizable: No; status: No")
	if (retVal!=null){
		oContainer.value=retVal;
	}
}