
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;
        },
        true // true = disable caching
    );
}

function clearSelect(oSelect) {
	oSelect.innerHTML = '';
}

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

	if(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);
            e.innerHTML = responseJS.data;
        },
        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(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];
			}
		}
		
		var mainplace = document.getElementById('mainplace');
		if(mainplace) 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) {
					var mainplace = document.getElementById('mainplace');
					if(mainplace) {
						mainplace.innerHTML = html;
						mainplace.style.visibility='';
					} else {
				 		alert('No mainplace');
					}
				}

				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) {
					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;
	}
}

function ajaxgo(url) {
	var mainplace = document.getElementById('mainplace');
	if(mainplace) 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) {
				var mainplace = document.getElementById('mainplace');
				if(mainplace) {
					mainplace.innerHTML = html;
					mainplace.style.visibility='';
				} else {
				 	alert('No mainplace');
				}
			}

			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
    );
}

var flag_flashsearch_key = Array();
var flag_flashsearch_time = Array();

function flashsearch_key(field, type) {
	var str = document.getElementById(field).value;
	if(str.length > 2) {
		flag_flashsearch_key[field] = 1;
		if(!flag_flashsearch_time[field]) flashsearch_time(field, type);
	}
}

function flashsearch_time(field, type) {
	if(flag_flashsearch_key[field]) {
		flag_flashsearch_time[field] = 1;
		flag_flashsearch_key[field] = 0;
		setTimeout("flashsearch_time('" + field + "', '" + type + "')", 300);
	} else {
		flag_flashsearch_time[field] = 0;
		flashsearch(field, type);
	}
}

function flashsearch(field, type) {
	var str = document.getElementById(field).value;

    JsHttpRequest.query(
        'ajax/flashsearch.php',
        { type: type, str: str },
        function(responseJS, responseText) {
        	if(responseText) {
        		alert(responseText);
        		return 0;
			}
			
        	if(responseJS.res!=0) {
        		var flashsearch = document.getElementById('flashsearch');
				if(flashsearch) {
					var e = document.getElementById(field);
					if(!e) return 0;
					
					var y = e.offsetTop;
					var x = e.offsetLeft;
					
					var ii = e.offsetParent;
					
					while(ii.tagName!='BODY') {
						y += ii.offsetTop;
						x += ii.offsetLeft;
						ii = ii.offsetParent;
					}
					
					y += e.offsetHeight;
					
					flashsearch.style.top = y + 'px';
					flashsearch.style.left = x + 'px';
					flashsearch.style.width = e.offsetWidth + 'px';
					flashsearch.style.height = '10px';

					flashsearch.innerHTML = '';
					for(i=0;i<responseJS.res.length;i++) {
						if(responseJS.res[i][2]) flashsearch.innerHTML += '<div class="flashsearch"><a href="#" onclick="document.getElementById(\'' + field + '\').value=\'' + responseJS.res[i][1] + '\';document.getElementById(\'' + field + '_id\').value=\'' + responseJS.res[i][0] + '\';document.getElementById(\'flashsearch\').style.display=\'none\';return false;">' + responseJS.res[i][2] + '</a></div>';
					}
					flashsearch.innerHTML += '<div class="flashsearch_bottom"><a href="" onclick="document.getElementById(\'flashsearch\').style.display=\'none\';return false;">закрыть</a></div>';
					flashsearch.style.display = '';
				}
        	} else {
				var flashsearch = document.getElementById('flashsearch');
				if(flashsearch) {
					flashsearch.style.display = 'none';
				}
        	}
        },
        false
    );
}
