

// Vsyako razno

open_close = function(id) {
	
	var el = document.getElementById(id);
	
	//alert(el);
	
	if(el.style.display == 'none'){
		el.style.display = 'block';
	} else {
		el.style.display = 'none';
	}

}

open_tag = function(id) {
	
	var el = document.getElementById(id);
	el.style.display = 'block';

}

close_tag = function(id) {
	
	var el = document.getElementById(id);
	el.style.display = 'none';

}


// Thanks for Dmitri koterov!
function Dump(d,l) {
    if (l == null) l = 1;
    var s = '';
    if (typeof(d) == "object") {
        s += typeof(d) + " {\n";
        for (var k in d) {
            for (var i=0; i<l; i++) s += "  ";
            s += k+": " + Dump(d[k],l+1);
        }
        for (var i=0; i<l-1; i++) s += "  ";
        s += "}\n"
    } else {
        s += "" + d + "\n";
    }
    return s;
}


getPosition = function(o){
	var y;
	var x=y=0;
	
	while(o){
		x += o.offsetLeft;
		y += o.offsetTop;
		o = o.offsetParent;
	}
	
	return{x:x, y:y};

};








// Menedjer zagruzok
orange_loading_manager = new cl_loading_manager(1000 * 60 * 10);   // 10 min




// Ispolnenie command servera
run_commands = function(command_list){
	
	len = command_list.length;
	for (i = 0; i < len; i++){
	
		switch (command_list[i].name){
			
			case 'update_infoblock':
			
				document.getElementById('infoblock_' + command_list[i].data.infoblock).innerHTML = command_list[i].data.content;
			
			break;

			case 'update_block':
			
				document.getElementById(command_list[i].data.block_id).innerHTML = command_list[i].data.content;
			
			break;

			case 'do':
			
				//alert(command_list[i].data.script);
				eval(command_list[i].data.script);
				//document.getElementById(command_list[i].data.block_id).innerHTML = command_list[i].data.content;
			
			break;
		}//sw
	
	}
	
	
}












// AJAX zapros
ajax_request = function(url, indication, caching_time){
	
	if (indication) {
		open_tag('orange_loading');
	}
	
	if(typeof caching_time == 'undefined') {
		caching_time = 0;
	}

	url = url + "&orange_mode=ajax";
	
	// Podgotavlivaem loader
	var loader = new cl_dispatcher(orange_loading_manager, 'post', true, caching_time);
	
	
	var ors_create = function() { return function(){
		
		if(loader.get_state() == 4){
			
			var resp = loader.get_response()
			var retx = loader.get_response_text()
			
			var error = resp.orange_error;
			if (error != '') {
				if (typeof error != 'undefined'){
					alert(error);
					return false;
				}
			}

			if (indication) {
				close_tag('orange_loading');
			}
			
			if (resp.commands) run_commands(resp.commands);
			
			//document.getElementById('js_debug_track').innerHTML = retx;
			
		}
		
	}}
	
	loader.send_request(url, { q: 'ajaxyahhoo' }, ors_create());
}
ajax_request_preloading = function(url, caching_time){
	
	url = url + "&orange_mode=ajax";
	
	if(typeof caching_time == 'undefined') {
		caching_time = 0/*10 min*/;
	}

// Podgotavlivaem loader
	var loader = new cl_dispatcher(orange_loading_manager, 'post', true, caching_time);
	
	var ors_create = function() { return function(){
		
		if(loader.get_state() == 4){
			
			var resp = loader.get_response()
			var retx = loader.get_response_text()
			
			var error = resp.orange_error;
			if (error != '') {
				if (typeof error != 'undefined'){
					alert(error);
					return false;
				}
			}

		}
		
	}}
	
	loader.send_request(url, { q: 'ajaxyahhoo' }, ors_create());
}

// Klassicheskiy zapros
classic_request = function(url){
	
	document.location = url;
	
}




request = function(url, indication, caching_time){
	
	config["using_ajax"] = "yes";
	
	if(config["using_ajax"] == "yes"){
		ajax_request(url, indication, caching_time);
	} else {
		classic_request(url);
	}
	
}


request_to_update_block = function(url, addon, block_id){  // old using
	
	alert('old function');
	
	open_tag('orange_loading');

	url = url + "&orange_mode=ajax";
	
	// Podgotavlivaem loader
	var loader = new cl_dispatcher(orange_loading_manager, 'post', true, 600000/*10 min*/);
	
	var ors_create = function() { return function(){
		
		if(loader.get_state() == 4){
			
			var resp = loader.get_response();
			var retx = loader.get_response_text();

			var error = resp.orange_error;
			if (error != '') {
				if (typeof error != 'undefined'){
					alert(error);
					return false;
				}
			}

			close_tag('orange_loading');
			
			var content = resp.content;
			
			document.getElementById(block_id).innerHTML = content;
			
			//document.getElementById('js_debug_track').innerHTML = rext;
			

		}
		
	}}
	
	loader.send_request(url, { orange_addon: addon }, ors_create());
}
request_to_update_block_preloading = function(url, addon, block_id){// old using
	
	url = url + "&orange_mode=ajax";
	
	// Podgotavlivaem loader
	var loader = new cl_dispatcher(orange_loading_manager, 'post', true, 600000/*10 min*/);
	
	var ors_create = function() { return function(){
		
		if(loader.get_state() == 4){
			
			var resp = loader.get_response()
			var retx = loader.get_response_text()

			var error = resp.orange_error;
			if (error != '') {
				if (typeof error != 'undefined'){
					alert(error);
					return false;
				}
			}

		}
		
	}}
	
	loader.send_request(url, { orange_addon: addon }, ors_create());
}




classic_submit = function(url, form_id, name, value){
	
	
  
  form = document.getElementById(form_id);
	
	form.action = url;
	form.submit();

	
}



ajax_submit = function(url, form_id, indication){
	
	if (indication) {
		open_tag('orange_loading');
	}

	form = document.getElementById(form_id);
	
	url = url + "&orange_mode=ajax";
	
	// Podgotavlivaem loader
	var loader = new cl_dispatcher(orange_loading_manager, 'post', false, 0);
	
	var ors_create = function() { return function(){
		
		if(loader.get_state() == 4){
    
			var resp = loader.get_response()
			var retx = loader.get_response_text()
			
			var error = resp.orange_error;
			if (error != '') {
				if (typeof error != 'undefined'){
					alert(error);
					return false;
				}
			}

			if (indication) {
				close_tag('orange_loading');
			}
			
			if (resp.commands) run_commands(resp.commands);

		}
		
	}}
	
	loader.send_request(url, form, ors_create());
	
}


ajax_submit_and_update_block = function(url, form_id, addon, block_id){// old using
	
	open_tag('orange_loading');

	document.getElementById(block_id).innerHTML = '<span style="font-weight:bold; font-family:Georgia; font-size:12px; color:#FF9922;" >Загрузка</span>';
	
	form = document.getElementById(form_id);
	
	url = url + "&orange_mode=ajax&orange_addon=" + encodeURIComponent(addon);
	
	// Podgotavlivaem loader
	var loader = new JsHttpRequest();
	
	loader.onreadystatechange = function(){
		
		if(loader.readyState == 4){
			
			// daet oshibku v IE6
      //document.getElementById('js_debug_track').innerHTML = loader.responseText;
			
			var error = loader.responseJS['orange_error'];
			if (error != '') {
				if (typeof error != 'undefined'){
					alert(error);
					return false;
				}
			}

			var content = loader.responseJS.content;
			
			document.getElementById(block_id).innerHTML = content;
			
			close_tag('orange_loading');

		}
		
	}
	
	loader.open(null, url, true);
	
	loader.send({q: form});

}



orange_initialization = function(e){
	

	// Yarlichek zagruzka
	document.onmousemove = function(e){
			if (!e) e = event;
			el = document.getElementById('orange_loading');
			if (el){
				el.style.left = e.clientX + 15 + document.documentElement.scrollLeft;
				el.style.top = e.clientY + document.documentElement.scrollTop;
			}
	}

	if (el = document.getElementById('girl')){
		var now = new Date();
		var day = now.getMonth() * 31 + now.getDate();
		var num = (day % 20) + 1;
		var url = "url(\"/templates/dagpravda_admin/images/girls/" + num + ".jpg\")";
		el.style.backgroundImage = url;
	}
	
	// vizov funkcii inicializacii infoblockov
	components_initialization();

}




