///////////////////////////////////
// Функции JQuery
(function($){

// Ajax запросы
$.fn.contGet = function(Do,Params){

	return $(this).load('/js_get.php',{ main_type: 'userGet', actType: Do, Params: Params });

}// - function


// Подмена изображения
$.fn.setImage = function(options){

	var options = $.extend({
		thumbs: '#thumbs>a',
		hrefattr: 'href',
		setloc: false,
		startimg: 1,
		effect: 0
	}, options || {});
	var bigimg = $(this);
	var thumbs = $(options.thumbs);
	if(bigimg.size() > 0){
	if(options.startimg && thumbs.size() > 0)
		bigimg.attr('src',thumbs.get(parseInt(options.startimg)-1))
		.bind('load',function(){
			$(this).css({width:($(this)[0].naturalWidth||$(this)[0].width),height:($(this)[0].naturalHeight||$(this)[0].height)});
		});
	var cache = [];
	return thumbs.each(function(i,d){
		$(d).css('cursor','pointer').click(function(event){
			var a = $(this);
			bigimg.fadeOut(options.effect,function(){
				$(this).bind('load',function(){
					$(this)
					.css({width:($(this)[0].naturalWidth||$(this)[0].width),height:($(this)[0].naturalHeight||$(this)[0].height)})
					.fadeIn(options.effect);
				}).attr('src',a.attr('tmp_href') || a.attr(options.hrefattr));
			});
			a.attr('tmp_href',a.attr('tmp_href') || a.attr(options.hrefattr)).removeAttr(options.hrefattr,'target');
		});
	});
	}

}// - function


// Кэш изображений
$.preloadImage = function(options){

	var options = $.extend({
		images: typeof options.images=='object' ? options.images : !options.images ? [] : [options.images],
		src_only: true,
		prefix: ''
	}, options || {});
	var images = [];
	$.each(options.images,function(i,d){
		var image = new Image();
		image.src = options.prefix+d;
		images[i] = options.src_only ? image.src : image;
	});
	return images;

}// - function


// Рандом массива
$.shuffle = function( ar ){

	return ar.sort( function(){ return (Math.round(Math.random())-0.5); } );

}// - function

$.fn.slideTrigger = function(target){
	var target = $(target);
	var root = $(this).css('cursor','pointer').addClass('dashed');
	if(target.is(':hidden'))
			return root.toggle(function(){target.slideDown('fast');},function(){target.slideUp('normal');});
	else	return root.toggle(function(){target.slideUp('fast');},function(){target.slideDown('normal');});
		
}// - function

// Ограничение длины ввода
$.fn.limitInput = function(limit,repl){

	var inp = $(this);
	return inp.bind('keyup',function(){
		var inpc
		if(inpc.val().length > limit){
			inpc.val(inpc.val().substring(0,limit));
			alert('Можно вводить не более '+limit+' символов!');
		}
		if(repl!=undefined && repl!=''){
			var morein = $(repl);
			var count = (limit-inpc.val().length)+' &frasl; '+limit;
			morein.html(count);
		}
	});

}// - function

$.fn.setFlashHeight = function(size){
	$(this).css('height',size+'px');
}

// Запись cookie
$.setCookie = function(name, value, options) {
	var options = $.extend({
		expires: false,
		path: '/',
		domain: false,
		secure: false
	}, options || {});
    document.cookie = name + "=" + escape(value) +
		((options.expires) ? "; expires=" + options.expires : "") +
		"; path=" +(options.path ? options.path : "/") +
		((options.domain) ? "; domain=" + options.domain : "") +
		((options.secure) ? "; secure" : "");
}// - function

// Чтение cookie
$.getCookie = function (name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}// - finction


})(jQuery);

/*
// Debug
var a='';
$.each($(this)[0],function(i,d){ a=a+i+" : "+d+"\n"; });
alert(a);
*/


///////////////////////////////////////////////////
///////////////////////////////////////////////////
// код JQuery


// Подгрузка изображений в кэш
$.preloadImage( {prefix:'/images/',images:['load1.gif','basket_added.gif']} );

if(typeof agal=='object' && agal.length>0){
	var img_to_cache = [];
	$.each(agal,function(i,d){ img_to_cache.push(d.image); });
	var prelimg_head = $.preloadImage( {images:img_to_cache} );
}


$(function(){
		   
	
///////////////////////////////////
// Функции корзины
$.fn.getCatBasket = function(options,callback,opened){
	
	opened = (typeof opened != 'undefined' && opened) ? true : false;
	var basket = $(this);
	return $(this)
	.load('/js_get.php',$.extend({ main_type: 'userGet', actType: 'cat_basket'},options||{}),
	function(){
		
		$('.catb_act',this).each(function(){
			var cur = $(this);
			var cur_id = cur.parent('tr[rel]').attr('rel');
			cur.html('<img src="/images/basket_del.png" class="png">')
			.click(function(){ basket.getCatBasket({del_product:cur_id},false,true); })
			.css('cursor','pointer').attr('title','Удалить товар из корзины');
		});
		
		basket.css((!opened ? {top:'-'+(basket.height()-20)+'px'} : {top:'0'}));
		basket.attr('rel',(!opened ? 'closed' : 'opened'));

		$('<div><a>Свернуть/развернуть корзину</a></div>').css('float','right').appendTo('.bas_bottom')
		.add('.slide_toggle',this)
		.addClass('slide')
		.click(function(){
		
			var td = $(this);
			var bas_open = $.getCookie('cat_bas_opened');
			var bas_h = basket.height();
				basket.animate((basket.attr('rel')=='closed' ? {top:'0px'} : {top:'-'+(bas_h-20)+'px'}),'fast','swing',function(){
					basket.attr('rel',basket.attr('rel')=='closed' ? 'opened' : 'closed');
				});

		}).css('cursor','pointer').attr('title','Свернуть/развернуть корзину');
		
		if(typeof callback == 'function') callback();
		
	});
  
}// - function


var basket = $('#cat_basket');
var ord_add = $('.order_button_td, #order_button_div');

ord_add.each(function(){
	var cur = $(this);
	var cur_id = cur.parent('tr[rel]').attr('rel');
	if(!cur_id) cur_id = cur.attr('rel');
	$('<img src="/images/basket_add.gif" />').prependTo(cur)
	.css('cursor','pointer').addClass('noborder').attr('title','Добавить товар в корзину')
	.click(function(event){
		if(this == event.target){
		var norm_src = $(this).attr('src');
		var load_src = $(this).attr('src','/images/load1.gif');
		basket.getCatBasket({add_product:cur_id},function(){
			load_src.attr('src','/images/basket_added.gif');
//			.delay(1000).attr('src',norm_src);
		});
		}
	});
});

var basket = $('#cat_basket');
var ord_add2 = $('#order_button_div2');

ord_add2.each(function(){
	var cur = $(this);
	var cur_id = cur.parent('tr[rel]').attr('rel');
	if(!cur_id) cur_id = cur.attr('rel');
	$('<img src="/images/basket_add2.gif" />').prependTo(cur)
	.css('cursor','pointer').addClass('noborder').attr('title','Добавить товар в корзину')
	.click(function(event){
		if(this == event.target){
		var norm_src = $(this).attr('src');
		var load_src = $(this).attr('src','/images/load1.gif');
		basket.getCatBasket({add_product:cur_id},function(){
			load_src.attr('src','/images/basket_added2.gif');
//			.delay(1000).attr('src',norm_src);
		});
		}
	});
});

if(typeof cat_no_basket == 'undefined') basket.getCatBasket();

// Сайдбар с прокруткой
	var offset = basket.offset();
	var topPadding = 0;

// -- 

// кнопки удаления из корзины 
$('.bas_del_item').each(function(){
	var cur = $(this);
	var basket = $('#basket');
	var cur_id = cur.parents('tr[rel]').attr('rel');
	cur.css('cursor','pointer').attr('title','Удалить товар из корзины')
	.click(function(){ $('#basket #bas_item_delid').val(cur_id); $('#basket').submit(); });
});

$('#bas_save_quant').css('cursor','pointer')
	.click(function(){ $('#basket #bas_sq').val('yes'); $('#basket').submit(); });


// Путь по сайту
	$('#sw').contGet('siteway',0);

// PNG fix
//	$(document).pngFix();

});

$(window).load(function() {
      $(".cars").cubeSlider({
         cubescountx: 1,
         cubescounty: 75,
         effects:'0',
         timer: 5000,
         animtimer: 400,
         lag: 25
      });
});

//$(window).load(function() {

//$("#basket").validate({
//		rules : {
//			order_email : {required : true, minlength: 6},
//			order_name : {required : true, minlength: 3},
//			order_phone : {required : true, minlength: 7},
//		},
//		messages : {
//			order_email : {
//				required : "Введите Ваш электронный адрес",
//				minlength : "Введите не менее, чем 6 символов."
//			},
//			order_name : {
//				required : "Введите Ваше имя",
//				minlength : "Введите не менее, чем 3 символа."
//			},
//			order_phone : {
//				required : "Введите номер Вашего телефона ",
//				minlength : "Введите не менее, чем 7 символов."
//			},
						
//		}
//	});
//});


