
function doLoad() {
    JsHttpRequest.query(
        't_simple_loader.php',
        { q: document.getElementById('text').value },
        function(responseJS, responseText) {
            // This function is called on data ready (readyState=4).
            // Write result to page element ($_RESULT become responseJS).
            document.getElementById('result').innerHTML =
                '<b>MD5("'+responseJS.q+'")</b> = ' +
                '"' + responseJS.md5 + '"<br> ';
            // Write debug information too (output become responseText).
            document.getElementById('debug').innerHTML = responseText;
        },
        false // do not disable caching
    );
}

function clearSelect(oSelect) {
	if(!oSelect.options) {
		oSelect = document.getElementById(oSelect);
	}

	if(oSelect) oSelect.innerHTML = '';
}

function addToSelect(oSelect, name, value) {
	if(!oSelect.options) {
		oSelect = document.getElementById(oSelect);
	}

	if(oSelect && oSelect.options) {
		var oOption = document.createElement("OPTION");
		oSelect.options.add(oOption);
		oOption.innerHTML = name;
		oOption.value = value;
	}
}

function fillSelect(oSelect, data) {
	var item;
	if(oSelect&&data) {
		var m = data.split('\n');
		for(i=0;i<m.length;i++) {
			item = m[i].split('\t');
			if(item.length==2) addToSelect(oSelect, item[0], item[1]);
		}
	}
}

function mod(elementid, mod, place, param) {
	var e = document.getElementById(elementid);
    e.innerHTML = 'подождите...';

	JsHttpRequest.query(
        'ajax/mod.php',
        { mod: mod, place: place, param: param },
        function(responseJS, responseText) {
        	var e = document.getElementById(elementid);
        	if(responseText) alert(responseText);
            else e.innerHTML = responseJS.data;
			
			var m_elem = e.getElementsByTagName('script');
			if(m_elem) {
				for(var i in m_elem) {
					if(m_elem[i] && m_elem[i].getAttribute && m_elem[i].innerHTML) {
						eval(m_elem[i].innerHTML);
					}
				}
			}
        },
        true
    );
}

function hidemain() {
	document.getElementById('mainplace').style.visibility='hidden';
}

function getFormField(form, m_post) {
	var e = null;

	if(form)
	for(var i=0;i<form.childNodes.length;i++) {
		e = form.childNodes[i];

		if(e.getAttribute && e.name) {
			if(e.type == 'checkbox') {
				if(e.checked) m_post[e.name] = e.value;
			}
			if(e.type == 'radio') {
				if(e.checked) m_post[e.name] = e.value;
			} else 
			if(e.type == 'file') {
				if(!m_post['fileinputs']) m_post['fileinputs'] = { };
				m_post['fileinputs'][e.name] = e;
			} else {
				m_post[e.name] = e.value;
			}
		}
		m_post = getFormField(e, m_post);
	}

	return m_post;
}

function ajaxSendForm(form) {
	if(contentid) {
		return testForm(form);
	} else {
		if(testForm(form)) {
			var url = form.getAttribute('action');
			var m_post = getFormField(form, { });
			
			var m_param = {url: url, post: m_post};
			
			if(m_post['fileinputs']) {
			 	for(var name in m_post['fileinputs']) {
			 	 	m_param[name] = m_post['fileinputs'][name];
				}
			}

			document.getElementById('mainplace').style.visibility='hidden';

		    JsHttpRequest.query(
		        '/index.php',
		        m_param,
		        function(responseJS, responseText) {
		        	if(responseText) {
		        		eval(responseText);
		        		return 0;
		        	}

		            var html = responseJS.html;
					if(html) {
						document.getElementById('mainplace').innerHTML = html;
						document.getElementById('mainplace').style.visibility='';
					}

					var place = responseJS.place;
					if(place && place instanceof Object) {
						for (var key in place) {
							var val = place[key];
							if(val instanceof Function) continue;
							document.getElementById(key).innerHTML = val;
						}
					}

					var ajaxeval = responseJS.ajaxeval;
					if(ajaxeval && ajaxeval instanceof Object) {
						for (var key in ajaxeval) {
							var val = ajaxeval[key];
							if(val instanceof Function) continue;
							eval(val);
						}
					}
					
					if(place && place instanceof Object) {
						for (var key in place) {
							var val = place[key];
							if(val instanceof Function) continue;
							var ee = document.getElementById(key);
							if(!ee) continue;
							var m_elem = ee.getElementsByTagName('script');
							if(m_elem) {
								for(var i in m_elem) {
									if(m_elem[i] && m_elem[i].getAttribute && m_elem[i].innerHTML) {
										eval(m_elem[i].innerHTML);
									}
								}
							}
						}
					}
		        },
		        true
		    );

			return false;
		} else return false;
	}
}

function ajaxgo(url) {
	document.getElementById('mainplace').style.visibility='hidden';

    JsHttpRequest.query(
        '/index.php',
        { url: url },
        function(responseJS, responseText) {
        	if(responseText) {
        		eval(responseText);
        		return 0;
        	}
			
            var html = responseJS.html;
			if(html) {
				document.getElementById('mainplace').innerHTML = html;
				document.getElementById('mainplace').style.visibility='';
			}

			var place = responseJS.place;
			if(place && place instanceof Object) {
				for (var key in place) {
					var val = place[key];
					if(val instanceof Function) continue;
					var ee = document.getElementById(key);
					if(ee) ee.innerHTML = val;
					else alert('Не найден ID ' + key);
				}
			}

			var ajaxeval = responseJS.ajaxeval;
			if(ajaxeval && ajaxeval instanceof Object) {
				for (var key in ajaxeval) {
					var val = ajaxeval[key];
					if(val instanceof Function) continue;
					eval(val);
				}
			}
			
			if(place && place instanceof Object) {
				for (var key in place) {
					var val = place[key];
					if(val instanceof Function) continue;
					var ee = document.getElementById(key);
					if(!ee) continue;
					var m_elem = ee.getElementsByTagName('script');
					if(m_elem) {
						for(var i in m_elem) {
							if(m_elem[i] && m_elem[i].getAttribute && m_elem[i].innerHTML) {
								eval(m_elem[i].innerHTML);
							}
						}
					}
				}
			}
        },
        true
    );
}

/**
 * stev
 * @return
 */
function referer_addrazdel(targ,selObj,restore){
	  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	  if (restore) selObj.selectedIndex=0;
	document.location('/' + document.getElementById('addrazdel').value);
//	ajaxgo(url);
//	location.replace('/' + document.getElementById('addrazdel').value);
}

function testnic() {
	document.getElementById('savebtn').style.display = 'none';
	document.getElementById('regstatus').innerHTML = 'идет регистрация ждите...';

    JsHttpRequest.query(
        'ajax/testnic.php',
        { nic: document.getElementById('regform').name.value, 'captcha': document.getElementById('regform').keystring.value},
        function(responseJS, responseText) {
        	if(responseJS.nicexist) {
        		document.getElementById('savebtn').style.display = '';
				document.getElementById('regstatus').innerHTML = '';
        		alert('Данный ник уже занят!');
				return 0;
        	}
			if(responseJS.badcapcha) {
        		document.getElementById('savebtn').style.display = '';
				document.getElementById('regstatus').innerHTML = '';
        		alert('Неверно указан код на картинке!');
				return 0;
        	}
			regform.submit();
        },
        false
    );
}


function showrazdel() {
	clearSelect('razdel');
	addToSelect('razdel', 'ждите...', '0');

    JsHttpRequest.query(
        'ajax/showrazdel.php',
        { id: document.getElementById('mainrazdel').value },
        function(responseJS, responseText) {
        	clearSelect('razdel');
        	addToSelect('razdel', 'Выберите', '0');
        	fillSelect('razdel', responseJS.data);
        },
        false
    );
}

function showspec() {
	clearSelect('spec');
	addToSelect('spec', 'ждите...', '0');

    JsHttpRequest.query(
        'ajax/showspec.php',
        { id: document.getElementById('razdel').value },
        function(responseJS, responseText) {
        	clearSelect('spec');
        	addToSelect('spec', 'Уточните', '0');
        	fillSelect('spec', responseJS.data);
        },
        false
    );
}

function showrazdel2() {
	clearSelect('razdel2');
	addToSelect('razdel2', 'ждите...', '0');

    JsHttpRequest.query(
        'ajax/showrazdel.php',
        { id: document.getElementById('mainrazdel2').value },
        function(responseJS, responseText) {
        	clearSelect('razdel2');
        	addToSelect('razdel2', 'Выберите', '0');
        	fillSelect('razdel2', responseJS.data);
        },
        false
    );
}

function showspec2() {
    clearSelect('spec2');
    addToSelect('spec2', 'ждите...', '0');

    JsHttpRequest.query(
        'ajax/showspec.php',
        { id: document.getElementById('razdel2').value },
        function(responseJS, responseText) {
            clearSelect('spec2');
            addToSelect('spec2', 'Уточните', '0');
            fillSelect('spec2', responseJS.data);
        },
        false
    );
}
/*
*
* @autor stev
*/
function showCityList(nameCountryElement,nameCityElement) {
	clearSelect(nameCityElement);
	addToSelect(nameCityElement, 'ждите...', '0');

    JsHttpRequest.query(
        'ajax/citylist.php',
        { id: document.getElementById(nameCountryElement).value },
        function(responseJS, responseText) {
        	clearSelect(nameCityElement);
        	addToSelect(nameCityElement, 'Выберите город', '0');
        	fillSelect(nameCityElement, responseJS.data);
        },
        false
    );
}

function showspec3(place) {
	var spec3 = document.getElementById('spec3' + place);
	var razdel3 = document.getElementById('razdel3' + place);

	clearSelect(spec3);
	addToSelect(spec3, 'ждите...', '0');

    JsHttpRequest.query(
        'ajax/showspec.php',
        { id: razdel3.value, 'place': place },
        function(responseJS, responseText) {
        	var spec3 = document.getElementById('spec3' + responseJS.place);

        	clearSelect(spec3);
        	addToSelect(spec3, 'Уточните', '0');
        	fillSelect(spec3, responseJS.data);
        },
        false
    );
}

function testnewmessage() {
	setTimeout("testnewmessage()", 30000);
	/*
    JsHttpRequest.query(
        'ajax/newmessage.php',
        { q:'' },
        function(responseJS, responseText) {
        	if(responseJS.open) {
        		//alert('У вас новые сообщения');
				window.open(responseJS.open, 'message', 'width=640,height=480,status=yes,toolbar=no,menubar=no,scrollbars=yes');
        	}
        },
        true
    );  */
}
