var curpageT = document.URL;
curpageT = curpageT.split("#");
var curpage = curpageT[0];
var LocalHistory = new Array;
var reqar = new Object();
function doDyn(link,divnames,actnames,frmname,statuselem) {
		// Обрабатываем параметры 
		if(statuselem == '') {
			statuselem = 'ajax_loading';
		}
		if (link=='') {
			link=curpage;	
		}
		/*
		if (divnames == '') {
			divnames = thelements;
			if (link==curpage) {
				divnames  = 'content;';
			}
		}
		*/
		/*
		if (divnames == '-') {
			divnames = '';
		}
		*/
		// Создаем новый объект JSHttpRequest.
        var req = new JsHttpRequest();
        
        // Код, АВТОМАТИЧЕСКИ вызываемый при окончании загрузки.
        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                if (req.responseText) {
                    // Записываем в <div> результат работы.
                    var elems = new Array;
                    if(divnames!='') {
						//alert(divnames);
                    	elems = divnames.split(';');
                    	if(elems[0]=='content') {
                    		document.getElementById('content').innerHTML = req.responseText;
                    		elems.splice(0,1);
                    		//alert('content');
                    		try {
                    			eval(ajax_content_mod);
                    		} catch (e) {
                    			
                    		}
                    	}
                    	for(var n=0; n<elems.length; n++) {
                    		if(elems[n] != '') {
                    			//alert(elems[n]);
            					document.getElementById(elems[n]).innerHTML = req.responseJS[elems[n]];
								
            				}
        				}
                    }
                    if(actnames!='') {
        				elems = actnames.split(';');
        				for(var n=0; n<elems.length; n++) {
                    		if(elems[n] != '') {
                    			//alert(elems[n]);
            					document.getElementById(elems[n]).innerHTML = req.responseJS[elems[n]];	
            				}
        				}
        			}
        			if((curpage != '') && (link != curpage)) {
        				LocalHistory.push(curpage);
        				//alert(curpage);
        			}
        			curpage = link;
        			//alert(req.responseJS.ajaxsysmsg);
        			if(document.getElementById(statuselem)) {
						HideById(statuselem);
					}
        			eval(req.responseJS.ajaxsysmsg);
        				
                }
                
            }
        }
        // Разрешаем кэширование (чтобы при одинаковых запросах
        // не обращаться к серверу несколько раз).
        link = link + (link.indexOf('?')>=0? '&' : '?') + 'sender=AJAX'
        req.open('GET', link, true);
        // Посылаем данные запроса (задаются в виде хэша).
        // reqar['sender'] = 'AJAX';
        reqar['divname'] = divnames;
        reqar['actions'] = actnames;
        
        if(frmname!='') {
        	//alert(frmname+' '+actnames+' '+link);
        	
        	for(var n=0; n<document.forms[frmname].length; n++) {
			    elemallowed = true;
				if(document.forms[frmname].elements[n].type == "checkbox" && document.forms[frmname].elements[n].checked == false) elemallowed = false;
				if(elemallowed) {
					reqar[document.forms[frmname].elements[n].name] = document.forms[frmname].elements[n].value;
					
					//alert(document.forms[frmname].elements[n].name+'='+document.forms[frmname].elements[n].value);
				}
        	}
        	
        	/*
        	for(var n=0; n<document.getElementById(frmname).length; n++) {
            	reqar[document.getElementById(frmname).elements[n].name] = document.forms[frmname].elements[n].value;
            	alert(document.getElementById(frmname).elements[n].name+'='+document.forms[frmname].elements[n].value);
        	}
        	*/
        }
        //alert('alert before send');
        
		//alert(document.getElementById('ajax_loading').className);
        req.send(reqar);
        if(document.getElementById(statuselem)) {
			ShowById(statuselem);	
        }
        reqar = new Object();
        return false;
        
}

function AGoBack() {
	var cpage = new String;
	if (LocalHistory.length==0) {
		history.go(-1);
	} else {
		curpage = '';
		doDyn(LocalHistory.pop(),thelements,'','');
	}
	return false;
}

function ShowHideById(id) {
	var elem = document.getElementById(id);
	if (elem.style.display == 'none') {
		elem.style.display = 'block';
	} else {
		elem.style.display = 'none';
	}
	return false;
}

function ShowHideByIdTr(id) {
	var elem = document.getElementById(id);
	alert(elem.style.display);
	if (elem.style.display != 'none') {
		elem.style.display = 'none';
	} else {
		elem.style.display = 'inherit';
	}
	return false;
}

function ShowById(id) {
	document.getElementById(id).style.display = 'block';
}

function HideById(id) {
	document.getElementById(id).style.display = 'none';
}


