function JSBasketAjax(){this.count=0;this.price=0;this.basketItems=new Array();this.GetE=function(id){return document.getElementById(id);};this.getRequestObject=function(){var req=null;if(typeof XMLHttpRequest!="undefined")req=new XMLHttpRequest();if(!req&&typeof ActiveXObject!="undefined"){try{req=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP");}catch(e2){try{req=new ActiveXObject("Msxml2.XMLHTTP.4.0");}catch(e3){req=null;}}}};if(!req&&window.createRequest)req=window.createRequest();return req;};this.startAJAX=function(action,objId){var xmlHttp=this.getRequestObject();var addrSave=window.top.location.protocol+"//"+window.top.location.host+window.top.location.pathname;xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){oJSBasketAjaxParce(action,unescape(xmlHttp.responseText));}};xmlHttp.open('POST',addrSave,true);xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");arg="mod=basket&type=AJAX&s="+action+"&id="+objId;xmlHttp.setRequestHeader("Content-Length",arg.length);xmlHttp.send(arg);};this.parse=function(action,text){switch(action){case 'getBasketOut':this.parseBasketOut(text);break;case 'submit':alert(text);break;case 'refresh':this.getBasketOut();break;case 'dropItem':this.getBasketOut();case 'addItem':break;default:alert(action+"\n"+text);}};this.getBasketData=function(){this.startAJAX('getBasketData',0);};this.dropItem=function(id){this.startAJAX('dropItem',id);};this.addToBasket=function(id,md){var countid='count'+md;var count=this.GetE(countid).value;this.GetE(countid).value='1';this.startAJAX('addItem',id+'&count='+count);};this.getBasketOut=function(){this.startAJAX('getBasketOut',0);};this.parseBasketOut=function(args){var items=new Array();var argsA=args.split("$");var summ=argsA[1];var argsA=argsA[0].split("|");for(var index=0;index<(argsA.length-3);index+=4){items[index/4]=new Array(argsA[index],argsA[index+1],argsA[index+2],argsA[index+3]);};if(this.GetE('basketOut').outerHTML==undefined)this.GetE('basketOut').innerHTML=this.getBasketOutHtml(items,summ);else this.GetE('basketOut').outerHTML='<table class="basket" id="basketOut">'+this.getBasketOutHtml(items,summ)+'</table>';};this.getBasketOutHtml=function(items,summ){var tmpRez;var indxi;var ret='<tr class="th">'+'<td>Наименование</td>'+'<td>Цена</td>'+'<td>Кол-во</td>'+'<td>Сумма</td>'+'<td>Удалить</td>'+'</tr>';this.basketItems=items;for(var index=0;index<(items.length);index++){tmpRez=items[index][2]*items[index][3];tmpRez+="";if(tmpRez.indexOf(".")!=-1)tmpRez=tmpRez.substr(0,tmpRez.indexOf(".")+3);ret+='<tr>'+'<td>'+items[index][1]+'</td>'+'<td>'+items[index][3]+' руб.</td>'+'<td><input type="text" id="c'+items[index][0]+'" size=3 value="'+items[index][2]+'"></td>'+'<td>'+tmpRez+' руб.</td>'+'<td><a href="javascript:void(0);" onclick="oJSBasketAjax.dropItem('+"'"+items[index][0]+"'"+')">X</a></td>'+'</tr>';};ret+='<tr>'+'<td>Итого</td>'+'<td>&nbsp;</td>'+'<td>&nbsp;</td>'+'<td>'+summ+' руб.</td>'+'<td>&nbsp;</td>'+'</tr>';return ret;};this.refresh=function(){var ops='';for(var index=0;index<(this.basketItems.length);index++){ops+='&count['+this.basketItems[index][0]+']='+this.GetE('c'+this.basketItems[index][0]).value;};this.startAJAX('refresh',0+ops);};this.dispOrg=function(vis){if(vis){this.GetE('orgDataH').style.display='';this.GetE('orgDataN').style.display='';this.GetE('orgDataI').style.display='';this.GetE('orgDataA').style.display='';}else{this.GetE('orgDataH').style.display='none';this.GetE('orgDataN').style.display='none';this.GetE('orgDataI').style.display='none';this.GetE('orgDataA').style.display='none';}};this.getOrderOutHtml=function(){var ret='<tr class="th">'+'<td colspan=2>Данные покупателя</td>'+'</tr>'+'<tr>'+'<td><input id="fizik" type=Radio name=n1 onchange="oJSBasketAjax.dispOrg(0);">Физическое лицо</td>'+'<td><input id="urik" type=Radio name=n1 checked onchange="oJSBasketAjax.dispOrg(1);">Юридическое лицо</td>'+'</tr>'+'<tr>'+'<td align=left>Фамилия:</td>'+'<td align=left><input id="name1" type=text>*</td>'+'</tr>'+'<tr>'+'<td align=left>Имя:</td>'+'<td align=left><input id="name2" type=text>*</td>'+'</tr>'+'<tr>'+'<td align=left>Отчество:</td>'+'<td align=left><input id="name3" type=text>*</td>'+'</tr>'+'<tr>'+'<td align=left>E-mail:</td>'+'<td align=left><input id="email" type=text></td>'+'</tr>'+'<tr>'+'<td class=order1>Контактный телефон:</td>'+'<td class=order2><input id="phone" type=text>*</td>'+'</tr>'+'<tr>'+'<td align=left>Способ доставки:</td>'+'<td align=left><input type=Radio id="samovivoz" name=n2>Самовывоз <input id="ddrugoe" type=Radio name=n2>Другое<br><input id="dnasha" type=Radio name=n2>Наша доставка</td>'+'</tr>'+'<tr class="th">'+'<td colspan=2>Данные доставки</td>'+'</tr>'+'<tr>'+'<td align=left>Населенный пункт:</td>'+'<td align=left><input type=text id="naspunkt"> *</td>'+'</tr>'+'<tr>'+'<td align=left>Адрес:</td>'+'<td align=left><input type=text id="address"> *</td>'+'</tr>'+'<tr>'+'<td align=left>Желаемая дата доставки:</td>'+'<td align=left><input type=text id="date"></td>'+'</tr>'+'<tr>'+'<td align=left>Желаемое время доставки:</td>'+'<td align=left><input type=text id="time"></td>'+'</tr>'+'<tr>'+'<td align=left>Дополнительная информация</td>'+'<td align=left><textarea cols=20 rows=4 id="addinfo"></textarea></td>'+'</tr>'+'<tr class="th" id="orgDataH">'+'<td colspan=2>Данные организации</td>'+'</tr>'+'<tr id="orgDataN">'+'<td align=left>Наименование организации:</td>'+'<td align=left><input type=text id="orgname"> *</td>'+'</tr>'+'<tr id="orgDataI">'+'<td align=left>ИНН:</td>'+'<td align=left><input type=text id="orginn"> *</td>'+'</tr>'+'<tr id="orgDataA">'+'<td align=left>Юридический адрес:</td>'+'<td align=left><input type=text id="orguraddress"> *</td>'+'</tr>'+'<tr class="th">'+'<td colspan=2>Тип оплаты</td>'+'</tr>'+'<tr>'+'<td colspan=2><select id="cach">'+'<option>Наличными</option>'+'<option>Банковский перевод</option>'+'</select></td>'+'</tr>';return ret;};this.submit=function(){var ret='';var rez='';rez=this.check('name1');if(rez.length==0)return;else ret+=rez;rez=this.check('name2');if(rez.length==0)return;else ret+=rez;rez=this.check('name3');if(rez.length==0)return;else ret+=rez;rez=this.check('phone');if(rez.length==0)return;else ret+=rez;rez=this.check('naspunkt');if(rez.length==0)return;else ret+=rez;rez=this.check('address');if(rez.length==0)return;else ret+=rez;if(this.GetE('fizik').checked)ret+='&litco=0';if(this.GetE('urik').checked)ret+='&litco=1';if(this.GetE('urik').checked){rez=this.check('orgname');if(rez.length==0)return;else ret+=rez;rez=this.check('orginn');if(rez.length==0)return;else ret+=rez;rez=this.check('orguraddress');if(rez.length==0)return;else ret+=rez;};if(this.GetE('email').value.length>0)ret+='&email='+escape(this.GetE('email').value);if(this.GetE('date').value.length>0)ret+='&date='+escape(this.GetE('date').value);if(this.GetE('time').value.length>0)ret+='&time='+escape(this.GetE('time').value);if(this.GetE('addinfo').value.length>0)ret+='&addinfo='+escape(this.GetE('addinfo').value);ret+='&cach='+escape(this.GetE('cach').value);if(this.GetE('samovivoz').checked)ret+='&dostavka=0';if(this.GetE('ddrugoe').checked)ret+='&dostavka=1';if(this.GetE('dnasha').checked)ret+='&dostavka=2';this.startAJAX('submit',0+ret);this.GetE('orderOut').outerHTML='<table  class="basket" width=500 id="orderOut">'+this.getOrderOutHtml()+'</table>';};this.check=function(id){if(this.GetE(id).value.length<2){this.allert(this.GetE(id));return '';}else{return '&'+id+'='+escape(this.GetE(id).value);}};this.allert=function(id){alert("Поля, помеченные * обязятельны для заполнения!");id.focus();id.select();};this.init=function(){if(this.GetE('basketOut')){this.getBasketOut();}else{};if(this.GetE('orderOut')){if(this.GetE('orderOut').outerHTML==undefined)this.GetE('orderOut').innerHTML=this.getOrderOutHtml();else this.GetE('orderOut').outerHTML='<table id="orderOut" class="basket" width=500>'+this.getOrderOutHtml()+'</table>';}else{}}};function IsDigit(e){e=e||event;var iCode=(e.keyCode||e.charCode);event.returnValue=((iCode>=48&&iCode<=57)||(iCode>=37&&iCode<=40)||iCode==8||iCode==46);return event.returnValue;};var oJSBasketAjax=new JSBasketAjax();function oJSBasketAjaxParce(action,text){oJSBasketAjax.parse(action,text);};oJSBasketAjax.init();


