function createXMLHttpRequest() {
  var xmlReq = false;
  // branch for native XMLHttpRequest object
  if(window.XMLHttpRequest) {
    try {
      xmlReq = new XMLHttpRequest();
    } catch(e) {
      xmlReq = false;
    }
  // branch for IE/Windows ActiveX version
  } else if(window.ActiveXObject) {
    try {
      xmlReq = new  ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xmlReq = new  ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xmlReq = false;
      }
    }
  }
  return xmlReq;
}

var userAgent = { };
userAgent.isAJAX  = (createXMLHttpRequest()?true:false);
userAgent.isMozilla  = (navigator.userAgent.match(/\bGecko\b/));
userAgent.isOpera  = (navigator.userAgent.match(/\bOpera\b/));
userAgent.isInternetExplorer  =
  (navigator.userAgent.match(/\bMSIE\b/) && !userAgent.isOpera);
  
function callServer(data, func, arg, method, url) {
  var xmlReq = createXMLHttpRequest();
  if(xmlReq) {
    xmlReq.onreadystatechange = function() {
      // only if xmlReq shows "loaded"
      if (xmlReq.readyState == 4) {
        func(arg, xmlReq.responseText,  xmlReq.responseXML,
             xmlReq.status, xmlReq.statusText);
      }
    };
    xmlReq.open(method, url, true);
    if (data) {
      dataType='application/x-www-form-urlencoded;charset=windows-1251';
      if (typeof(data)!="string" && dataType.indexOf("charset=")<0
           && userAgent.isMozilla) dataType=dataType+';charset=utf-8';
           // in Mozilla XML always serialized as UTF-8
      xmlReq.setRequestHeader('Content-Type', dataType);
    }
    xmlReq.send(data);
    return false;
  }
  return true;
}  


function showHTML(element, responseText, responseXML, statusCode, statusText) {
  if (typeof(element)=="string")
    element=document.getElementById(element);
  if (statusCode==200 || statusCode==201) {
    element.innerHTML=responseText;
  }
  else {
    alert("Загрузить информацию не  удалось: "
          +statusText);
  }
}

function clickHandler() { 
	var targetId, srcElement, targetElement;
		if (Out1Details.style.display == "none") {        
			Out1Details.style.display = "";     
		} else {        
			Out1Details.style.display = "none";     
		}  
} 


function showmenu(cur_tree) { 
	var targetId, targetElement;
		targetId="Out1Details"+cur_tree;
		targetElement = document.all(targetId);
		if (targetElement.style.display == "none") {        
			targetElement.style.display = "";
			if(cur_tree==100) document.all("more"+cur_tree).innerHTML="Спрятать сады";     
			if(cur_tree==200) document.all("more"+cur_tree).innerHTML="Спрятать школы";
		} else {        
			targetElement.style.display = "none";
			if(cur_tree==100) document.all("more"+cur_tree).innerHTML="Показать остальные сады";
			if(cur_tree==200) document.all("more"+cur_tree).innerHTML="Показать остальные школы";     
		}  
} 



var WeekTitles=new Array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
function dayonmonth(m, y){ 
	var answer
	if(m!=2){ 
		var date1=new Date(m+'/31/'+y)
		var mm=(m<12)?(m+1):1;
		var yy=(m<12)?y:(y+1);
		var date2=new Date(mm+'/1/'+yy)
		answer=(date1.getDay()==date2.getDay())?'30':'31';
	}else{
		var date1=new Date(m+'/29/'+y)
		var mm=(m<12)?(m+1):1;
		var yy=(m<12)?y:(y+1);
		var date2=new Date(mm+'/1/'+yy)
		answer=(date1.getDay()==date2.getDay())?'28':'29';
	}
	return answer
}

function showallweektitles(){
	var i, answer="  <tr><td colspan=\"7\" class=\"dotted\"><img src=\"images/0.gif\" alt=\"\" width=\"1\" height=\"1\"></td></tr><tr>\n"
	for(i=0;i<WeekTitles.length;i++) answer+="    <td>"+WeekTitles[i]+"</td>\n"
	answer+="  </tr><tr><td colspan=\"7\" class=\"dotted\"><img src=\"images/0.gif\" alt=\"\" width=\"1\" height=\"1\"></td></tr>\n"
	return answer
}
function calendar_show(m, d, y){
	var sdate= new Date(m+'/1/'+y);
	var mdate= new Date(m+'/'+d+'/'+y);
	var todaydate= new Date();
	var days=dayonmonth(m,y);
	var iday=0, day, answer='', month='';
	switch(m){
		case(1): month='Январь'; break;
		case(2): month='Февраль'; break;
		case(3): month='Март'; break;
		case(4): month='Апрель'; break;
		case(5): month='Май'; break;
		case(6): month='Июнь'; break;
		case(7): month='Июль'; break;
		case(8): month='Август'; break;
		case(9): month='Сентябрь'; break;
		case(10): month='Октябрь'; break;
		case(11): month='Ноябрь'; break;
		case(12): month='Декабрь'; break;
		
	}
	
	answer+='<table border=0 width=180>'
	answer+='  <tr>'
	answer+='  	<td colspan=7>'
	answer+='		<table border=0 cellpadding=0 cellspacing=0 width="100%" height="100%">'
	answer+='  			<tr>'
	answer+='    			<td width="20%"><table onClick="calendar_move(\'-\',\'m\','+m+','+d+','+y+')" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td align="left"><img src="images/prev.gif" alt="Предыдущий месяц" title="Предыдущий месяц" width="9" height="9" /></td></tr></table></td>'
	answer+='    			<td width="60%"><table border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td align="center"><div  class="blue14">'+month+' '+y+'</div></td></tr></table></td>'
	answer+='    			<td width="20%"><table onClick="calendar_move(\'+\',\'m\','+m+','+d+','+y+')" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td align="right"><img src="images/next.gif" alt="Следующий месяц" title="Следующий месяц" width="9" height="9" /></td></tr></table></td>'
	answer+='  			</tr>'
	answer+='		</table>'
	answer+='	</td>'
	answer+='  </tr>'
	answer+='  <tr>'
	answer+=showallweektitles()
	for(day=0;day<sdate.getDay()-1;day++){
		iday++
		answer+="    <td></td>"
	}
	for(day=1;day<=days;day++){
		iday++
		if((todaydate.getMonth()+1)==m && todaydate.getDate()==day && todaydate.getFullYear()==y)
			answer+="    <td><table border=0 cellpadding=0 cellspacing=0 width=\"100%\" height=\"100%\"><tr><td><a href=\"news/"+y+"/"+m+"/"+day+"/\" class=\"calen\"><strong>"+day+"</strong></a></td></tr></table></td>"
		else
			answer+="    <td><table border=0 cellpadding=0 cellspacing=0 width=\"100%\" height=\"100%\"><tr><td><a href=\"news/"+y+"/"+m+"/"+day+"/\" class=\"calen\">"+day+"</a></td></tr></table></td>"
		if(iday==7){
			answer+="</tr><tr><td colspan=\"7\" class=\"dotted\"><img src=\"images/0.gif\" alt=\"\" width=\"1\" height=\"1\"></td></tr><tr>"
			iday=0
		}
	}
	answer+="  <tr><td colspan=\"7\" class=\"dotted\"><img src=\"images/0.gif\" alt=\"\" width=\"1\" height=\"1\"></td></tr></tr>"
	answer+='</table>'
	document.all.calendar2.innerHTML=answer;
}

function calendar_move(to, index, m, d, y){
	switch(to){
		case('-'):
			switch(index){
				case('m'):
					if(m>1){
						m--
					}else{
						m=12
						y--
					}
					break
				case('d'):
					var mm=(m>1)?--m:1
					var yy=(m>1)?y:--y
					var days=dayonmonth(mm, yy)
					if(d>1){
						d--
					}else{
						d=days
						m=mm
						y=yy
					}
					break
				case('y'):
					y--
					break
			}
			break
		case('+'):
			switch(index){
				case('m'):
					if(m<12){
						m++
					}else{
						m=1
						y++
					}
					break
				case('d'):
					var mm=(m<12)?++m:1
					var yy=(m<12)?y:++y
					var days=dayonmonth(m, y)
					if(d<days){
						d++
					}else{
						d=1
						m=mm
						y=yy
					}
					break
				case('y'):
					y++
					break
				}
			break
	}
	calendar_show(m, d, y)
}


function sendEvent(swf,typ,prm) { 
  thisMovie(swf).sendEvent(typ,prm); 
};
function getUpdate(typ,pr1,pr2,swf) {};
function thisMovie(swf) {
  if(navigator.appName.indexOf("Microsoft") != -1) {
    return window[swf];
  } else {
    return document[swf];
  }
};
function loadFile(swf,obj) { 
  thisMovie(swf).loadFile(obj);
  thisMovie(swf).sendEvent('playitem', '0');  
};

function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;
	
    for (var i = 0; i < selectCount; i++) {
   	    selectObject.options[i].selected = do_check;
    } // end for
	
    return true;
}

function setSelectOptions2(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;
    var max_id = do_check*10000 + 10000;
    var min_id = do_check*10000;
		
    for (var i = 0; i < selectCount; i++) {
		if ((selectObject.options[i].value>min_id) &&  (selectObject.options[i].value<max_id)) {
	   	    selectObject.options[i].selected = true;
		}	
    } // end for
	
    return true;
}

