window.onload = function() {
	delivery_click();
  $('#help_img').tipbox('Вы можете выбрать менеджера, с которым работаете. Не обязательное поле.');
}

function chst (val) {
	var obj = document.getElementById(val);
	if (!obj) return true;
	var openflag = (obj.style.display == '') || (obj.style.display == 'block');
	if (openflag) {
		obj.style.display='none';
	} else {
		obj.style.display='';
	}
	return false;
}

function addtobasket(id,mont) {
        JsHttpRequest.query(
            'basket.php?mode=ajax&id='+id+'&action=add&mont='+mont, // backend
            {
                'id': id,
                'mont': mont
            },
            function(result, errors) {
                if (result) { 
                		if (document.getElementById('bblock'+id)) document.getElementById('bblock'+id).innerHTML = "<a href=basket.php class=checkoutbasket>оформить</a>";
                		if (document.getElementById('basketamount'))  document.getElementById('basketamount').innerHTML =result["amount"]+ " руб" ;
                		if (document.getElementById('basketcount'))  document.getElementById('basketcount').innerHTML =result["count"] ;
                }
            },
            true  // do not disable caching
        );
        
}

function total_recast() {
	var send = {};
	$('input[name^=col]').each(function () {
		send[($(this).attr('name').substr(3)*1)] = $(this).val();
	});
	$.post(
		'basket.php?action=total_recast',
		{gids: send},
		function(data) {total_recast_success(data)},
		'json'
	);
}

function total_recast_success(data) {
	window.location = 'basket.php';
}

/* Функция для генерации ajax запроса
 * в параметре data могут хранится массив с такими элементами
 *   send - объект в формате 'имя_параметра' -> 'значение'
 *   onSuccess - функция будет вызвана при успешном окончании запроса
 *   onSend - функция до отправки
 *   onError - функция при ошибке
*/
/* function ve_ajax_request(module, action, pack) {
	if(typeof(pack) == 'undefined') pack = [];
	var onSuccess = ('ve_'+module+'_'+action+'_onSuccess');
	$.extend(pack.send, {module: module, action: action});
	$.ajax({
		url: '/ajax.php',
		type: (pack.type ? pack.type : 'GET'),
		success: (((typeof(window[onSuccess]) !== 'undefined')) ? (window[onSuccess](data, textStatus, jqXHR)) : null),
		dataType: (pack.dataType ? pack.dataType : 'json'),
		data: (pack.send ? pack.send : 1)
	});
} */

function ve_basket_get_link(pack){
	var send = {module: 'basket', action:'get_link', data: pack};
  $('#get-link-wrapper').prepend('<div id="ajax-loader"><img src="/img/ajax-str-loader.gif"></div>');
	$.ajax({
		url: '/ajax.php',
		success: function(data){
			if(data.status) {
        $('#ajax-loader').remove();
		    $('#get-link-wrapper input').remove();
		   // $('#get-link-wrapper a').remove();
        $('#get-link-wrapper').append('<input size="40" value="http://videoglaz.ru/basket/'+data.data+'">');
      }
		},
		dataType: 'json',
		data: send
	});
}

function ve_basket_clear() {
  $.post('/ajax.php', {module: 'basket', action: 'clear'}, function() {location.reload(true)});
}

function basketEeditCount(gid, rur, ratio) {
  if(!isNumber($('input[name=col'+gid+']').val()) && ($('input[name=col'+gid+']').val()!=''))
    $('input[name=col'+gid+']').val('1');
  var cntr = $('input[name=col'+gid+']').val();
  if(cntr=='0')
    if(confirm('Вы хотите удалить товар?')) {
      window.location = '/basket.php?action=delete&id='+gid;
    } else {
      cntr = 1;
      $('input[name=col'+gid+']').val('1');
    }
  if(isNumber(cntr)) {
    $('#cntr-'+gid).html(cntr+' шт.');
    var total_cntr = 0;
    var total_amount = 0;
    $('input[name^=col]').each(function (){
      total_cntr += parseInt($(this).val());
      total_amount += parseFloat($(this).attr('perone'))*parseInt($(this).val());
    });
    $('#total-cntr').html(total_cntr + ' шт.');
    $('#price-'+gid).html( number_format( (parseFloat($('input[name=col'+gid+']').attr('perone'))*ratio*cntr) , 0, '.', ' ')+' '+rur);
    $('#total-price').html( number_format( total_amount*ratio , 0, '.', ' ')+' '+rur);
	  //$('#total-price').attr('in', (total_amount));
    $('select[name=delivery]').attr('amount', (total_amount));
    delivery_click();
    var param = new Object();
    param.gids = new Object();
    param.gids[gid]=cntr;
    $.post('/basket.php?action=total_recast', param);
  }
}

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

function number_format (number, decimals, dec_point, thousands_sep) {
    // Formats a number with grouped thousands  
    // 
    // version: 1109.2015
    // discuss at: http://phpjs.org/functions/number_format
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // +    revised by: Luke Smith (http://lucassmith.name)
    // +     bugfix by: Diogo Resende
    // +     bugfix by: Rival
    // +      input by: Kheang Hok Chin (http://www.distantia.ca/)
    // +   improved by: davook
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +      input by: Jay Klehr
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +      input by: Amir Habibi (http://www.residence-mixte.com/)
    // +     bugfix by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Theriault
    // +      input by: Amirouche
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'
    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');
    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'
    // *     example 7: number_format(1000.55, 1);
    // *     returns 7: '1,000.6'
    // *     example 8: number_format(67000, 5, ',', '.');
    // *     returns 8: '67.000,00000'
    // *     example 9: number_format(0.9, 0);
    // *     returns 9: '1'
    // *    example 10: number_format('1.20', 2);
    // *    returns 10: '1.20'
    // *    example 11: number_format('1.20', 4);
    // *    returns 11: '1.2000'
    // *    example 12: number_format('1.2000', 3);
    // *    returns 12: '1.200'
    // *    example 13: number_format('1 000,50', 2, '.', ' ');
    // *    returns 13: '100 050.00'
    // Strip all characters but numerical ones.
    number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
    var n = !isFinite(+number) ? 0 : +number,
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}

function delivery_click() {
	var cost = parseFloat($('select[name=delivery] :selected').attr('bax'));
	var rur_cost = parseFloat($('select[name=delivery] :selected').attr('delivery'));
	var amount = parseFloat($('select[name=delivery]').attr('amount'));
  var del_price = (parseFloat($('select[name=delivery] :selected').attr('price')) | 0);
  var rur_amount = (amount*window.ratio);
	if(($('select[name=delivery]').val()!=-1) && (del_price>rur_amount)) {
		$('#total-price').attr('in', (amount+cost));
		$('b#del').remove();
    $('#delivery').append(' <b id=\'del\' style=\'color:#3366CC;\'>'+rur_cost+' руб.</b>');
		$('#total-price').addClass('wdel');
	}
	else {
		$('#total-price').attr('in', amount);
		$('#total-price').removeClass('wdel');
    $('b#del').remove();
    $('#delivery').append(' <b id=\'del\' style=\'color:#3366CC;\'>0 руб.</b>');
	};
	$('#total-price').html( number_format( (parseFloat($('#total-price').attr('in'))*window.ratio) , 0, '.', ' ')+' '+' '+window.rur);
	$.get('/ajax.php', {module:'basket', action:'delivery', data:$('select[name=delivery]').val()});
};

jQuery.fn.tipbox = function(content, allowHtml, className){  
    jQuery.fn.tipbox.created.id = "tipBox";  
    $("body").append(jQuery.fn.tipbox.created);  
    //set some properties for the tipBox division  
    var tipBox = $(jQuery.fn.tipbox.created);  
    tipBox.css({"position":"absolute","display":"none"});  
  
    //functions  
    function tipBoxShow(e){  
        tipBox.css({"display":"block", "top":e.pageY+16, "left":e.pageX});  
    }  
    function tipBoxHide(){  
        tipBox.css({"display":"none"});  
    }  
  
    //events for each element  
    this.each(function(){  
        $(this).click(function(e){  
            tipBoxShow(e);  
            //update the content  
            if(allowHtml)  
                tipBox.html(content);  
            else  
                tipBox.text(content);  
            //remove all classes for the tipBox before add a new one and to avoid the "append class"  
            tipBox.removeClass();  
            //set class if specified  
            if(className) tipBox.addClass(className);  
        });  
        $(this).mouseout(function(){  
            tipBoxHide();  
        });  
    });  
};  
  
//create the element (avoiding create multiple divisions for the tipBox)  
jQuery.fn.tipbox.created = document.createElement("div");

