
Вход | Регистрация
Навигатор
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();
}

Отметьте вариант (ы), нажмите выбрать
КАТАЛОГ
ОДЕЖДА
- ОДЕЖДА МУЖСКАЯ
- Шапки мужские зимние
☰
Цены
ТМ:
Вид товара
Размер (рост)
Сезон
Материал верх
Материал подклад
Утеплитель
Шапка Columbia Winter Challenger белая | | | | | | |
ОТЗЫВЫ ОБЗОР

⋮⋮
Сезон зима | Материал верх нейлон иск. мех | Материал подклад полиэстр | Утеплитель полиэстр
Шапка Columbia Winter Challenger коричневая | | | | | | |
ОТЗЫВЫ ОБЗОР

⋮⋮
Сезон зима | Материал верх нейлон иск. мех | Материал подклад полиэстр | Утеплитель полиэстр
Шапка Columbia Winter Challenger чёрная | | | | | | |
ОТЗЫВЫ ОБЗОР

⋮⋮
Сезон зима | Материал верх нейлон иск. мех | Материал подклад полиэстр | Утеплитель полиэстр