﻿var ele_fs1 = document.getElementById('fs1');
var ele_fs2 = document.getElementById('fs2');
var ele_fs3 = document.getElementById('fs3');
var ele_fs4 = document.getElementById('fs4');
var ele_fl = document.getElementById('answer');
var load_fl = document.getElementById('load_file');
var ele_map = document.getElementById('map_');
//var ele_text = document.getElementById('text');
var ele_diff = document.getElementById('different');


function doDis(el, target) {
    switch (el)
    {
    case 'reload':
	document.getElementById('fefresh').disabled = target;
	$('different').innerHTML = "";
	$('map_').hide();
    break;
    default:
	document.getElementById(el).disabled = target;
    document.getElementById(el).selectedIndex = 0;
    }

	
}


function reload_fs1(arr) {
        ele_fs1.options.length = 1;
        ele_fs1.selectedIndex = 0;
        for (var i in arr) {
                k = ele_fs1.options.length;
                ele_fs1.options[k] = new Option(arr[i],i);
        }
}

function reload_fs2(arr) {
        ele_fs2.options.length = 1;
        ele_fs2.selectedIndex = 0;
        for (var i in arr) {
                k = ele_fs2.options.length;
                ele_fs2.options[k] = new Option(arr[i],i);
        }
        ele_fs2.disabled = false;
}

function reload_fs3(arr) {
        ele_fs3.options.length = 0;
        ele_fs3.selectedIndex = 0;
        for (var i in arr) {
                k = ele_fs3.options.length;
				//alert(i + '  ' + k);
                ele_fs3.options[k] = new Option(arr[i],i);
        }
}

function reload_fs4(arr1, arr2) {

while (ele_fs4.childNodes.length) {
    if (ele_fs4.firstChild.tagName == 'OPTGROUP') {
        while (ele_fs4.firstChild.childNodes.length) {
            ele_fs4.firstChild.removeChild(ele_fs4.firstChild.firstChild);
        }
    }
    ele_fs4.removeChild(ele_fs4.firstChild);
}
	ele_fs4.options[0] = new Option('выберите..','-1');
	ele_fs4.options.length = 1;
    ele_fs4.selectedIndex = 0;
    var new_optgroup = document.createElement("optgroup");
    new_optgroup.setAttribute("label", "Туда");
    new_optgroup.setAttribute("id", "newest0");
    ele_fs4.appendChild(new_optgroup);
    var last_added_optgroup = document.getElementById("newest0")

        for (var i in arr1) {
		    var new_sub_option = document.createElement("option");
		    new_sub_option.setAttribute("id", 'a'+i);
		    new_sub_option.setAttribute("value", i+'-0');
		    last_added_optgroup.appendChild(new_sub_option);
	        var text = document.createTextNode(arr1[i]);
			document.getElementById('a'+i).appendChild(text);
        }
    var new_optgroup = document.createElement("optgroup");
    new_optgroup.setAttribute("label", "Обратно");
    new_optgroup.setAttribute("id", "newest1");
    ele_fs4.appendChild(new_optgroup);
    var last_added_optgroup = document.getElementById("newest1")

        for (var i in arr2) {
		    var new_sub_option = document.createElement("option");
		    new_sub_option.setAttribute("id", 'b'+i);
		    new_sub_option.setAttribute("value", i+'-1');
		    last_added_optgroup.appendChild(new_sub_option);
	        var text = document.createTextNode(arr2[i]);
			document.getElementById('b'+i).appendChild(text);
        }
        ele_fs4.disabled = false;
}


function reload_file(arr) {
	if (arr[0] != 0) ele_fl.innerHTML = arr[0];
	else ele_fl.innerHTML = 'Такого файла не существует';
}

function reportError(request)
{
	var response = request.responseText.split(';');
	//$('text').hide();
	//$('text').innerHTML = "Error: " + response[0];
	
	//$('text').show();
	
	$('different').hide();
	$('different').innerHTML = response[1];
	$('different').show();
}


function loadedAvail(transport)
{
	var response = transport.responseText.split(';');

	$('map_').hide();
	$('map_').src = response[2] + "?" + Math.random();
	
	$('different').hide();
	$('different').innerHTML = response[1];
	
	
	//$('text').hide();
	//$('text').innerHTML = response[0];
	
	//$('text').show();
	$('different').show();
    $('map_').show();
	
	
    $('state').innerHTML= 'Загрузка завершена';
	$('load_spin').hide();
	$('load_spin').src= '';

} 


function pro_ajax(target){
    var fs1_id = '' + ele_fs1.options[ele_fs1.selectedIndex].value;
    var fs2_id = '' + ele_fs2.options[ele_fs2.selectedIndex].value;
    var fs3_id = '' + ele_fs3.options[ele_fs3.selectedIndex].value;
    var fs4_id = '' + ele_fs4.options[ele_fs4.selectedIndex].value;
	try{
	if ((fs1_id != -1)&&(fs2_id != -1)&&(fs3_id != -1)&&(fs4_id != -1)) {	

	$('state').innerHTML= 'Идет загрузка...';
	$('load_spin').src= './img/load.gif';
	

	var url = './ajax/proajax.php?r='+Math.random();
	
	var params = 'fs1=' + fs1_id + '&fs2=' + fs2_id + '&fs3=' + fs3_id + '&fs4=' + fs4_id + '&target=' + target;

    var myAjax = new Ajax.Request( url, { method: 'get', 
				                  parameters: params,
								  onFailure: reportError,
								  onComplete: loadedAvail });
	
	
	// сдеь даже обработчик не нужен создать форму отображения и вывести ее в браузер
	//var myAjax = new Ajax.Updater({success: 'placeholder'}, 
                                  //url, 
								  //{ method: 'get', 
								  //parameters: params}
								  //);
	
    //var <?php echo $holder;?> = new Ajax.PeriodicalUpdater('newPing','my.php', {method: 'post', frequency: 3.0, decay: 1});
	// не выходит изменять параметры (может с глобальным массивом попробовать)
    //var myAjax = new Ajax.PeriodicalUpdater('placeholder',url, {method: 'post', parameters: params, frequency: 10.0, decay: 0});

	
	} else
	{
	//$('text').innerHTML  = 'заполни поля';
	}	
		
    }catch(err){$('map_').innerHTML = 'exception LoadData';};

	$('load_spin').show();
	}
	
function reload_data(arr) {
	try{
	//alert(ele_map.src);
	//pict = new Image();
	//pict.src = "<img src='./maps/no_data.png'/>";

	arr[2] = "ajax/no_data.png";   
	//ele_text.innerHTML=arr[0] + ' | ' + arr[1]+ ' | ' + arr[2];
    ele_diff.innerHTML=arr[1] + "?" + Math.random();	
	//ele_map.innerHTML ="<img src='"+arr[2] + "?" + Math.random()+"' width='300' height='300'/>";
	//ele_map.innerHTML ="<img src='"+arr[2] + "?" + Math.random()+"' />";
	//ele_map.src = "<img src='"+arr[2] + "?" + Math.random()+"' width='300' height='300'/>";
	//ele_map.src =  arr[2];
	//ele_map.appendChild(pict);
	ele_map.innerHTML="<img src='"+arr[2]+"'>";
	
	
	}catch(err){ele_diff.innerHTML= "ошибка data java script"}
}

		
	
function LoadData(target){
    var fs1_id = '' + ele_fs1.options[ele_fs1.selectedIndex].value;
    var fs2_id = '' + ele_fs2.options[ele_fs2.selectedIndex].value;
    var fs3_id = '' + ele_fs3.options[ele_fs3.selectedIndex].value;
    var fs4_id = '' + ele_fs4.options[ele_fs4.selectedIndex].value;
	try{
	if ((fs1_id != -1)&&(fs2_id != -1)&&(fs3_id != -1)&&(fs4_id != -1)) {
	
	var req2 = new JsHttpRequest();
	req2.onreadystatechange = function() {
       if (req2.readyState == 4) {
             eval('reload_'+target+'(req2.responseJS)'); 
            }
        }
        req2.caching = false;
        req2.open('POST', './ajax/cnt.php', true); // native true
        req2.send({fs1: fs1_id, fs2: fs2_id, fs3: fs3_id, fs4: fs4_id, 'target': target });
	} else
	{
		ele_diff.innerHTML = '';
		}	
		
    }catch(err){ele_diff.innerHTML = 'exception LoadData';};
	}
	
	
function reload_diff(arr) {
	//ele_diff.innerHTML=arr[0];
	try{
    ele_diff.innerHTML=arr[0] + "?" + Math.random();
	}catch(err){ele_diff.innerHTML= "ошибка java script"}
	//alert("df");
}

	
	
function LoadDifferent(target){
    var fs1_id = '' + ele_fs1.options[ele_fs1.selectedIndex].value;
    var fs2_id = '' + ele_fs2.options[ele_fs2.selectedIndex].value;
    var fs3_id = '' + ele_fs3.options[ele_fs3.selectedIndex].value;
    var fs4_id = '' + ele_fs4.options[ele_fs4.selectedIndex].value;	
	
	//alert("id_1 = " + fs1_id + ", <br> " +  "id_2 = " + fs2_id + ",  <br>" + "id_3 = " + fs3_id + ",  <br>" + "id_4 = " + fs4_id);
    //ele_diff.innerHTML = 'загружаю';
	if ((fs1_id != -1)&&(fs2_id != -1)&&(fs3_id != -1)&&(fs4_id != -1)) {
	var req1 = new JsHttpRequest();
	
	req1.onreadystatechange = function() {
       if (req1.readyState == 4) {
             eval('reload_'+target+'(req1.responseJS)');            
            }
        }
        req1.caching = false;
        req1.open('POST', './ajax/cnt.php', true);
        req1.send({fs1: fs1_id, fs2: fs2_id, fs3: fs3_id, fs4: fs4_id, 'target': target });
	} else
	{
		ele_diff.innerHTML = '';
		}
}

function reload_map(arr) {
        //ele_map.myImage.src = hiddenlmg.src;
		//ele_map.innerHTML ="<img src='111_img.jpg' width='786' height='441'/>";
		//document.images[0].src="111_img.jpg";
        //document.images[0].src="'"+arr[0]+"'";
		//document.images[0].src=arr[0];
		
	   //if (arr == "0"){
		   
	   try{	   
	   //ele_text.innerHTML='error';
	   //}else{
	   //ele_text.innerHTML=arr[0] + ' | ' + arr[1];
	   
	   //pict = new Image();
	   //pict.src = "<img src='"+arr[0] + "?" + Math.random()+"'/>";
	   
	   ele_map.innerHTML="<img src='"+arr[0] + "?" + Math.random()+"' width='400' height='400'/>";
	   }catch(err)
	   {ele_map.innerHTML="no pictures";}			   
	   //ele_map.innerHTML= "<img src='"+pict.src+"'/>";
	   //ele_map.innerHTML= "<img src='"+pict.src +"'/>";
	   //} 
		
		//ele_map.innerHTML="<img src='"+arr[0]+"'/>";
        //ele_map.images[0].src=arr[1];        
}

function LoadMap(target){
    var fs1_id = '' + ele_fs1.options[ele_fs1.selectedIndex].value;
    var fs2_id = '' + ele_fs2.options[ele_fs2.selectedIndex].value;
    var fs3_id = '' + ele_fs3.options[ele_fs3.selectedIndex].value;
    var fs4_id = '' + ele_fs4.options[ele_fs4.selectedIndex].value;	
	
	if ((fs1_id != -1)&&(fs2_id != -1)&&(fs3_id != -1)&&(fs4_id != -1)) {
    //ele_map.innerHTML = 'загружаю';
	var req2 = new JsHttpRequest();

	req2.onreadystatechange = function() {

       if (req2.readyState == 4) {
             eval('reload_'+target+'(req2.responseJS)');            
            }
        }

        req2.caching = false;
        req2.open('POST', './ajax/cnt.php', true);
        req2.send({fs1: fs1_id, fs2: fs2_id, fs3: fs3_id, fs4: fs4_id, 'target': target });
	
	}

}

function doLoad(force, target) {
        var fs1_id = '' + ele_fs1.options[ele_fs1.selectedIndex].value;
        var fs2_id = '' + ele_fs2.options[ele_fs2.selectedIndex].value;
        var fs3_id = '' + ele_fs3.options[ele_fs3.selectedIndex].value;
        var fs4_id = '' + ele_fs4.options[ele_fs4.selectedIndex].value;
		
		//ele_fl.innerHTML = '';
		
        if (target == 'fs2') { doDis('fs2', true);doDis('fs3', true);doDis('fs4', true); }
        if (target == 'fs3') { doDis('fs3', true);doDis('fs4', true); }
        if (target == 'fs4') { doDis('fs4', true); }
		
		
        var req = new JsHttpRequest();
        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                //alert(req.responseJS);
				//alert(ele_fs4.selectedIndex);
				//if (target == 'map') eval('reload_'+target+'(req.responseJS)'); 
				
                if (target != 'fs4') eval('reload_'+target+'(req.responseJS)');
                else
                {
                	arrn = req.responseJS;
                	eval('reload_'+target+'(arrn[0], arrn[1])');
                }
                if (req.responseJS) {
                }
				
				//if (ele_fs4.selectedIndex == 0) {ele_fl.innerHTML = '';};
				
            }
        }
        req.caching = true;
        req.open('POST', './ajax/cnt.php', true);
        req.send({ fs1: fs1_id, fs2: fs2_id, fs3: fs3_id, fs4: fs4_id, 'target': target });
}


doLoad(true,'fs1');
doLoad(true,'fs3');
ele_fs2.disabled = true;
ele_fs3.disabled = true;
ele_fs4.disabled = true;
