function isObj(obj){
	return (typeof obj == 'object') && obj;
} // isObj();

function DateChange(it,i,s,c,ld,ll)
{
	//alert('test');
	var SelMonth=document.getElementById("months");
	var SelYear=document.getElementById("years");
	var MonthId=SelMonth.selectedIndex;	
	var m=SelMonth.options[MonthId].value; 
	var YearId=SelYear.selectedIndex;	
	var y=SelYear.options[YearId].value; 
	//alert(y+'---'+m);
	
	aj.Load('/bitrix/templates/nks/ajax/calendar.php', 'm='+m+'&y='+y+'&it='+it+'&i='+i+'&s='+s+'&c='+c+'&ld='+ld+'&ll='+ll, ShowCalendar, 'calc')
}

function ShowCalendar(obj,dest,xml,text)
{
	 var contentDiv = document.getElementById(dest);
	 contentDiv.innerHTML = text;	
}			

function CAjax(){
	this.isSupport = this.getXMLHttpRequest();
	this.postMethod = false;
	if( this.isSupport )
		this.postMethod = typeof this.isSupport.setRequestHeader != 'undefined' ? true : false;
} // CAjax();


CAjax.prototype.getXMLHttpRequest = function(){
	var http_request = false;

	if( window.XMLHttpRequest ) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if( http_request.overrideMimeType ){
			http_request.overrideMimeType('text/xml');
		}
	} else if( window.ActiveXObject ) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				return false;
			}
		}
	}

	if( !http_request ){
		return false;
	}

	return http_request;
} // getXMLHttpRequest();


CAjax.prototype.Load = function(url, params, callback){
	if( url ){
		var send = '', tmp;
		var loaded = false;
		var http_request = this.getXMLHttpRequest();
		
		if( params ){
			if( isObj(params) ){
				for(var key in params){
					send += key+'='+escape(params[key])+'&';									
				}
			} else {
				if( params = params.split("&") ){
					for(var i = 0; i < params.length; i++){
						tmp = params[i].split('=');
						send += tmp[0]+'='+escape(tmp[1])+'&';
					}
				}
			}
			
			send = send.substr(0, send.length-1);
		}
		
		var p = url.indexOf('?');
		var get_str = '';
		if( p > 0 ){
			
			get = url.substr(p+1, url.length);
			get = get.split('&');
			for(var i = 0; i < get.length; i++){
				x = get[i].indexOf('=');
				if( x > 0 ){
					get[i] = get[i].substr(0, x+1) + escape(get[i].substr(x+1, get[i].length));
				}
				get_str += get[i]+'&';
			}
			url = url.substr(0, p)+'?' + get_str.substr(0, get_str.length-1);
		}
		alert(send);
		http_request.open( 'POST', url, true );

		if( typeof http_request.setRequestHeader != 'undefined' ){
			http_request.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded; charset=windows-1251' );
			http_request.setRequestHeader( 'Content-length', send.length );
			http_request.setRequestHeader( 'Connection', 'close' );
		}

		http_request.send( send );

		var callbackParams = [];
		if( arguments.length > 3 ){
			for(var i = 3; i < arguments.length; i++){
				callbackParams[i-3] = arguments[i];
			}
		}
		
		http_request.onreadystatechange = function(){
			if( http_request.readyState == 4 && http_request.status == 200 ){
				if( callback )
					callback(CAjax__CreateObj(http_request.responseXML), callbackParams, http_request.responseXML);
			}
		}


	} else {
		Error('Note: CAjax->makeRequest: Не указан xml.')
	}
} // __makeRequest();


CAjax.prototype.Load = function(url, params, callback){
	if( url ){
		var send = '', tmp;
		var loaded = false;
		var http_request = this.getXMLHttpRequest();
		
		if( params ){
			if( isObj(params) ){
				for(var key in params){
					send += key+'='+escape(params[key])+'&';									
				}
			} else {
				if( params = params.split("&") ){
					for(var i = 0; i < params.length; i++){
						tmp = params[i].split('=');
						send += tmp[0]+'='+escape(tmp[1])+'&';
					}
				}
			}
			
			send = send.substr(0, send.length-1);
		}
		
		var p = url.indexOf('?');
		var get_str = '';
		if( p > 0 ){
			
			get = url.substr(p+1, url.length);
			get = get.split('&');
			for(var i = 0; i < get.length; i++){
				x = get[i].indexOf('=');
				if( x > 0 ){
					get[i] = get[i].substr(0, x+1) + escape(get[i].substr(x+1, get[i].length));
				}
				get_str += get[i]+'&';
			}
			url = url.substr(0, p)+'?' + get_str.substr(0, get_str.length-1);
		}
		//alert(send);
		http_request.open( 'POST', url, true );

		if( typeof http_request.setRequestHeader != 'undefined' ){
			http_request.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded; charset=windows-1251' );
			http_request.setRequestHeader( 'Content-length', send.length );
			http_request.setRequestHeader( 'Connection', 'close' );
		}

		http_request.send( send );

		var callbackParams = [];
		if( arguments.length > 3 ){
			for(var i = 3; i < arguments.length; i++){
				callbackParams[i-3] = arguments[i];
			}
		}
		
		http_request.onreadystatechange = function(){
			if( http_request.readyState == 4 && http_request.status == 200 ){
				if( callback )
					callback(CAjax__CreateObj(http_request.responseXML), callbackParams, http_request.responseXML, http_request.responseText);
			}
		}


	} else {
		Error('Note: CAjax->makeRequest: Не указан xml.')
	}
} // __makeRequest();


CAjax.prototype.Loading = function(http_request){
	if( http_request.readyState == 4 ){
		if(  http_request.status == 200 ){
			this.loaded = true;
			this.xml_obj = http_request.responseXML;
			this.text = http_request.responseText;
			//this.obj = CreateObj(this.xml_obj);
			
			alert(this.text)
			
			//this.callback(this.obj, this.callbackParams);
				
			return true;
		} else {
			return NULL;
		}
//	} else {
//		setTimeout(this.Loading(callback, tmp), 10);
	}
} // CAjax_Loading();


CAjax__CreateObj = function(xml, prevObj){
	var n = 0;
	var obj = new Array();
	if( !isObj(xml) ) return false;

	for( var i = 0; i < xml.childNodes.length; i++ ){
		if( xml.childNodes[i].nodeName &&  xml.childNodes[i].nodeType != 3  ){
			obj[n] = new Object();
			obj[n].value = '';
			obj[n].name = xml.childNodes[i].nodeName;
			if( xml.childNodes[i].attributes ){
				obj[n].attrs = new Object();
				for(var j = 0; j < xml.childNodes[i].attributes.length; j++ ){
					obj[n].attrs[xml.childNodes[i].attributes[j].name] = xml.childNodes[i].attributes[j].value;
				}
			} else {
				obj[n].attrs = null;
			}
			//			alert(obj[n].name);

			obj[n].next = null;
			if( xml.childNodes[i].childNodes.length > 0 ){
				if( xml.childNodes[i].childNodes[0].nodeType == 3 ){
					obj[n].value = xml.childNodes[i].childNodes[0].nodeValue;
				}
				obj[n].next = new Array();
				obj[n].next = CAjax__CreateObj(xml.childNodes[i], obj[n]);
			}
			n++;
		}
	}

	return n ? obj : null;
} // __CreateObj();



CAjax.prototype.FindNode = function(nodeName, obj){
	if( is_undefined(obj) ) obj = this.obj;
	nodeName = nodeName.toLowerCase();
	
	if( isObj(obj) ){
		for(var i = 0; i < obj.length; i++){
			if( obj[i].name == nodeName )
				return obj[i];
			else if( obj[i].next )
				return this.FindNode(nodeName, obj[i].next);
		}
	}
	return false;
} // CAjax_FindNode();


CAjax.prototype.FindNodeValue = function(nodeName, obj){
	if( is_undefined(obj) ) obj = this.obj;
	var node = this.FindNode(nodeName, obj);
	
	if( isObj(node) ){
		return node.value;
	}
	
	return false;
} // CAjax_FindNodeValue();


function CreateHTMLFromObj(obj){
	var html = '';
	
	for(var i = 0; i < obj.length; i++){
		html += '<'+obj[i].name;
		
		if( obj[i].attrs )
			for( var attr in obj[i].attrs )
				html += ' '+attr+'="'+obj[i].attrs[attr]+'"';
		
		//if( obj[i].value.replace(' ', '') != '' )
			html += '>' + obj[i].value;
		
				
		if( obj[i].next )
			//html += (obj[i].value ? '' : '>') + CreateHTMLFromObj(obj[i].next);
			html += CreateHTMLFromObj(obj[i].next);
		
		if( obj[i].name != 'img' && obj[i].name != 'input' && obj[i].name != 'br' )
		//if( obj[i].name == 'img' || obj[i].name == 'input' || obj[i].name == 'br' )
//			html += '/>';
//		else
			html += '</'+obj[i].name+'>';

		html += "\n";
	}
	
	return html;
} // CreateHTMLFromObj();


