var manColorSwitcher = {
  switchColor: function (){
    var colorIndex = Math.round(Math.random()*this.availableColors.length) - 1;
    $('man').setStyle({backgroundColor:this.availableColors[colorIndex]})
  },
  availableColors: ['#66CC00','#FFCC33','#FFCCCC','#CC00CC','red','#33FFCC','#6633CC','#0033FF','#FF33FF','#FF9900','#9900CC']
}

function addHandlersForProductItems(){
  
  $$('.productItem').each(function (element){
    
		$(element.getElementsByTagName('td')[0]).onclick=function(event){
			window.location.href="?do_act=catalog&view=products&view_id="+element.id.replace("productItem_","");
		};
		$(element.getElementsByTagName('td')[1]).onclick=function(event){
			window.location.href="?do_act=catalog&view=products&view_id="+element.id.replace("productItem_","");
		};
		
		element.onmouseover = function (){
			this.style.backgroundColor = "#EDFAFF";
		};
		
		element.onmouseout = function (){
			this.style.backgroundColor = "transparent";
		};
		
  } );
  
  
}
var rowCount = 0;
function colorProductTechnicalValuesTable(){
  $$('#productTechnicalValues tr').each(function (row) {
    row.getElementsByTagName('td')[0].style.backgroundColor= rowCount %2 == 0 ? '#92C9EF' : '#97CAFF';
    row.getElementsByTagName('td')[1].style.backgroundColor= rowCount %2 == 0 ? '#B7E1FF' : '#B9DDFB';
    rowCount++;
  });
}


function confirmOrder(){
    var myAjax = new Ajax.Updater(
  	{success: 'cartContentDiv'},
  	"/ajax.php",{
        method: 'post',
        evalScripts: true,
        parameters: {
            act: 'confirmOrder'
        }
  	});
}

function sendOrder(form){
    if ($F('sendOrderFormName').length < 2){
        alert("Пожалуйста, заполните поле «Имя»");
        return;
    }
    if ($F('sendOrderFormPhone').length < 6){
        alert("Пожалуйста, заполните поле «Телефон»");
        return;
    }
    
    var myAjax = new Ajax.Updater(
  	{success: 'cartContentDiv'},
  	"/ajax.php",{
        method: 'post',
        evalScripts: true,
        encoding: "windows-1251",
        parameters: {
            act: 'sendOrder',
            name: $F('sendOrderFormName'),
            phone: $F('sendOrderFormPhone'),
            time: $F('sendOrderFormTime')
        }
  	});
  	updateCartValues();
}

function viewCart(){
    var myAjax = new Ajax.Updater(
  	{success: 'cartContentDiv'},
  	"/ajax.php",{
  		method: 'post',
      parameters: {
        act: 'cartContent'
      },
      onComplete: function (r){
        $('cartContentDiv').appear({duration: 0.5});
        //$('cartContentDiv').show({duration: 0.5});
        
        $$('#cartContentDiv div table tbody tr').each(function (element){
						            
			var price = element.id.replace("productCartRow_","");
			
			element.onmouseover = function (){
				this.style.backgroundColor = "white";
			};
			
			element.onmouseout = function (){
				this.style.backgroundColor = "transparent";
			};
			
            $(element.getElementsByTagName('td')[5].getElementsByTagName('span')[0]).observe('click',
															function(event){
																recalculateCartProductCount(price);
															}
													);
			
            $(element.getElementsByTagName('td')[7].getElementsByTagName('span')[0]).observe('click',
															function(event){
																deleteFromCart(price);
															}
													);
        } );
		}
	});

}

function recalculateCartProductCount(id){

	if (!/^\d+$/.match($F('productCartCountVolume_'+id)) ){
		alert("Пожалуйста, укажите правильное количество товара.");
		return;
	}
	
	if ($F('productCartCountVolume_'+id) == 0){
		alert("Удалите товар из корзины.");
		return;
	}
    
    new Ajax.Request("/ajax.php",{
        method: 'post',
        sanitizeJSON: 'true',
        parameters: {
            act: 'updateCart',
            id: id,
            count: $F('productCartCountVolume_'+id)
        },
        onSuccess: function (r){
            var JSONobj = r.responseJSON;

            if(JSONobj.result && JSONobj.result=='ok'){
                checkCartInfo(JSONobj);
                
                $('cartTotalWeight').update(JSONobj.totalValues.weight);
                $('cartTotalPoddons').update(JSONobj.totalValues.poddons);
                $($('productCartRow_'+id).getElementsByTagName('td')[6].getElementsByTagName('span')[0]).update(JSONobj.currentProduct.price);

                $('cartProductCountVolumeSpan_'+JSONobj.currentProduct.id).innerHTML = JSONobj.currentProduct.count;
                $('productCountVolumeSpan_'+JSONobj.currentProduct.id).innerHTML = JSONobj.currentProduct.count;
                
                return;
            }
        }
  	});

}

function deleteFromCart(id){
  new Ajax.Request('/ajax.php',{
        method: 'post',
        sanitizeJSON: 'true',
        parameters: {
            act: 'deleteFromCart',
            id: id
        },
  		onSuccess: function(r){
            var JSONobj = r.responseJSON;
            
            if(JSONobj.result && JSONobj.result=='ok'){
                $('productCartRow_'+r.request.parameters.id).remove();
                checkCartInfo(JSONobj);
                $('productCountVolumeSpan_'+id).update(0);
                return;
            }
  			
            alert("Произошла ошибка при удалении товара. Пожалуйста, попробуйте ещё раз.");
      }
  	});
}

function addToCart(id){

    if (!/^\d+$/.match($F('productCountVolume_'+id)) ){
        alert("Пожалуйста, укажите правильное количество товара.");
        return;
    }

    new Ajax.Request('/ajax.php',{
        method: 'post',
        sanitizeJSON: 'true',
        parameters: {
            act: 'addToCart',
            id: id,
            count: $F('productCountVolume_'+id)
        },
    	onSuccess: function(r){
        	var JSONobj = r.responseJSON;
        	if(JSONobj.result=='ok'){
        		checkCartInfo(JSONobj);
        		$('productCountVolumeSpan_'+JSONobj.currentProduct.id).update(JSONobj.currentProduct.count);
        		$('productCountVolume_'+JSONobj.currentProduct.id).value="";
                //alert("Товар добавлен");
            }
        	else
                alert("Произошла ошибка при добавлении товара. Пожалуйста, попробуйте ещё раз.");
        }
    }
    )
}

function updateCartValues(){
    new Ajax.Request("/ajax.php",{
    	method: 'post',
    	sanitizeJSON: 'true',
    	parameters: {
        	act: 'cartInfo'
    	},
    	onSuccess: function (r){
			var JSONobj = r.responseJSON;
			if(JSONobj.result=='ok'){
				checkCartInfo(JSONobj);
			}
		}
  	});
}

function checkCartInfo(JSONobj){
	if (JSONobj.totalValues.totalVolumes > 0){
		$('totalCartInfo_Volumes').update(JSONobj.totalValues.totalVolumes);
		$('totalCartInfo_Count').update(JSONobj.totalValues.totalCount);
		$('totalCartInfo_Price').update(JSONobj.totalValues.totalPrice);
		
		$('cartNotExistsDiv').hide();
		$('cartExistsDiv').show();
	} else {
		$('cartNotExistsDiv').show();
		$('cartExistsDiv').hide();
	}
}


function enterAsDealer(form){
  $(form).request({
  method:'post',
  parameters: { act:'enterAsDealer' },
  onComplete: function(r){
    	var s=r.responseText;
    
    	var JSONobj = eval('(' + s + ')');
    	if(JSONobj.result && JSONobj.result=='ok'){
			window.location.href="/?do_act=catalog&view=products_table";
    	}else{
			alert("Пользователь с таким именем и паролем не найден в системе. Проверьте правильность ввода имени и пароля")
        }

  }
})
}



function exit(form){
	new Ajax.Request("/ajax.php",{
	  	method: 'post',
	    parameters: {
	        act: 'exit'
	    },
	  	onSuccess: function(request){
	        $('dealersEnter').show();
	        $('eneteredUserInfo').update();
	        $('allProductsTableLink').hide();
	        updateCartValues();
	    }
	    }
    );
}

function toggleLeftMenu(id){
    $('categoriesLinks_'+id).toggle();
    $('toogleCategoriesImg_'+id).src = '/i/round_'+($('categoriesLinks_'+id).visible() ? 'remove' : 'add' )+'.png';
}

function addLogosObservers(){
    $$('#logos img').each (function(element){
        element.onmouseover = function (){
            element.src = element.src.replace('-gray.png','.png');
        } 
        element.onmouseout =  function (){
            element.src = element.src.replace('.png','-gray.png')
        };
        
    });
}

function clearCart(){
    if (!confirm("Вы уверены, что хотите очистить корзину?"))
        return;

    var myAjax = new Ajax.Updater(
  	{success: 'cartContentDiv'},
  	"/ajax.php",{
        method: 'post',
        evalScripts: true,
        parameters: {
            act: 'clearCart'
        }
  	});
  	
        $$(".productCountVolumeSpans").each(function(el){
            el.update(0);
        })
}

