
Вход | Регистрация
Навигатор
0){re=re[0];}}
}
else{
re = getElementsBy(y,"attribute="+OID[0]+":"+OID[1],0);
}
if(!as){return re;} else{return (y && re && re.innerHTML)?re.innerHTML:""};
}
}
function replace_element_in(element,pid){// Забрать element и поместить его в pid, на его место поставить div.id = 'place_element.id'
if(!pid){pid = document.getElementById('tempory_inputs');}
if(typeof(pid)=='string'){pid = document.getElementById(pid);}
if(!pid){return;}
if(typeof(element) =='string'){element = document.getElementById(element);}
if(element.parentNode == pid){return;}
if(!element){return;} var id = element.getAttribute('id');
if(!id){id = element.name;}
if(!id){return;} // id для перемещаемых обязательно
var placeID = "place_"+id;
if(!placeID){return;}
var placeO = document.getElementById(placeID);
if(!placeO){
placeO = document.createElement('div');
placeO.id = placeID; placeO.className='tempory_place_file';
if(element.style.display=='none' || element.type=='hidden'){
placeO.style.display='none';}
else{
placeO.style.width = element.offsetWidth+'px';
placeO.style.height = element.offsetHeight+'px';}
element.parentNode.insertBefore(placeO,element);
}
pid.appendChild(element);
}
function check_attach_txtfiles(){
var forma = document.forms['forma_savepanel'];
var txts = document.getElementsByTagName('input');
for(i=0; i < txts.length; i++){
if(txts[i].type!=='file'){continue;} var t_form = txts[i].getAttribute('forma');
if(!t_form || t_form!=='forma_savepanel'){continue;}
var t_files = txts[i].files; var t_name = txts[i].name || txts[i].getAttribute('name');
console.log((t_name?t_name:"без имени")+" - "+(txts[i].value?'file':'нет файла'));
for( var f=0; f < t_files.length; f++){
console.log("Filename: " + t_files[f].name);
console.log("Type: " + t_files[f].type);
console.log("Size: " + t_files[f].size + " bytes");
}
}
}
function get_fileinputs(fileTxts){ // Проверить массив txts на принадлежность к форме forma_savepanel и если не пренадлежат выполнить перемещение в форму
if (fileTxts instanceof Array){ //передан уже готовый массив inputs:file
}
else{
var subforma = fileTxts; fileTxts = get_fileTxts(subforma,'',1); // ПОЛУЧАЕМ ВСЕ в т.ч. и не заполненные
}
//if(typeof(fileTxts)=='string'){fileTxts = get_fileTxts(fileTxts); } // Получаем все заполненные input:file внутри 'test_form' ВНИМАНИЕ ПРОТЕСТИРОВАТЬ !!!! Возможно для перемещения нужно получать все, в том числе и не заполненные input:file, так как например в инструменте выбора картинок images_box input:file их кол-во и порядок завязаны с полем images
if(!fileTxts || !fileTxts.length){return;}
var form = document.forms['forma_savepanel'];
for (var i=0; i < fileTxts.length; i++){
if(fileTxts[i].type !=='file'){continue;}
var attrform = fileTxts[i].getAttribute('form');
if (!attrform || attrform !== 'forma_savepanel'){continue;}
if(!form.elements[fileTxts[i].name]){ // данный txt не принадлежит форме 'forma_savepanel' значит атрибут 'form' не поддерживается браузером
//alert("Input "+fileTxts[i].name+" не принадлежит форме forma_savepanel");
replace_element_in(fileTxts[i]); // физически перемещаем input внутрь формы 'forma_savepanel'
//if(!form.elements[fileTxts[i].name]){alert("Input "+fileTxts[i].name+" по прежнему не принадлежит форме forma_savepanel");} else{alert("Теперь Input "+fileTxts[i].name+" принадлежит форме forma_savepanel");}
}
}
}
function replace_temporyinputs(){// Вернуть контролы из 'tempory_inputs' на их законные места
var childs = document.getElementById('tempory_inputs').childNodes;
if(!childs || !childs.length){return;}
for (var i= childs.length-1; i >=0; i--){
var tI = childs[i]; var id = childs[i].getAttribute('id'); if (!id){id=childs[i].name;}
var placeI = document.getElementById('place_'+id);
if(id && placeI){
var P = placeI.parentNode;
P.insertBefore(tI,placeI);
P.removeChild(placeI);
}
else{
document.getElementById('tempory_inputs').removeChild(tI);
}
}
}
function get_variants(txt,shiftKey,ps){
if(typeof(window['TXT_WAITING'])=='object'){return;} //Пока не получен результат от предыдущего
window['TXT_WAITING'] = txt;
var pole = txt.getAttribute('pole');
if(ps && typeof(strtoobj)=='function'){ var PS = strtoobj(ps,',',':');}
if(!PS || !PS['tb']){if(typeof(get_tb)=='function'){var tb = get_tb();}} else{var tb =PS['tb'];}
if(!tb){alert("Не определена таблица выбора значений"); return; }
if(PS['pole']){pole =PS['pole'];}
var where =""; var byorder="";
if(PS){where =PS['where']||""; byorder=PS['order']||"";}
if(shiftKey && PS && PS['shiftwhere']!==undefined){where =PS['shiftwhere'];}
if(where && where.indexOf('get_')>-1){ // параметр where записан как имя функции
var getfunc = where.substring(where.indexOf('get_'));
var funcname = getfunc.substring(0,getfunc.indexOf('(')); //alert(funcname);
if(typeof(window[funcname])=='function'){ var resfunc = eval(getfunc);}
if(resfunc){where = where.replace(getfunc,resfunc);}
}
var parameters = "tb="+tb+"&pole="+pole+"&order="+byorder+"&where="+where;
// alert(parameters); return; //Отладка
var afterfuncname=""; if(PS && PS['afterfunc']){afterfuncname=PS['afterfunc']; }
//alert(afterfuncname); //Отладка
if(typeof(getplace)=='function'){getplace(txt,'result_getlist');}
savePanel("get_distinct",parameters,'',afterfuncname,'result_getlist');
}
function reitem_click(div){
var txt = window['TXT_WAITING']; window['TXT_WAITING']="";
if(typeof(div)=='object'){var itemInner = div.innerHTML;}
if(!itemInner || itemInner.indexOf("Нет вариантов")>-1){
document.getElementById('result_getlist').innerHTML=""; return;}
if(typeof(txt)=='object'){txt.value = itemInner;}
}
function fill_enumerator_aftergetlist(res){ // Данная функция прописывается в функцию
//alert(res);
var txt = window['TXT_WAITING']; // Поскольку мы вызывали get_variants( здесь будет объект txt
reitem_click(); // Вызов без параметров закроет стандартное отображение result_getlist
var list="";
if(res && res.indexOf('KEYS')>-1){
var keys = parseKeys(res);
if(keys['list']){list=keys['list'];}//alert(keys['list']); //Отладка
}
fill_enumerator(txt,list);
}
// swap механизмы
function swapPanel(preparser,resultid,parameters,afterfuncname,temptext){
// ВНИМАНИЕ !!! при сохранении форм где предполагаются inputs:file idform - обязательный параметр, иначе файлы не будут отправлены на сервер в браузерах без поддержки атрибута form
if(!preparser || !resultid || !parameters){return;}
document.getElementById('swap_txtr_parser').value = preparser;
var process = document.getElementById('ifr_swap').getAttribute('onload');
if(process){return;} // Не выполнен предыдущий запрос
if(temptext!==undefined && typeof(ekranShow)=='function'){ekranShow(temptext);}
if(!afterfuncname){afterfuncname="";}
document.getElementById("swap_txtr_preparser").value = preparser;
document.getElementById("swap_txtr_parameters").value = parameters;
if(typeof(resultid)=='string'){
if(document.getElementById(resultid)){
resultid = document.getElementById(resultid);
document.getElementById("swap_txtr_resultid").value = "";
document.getElementById('ifr_swap').setAttribute('resultid','');
}
else{
document.getElementById("swap_txtr_resultid").value = resultid;
document.getElementById('ifr_swap').setAttribute('resultid',resultid);
}
// if(resultid.id){resultid = resultid.id;}
// else{resultid.setAttribute('id','temp_reswap'); resultid='temp_reswap';}
}
window['wait_swapresult'] ="";
if(typeof(resultid)=='object'){window['wait_swapresult'] = resultid;}
// //alert(resultid);
//
document.getElementById('ifr_swap').setAttribute('funcname',afterfuncname);
document.getElementById('ifr_swap').setAttribute('onload',"swap_result(this)");
document.getElementById('forma_swap').submit();
}
function swap_result(){ // Данная функция получает данные в iframe ifr_swap, а затем перемещает контент из объекта resultid в iframe в объект resultid на главной странице resultid может быть передан с разделитем : тогда id объекта на главной это первый id объекта в iframe это второй
document.getElementById('ifr_swap').removeAttribute('onload');
var resultEl ="";
if(typeof(window['wait_swapresult']) =='object'){resultEl = window['wait_swapresult']; window['wait_swapresult']="";}
var afterfuncname = document.getElementById('ifr_swap').getAttribute('funcname');
var resultid = document.getElementById('ifr_swap').getAttribute('resultid');
if(!resultid && !resultEl){return;}
var iO = getiframeobj('ifr_swap');
if(resultid == 'IFR'){ // необходимо вернуть ссылку на document в iframe, функция afterfuncname сама знает как обработать результат
if(afterfuncname && typeof(window[afterfuncname])=='function'){window[afterfuncname](iO); }
return;
}
if(!resultEl && resultid && document.getElementById(resultid)){
resultEl = document.getElementById(resultid);}
if(iO && typeof(iO)=='object'){
var IframeInner = iO.innerHTML||iO.body.innerHTML;
} if(!IframeInner){IframeInner ="";}
resultEl.innerHTML = IframeInner;
if(resultEl.id && resultEl.id.indexOf('temp')>-1){resultEl.removeAttribute('id');}
if(afterfuncname && typeof(window[afterfuncname])=='function'){window[afterfuncname]();}
else{
if(document.getElementById('shade_temp')){document.getElementById('shade_temp').style.display='none';}
//if(pId){showone(pId);} //ВНИМАНИЕ !!!
}
if(typeof(window['wait_DR'])=='object' && window['wait_DR'] == resultEl){
if(!resultEl.innerHTML){resultEl.parentNode.style.zIndex='';}}
window['wait_DR']=""; if(resultEl.firstChild && resultEl.firstChild.nodeName.toLowerCase()=='select'){/*resultEl.firstChild.focus();*/}
return;
}
function get_swap(parameters,lskey,funcname,resultid){ // Запросить с сервера данные страничного обмена
// Внимание данные с сервера запрашиваются один раз, если в parameters нет параметра requery
if (!parameters){return;}
//parameters = parameters+"&requery=1"; // Отладка
if(parameters.indexOf('requery')<0 && lskey){ // Нет команды перезапросить данные
var swap = getLS(lskey); // Возможно данные уже загружены
if(swap){ // Данные уже получены с сервера
swap_result(lskey,funcname); return;
}
}
if(resultid && typeof(resultid)=='string'){resultid = document.getElementById(resultid);}
if(document.getElementById('ifr_swap').getAttribute('lskey')){// Ещё не закончено выполнение предыдущего запроса
if(resultid){
var innerResult = resultid.innerHTML;
resultid.innerHTML = "Выполняется запрос. Пожалуйста подождите.";
reResultOut = window.setTimeout(function(){resultid.innerHTML =innerResult;},1500);
}
return;
}
// Записываем параметры в форму forma_swap
document.getElementById('swap_txtr_parameters').value = parameters;
// расставляем параметры для ifr_swap
document.getElementById('ifr_swap').setAttribute('lskey',lskey);
document.getElementById('ifr_swap').setAttribute('funcname',funcname);
document.getElementById('ifr_swap').setAttribute('onload','swap_result()');
// Визуализируем процесс запроса
if(resultid){resultid.innerHTML = "
";
window['swapprocess'] = resultid;
timeOut_SwapGet = setTimeout(function(){swap_result('error')},6000);
}
// Отправляем запрос
document.getElementById('forma_swap').submit();
}

Отметьте вариант (ы), нажмите выбрать
КАТАЛОГ
БЫТОВАЯ ХИМИЯ
- ЧИСТЯЩИЕ СРЕДСТВА
- Средства для сан. керамики
☰
Цены
ТМ:
Вид товара
тип
вес (объём)
назначение
подходит для
Чистящее средство Johnson Туалетный утенок Супер сила Видимый эффект гель 500 мл удаляет пятна известковый налёт Дезинфекция, образование защитной пленки, удаление запаха, удаление известкового налета, удаление ржавчины. Чистящее средство для унитазов Туалетный Утёнок® 5в1 дезинфицирует унитаз, убивая 99,9% известных бактерий и микробов. Уникальная форма шейки позволяет удалять труднодоступные загрязнения под ободком унитаза, делая его полностью чистым.
ОТЗЫВЫ ОБЗОР

⋮⋮
тип гель | вес (объём) 500 мл | назначение удаляет пятна известковый налёт | подходит для санфаянс санфарфор