// BASKET !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
function number_format( number, decimals, dec_point, thousands_sep ) { 
 
    var i, j, kw, kd, km;
 
    // input sanitation & defaults
    if( isNaN(decimals = Math.abs(decimals)) ){
        decimals = 2;
    }
    if( dec_point == undefined ){
        dec_point = ",";
    }
    if( thousands_sep == undefined ){
        thousands_sep = ".";
    }
 
    i = parseInt(number = (+number || 0).toFixed(decimals)) + "";
 
    if( (j = i.length) > 3 ){
        j = j % 3;
    } else{
        j = 0;
    }
 
    km = (j ? i.substr(0, j) + thousands_sep : "");
    kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
    //kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).slice(2) : "");
    kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");
 
    return km + kw + kd;
}

//HTTP REQUEST
function createXmlHttpRequestObject()
{
var xmlHttp = false;

try 
{ xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) 
 {
  try 
  {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
  catch(e2) {xmlHttp = false; }
 }
 
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}

return xmlHttp;
}
//END HTTP REUQEST
// слушатели событий
// добавляет слушатель
function addEvent(obj, type, fn)
{
 if (obj.addEventListener){obj.addEventListener(type, fn, false);} 
 else
 {
  if(obj.attachEvent) {obj.attachEvent("on"+type, fn );} 
  else { obj["on"+type] = fn;}
 }
}
// удаляет слушатель
function removeEvent(obj, type, fn)
{
 if (obj.removeEventListener){obj.removeEventListener(type, fn, false);}
 else 
 {
  if (obj.detachEvent){obj.detachEvent("on"+type, fn);}
  else {obj["on"+type] = null;}
 }
}
// конец слушателей событий

// обработки полей для передачи в скрипты...
function getvf(id_field, typeset)
 {
  var obj = document.getElementById(id_field);
  if(!obj){return '';} 
  if(!typeset){typeset = 'text';}
  var str_Return = new String();
  str_Return = obj.value;
  if(typeset == 'text'){str_Return = encodeURIComponent(str_Return);}
  if(typeset == 'int'){str_Return = parseInt(str_Return); if(isNaN(str_Return)){return 0;}}
  if(typeset == 'float'){str_Return = parseFloat(str_Return);if(isNaN(str_Return)){return 0;}}
  return str_Return;
 }
function getvbox(id_field)
 {
	 if(!document.getElementById(id_field)){return false;} 
	 if($('#'+id_field).attr('checked') == true){return $('#'+id_field).val();}
	 else{return false;}
 }
function getvboxmas(id_field)
{
 var box_str = new String();
 var box_ckboks = $("#" + id_field + "_holder :checkbox:checked");
     box_ckboks.each(function() 
     {
      if($(this).attr('id').indexOf(id_field) != -1)
      {box_str = box_str + "~" + $(this).attr('value') + '_';}
     });	 
	 
 return box_str;
}
function getvradio(id_field)
{
 var radio_obj = $("#" + id_field + "_holder :radio:checked");
 return radio_obj.attr('value');
}
// цонец обработки полей для передачи в скрипты...

// Верхнее меню
function getAbsolutePos(el)
{
   var r = { x: el.offsetLeft, y: el.offsetTop };
   if (el.offsetParent)
   {
       var tmp = getAbsolutePos(el.offsetParent);
       r.x += tmp.x;
       r.y += tmp.y;
   }
   return r;
}

function pos_elemet(id_obj, id_holder, add_x, add_y, displayshow)
{ 
 if(!displayshow){displayshow = 'show';}
 if(typeof(id_obj) != 'object') { var obj = $('#' + id_obj);}
 else{var obj = id_obj;}
 
 var set_x = new Number();
 var set_y = new Number();
 var w_screen = parseInt(window.screen.width);
 var w_obj = parseInt($(obj).width());
 
 if(id_holder != 'inherit')
 {
  var holder_Obj = document.getElementById(id_holder);
  if(!holder_Obj){holder_Obj = document.getElementById('loader_div');}
 }

 if(add_x == 'center') { set_x = w_screen*0.5 - w_obj*0.5; }
 else
 {
  if(id_holder == 'inherit') 
   {
	 set_x = add_x;
	 var e_x = id_obj.offset().left; 	 
	 var handl_wid_obj = w_obj;
	 while(w_screen < handl_wid_obj + e_x){ set_x = set_x - 50; handl_wid_obj = handl_wid_obj - 50; }
   }
  else{ set_x = getAbsolutePos(holder_Obj).x + add_x; }
 }
 
 if(add_y == 'center')
 {
   var h_obj = parseInt($(obj).height());
   var h_screen = parseInt(window.screen.height) - 200;
   var scroll_set = (document.documentElement.scrollTop || document.body.scrollTop);
   set_y = h_screen*0.5 - h_obj*0.5 + scroll_set;
 }
 else
 { 
  if(id_holder == 'inherit')
  {set_y = add_y;}
  else
  {set_y = getAbsolutePos(holder_Obj).y + add_y; }
 }
 
 obj.css('left', set_x);
 obj.css('top', set_y);
 if(displayshow != 'none')
 {
  obj.css('visibility', 'visible');
  obj.css('display', 'block');
 }
}

function hide_element(id_obj)
{
 var obj = document.getElementById(id_obj);
 if(obj)
 {
  obj.style.visibility = 'hidden';
  obj.style.display = 'none';
 }
}
// конец  Верхнее меню

// !!!!!!!!!!!!!!!!!!!!!!!!!!!! BASKET !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// BASKET EFFECTS - INSERT
function insert_in_basket(Name_tovar)
{
 $('#bg_div').animate({opacity:'show'}, 500, 'swing'); 
 var Obj_cart_div = document.getElementById('cart_div');
 var Obj_name_tovar_cart = document.getElementById('tovar_name');
 var height_screen = new Number();
 var width_screen = new Number();
 
 if(Obj_cart_div)
 {
  height_screen = (window.screen.height/2) - 140;
  width_screen = (window.screen.width/2) - 150;
  Obj_cart_div.style.top = height_screen + 'px';
  Obj_cart_div.style.left = width_screen + 'px';
  Obj_name_tovar_cart.innerHTML = Name_tovar + ' добавлен в корзину!<br />Выберите дальнейшие действия';
  $('#cart_div').animate({opacity:'show'}, 700, 'swing');  
  confirm_basket(0);
 }
 
}

// BASKET EFFECTS - CANCEL
function deceline_basket()
{ 
 $('#bg_div').animate({opacity:'hide'}, 400, 'swing');
 $('#cart_div').animate({opacity:'hide'}, 500, 'swing');
}

// BASKET EFFECTS - ADD
function confirm_basket(action_num)
{
 var Obj_id_spec= document.getElementById('id_spec');
 var Obj_id_prod = document.getElementById('id_prod');
 var Obj_Kolvo_tovar  = document.getElementById('Kolvo_tovar');
 var String_SET_Obj = document.getElementById('String_tovar');
 var Tengion_SET_Obj = document.getElementById('String_Tangion_tovar');
 var URL_Basket = cur_path + 'js/basket_script.php';
 if (xmlHttpObj.readyState == 4 || xmlHttpObj.readyState == 0)
  {
	params = "mode=insert";
	if(Obj_id_spec) {params = params + "&id_spec=" + Obj_id_spec.value;}
	if(Obj_id_prod) {params = params + "&id_prod=" + Obj_id_prod.value;}
	if(Obj_Kolvo_tovar) {params = params + "&Kolvo_tovar=" + Obj_Kolvo_tovar.value;}
	if(String_SET_Obj) {params = params + "&String_tovar=" + String_SET_Obj.value;}
	if(Tengion_SET_Obj) {params = params + "&String_Tangion_tovar=" + Tengion_SET_Obj.value;}

	xmlHttpObj.open("POST", URL_Basket, true);
	xmlHttpObj.setRequestHeader("Host", "localhost");
	xmlHttpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttpObj.onreadystatechange = basket_response;
	xmlHttpObj.send(params);
	if(action_num == 1) {loader_activate(); setTimeout('href_to_zakaz()', 500);}
	else { loader_activate(); }
  }
 
}

function href_to_zakaz()
{  window.location.href = cur_path + 'basket.php'; }


// BASKET EFFECTS - OUTPUT BLOCK BASKET
function basket_response()
{
if (xmlHttpObj.readyState == 4)
 {
  if (xmlHttpObj.status == 200)
  { 
	var response = xmlHttpObj.responseText;
	var aResponse = response.split('(*_*)');

	var basket_tovars_Obj = document.getElementById('kol_in_cart');
	var basket_price_Obj = document.getElementById('cash_in_cart');
	if (basket_tovars_Obj && basket_price_Obj) 
	 {
  	  basket_tovars_Obj.innerHTML = aResponse[0];
	  basket_price_Obj.innerHTML = aResponse[1];
	  $('#cart_static').animate({opacity:'hide'}, 400, 'swing');
      $('#cart_dinamic').animate({opacity:'show'}, 400, 'swing');
 	 }
	 
	 loader_deactivate();
	 //deceline_basket();
  }
 }
}

//ПОДСЧЕТ СУММЫ
function kalc_SPEC(prod_num)
{
 Price_All = new Number(); 
 Price_i = new Number();
 Kolvo_i = new Number();
 
 for (i=0; i < prod_num; i++)
   {
    Kolvo_i = document.getElementById('Kolvo_SPEC_' + i).value*1;
	if (isNaN(Kolvo_i)) {alert ('Это не число!'); document.getElementById('Kolvo_SPEC_' + i).focus(); return; }
    Kolvo_i = Math.round(Kolvo_i);
    Price_i = document.getElementById('Price_SPEC_' + i).value*1;
	document.getElementById('Price_All_SPEC_' + i).innerHTML = number_format(Price_i*Kolvo_i, 0, '.', ' ');
    Price_All = Kolvo_i*Price_i + Price_All;	
   }

 Price_All = (Math.round(100*Price_All))/100;
 return Price_All;

}

function kalc_prod(prod_num)
{
 Price_All = new Number(); 
 Price_i = new Number();
 Kolvo_i = new Number();
 
 for (i=0; i < prod_num; i++)
   {
    Kolvo_i = document.getElementById('Kolvo_' + i).value*1;
	if (isNaN(Kolvo_i)) {alert ('Это не число!'); document.getElementById('Kolvo_' + i).focus(); return; }
    Kolvo_i = Math.round(Kolvo_i);
    Price_i = document.getElementById('Price_' + i).value*1;
	document.getElementById('Price_All_' + i).innerHTML = number_format(Price_i*Kolvo_i, 0, '.', ' ');
    Price_All = Kolvo_i*Price_i + Price_All;	
   }

Price_All = (Math.round(100*Price_All))/100;
return Price_All;
}

function kalc_all(prod_num, SPEC_num)
{ 
    var price_SPEC = new Number();
	var price_prod = new Number();
	var price_ALL = new Number();
	var valSkidka = parseFloat($('#Skidka_fromses').val());
	price_SPEC = kalc_SPEC(SPEC_num);
	price_prod = kalc_prod(prod_num);
    Price_All = price_SPEC+price_prod;
	if(valSkidka)
	 {
	  var skidkases = Price_All*valSkidka*0.01;
	  skidkases = Price_All - skidkases;
	  $('#Price_Skidka').html(skidkases + ' грн');
	 }
	
	document.getElementById('Price_prod').innerHTML = number_format(Price_All, 0, '.', ' ');
}

function load_skidka()
{
 var code_obj = document.getElementById('Code');
 if(code_obj)
 {
  $.ajax({ type: "POST",
		   data:{Code:code_obj.value, mode:'calc_skidka'}, 
		   url: "js/basket_script.php",
		   success: function(data, textStatus){ if(textStatus == 'success'){draw_skidka(data);}},
		   error: function(){alert ("Не могу соединиться с сервером, проверьте подключение к интернет");}
		 });
 }
}

function draw_skidka(Values)
{
 Values = Values.split("(*_*)");
 var skidka_holder_obj = document.getElementById('Price_Skidka');
 if(skidka_holder_obj)
  {
	 skidka_holder_obj.innerHTML = number_format(Values[1], 0, '.', ' ') + ' ' + Currency_site; 
     $('#discont').html(Values[0] + '%');
 } 
 if(parseFloat(Values[0]) > 0 )
 {
  $('#text_skidka').animate({width:'show'}, 250);
  $('#price_skidka').animate({width:'show'}, 250);
  $('#text_discont').css('display', 'block');
  $('#discont').css('display', 'block');
 }
 else
 {
  $('#text_skidka').animate({width:'hide'}, 250);
  $('#price_skidka').animate({width:'hide'}, 250);
  $('#text_discont').css('display', 'none');
  $('#discont').css('display', 'none');
 }
}
// END BASKET !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



// LOADER !!!!
// активирует лоадер при запросе данных
function loader_activate()
{
  obj = document.getElementById('loader_div');
  if(obj)
  {
   pos_elemet('loader_div', 'form_search', 50, 50);
   addEvent(document, 'mousemove', loader_drag);
   addEvent(document, 'mousewheel', loader_document_scroll);
  }
}
// деактивирует лоадер при получении данных
function loader_deactivate()
{
 obj = document.getElementById('loader_div');
 if(obj)
 {
  removeEvent(document, 'mousemove', loader_drag);
  //removeEvent(document, 'mousewheel');
  hide_element('loader_div');
 }
}
// ловит скролл мыши
function loader_document_scroll(evt)
{
 obj = document.getElementById('loader_div');
 var new_pos_y = 0;
 if (!evt) {var evt = window.event;} // ie fix
 if (evt.pageX || evt.pageY)  { new_pos_y = evt.pageY; }
 else
 {
  if (evt.clientX || evt.clientY)
  {new_pos_y = evt.clientY +  (document.documentElement.scrollTop || document.body.scrollTop);}
 }
 obj.style.top = new_pos_y + 'px';
}
// таскает лоадер за курсором мыши
function loader_drag(evt)
{
 if (!evt) {var evt = window.event;} // ie fix
 var scroll_top_set = new Number();
 if(document.body.scrollTop){scroll_top_set = document.body.scrollTop;}
 else{scroll_top_set = document.documentElement.scrollTop;}
 //alert(parseInt(scroll_top_set) );
	  
 var new_pos_x = parseInt(evt.clientX)-4; // позиция Х, на которую его перенесет (позиция Х мыши)
 var new_pos_y = parseInt(evt.clientY) + parseInt(scroll_top_set)-4;	  
 // позиция У, на которую его перенесет (позиция У мыши)
 if(new_pos_x >= 0 && new_pos_x <= parseInt(screen.width)) {$('#loader_div').css('left', new_pos_x);}
 $('#loader_div').css('top', new_pos_y);
 //eval(coll_back);	// функция kоллбек, которая вызывается после перемещения	  
 // опять фиксим дефолтные события браузеров воизбежании глюков
 if(window.event) {evt.returnValue = null; }
 else {evt.preventDefault();}
 if(event.stopPropagation) {event.stopPropagation();}
 else {event.cancelBubble = true;}
}
//END LOADER


function check_num(id_field)
{
 num_Obj = document.getElementById(id_field);
 num = parseInt(num_Obj.value);
 if(num_Obj)
 { 
  if (isNaN(num) && num !=0) 
  {num_Obj.value='';return; }
  else 
  {num_Obj.value=num;}
 }
}

//DOCUMENT READY
$(document).ready(function(){
  // прелоадинг фонов
  img_left = new Image();  img_right = new Image();  img_left_bot = new Image();  img_right_bot = new Image();
  img_right_both1 = new Image();  img_right_r1 = new Image();
  img_left.src = cur_path + "images/hover_l.gif";  		img_right.src = cur_path + "images/hover_r.gif";
  img_left_bot.src = cur_path + "images/hover_l2.gif";  img_right_bot.src = cur_path + "images/hover_r2.gif";
  img_right_r1.src = cur_path + "images/hover_r1.gif"; img_right_both1.src = cur_path + "images/hover_r3.gif";
  
  // функции для меню, работают на стилях
  /*
  $('.menu li').hover(
       function()
	   {
        $(this).find('span .left_both').css("background", "url('" + cur_path + "images/hover_l2.gif') left top no-repeat;");
		$(this).find('span .right_both').css("background", "url('" + cur_path + "images/hover_r2.gif') left top no-repeat;");
		$(this).find('span .right_both1').css("background", "url('" + cur_path + "images/hover_r3.gif') left top no-repeat;");
       },
       function()
	   {
		$(this).find('span .left_both').css("background", "none");
		$(this).find('span .right_both').css("background", "none");
		$(this).find('span .right_both1').css("background", "none");
	   }
     );*/
});

