var cart =new cart() ;
var trans_types =new Array() ;
var last_transfer_type =0 ;

document.write("<IFRAME HEIGHT=\"0\" WIDTH=\"0\" SRC=\"\" NAME=\"act\" style=\"position:absolute; top:0; left:0;width:1px; height:1px; visibility:hidden;\"></IFRAME>") ;
document.write("<IFRAME HEIGHT=\"0\" WIDTH=\"0\" SRC=\"\" NAME=\"act1\" style=\"position:absolute; top:0; left:0;width:1px; height:1px; visibility:hidden;\"></IFRAME>") ;

////////////////////////////// ОБЪЕКТЫ  /////////////////////////////////////////


// ОБЪЕКТ. Товар каталога. Этот объект всегда является элементов группы (объект group)
function row(id,subid,text,descr,link,price0,price1,visibility,weight,body){
	this.id =id ;
    this.subid =subid ;
    this.text=text ;
    this.descr=descr ;
	this.link=link ;
    this.price0=price0 ;
    this.price1=price1 ;
	this.visibility =visibility ; // признак наличия товара на складе
	this.weight =weight ;
	this.body =body ; // описание вида товара (трава, корни или что-то еще)
	this.getActualPrice =GetActualPrice ;
	this.hide=0; // признак отображения товара в каталоге. Используется для локального поиска товаров
}

function GetActualPrice(){
	if(cart==null){
		alert('Объект корзины не инициализирован!') ;
		return 0 ;
	}
	return cart.ptype==0?this.price0:this.price1 ;
}


// ОБЪЕКТ. Корзина. Содержит информацию о товарах, добавленных в корзину. Товары в плоском списке объектов cart_row
function cart(){
    this.rows =new Array() ;
	this.ptype =0 ; // категория цен. 0=предоплата, 1=наложка
	this.pens =0 ; // признак клиента пенсионера
	this.post =0 ; // признак постоянного клиента
	this.paymenttype =0 ; // способ оплаты - рубли, яндексы, вебмани
	this.transfertype =0 ; // способ доставки 0=Поста россии,1=самовывоз,2=ЕМС,3= прочее
	this.show =ShowCart ;
	this.updateOrderForm =UpdateOrderForm ;
	this.updateFormPrices =UpdateFormPrices ;
	this.addPosition =AddPosition ;
	this.deletePosition =DeletePosition ;
	this.getCount =GetCount ;
	this.getPositionsCount =GetPositionsCount ;
	this.countCartTotal =CountCartTotal ;
	this.hasTovar =HasTovar ;
	this.clear =ClearCart ;
	this.getPensDiscount =GetPensDiscount ;
	this.getPostDiscount =GetPostDiscount ;
	this.getBigDiscount =GetBigDiscount ;
	this.getMaxDiscount =GetMaxDiscount ;
	this.getPostageExpences =GetPostageExpences ;
	this.getFinalPrice =GetFinalPrice ;
	this.getNumberOf =GetNumberOf ;
	this.getSumOf =GetSumOf ;
}


// отображает корзинку на основе объекта cart
function ShowCart(){
	//alert('show cart') ;
    var output ='' ;
	checked_p ='' ;
	checked_n ='' ;

    output    +='<table border="0">' ;
	if(this.ptype==0){
		checked_p ='checked="1"' ;
	}else{
		checked_n ='checked="1"' ;
	}
	output    +='<tr><td width="170" valign="bottom">' ;
	output    +='<h2>' ;
	
	if (this.getCount()>0){
		output    +='<a href="\/index53960.htm">Корзина&nbsp;<\/a>' ;
	}else{
		output    +='Корзина&nbsp;' ;
	}
	
	
	output    +='<a href="\/index199486064.htm"><img src="\/xsl\/staroslav\/img\/shop-help.png" width="25" height="20" alt="Как пользоваться магазином" title="Как пользоваться магазином" align="top"><\/a><\/h2>' ;
	output    +='<\/td>' ;
	output    +='<td valign="bottom"><b>Категория цен заказа:<\/b><\/td><td rowspan="3">' ;
	
	if (this.getCount()>0){
        output    +='<div class="cart-img-full"><\/div><\/td><\/tr><tr>' ;
        output    +='<td>товаров выбрано: <span><strong>'+this.getPositionsCount()+'<\/strong><\/span><\/td>' ;
	}else{
		output    +='<div class="cart-img-empty"><\/div><\/td><\/tr><tr>' ;	
		output    +='<td><span class="red">товары не выбраны<\/span><\/td>' ;
	}

	output    +='<td><input class="checked" '+checked_p+' type="radio" name="ptype" onclick="changePriceTypeCart(0)"\/>&nbsp;<a href="\/index199486064.htm#predoplata">Предоплата<\/a><\/td>' ;
    output    +='<\/tr><tr><td>';
	if (this.getCount()>0){
		output    +='На сумму: <strong>'+formatNumber(this.countCartTotal())+'<\/strong> руб.';
	}else{
		output    +='&nbsp;' ;
	}
	
	output    +='<\/td><td><input class="checked" '+checked_n+' type="radio" name="ptype" onclick="changePriceTypeCart(1)"\/>&nbsp;<a href="\/index199486064.htm#nalozhka">налож. платеж<\/a><\/td><\/tr>' ;

	if (this.getCount()>0){
		output    +='<tr><td colspan="3"><p><img src="\/xsl\/staroslav\/img\/cart-icon.png" width="14" height="12" alt="" \/>&nbsp;<a href="\/index53960.htm" class="order"><strong>Оформить заказ<\/strong><\/a><\/p><\/td><\/tr>' ;
	}else{
		output    +='<tr><td colspan="3">Для просмотра и выбора товаров перейдите в раздел <a href="\/index245740348.htm">МАГАЗИН<\/a><\/td><\/tr>' ;
	}
	output    +='<\/table>' ;

	document.getElementById('cart').innerHTML =output ;

	// проверяем отображена ли форма оформления заказа
	if(document.getElementById('order')){
		this.updateOrderForm() ;
	}

	// проверяем отображена ли форма продажи товара
	if(document.getElementById('prodsum')){
        var sum	  =document.getElementById('prodsum') ;
		prod_id =sum.className ;
        sum.innerHTML =this.getSumOf(prod_id) ;
		var numid ='num'+prod_id ;
        var input =document.getElementById(numid) ;
		input.value =this.getNumberOf(prod_id) ;
        var fptype =document.getElementById('prodptype') ;
		if(this.ptype == 0){
			fptype.innerHTML ='<a href="/index199486064.htm#predoplata">предоплаты</a>' ;
		}else{
			fptype.innerHTML ='<a href="/index199486064.htm#nalozhka">наложенного платежа</a>' ;
		}
	}



}

function UpdateOrderForm(){
    if(cart==null){
		alert('объект корзины отсутствует!') ;
		return ;
	}

    this.updateFormPrices() ;
	var totalsum =this.countCartTotal() ;
    
	document.getElementById('totalsum_').innerHTML =formatNumber(this.countCartTotal()) ;
	
	var peres_value ="" ;
    var obj_text_itogo_k_oplate =document.getElementById("itogo_k_oplate") ;

	var tt =document.getElementById("transfer_type").selectedIndex ;
    if(tt == 0){
		peres_value =formatNumber(this.getPostageExpences()) ;
        obj_text_itogo_k_oplate.innerHTML ='ИТОГО К ОПЛАТЕ:' ;
	}else if(tt == 1){ // самовывоз
		peres_value =0 ;
        obj_text_itogo_k_oplate.innerHTML ='ИТОГО К ОПЛАТЕ:' ;
	}else if(tt == 2 || tt == 3){ // ЕМС и Прочее
		peres_value ="пока неизвестна" ;
        obj_text_itogo_k_oplate.innerHTML ='ИТОГО БЕЗ СТОИМОСТИ ПЕРЕСЫЛКИ:' ;
	}else{
		peres_value ="не определена"
	}

	document.getElementById('peresilka_').innerHTML =peres_value ;
    
    document.getElementById('pensdiscount_').innerHTML =this.getPensDiscount()==0?'':'-&nbsp;'+formatNumber(this.getPensDiscount()) ;
	show_totals_row(totalsum <5000,"pensdiscount") ;
	
	document.getElementById('postdiscount_').innerHTML =this.getPostDiscount()==0?'':'-&nbsp;'+formatNumber(this.getPostDiscount()) ;
	show_totals_row(totalsum <5000,"postdiscount") ;
	
    document.getElementById('bigdiscount_').innerHTML =this.getBigDiscount()==0?'':'-&nbsp;'+formatNumber(this.getBigDiscount()) ;
	show_totals_row(totalsum <5000,"bigdiscount") ;

	document.getElementById('maxdiscount_').innerHTML =this.getMaxDiscount()==0?'':'-&nbsp;'+formatNumber(this.getMaxDiscount()) ;
	//show_totals_row(totalsum >=5000,"maxdiscount") ;


	document.getElementById('totalprice_').innerHTML =formatNumber(this.getFinalPrice()) ;

    if(cart.ptype==0){
		document.getElementById("kt").innerHTML ='<h3>Состав заказа:<\/h3><br>' ;
		document.getElementById("paytype1").checked =true ;
		document.getElementById("paytype2").checked =false ;
	}else{
		document.getElementById("kt").innerHTML ='<h3>Состав заказа:<\/h3><br>' ;
		document.getElementById("paytype1").checked =false ;
		document.getElementById("paytype2").checked =true ;
	}
}

function UpdateFormPrices(){
	for (id in this.rows) {
		i++ ;
		if(this.rows[id]!=null){
            price =(this.ptype==0?this.rows[id].price0:this.rows[id].price1) ;
			sum =this.rows[id].num*price ;
            //alert('price'+this.rows[id].id+'E'+this.rows[id].subid) ;
            document.getElementById('price'+this.rows[id].id+'E'+this.rows[id].subid).innerHTML =formatNumber(price) ;
            document.getElementById('sum'+this.rows[id].id+'E'+this.rows[id].subid).innerHTML =formatNumber(sum) ;

			//document.getElementById('price'+id).innerHTML =formatNumber(price) ;
			//document.getElementById('sum'+id).innerHTML =formatNumber(sum) ;
		}
    }
}

// добавить товар в корзину (одну единицу товара). Вызывается из ecom.jsp при загрузке корзины
function AddPosition(id,subid,group_id,price0,price1,num){
    this.rows[id+'E'+subid] =new cart_row(id,subid,group_id,price0,price1,num) ;
}

function DeletePosition(id,subid){
	this.positions[id+'E'+subid] =null ;
    this.show() ;
}

// получить количество наименований товаров в корзине
function GetPositionsCount(){
    i =0 ;
    for (id in this.rows) {
		if(this.rows[id]!=null)
			i++ ;
    }
	
    return i ;
}

// получить количество единиц(!) товаров всех видов в корзине
function GetCount(){
    i =0 ;
    for (id in this.rows) {
        if(this.rows[id]!=null){
			i +=this.rows[id].num ;
        }
	}
	
    return i ;
}

function HasTovar(id,subid){
    return (this.rows[id+'E'+subid]!=null && this.rows[id+'E'+subid].num>0)
}

// получить общую сумму заказа по текущей категории цены
function CountCartTotal(){
	sum =0 ;i =0 ;
	for (id in this.rows) {
		i++ ;
        if(this.rows[id]!=null){
			//alert(id+'['+this.rows[id].num+']='+this.rows[id].price0) ;
            sum +=this.rows[id].num*(this.ptype==0?this.rows[id].price0:this.rows[id].price1) ;
		}else{
			//alert('rows['+id+']=null') ;
		}
    }
	//alert('sum='+sum) ;
	return sum ;
}

function ClearCart(){
	this.rows =new Array() ;
}

function GetPensDiscount(){
	if(this.pens==1){
		return 0.05*this.countCartTotal() ;
	}
	return 0 ;
}

function GetPostDiscount(){
	if(this.post==1){
		return 0.05*this.countCartTotal() ;
	}
	return 0 ;
}

function GetBigDiscount(){
	sum =this.countCartTotal() ;
	if(sum>=3000 && sum<5000){
		return 0.15*sum ;
	}
	return 0 ;
}

function GetMaxDiscount(){
	sum =this.countCartTotal() ;
	if(sum>=5000){
		return 0.30*sum ;
	}
	return 0 ;
}


function GetPostageExpences(){
	sum =this.countCartTotal() ;
	
	if(sum>=1500){
		return 0 ;
	}
    /* 
      if(sum>=1000 && (this.post==1 || this.pens==1))
		return 0 ;
	*/
	var tt =document.getElementById("transfer_type").selectedIndex ;
	if(tt==0){
		return 250 ;
	}else{
		return 0 ;
	}
	
}

function GetFinalPrice(){
	var base =this.countCartTotal() ;
	if(base>=5000){
		return base -this.getMaxDiscount() ;
	}else{
		return  base+this.getPostageExpences() -this.getPensDiscount()-this.getPostDiscount()-this.getBigDiscount() ;
	}
	
}


function GetNumberOf(id){
	//alert(this.rows.length);
    if(typeof this.rows[id] =='undefined'){
		return 0 ;
	}
	return this.rows[id].num ;
}

function GetSumOf(id){
	if(typeof this.rows[id] =='undefined'){
		return 0 ;
	}
	return this.rows[id].num*(this.ptype==0?this.rows[id].price0:this.rows[id].price1) ;
}

// ОБЪЕКТ. Товар в корзине
function cart_row(id,subid,group_id,price0,price1,num){
	this.id =id ;
    this.subid =subid ; 
	this.group_id =group_id ; // ид группы товаров
	this.num =num ; // количество позиций данного типа в корзине
	this.price0=price0 ; // цена предоплаты
	this.price1=price1 ; // цена наложки
}

function IsAllHidden(){
	for(id in this.rows){
		if(this.rows[id].hide==0)
			return false ;
	}
	return true ;
}

function IsAllInvisible(){
	for(id in this.rows){
		if(this.rows[id].visibility==1)
			return false ;
	}
	return true ;
}

// ОБЪЕКТ. Тип доставки
function transfer_type_obj(id,name,comment){
    this.id =id ;
    this.name =name ;
    this.comment= comment ;
    this.agents =new Array() ;
    this.addAgent =AddAgent ;
    this.supportPostPayment =SupportPostPayment ;
}

function AddAgent(id,type,name,comment,url,is_default,has_payment){
    this.agents[id] =new TransAgent(id,type,name,comment,url,is_default,has_payment) ;
}

// определяет есть ли хотябы один транспортный агент, который поддерживает оплату с отсрочкой
function SupportPostPayment(){
    for(id in this.agents) {
        var agent =this.agents[id] ;
        //alert(agent.name+'='+agent.has_payment) ;
        if(agent.has_payment) {
            return true ;
        }
    }
    return false ;
}

// ОБЪЕКТ. Транспортный агент
function TransAgent(id,type,name,comment,url,is_default,has_payment){
    this.id =id ;
    this.name =name ;
    this.comment =comment ;
    this.url =url ;
    this.is_default =is_default ;
    this.has_payment =has_payment ; 
}

/************************************************** скрипты ссылок на страницах ******************************/
 
function addValueToCart(id,subid,oldval){
    var obj =document.getElementById('incart'+id+'E'+subid) ;
	
	if(typeof(oldval)=='undefined'){
		oldval_='' ;
		oldval=0 ;
	}else{
		oldval_=oldval ;
	}
		
	//alert(obj.innerHTML) ;
	html ='<input class="cartval" id="inpval" value="'+oldval_+'" onkeypress="return validatenum(event)" type="text" onblur="checkAddValue('+oldval+','+id+','+ subid +')" onchange="checkAddValue('+oldval+','+id+','+ subid +')"\/>' ;
	//alert(html) ;
	obj.innerHTML =html ;
	var fld =document.getElementById('inpval') ;
	if(fld!=null)
		fld.focus() ;
	var row =document.getElementById('rowid'+id+'E'+subid) ;
    row.innerHTML ='<img src=\'xsl/staroslav/img/cart-icon-big.png\' title="добавить в корзину" border=0 width="32" height="21">' ;
}

function validatenum(e){
    if (e.keyCode == 13) {
		e.returnValue =false ;
		document.getElementById('inpval').blur() ;
        return true ;
    }
    return validate(e) ;
	
}

function checkAddValue(oldval,id,subid){
    if(document.getElementById('inpval')==null)
		return ;
	value =document.getElementById('inpval').value ;
	if(value=='')
		value =0 ;
	if(value>1000){
		alert('Введено слишком большое число! Количество товара в корзине не изменено.') ;
        value=oldval ;
	}
	
	var obj =document.getElementById('incart'+id+'E'+subid) ;
	nval =document.getElementById('inpval').value ;
	if(nval=='')
		nval =0 ;
	
	if(nval>0)
		obj.innerHTML ='*'+nval ;
	else
		obj.innerHTML ='&nbsp;' ;

	var line =document.getElementById('lineid'+id+'E'+subid) ;
	var img  =document.getElementById('imgid'+id+'E'+subid) ;
    var row =document.getElementById('rowid'+id+'E'+subid) ;
	if(value>0){
		row.innerHTML ='<a href=\'javascript:addValueToCart('+id+','+subid+','+value+')\' title="добавить в корзину"><img src=\'xsl/staroslav/img/cart-icon-big-incart.png\' title="добавить в корзину" border=0 width="32" height="21"><\/a>' ;
        line.className ="incart" ;
		img.innerHTML ='<img src="\/xsl\/staroslav\/img\/incart-icon.png" width="14" height="12" alt="" />' ;
		//img_cart.src ='\/xsl\/staroslav\/img\/incart-icon-big-incart.png' ;
    }else{
		row.innerHTML ='<a href=\'javascript:addValueToCart('+id+','+subid+','+value+')\' title="добавить в корзину"><img src=\'xsl/staroslav/img/cart-icon-big.png\' title="добавить в корзину" border=0 width="32" height="21"><\/a>' ;
		line.className ="general" ;
		img.innerHTML ="&nbsp;" ;
	}

	if(value != oldval){
        var strLoc = "../ecom/ecom.jsp?obj=cart&act=update&val="+value+"&id="+id+"&subid="+subid ;
		window.frames["act"].document.location.replace(strLoc);
	}

}

// ссылка на иконке корзины в строке отображения товара
function addToCart(id){
    var strLoc = "../ecom/ecom.jsp?obj=cart&act=add&val="+"1"+"&id="+ id ;
    window.frames["act"].document.location.replace(strLoc);
}

// ссылка на иконке удаления товара из корзины
function deleteFromCart(id,sub_id){
	cart.clear() ;
    var strLoc = "../ecom/ecom.jsp?obj=cart&act=delete&id="+id+"&subid="+sub_id ;
    window.frames["act"].document.location.replace(strLoc);
}

// загрузить код корзины
function loadCart(){
    var strLoc = "../ecom/ecom.jsp?obj=cart" ;
    window.frames["act1"].document.location.replace(strLoc) ;
}


// загрузить хелпер по статьям
function loadArticleInfo(id){
	document.getElementById("catalog").innerHTML ="<h2>Подождите, идет загрузка...</h2>" ;
    var strLoc = "../ecom/ecom.jsp?obj=catalog&act=artinfo&id="+id ;
    window.frames["act"].document.location.replace(strLoc) ;
}

// загрузить хелпер по болезням
function loadBoleznInfo(id){
    var strLoc = "../ecom/ecom.jsp?obj=catalog&act=bolinfo&id="+id ;
    window.frames["act"].document.location.replace(strLoc) ;
}


/*********************************** скрипты для контекстного поиска *************************************/

function searchFilter(){
	all =document.getElementById('allgoods').checked ;
	if(all){
		document.getElementById('ask_name').value ='Название товара' ;
		searchTovar(1) ;
	}else{
		document.getElementById('ask_name').value ='' ;
		document.getElementById('ask_name').focus() ;
	}
}

function blurTovar(obj){
	//alert(obj) ;
	if (obj.value==''){
		document.getElementById('ask_name').value ='Название товара' ;
		document.getElementById('allgoods').checked =true ;
	}
}

function focusValue(obj,name){
    if (obj.value==name){obj.value=''};
}

function blurValue(obj,name){
    if (trim(obj.value)==''){
		obj.value =name ;
	}
}



function focusEncName(obj){
    if (obj.value=='Название растения'){obj.value=''};
}

function focusEncBolezn(obj){
    if (obj.value=='Название болезни'){obj.value=''};
}


function blurEncName(obj){
    if (trim(obj.value)==''){
		obj.value ='Название растения' ;
	}
}

function blurEncBolezn(obj){
    if (trim(obj.value)==''){
		obj.value ='Название болезни' ;
	}
}

function validatename(){
    var obj =trim(document.getElementById("productid").value) ;
    if(obj =="Название товара" || obj==""){
		alert("Введите название товара, который Вас интересует!") ;
		return false ;
	}
	document.forms.filterform.submit() ;
}


function validateencname(){
    var obj =trim(document.getElementById("encproductid").value) ;
    if(obj =="Название продукта" || obj==""){
		alert("Введите название растения, минерала или другого продукта!") ;
		return false ;
	}
	return true ;
}

function validateencbolezn(){
    var obj =trim(document.getElementById("boleznid").value) ;
    if(obj =="Название болезни" || obj==""){
		alert("Введите название болезни!") ;
		return false ;
	}
	document.forms.filterform.submit() ;
}

function trim(str){
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}


/****************************************** скрипты для формы заказа ***************************************************/

function show_totals_row(param,object){
    var r =document.getElementById(object) ;
	if(param){
        r.style.display ='' ;
	}else{
		r.style.display ='none' ;
	}
}

function countsum(id){
	alert('countsum') ;
}


function updateCart(id,subid){
    tovar_id ='num'+id+'E'+subid ;
    num =document.getElementById(tovar_id).value ;
    var strLoc = "../ecom/ecom.jsp?obj=cart&act=update&id="+id+"&subid="+subid+"&val="+num ;
    window.frames["act"].document.location.replace(strLoc);
}

function validate(e){
	var keyCode ;

    
	browser =getNameBrouser() ;
    
	if(browser=='mozilla'){
		keyCode =e.charCode ;
        if (keyCode==0) // delete
            return true ;
    }else if(browser=='opera'){
		keyCode =e.keyCode ;
        if (keyCode==8) // delete
            return true ;
    }else{
		keyCode =e.keyCode ;
	}
    
    if (keyCode>=48 && keyCode<=57)
        return true ;

    return false ;
}

function validate2(e,id,subid){
    if (e.keyCode == 13) {
		e.returnValue =false ;
        obj ='num'+id+'E'+subid ;
        document.getElementById(obj).blur() ;
        return true ;
    }
    return validate(e) ;
	
}

function changePriceTypeManual(ptype){
    changePriceType(ptype) ;
    
    setTimeout("loadAgents(document.getElementById(\"transfer_type\").value)", 1000);
}

function changePriceType(ptype){
    var country_obj =document.getElementById("country") ;

    if(country_obj == null) {
        alert('Не установлен селект для страны!') ;
        return  ;
    }
        
    if(country_obj.value!=0 && ptype==1) {// не Россия + наложка
        alert('Внимание! Доставка за пределы РФ возможна только по предоплате') ;
        setCheckedValue(document.getElementsByName("paytype"),1) ;
        return false ;
    }

    var tt =document.getElementById("transfer_type") ;
    if(ptype==1 && tt.selectedIndex!=0 && tt.selectedIndex!=2) {// если меняется на наложку и тип доствки НЕ Почта России или Курьер
        alert('Оплата наложенным платежом возможна только при доставке Почтой России или Курьером!') ;
        setCheckedValue(document.getElementsByName("paytype"),1) ;
        return false ;
    }

	if(cart.ptype==ptype){
        return ;
    }

    if(ptype==1){// наложка
        hideElement("preddetail") ;
	}else{
		showElement("preddetail") ;
	}
    
	reload ="0" ;
	if(document.getElementById("pricelist")){
		reload ="1" ;
	}

    
	var strLoc = "../ecom/ecom.jsp?obj=cart&act=setpt&pt="+ptype+"&reload="+reload ;
    window.frames["act"].document.location.replace(strLoc);

	//ChangeCart("ptype",ptype) ;
}

// вызывается, когда переключаем категорию цен в корзине (верхняя часть экрана) на публичном сайте
function changePriceTypeCart(ptype){
    if(cart.ptype==ptype){
        return ;
    }

    reload ="0" ;
	if(document.getElementById("pricelist")){
		reload ="1" ;
	}

    
	var strLoc = "../ecom/ecom.jsp?obj=cart&act=setpt&pt="+ptype+"&reload="+reload ;
    window.frames["act"].document.location.replace(strLoc);
}

function changePaymentType(ptype){
	if(cart.paymenttype==ptype)
		return ;

    var strLoc = "../ecom/ecom.jsp?obj=cart&act=setpaymenttype&pt="+ptype ;
    window.frames["act"].document.location.replace(strLoc);
	
	//ChangeCart("ptype",ptype) ;
}


function count_pens(){
	pens =document.forms['ord'].pensioner.checked  ;
	if(cart.pens != pens?1:0){
		var strLoc = "../ecom/ecom.jsp?obj=cart&act=setpens&pt="+(pens?1:0) ;
		window.frames["act"].document.location.replace(strLoc);
	}
}

function count_post(){
	post =document.forms['ord'].postoyan.checked  ;
	if(cart.post != post?1:0){
		var strLoc = "../ecom/ecom.jsp?obj=cart&act=setpost&pt="+(post?1:0) ;
		window.frames["act"].document.location.replace(strLoc);
	}
}

function round(number,X) {
	X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function delete_row(id,sub_id){
    nid =id+'E'+sub_id ;
    var answer = confirm('Действительно удалить?');
    if (answer) {
        var r =document.getElementById(nid) ;
        browser =getNameBrouser() ;
        if(browser=='mozilla') {
            p = r.parentNode;
        }else{
            p = r.parentElement;
        }
        
        p.removeChild(r);
        deleteFromCart(id,sub_id) ;
    }
}


function showForm(){
    var order=document.getElementById("order") ;
    order.style.visibility ='visible' ;
}

function validate_form(){
    var country_obj =document.getElementById("country") ;
    if(country_obj == null) {
        alert('Не установлен селект для страны!') ;
        return false ;
    }

    if(country_obj.value!=0) {
        document.forms['ord'].index.value ='000000' ;
        document.forms['ord'].city.value='Не РФ' ;
        document.forms['ord'].address.value =document.forms['ord'].address_f.value ;
    }

    index =document.forms['ord'].index.value ;
    city =document.forms['ord'].city.value ;
    address =document.forms['ord'].address.value ;

    fio =document.forms['ord'].fio.value ;
    email =document.forms['ord'].email.value ; 
	phone =document.forms['ord'].phone.value ;
    pp =document.forms['ord'].paytype[0].checked  ;

    if(country_obj.value!=0) {
        if(cart.countCartTotal()<6000)
        {
            alert("Сумма заказа для отправки за пределы РФ не может быть меньше 6000 рублей!\nПополните, пожалуйста, Вашу корзину, вернувшись в раздел МАГАЗИН \nлибо увеличте количество товаров.") ;
            return false ;
        }
    }else{
        if(cart.countCartTotal()<500)
        {
            alert("Сумма заказа не может быть меньше 500 рублей!\nПополните, пожалуйста, Вашу корзину, вернувшись в раздел МАГАЗИН \nлибо увеличте количество товаров.") ;
            return false ;
        }
    }

    if (!index || index.length<6) {
        alert('Пожалуйста введите индекс') ;
        return false ;
    }

    if (!city) {
        alert('Пожалуйста введите город') ;
        return false ;
    }
    if (!address) {
        alert('Пожалуйста введите адрес') ;
        return false ;
    }
    if (!fio) {
        alert('Пожалуйста введите фамилию получателя') ;
        return false ;
    }

    if(document.getElementById("noemail")==null){
		if (isEmail(email)==false) {
			alert('Пожалуйста введите корректный e-mail') ;
			return false ;
		}
	}

	if (!phone) {
		alert('Пожалуйста введите номер контактного телефона') ;
		return false ;
	}

    document.forms.ord.submit() ;
    //alert('OK submit index='+index+' city='+city+" address="+address) ;
}

/****************************** скрипты для формы запроса врачу ************************************/

function SaveQuest(){
	name =document.getElementById('ask_name').value ;
	eml =document.getElementById('ask_email').value ;
	txt =document.getElementById('ask_text').value ;


	if(!name){
		alert("Пожалуйста, введите Ваше Имя") ;
		return false ;
	}

	if (isEmail(eml)==false) {
        alert('Пожалуйста, введите корректный e-mail') ;
        return false ;
    }

	if(!txt || txt=="Ваш вопрос"){
		alert("Пожалуйста, введите Ваш вопрос") ;
		return false ;
	}
    
	return true ;
}

function SaveOtziv(){
	name =document.getElementById('ask_name').value ;
    txt =document.getElementById('ask_text').value ;

	if(!name || name=="Имя"){
		alert("Пожалуйста, введите Ваше Имя") ;
		return false ;
	}

	if(!txt || txt=="Текст отзыва"){
		alert("Пожалуйста, введите текст отзыва") ;
		return false ;
	}
    
	return true ;
}


function sayTankYou(){
    document.getElementById('askform').innerHTML ='<h3>Ваш вопрос принят.<br><br>Вы получите письмо с ответов по указанному адресу электронной почты.<br><br>Вы также можете позвонить Наталье Геннадьевне по телефону +7 913 916 1374<br><br>Будьте здоровы!<\/h3>' ;
}

/*************************************** сервисные функции ********************************************************/

function formatNumber(num){
	return round(num,0).toFixed(0) ;
}

function isEmail(string) {
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return true;
    else
        return false;
}

function Get_Cookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}

function Set_Cookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
                      ( (expires) ? ";expires=" + expires.toUTCString() : "") +
                      ( (path) ? ";path=" + path : "") + 
                      ( (domain) ? ";domain=" + domain : "") +
                      ( (secure) ? ";secure" : "");
}

function set_client_id(){
    var today = new Date();
    var exp = new Date(today.getTime() + (56 * 86400000));
    Set_Cookie("ecomid",client_id,exp) ;
}

function getNameBrouser() {
  var ua = navigator.userAgent.toLowerCase();
  
  // Определим Internet Explorer
  if (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) {
    return "msie"
  }
  // Opera
  if (ua.indexOf("opera") != -1) {
    return "opera"
  }

  if (ua.indexOf("chrome")!=-1) {
    return "chrome";
  }

  // Gecko = Mozilla + Firefox + Netscape
  if (ua.indexOf("gecko") != -1) {
    return "mozilla";
  }
  // Safari, используется в MAC OS
  if (ua.indexOf("safari") != -1) {
    return "safari";
  }
  // Konqueror, используется в UNIX-системах
  if (ua.indexOf("konqueror") != -1) {
    return "konqueror";
  }
  return "unknown";
}

function utf8_encode ( str_data ) {    // Encodes an ISO-8859-1 string to UTF-8
	str_data = str_data.replace(/\r\n/g,"\n");
    var utftext = "";
 
    for (var n = 0; n < str_data.length; n++) {
        var c = str_data.charCodeAt(n);
        if (c < 128) {
            utftext += String.fromCharCode(c);
        } else if((c > 127) && (c < 2048)) {
            utftext += String.fromCharCode((c >> 6) | 192);
            utftext += String.fromCharCode((c & 63) | 128);
        } else {
            utftext += String.fromCharCode((c >> 12) | 224);
            utftext += String.fromCharCode(((c >> 6) & 63) | 128);
            utftext += String.fromCharCode((c & 63) | 128);
        }
    }
 
    return utftext;
}

function mainSearch(){
	
	value =document.getElementById('searchid').value ;
	if(value=='Поиск растения по названию болезни' || value==''){
		alert('Введите в поле поиска название болезни') ;
		return false ;
	}
    
	//LOCAL window.location=encodeURI('/index127468832.htm?searchvalue='+value) ;
	window.location=encodeURI('/index222808792.htm?searchvalue='+value) ;
	
	return false ;
}

function getSearchValue(){
	var uri =decodeURI(location) ;
	ind =uri.indexOf('?') ;
	if(ind==-1)
		return '' ;
	ind_test =uri.indexOf('searchvalue') ;
	if(ind_test==-1)
		return '' ;

    return uri.substring(ind+13) ; 
}

function checkMainSearch(){
	value =getSearchValue() ;
	if(value=='')
		return ;
	document.getElementById('ask_bolezn').value =value ;
	server_search_enc_bolezn_request(value.toLowerCase()) ;
	cat.skipLocalSearch =true ;
}

function pageAction(){
	// на случай более ранней загрузки корзины, чем контента страницы
	// дублируем отображение корзины с настройкой всех контролов 
	// на странице оформления заказа
	
	if(document.getElementById('order')){
		//alert('update order form') ;
		cart.updateOrderForm() ;
	}
}

function clearFilter(formid){
	var frm =document.getElementById(formid) ;
    frm.clearfilter.value =1 ;
    frm.submit() ;
    return true ;
}

function updateFilter(formid){
	var frm =document.getElementById(formid) ;
	frm.flterpresent.value =frm.present.checked?1:2 ;
    frm.submit() ;
}

function changeMode(){
	document.getElementById("filterform").filtermode.value =1 ;
    document.forms.filterform.submit() ;
}

function showpricedetail(price){
	var obj =document.getElementById("priceinfo") ;
	var style =obj.style.display ;
	if(style == 'none'){
		if(getNameBrouser()=="msie")
			obj.style.display ='list-item' ;
		else
			obj.style.display ='table-row' ;
	}else{
		obj.style.display ='none' ;
	}
}

function submitsearch(obj){
	if(obj.bolezn.value =='Поиск растения по названию болезни' || obj.bolezn.value ==''){
		alert('введите название болезни') ;
		return false ;
	}
		
    return true ;
}

function hideElement (elementId) {
	var element;
	if (document.all)
		element = document.all[elementId];
	else if (document.getElementById)
		element = document.getElementById(elementId);
	if (element && element.style)
		element.style.display = 'none';
}

function showElement (elementId) {
	var element;
	if (document.all)
		element = document.all[elementId];
	else if (document.getElementById)
		element = document.getElementById(elementId);
	if (element && element.style)
		element.style.display = '';
}

function manageTransfer(val){
    var tt =document.getElementById("transfer_type") ;
    var ta =document.getElementById("trans_agent") ;
	var pt =getCheckedValue(document.getElementsByName("paytype")) ;
	if(tt!=null){
        var country_obj =document.getElementById("country") ;

        if(country_obj == null) {
            alert('Не установлен селект для страны!') ;
            tt.selectedIndex =last_transfer_type ;
            return  false;
        }
        
        /*
        if(country_obj.value!=0 && tt.selectedIndex!=3) {// не Россия
            alert('Внимание! Доставка за пределы РФ предполагает единственно возможный тип доставки: Курьераская служба') ;
            tt.selectedIndex =3 ;
            alert('!!! change !!!') ;
            return false ;
        }
        */
        
        var trans_obj =trans_types[tt.value] ;
        var comment_obj =document.getElementById("transcomment") ;
        comment_obj.innerHTML =trans_obj.comment ;

        var _types_obj =trans_types[tt.value] ;

        if(_types_obj == null || _types_obj=='' || typeof(_types_obj)=='undefined') {
            alert('Ошибка при выборе типа доставки! Обратитесь в службу технической поддержки.') ;
            tt.selectedIndex =last_transfer_type ;
            return false;
        }
        
        if(pt==0 /* наложка */ && tt.value == 1) { // самовывоз
            text ='Самовывоз из Новосибирска предусматривает категорию цен по предоплате.\n' ;
            text+='Изменить тип оплаты на ПРЕДОПЛАТА? (сумма оплаты уменьшится)' ;
            if(confirm(text)) {
                changePriceType(0) ;
            }else{
                tt.selectedIndex =last_transfer_type ;
                return false ;
            }
        }

        var support_post_payment = _types_obj.supportPostPayment() ;
        
        if(pt==0 /* наложка */ && !support_post_payment) {
            text ='Ни один из транспортных агентов выбранного типа доставки НЕ поддерживает оплату наложенным платежом.\n' ;
            text+='Единственно возможный тип оплаты - Предоплата. Изменить тип оплаты на ПРЕДОПЛАТА?' ;
            if(confirm(text)) {
                changePriceType(0) ;
            }else{
                tt.selectedIndex =last_transfer_type ;
                return false ;
            }
        }


        if(tt.value == 1) { // если самовывоз, скрываем возможность оплаты наложенным платежом
            hideElement("trnp") ;    
        }else{
            if(support_post_payment) {
                showElement("trnp") ;
            }else{
                hideElement("trnp") ;
            }
        }

        loadAgents(tt.value) ;
	}
    last_transfer_type =tt.selectedIndex ;
    cart.updateOrderForm() ;    
	return true ;
}

function changeAgent(){
    var agent_select =document.getElementById("trans_agent") ;
    if(agent_select==null) {
        alert('Ошибка! Не установлен селект для списка транспортных агентов!') ;
        return ;
    }
    updateCartTransAgent(agent_select.value) ;
}

function changeCartCountry(is_foreign){
    updateCartCountry(is_foreign) ;
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function setSelectedValue(selectObj, newValue) {
	if (!selectObj)
		return;
	var selectLength = selectObj.length;
	
	for (var i = 0; i < selectLength; i++) {
		selectObj[i].selected = false;
		if (selectObj[i].value == trim(newValue+"")) {
			selectObj[i].selected = true;
		}
	}
}

function setCheckedValue(radioObj, newValue) {
	if (!radioObj)
		return;

    var selectLength = radioObj.length;
	
	for (var i = 0; i < selectLength; i++) {
        radioObj[i].checked = false;
		if (radioObj[i].value == trim(newValue+"")) {
			radioObj[i].checked = true;
		}
	}
}

function changeCountry(){
    var country_obj =document.getElementById("country") ;
    if(country_obj == null) {
        alert('Не установлен селект для страны!') ;
        return  ;
    }

    if(country_obj.value!=0) {
        text  ="Внимание! Минимальная сумма заказа для отправки за пределы РФ составляет 6000 рублей (эквивалент $200)\n" ;
        text +="Доставка осуществляется международной курьерской службой EMS Почта России. Стоимость доставки будет \n" ;
        text +="определена после анализа принципиальной возможности её осуществления в Вашу страну.\n\n" ;
        text +="Оплата отправления осуществляется только по предоплате. Продолжаем?" ;

        answer =confirm(text) ;
        if(!answer) {
            return ;
        }
        changePriceType(0) ;

        setSelectedValue(document.getElementById("transfer_type"),2) ;// Курьерская служба

        manageTransfer() ;

        changeCartCountry(true) ;
    }else{
        changeCartCountry(false) ;   
    }

    show_totals_row(country_obj.value==0,"row_index") ;
    show_totals_row(country_obj.value==0,"row_oblast") ;
    show_totals_row(country_obj.value==0,"row_address") ;
    show_totals_row(country_obj.value==0,"row_city") ;

    show_totals_row(country_obj.value==1,"row_address_f") ;
    show_totals_row(country_obj.value==1,"row_f_info") ;    
	
}

function switchAnswer(id){
    var span =document.getElementById("ans_"+id) ;
    var mno =document.getElementById("mno_"+id) ;
    var slu =document.getElementById("slu_"+id) ;

    show =true ;
    if(span.style.display != 'none'){
        show =false ;
    }

    //alert(slu.innerHTML) ;

    if(show) {
        span.style.display='inline' ;
        mno.innerHTML ="&nbsp;" ;
        slu.innerHTML ="Свернуть..." ;
    }else{
        span.style.display='none' ;
        mno.innerHTML ="..." ;
        slu.innerHTML ="Смотреть полный ответ..." ;
    }
}

