function show(state)
{
document.getElementById("result").innerHTML = ''; //Перед показом очищаем результат последнего запроса
clear();//Очищаем форму
document.getElementById("popup").style.display = state;
}
function clear()
{
document.forms.namedItem("new_data").reset();
}
function getXmlHttp()
{
var http;
if (window.XMLHttpRequest)// code for IE7+, Firefox, Chrome, Opera, Safari
http = new XMLHttpRequest();
else// code for IE6, IE5
http = new ActiveXObject("Microsoft.XMLHTTP");
return http;
}
var inputs = ["brand_car","fuel_consumption","brand_fuel","max_speed"];
function get_data(data,act,return_val,default_val)
{
//Если не через newForm, то нужно отправлять заголовки, если существуют POST данные
var xmlhttp = getXmlHttp();
var result=return_val;//Переданный document.getElementById
xmlhttp.onreadystatechange = function()
{
if(default_val)
result.innerHTML = '<img src="res/imgs/loader.gif">';
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
var res = xmlhttp.responseText;
if(res.indexOf("<document")!=-1)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(res,"text/xml");
alert(xmlDoc.getElementsByTagName("status")[0].innerHTML);
}
else
result.innerHTML = res;
}
};
xmlhttp.open("POST","query_process.php?act="+act, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(data);
}
function delete_data(id)
{
get_data("car_id="+id,"delete_data",document.getElementById("result"),false);//Удаление
var row = document.getElementById("row_"+id);
if (row.parentNode){
row.parentNode.removeChild(row);
}
}
function save_data(name_act,id)
{
var q_str='',field_show;
var row=document.getElementById("row_"+id);
var inp=row.getElementsByTagName("input");//Массив всех input
for(var i=0;i<inp.length;i++)
{
if(inp[i]!=undefined)
q_str+=inp[i].name+"="+inp[i].value+"&";
}
//alert(q_str);
get_data(q_str+"car_id="+id,name_act,row,false);
}
function sendReq(oData,act,return_val)
{
//oData - POST данные
//act - действие
//return_val - селектор для результата
var xhr = getXmlHttp();
var result=document.getElementById(return_val);
xhr.onload=xhr.onerror = function()
{
if(xhr.status!=200)
result.innerHTML='Ответ не получен!';
}
xhr.onreadystatechange=function(){
result.innerHTML='<img src="res/imgs/load.gif">';
//индикатор загрузки
if(xhr.readyState==4 && xhr.status==200)
{
if(xhr.responseText.indexOf("<div code=")==-1)
{//Если пришел ответ без ошибки
var tbl = document.getElementById("view_data");
var row = tbl.insertRow (-1);
var start = xhr.responseText.toLowerCase().indexOf("<td>");
var end = xhr.responseText.toLowerCase().indexOf("</td>");
var idn = xhr.responseText.substr(start+4,end-4);
row.id="row_"+idn;
row.innerHTML = xhr.responseText;//Если все ок - вставляем строку в таблицу
result.innerHTML='';
}else
result.innerHTML=xhr.responseText;//Выводим ошибку
}
};
xhr.open("POST", "query_process.php?act="+act, true);
xhr.send(oData);
}
function handler(act_with_data)
{//Обработчик нажатия button
var form = document.forms.namedItem("new_data");
var oData = new FormData(form);
sendReq(oData,act_with_data,'result');//act_with_data - для определения редактирования или добавления
}
function view_form(field_name,id)
{
var row=document.getElementById("row_"+id);
var cell=row.getElementsByClassName(field_name);
var go_field = cell[0].getElementsByTagName('input');
if(go_field[0]==undefined)
{
get_data("field="+field_name+"&car_id="+id,"edit_data",cell[0],false);
}
//Запрос на получение из базы
}