/* rev 1023 for RU */

window.global_currency = 'руб.';
window.global_nds_percent = 18;

window.allow_order_if_dyxi_only_with_bonus_cd = false;


window.selected_items_type_dyxi = 0;
window.selected_items_type_cd=0;
window.selected_items_type_cd_without_bonus_cd =0;
window.selected_items_type_other = 0;

window.total_bonus_cd_count = 0;
window.selected_bonus_cd_count = 0;

function RefreshSumm()
{
   var price=0; var count=0;
   document.getElementById('summ').value = '0';
   
   window.selected_items_type_dyxi=0;
   window.selected_items_type_other =0;
   window.selected_items_type_cd=0;
   window.selected_items_type_cd_without_bonus_cd =0;
               	
   for (var i=0; i < document.order_form.elements.length; i++)
   {
	  if (document.order_form.elements[i].id == 'id')
	  {
		 id = String(document.order_form.elements[i].value);

	     if ( document.getElementById('checked_'+id).checked ){
		         
				 cnt=parseInt(document.getElementById('kolvo_' + id).value);
				 
		         if ( document.getElementById('item_type_'+id).value == 'dyxi' ) window.selected_items_type_dyxi=parseInt(window.selected_items_type_dyxi)+cnt; 
		         else if (  document.getElementById('item_type_'+id).value == 'cd' ) 
				 { 
				     window.selected_items_type_cd=parseInt(window.selected_items_type_cd)+cnt;   
					 bonus_price = document.getElementById('price_' + id);
					 if (parseInt(bonus_price.value) != 0) window.selected_items_type_cd_without_bonus_cd++;
				 }
		         else if (  document.getElementById('item_type_'+id).value == 'other' ) window.selected_items_type_other=parseInt(window.selected_items_type_other)+cnt; 
		 }
		 
		 unit_price = document.getElementById('price_' + String(id));
		 kolvo = document.getElementById('kolvo_' + String(id))
	 	 price = Math.ceil(price + parseInt(kolvo.value)*(parseInt(unit_price.value)*1));
		 count+=parseInt(kolvo.value)*1;
	  }
   }
    
   if (count>0)  
   { 
      document.getElementById('stat').value=String(parseInt(document.getElementById('delivery_price').value)*1+parseInt(document.getElementById('delivery_price_per_item').value)*1*(count-1))+' '+String(window.global_currency);
   } 
   else document.getElementById('stat').value= String(document.getElementById('delivery_price').value)+' '+String(window.global_currency);
     	
   if (price>0)
   {
	  document.getElementById('price').value =String(parseInt(price+document.getElementById('stat').value.replace(' '+window.global_currency,'')*1))+' '+window.global_currency;
   } 
   else document.getElementById('price').value = String('0 '+window.global_currency);
	
   document.getElementById('summ').value = String(price + ' '+window.global_currency);
	
   CalcNDS();
   
   RefreshBonusCdInfo();
}
           
function KolvoChange(CheckBox,InputField)
{       
	var cb=document.getElementById(CheckBox);
	var inp=document.getElementById(InputField);
	   
	if ((event.keyCode < 48) || (event.keyCode > 57)) event.returnValue = false; 
	else
	{
		cb.checked = true;
		event.returnValue = event.keyCode;
	}
    RefreshSumm();          
}

function KolvoAdd(CheckBox,InputField)
{  
    var cb=document.getElementById(CheckBox);
    var inp=document.getElementById(InputField);
		
	if ( isNaN(parseInt(inp.value)+1) ) 
	{ 
      inp.value = '0'; 
  	  cb.checked = false;
	}
	else 
	{ 
      inp.value=parseInt(inp.value) + 1;
	  cb.checked = true;
	}
    RefreshSumm(); 
}

function KolvoRemove(CheckBox,InputField)
{
	var inp=document.getElementById(InputField);	 
	var cb=document.getElementById(CheckBox);
		
	if ( isNaN(parseInt(inp.value)) ) 
	{ 
      inp.value = '0'; 
	  cb.checked = false;
	}
	else 
	{ 
      if ( parseInt(inp.value) -1 >= 0 ) 
	  {
	    inp.value=parseInt(inp.value) - 1;
	    cb.checked = true;
	  }
	  if ( parseInt(inp.value) == 0 ) { cb.checked = false; }
	}
    RefreshSumm(); 
}
             
function SetInput(CheckBox,InputField)
{
	var cb=document.getElementById(CheckBox);
	var inp=document.getElementById(InputField);
	
	if (inp.value == '' || inp.value == '0')
	{
		inp.value = '0';
		cb.checked = false;
	}
	else cb.checked = true;
	RefreshSumm();
}

function CheckClick(CheckBox,InputField)
{
	var cb=document.getElementById(CheckBox);
	var inp=document.getElementById(InputField);

	if (cb.checked) {  inp.value = '1'; } 
	if (!cb.checked) { inp.value = '0'; }

    RefreshSumm();       
}

function CalcNDS()
{
	if ( document.getElementById('summ').value == '0 '+window.global_currency) {  document.getElementById('nds').innerHTML = ''; }
	else 
	{
       var ndsperc = window.global_nds_percent;
	   var sum = document.getElementById('summ').value.replace(' '+window.global_currency,'');
	  
	   var summ = sum / 100 * ndsperc;
       summ = summ.toFixed(2);

	   var nprice = document.getElementById('price').value.replace(' '+window.global_currency,'');
	   var nprice = parseFloat(nprice) + parseFloat(summ);
	  	  
	   document.getElementById('price').value=parseInt(nprice)+' '+window.global_currency;
	}
}

function DeleteQuotes(element) 
{
   var result=element.value;
   result = result.replace('\'', '');
   result = result.replace('"', '');
   element.value=result;
}

function CheckAllBonusCheckBoxes(checkbox) 
{  
  var bonus_check_box;
  var price=0;
  
  bonus_check_box=document.getElementById('bonus_check_box');  
             		
  for (var i=0; i < document.order_form.elements.length; i++)
  {
	if (document.order_form.elements[i].id == 'id')
	{
	  id = document.order_form.elements[i].value;
	  unit_price = document.getElementById('price_' + id);
	
	  if (unit_price.value == '0' ) 
	  { 
	    checkbx = document.getElementById('checked_' + id);
		kolvo = document.getElementById('kolvo_' + id);
		
		
		if (checkbox.id == 'bonus_check_box' && bonus_check_box.checked) 
		{
		  checkbx.checked=true; 		  
		  kolvo.value=1;		  
		}
		else 
		{ 
		  checkbx.checked=false; 
		  kolvo.value=0; 
		} 
	  }
	  
	}
  }
  
  RefreshSumm();
 
}
 
function UncheckBonusCheckBoxes()
{
  var price=0;
  var checked_count=0;
  var total_bonus_count=0;
  var id;
  var unit_price;
  var checkbx;
  var bonus_check_box;
   
  for (var i=0; i < document.order_form.elements.length; i++)
  {
	if (document.order_form.elements[i].id == 'id')
	{
	   id = document.order_form.elements[i].value;
	   unit_price = document.getElementById('price_' + id);
	
	   if (unit_price.value == '0' ) 
	   { 
	      total_bonus_count++;
	      checkbx = document.getElementById('checked_' + id);
		  if (checkbx.checked) checked_count++;		  
	   }	  
	}
  }
   
  bonus_check_box=document.getElementById('bonus_check_box');           	
  if (checked_count == '0' ) { bonus_check_box.checked=false; }
  if ( total_bonus_count > 0 && total_bonus_count == checked_count) { bonus_check_box.checked=true; }
  RefreshSumm(); 
}

function RefreshBonusCdInfo()
{	
   window.total_bonus_cd_count = 0;
   window.selected_bonus_cd_count = 0; 
	
   for (var i=0; i < document.order_form.elements.length; i++)
   {
	  if (document.order_form.elements[i].id == 'id')
	  {
		 id = document.order_form.elements[i].value;
         bonus_cd_price = document.getElementById('price_' + id);
		 if (parseInt(bonus_cd_price.value) == 0 && document.getElementById('item_type_'+id).value == 'cd' ) 
		 {		  
		    window.total_bonus_cd_count++;
	        if ( document.getElementById('checked_'+id).checked ) window.selected_bonus_cd_count++;	         
		 }
		 
	  }
   }
   
   if (document.getElementById('bonus_check_box') != null )
   {
      if ( window.total_bonus_cd_count == 1 && window.selected_bonus_cd_count == 1 && document.getElementById('bonus_check_box').checked  == false) 	 document.getElementById('bonus_check_box').checked =true;
	  if ( window.total_bonus_cd_count == 1 && window.selected_bonus_cd_count == 0  && document.getElementById('bonus_check_box').checked  == true )  document.getElementById('bonus_check_box').checked =false;
   }
}

function CheckIfDyxiOnlyWithBonusCD()
{
	RefreshBonusCdInfo();
	if ( window.selected_bonus_cd_count == 0 ) return false 
	else { 
	          selected_other_items_count =  parseInt(window.selected_items_type_cd_without_bonus_cd) + parseInt(window.selected_items_type_other);
			  
	          if (  parseInt(window.selected_items_type_dyxi) > 0 && window.selected_bonus_cd_count > 0 && selected_other_items_count == 0 ) return true; 
			  else return false;
	}
}












function Check (form) 
{
   var error_summ = "";
   var error_fio= "";
   var error_city = "";
   var error_address = "";
   var error_email ="";
   
   var error_msg ="";
   var error_dyxi_with_bonus="";

   
   var email_regexp =  /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

   DeleteQuotes(document.getElementById('fio'));
   DeleteQuotes(document.getElementById('pindex'));     
   DeleteQuotes(document.getElementById('city'));
   DeleteQuotes(document.getElementById('address'));
   
   DeleteQuotes(document.getElementById('email'));
   document.getElementById('email').value=document.getElementById('email').value.replace(' ', '');
	
   DeleteQuotes(document.getElementById('phone'));
      
   if  (document.getElementById('summ').value == '0 '+window.global_currency) error_summ="Пожалуйста, выберите необходимый товар!\r\n\r\n- Сумма заказа не может быть 0 "+window.global_currency;

   if  (document.getElementById('fio').value.length < 5) error_fio="\r\n- Необходимо заполнить поле ФИО.";
   if  (document.getElementById('city').value.length < 3) error_city="\r\n- Необходимо заполнить поле Область, город (село).";
   if  (document.getElementById('address').value.length < 5) error_address="\r\n- Необходимо заполнить поле Полный адрес.";
  
   if (document.getElementById('email').value.length > 0 ) 
   {
	  if (!email_regexp.test(document.getElementById('email').value)) error_email="\r\n- Введите верный адрес электронной почты или оставьте поле пустым."; else error_email="";
   }    
   
   if ( allow_order_if_dyxi_only_with_bonus_cd == false ) 
   {
	   if (CheckIfDyxiOnlyWithBonusCD() == true ) error_dyxi_with_bonus=" \r\n- Нельзя получить <strong style=\"color:red\">БЕСПЛАТНЫЙ</strong> ДИСК заказав только духи."
   }
   
   error_msg=error_summ+error_fio+error_city+error_address+error_email+error_dyxi_with_bonus;
   
   if ( error_msg.length > 0 ) 
   {
	  window.alert(error_msg); 
	  return false;
   } 
   else form.submit();
}
