$(document).ready(
	function() {
		$('html').addClass('bg1');
		//menu hover
		$('#bg_menu li a').hover(
			function() {
				$(this).parent('li').addClass('menuactive');
			}, function() {
				$(this).parent('li').removeClass('menuactive');
			}
		);
		//seach ico click
		$('#panel img').eq(1).click(
			function() {
				$('input[name=search]').focus().addClass('active_search');	
			}
		);
		$('input[name=search]').blur(
			function() {
				$(this).removeClass('active_search');	
			}
		);
		//votes
		$('#votebut').click(
			function() {
				var data = '';
				switch($('input[name=type]').attr('value'))
				{
					case 'once':
						data = '&value=' + $('input:checked[@name=vote]').attr('value');
						break;
					case 'many':
						var count = 0;
						$('#vottes input:checked').each(
							function() {
								data += '&value'+count+'='+$(this).attr('value');
								count ++;
							}
						);
						data += '&count='+count;
						break;
				}
				if(data != '' && data != '&count=0')
				{
					var voteID = $('#voteID').attr('value');
					$('#vote').slideUp('normal', 
						function() {
							$(this).html('<div align="center"><img src="/images/loading.gif" alt="Загрузка" /><div>Обработка данных</div></div>');
							$(this).slideDown('normal',
								function() {
									$.ajax({
									type: 'POST',
									url: '/modules/votes_panel.php',
									data: "type=voting&voteID="+voteID+'&'+data,
									success: function(result){
											$('#vote').slideUp('normal',
												function() {
													$(this).html(result);
													$('#vote').inner_slide("#votebg", "bottom", {duration: "slow"}, null);
												});
										}
									});	
								}
							);
						});
				}
				return false;
			}
		);
		//faq.php && basket.php
		$('#email').attr('mask', 'email');
		$('#faq_form, #send_form').Validation({
			alias			: 'name'
			,required		: 'accept'
			,err_list		: false
			,display_alert 	: true
		});
		//$('span.suchen_name').css('background', '#FF4040');
		$('span.suchen, span.suchen_name').css('background', '#ffa581');
		$('table.search_table td a').click(function()
		{
			$('form[@name=search]').attr('action', $(this).attr('href')).submit();
			return false;
		});	
		//calc.php
		$('#calc').submit(
			function() {
				if($('input.actt').length == 0)
					alert('Не выбрана ячейка в таблице');
					
				else if($('#col_prods_input').attr('value') > 0)
				{
					
					var active = $('input.actt');
					if(active.attr('value') > 0)
					{
						var this_name = active.attr('name');
						var summ = active.attr('value');		
						$('input[name=summ]').attr('value', summ);
						
						var row = active.parent('td').parent('tr').find('input[name^=row_titles]').attr('value');
						$('input[name=row]').attr('value', row);
						
						var number;
						active.parent('td').parent('tr').find('input').each(
							function(num) {
								if($(this).attr('name') == this_name)
									number = num;
							}
						);
						var col = $('input[name^=col_titles]').eq(number-1).attr('value');
						$('input[name=col]').attr('value', col);
						
						return true;
					}
					else
						alert('Выберите ячейку в таблице');
				}
				return false;
			}
		);
		//
		if($('#change_calcprods').length > 0)
		{
			get_table($('select[name=prods]').attr('value'));
		}
		$('#prod_table tr td input').click(
			function() {
				var elem = $(this);
				if(elem.attr('name').substr(0, 2) == 'td')
				{	
					$('input.actt').css('border', '0px solid red').removeClass('actt');
					elem.css('border', '1px solid red').addClass('actt');
				}
				elem.blur();	
			}
		);
	}
);
function addtobasket()
{
	if($('input.actt').length == 0)
		alert('Не выбрана ячейка в таблице');
	else
	{
		var active = $('input.actt');
		var this_name = active.attr('name');
		$('input[name=basket_value]').attr('value', active.attr('value'));
		
		var row = active.parent('td').parent('tr').find('input[name^=row_titles]').attr('value');
		$('input[name=row]').attr('value', row);
		
		var number;
		active.parent('td').parent('tr').find('input').each(
			function(num) {
				if($(this).attr('name') == this_name)
					number = num;
			}
		);
		var col = $('input[name^=col_titles]').eq(number-1).attr('value');
		$('input[name=col]').attr('value', col);
		
		$('#prodcalc').submit();
	}
	return false;
}
function basket_clear()
{
	$('input[name^=bascalc]').attr('value', 'true');
	$('td.proddds').find('input[name^=bas]').each(
		function() {
			$(this).attr('value', 0);
		}
	);
	$('#edit_basket_f').submit();
	return false;
}
//calc payment type function
function pay_type(val, flag)
{
	var col;
	if(flag == false)
		switch(val)
		{
			case '1': col = 1; $('#pay_three').empty(); break;
			case '2': col = 2; $('#pay_three').empty(); break;
			case '3':
				$('#pay_three').empty();
				$('#pay_three').html('<br /><select name="payment_type_three" onchange="pay_type(this.value, true)"><option value="0">Выберите</option><option value="1">до 10 к/дней с момента получения на склад покупателя</option><option value="2">до 20 к/дней с момента получения на склад покупателя</option><option value="3">до 30 к/дней с момента получения на склад покупателя</option></select>');
				break;
		}
	else
		switch(val)
		{
			case '1': col = 3; break;
			case '2': col = 4; break;
			case '3': col = 5; break;
		}
	if(col > 0)
		$.ajax({
			type: 'POST',
			url: '/ajax/calc_price.php',
			data: "col="+col+"&price="+$('input[name=summ]').attr('value'),
			success: function(result){
					switch(result)
					{
						case 'err':
							alert('Server error');
							break;
						default:
							$('input[name=price]').attr('value', result);
							$('#pay_price').html('В соответствии с выбором условия оплаты, стоимость составит <span>'+result+' рублей.</span>');
							$('#submiter').removeClass('hidden');
							break;
					}
				}
			});	
}
//calc function 
function get_category(val)
{
	if(val > 0)
	{
		$('#calc').append('<div class="loader">Загрузка... <img src="/images/loading.gif" /></div>');
		$.ajax({
			type: 'POST',
			url: '/ajax/calc_cats.php',
			data: "id="+val,
			success: function(result){
					$('div.loader').remove();
					switch(result)
					{
						case 'err':
							alert('Server error');
							break;
						default:
							$('#uncats, #prods, #prod_table, #col_prods, #mess_calc').remove();
							$('#calc').append(result);
							break;
					}
				}
			});	
	}
}
function get_table(val)
{
	if(val > 0)
	{
		$('#calc').append('<div class="loader">Загрузка... <img src="/images/loading.gif" /></div>');
		$.ajax({
			type: 'POST',
			url: '/ajax/calc_tables.php',
			data: "id="+val,
			success: function(result){
					$('div.loader').remove();
					switch(result)
					{
						case 'err':
							alert('Server error');
							break;
						default:
							$('#prod_table, #col_prods, #mess_calc').remove();
							result = $(result);
							$('#calc').append(result);
							$('#prod_table tr td input').click(
								function() {
									var elem = $(this);
									if(elem.attr('name').substr(0, 2) == 'td')
									{	
										$('input.actt').css('border', '0px solid red').removeClass('actt');
										elem.css('border', '1px solid red').addClass('actt');
									}
									elem.blur();	
								}
							);
							break;
					}
				}
			});	
	}
}
//search function
function gosearch()
{
	var elem = $('input[name=search]');
	if(elem.attr('value') != '' && elem.attr('value') != undefined)
		document.location.href = '/search/'+encodeURI(elem.attr('value'));
	else
	{
		elem.focus();
		elem.addClass('search_err');
	}
}
/*
Slider
*/
var ATTR_INNER_SLIDDING = "INNER_SLIDDING";
;(function($) { 
		
	$.fn.inner_slide = function(container, direction, options, callback) {
				  var defaults = {
			duration: "normal", //"slow", "normal", or "fast"
			easing: "linear" //The name of the easing effect that you want to use (plugin required). There are two built-in values, "linear" and "swing".			
		  };
 
		var opts = $.extend({}, defaults, options);
		return this.each(function() {
				$this = $(this);
				var slidding = ($(this).attr(ATTR_INNER_SLIDDING) != undefined && $(this).attr(ATTR_INNER_SLIDDING));
				if (slidding == "false")slidding = false;
				if(slidding){return false;}
				
				var o = $.meta ? $.extend({}, opts, $this.data()) : opts;			
				$(this).hide();
				//$(this).hide("explode", { pieces: 25 }, 1000);
				$(this).css("top", "0px");
				$(this).css("left", "0px");	
				container = $(container);	
				var params = {};
				switch(direction)
				{
					case "right":
						$(this).css("left", 0 - container.width() + "px");
						params.left = "+=" + container.width();
						break;			
					case "left":
						$(this).css("left",  container.width() + "px");
						params.left = "-=" + container.width();
						break;
					case "bottom":
						$(this).css("top",  0 - container.height() + "px");
						params.top = "+=" + container.height();
						break;	
					default:
					case "top":
						$(this).css("top", container.height() + "px");
						params.top = "-=" + container.height() ;
						break;
				}
				$(this).show();	
				$(this).attr(ATTR_INNER_SLIDDING, true);
				var self = $(this);
				$(this).animate(params, o.duration, o.easing, function(){self.attr(ATTR_INNER_SLIDDING, false);if (o.callback)o.callback.call($(this)); });
		});
	};
})(jQuery);

//добавление в избранное
function getBrowserInfo() {
 var t,v = undefined;
 if (window.opera) t = 'Opera';
 else if (document.all) {
  t = 'IE';
  var nv = navigator.appVersion;
  var s = nv.indexOf('MSIE')+5;
  v = nv.substring(s,s+1);
 }
 else if (navigator.appName) t = 'Netscape';
 return {type:t,version:v};
}
 
function bookmark(a){
 var url = window.document.location;
 var title = window.document.title;
 var b = getBrowserInfo();
 if (b.type == 'IE' && 7 > b.version && b.version >= 4) window.external.AddFavorite(url,title);
 else if (b.type == 'Opera') {
  a.href = url;
  a.rel = "sidebar";
  a.title = url+','+title;
  return true;
 }
 else if (b.type == "Netscape") window.sidebar.addPanel(title,url,"");
 else alert("Нажмите CTRL-D, чтобы добавить страницу в закладки.");
 return false;
}

//show hide function 
function showhide(obj)
{
	$('#'+obj).toggle();	
}

/*
 * FAQ.PHP, user.php jQuery Form Validation plug-in version 1.1.5
 */
if (!window.jQuery) {
	throw("jQuery must be referenced before using formValidation");
} else {
	
	(function() { 
		jQuery.fn.Validation = function(settings, err_msgs) {
	
		var iForm = this;
		var err_list = '';
	
		settings = jQuery.extend({
			version				: '1.1.2',
			login				: /^[0-9A-Za-z-_]+$/gi,
			rus_names			: /^[А-Яа-я]+$/gi,
			email				:	/^([a-zA-Z0-9.\-_])+\@(([a-zA-Z0-9.\-_])+\.)[a-zA-Z0-9.-_]{2,}/,
			domain				:	/^(http:\/\/)([\w]+\.){1,}[A-Z]{2,4}\b/gi,
			phone				:	/^[0-9+ -]+$/gi,
			zip					:	/^[0-9]{4,}$/gi,
			numeric				:	/^[0-9]+$/gi,
			image				:	/[\w]+\.(gif|jpg|bmp|png|jpeg)$/gi,
			ewvt				:	/[\w]+\.(htm|html|php|txt)$/gi,
			media				:	/[\w]+\.(avi|mov|mpeg|wmv)$/gi,
			pdf					:	/[\w]+\.(pdf)$/gi,
			enable				: false,
			err_class			: "invalidInput",
			err_list			: false,
			alias				: 'name',
			required			: 'required',
			mask				: 'mask',
			equal				: 'equal',
			defval				: 'defval',
			callback			: '',
			err_message		: "Необходимо заполнить все выделенные поля\n",
			display_alert	: false	//onsubmit if invalid form display an error message
		}, settings);
		
		err_msgs = jQuery.extend({ 
			required	: 'обязательное',
			mask			: 'неверный формат поля',
			equal			: 'не соответствие'
		}, err_msgs);
		
		return iForm.submit( function () {
				settings['enable'] = true;
				err_list = '';
				var frm = true;
				$(this).find('*').filter("input, select, textarea").each(function() {
					ret = isValid($(this));
					if (!ret)
						frm = ret;
				});
				if (frm && (typeof settings['callback'] == 'string' && eval('typeof ' + settings['callback']) == 'function')) // form validation ok and callback function defined
					frm = eval(settings['callback'] + '()'); //call external validation function
				else if (settings['display_alert'])	// error validation and display alert on
						alert(settings['err_message'] + err_list);	// display message
						
				return frm;
			}).find('*').filter("input, select, textarea").each(function() {
			$(this).click(function() {
				isValid($(this));
			}).change(function() {
				isValid($(this));
			}).keyup(function() {
				isValid($(this));
			}).focus(function() {
				isValid($(this));
			}).blur(function() {
				isValid($(this));
			});
		});
			
		function isValid(obj) { // check if field is valid
			if (!settings['enable'])
				return true;
				
			if (required(obj) && mask(obj) && equal(obj)) {
				obj.removeClass(settings['err_class']);
				return true;
			} else {
				obj.addClass(settings['err_class']);
				return false;
			}
		}
		//field is required
		function required(obj) {						
			if (!(obj.attr(settings['required']) == "true"))	//if not required return true
				return true;
	
			if(obj.is("input[@type=checkbox]") || obj.is('input[@type=radio]')) {		//if checkbox and checked	
				if (obj.attr('checked'))
					return true;
			} else if((obj.is("input") || obj.is("select") || obj.is("textarea")) && (!obj.is("button"))) // if not empty
				if (obj.val() != '' && (!(defval(obj))))
					return true;
			
	
	
			if (settings['err_list'])	
				err_list += '- "' + obj.attr(settings['alias']) + '" ' + err_msgs['required'] + '\n';
				
			return false;
		}
		//compare field to mask provided in the extend array
		function mask(obj) { 
			tname = obj.attr('mask');	//read mask name from input field
			if (tname == undefined || obj.val() == '')
				return true;
	
			tmask = settings[obj.attr(settings['mask'])];	// get mask pattern from settings
			
			ret = tmask.test(obj.val());			//test reg exp
			ret1 = tmask.exec(obj.val());		
			if (ret)
				return true;
	
			if (settings['err_list'])
				err_list += '- ' + err_msgs['mask'] + ' "' + obj.attr(settings['alias']) + '"\n';
			
			return false;				
		}
		//copare field to another field read from the equal attribute
		function equal(obj) { 
			tname = obj.attr(settings['equal']);		//get comparison field
			tval = $('#'+tname).val();
			
			if (tname == undefined)
				return true;
			
			if (tval == obj.val())
				return true;
			
			if (settings['err_list'])	
				err_list += '- "' + obj.attr(settings['alias']) + '" ' + err_msgs['equal'] + ' ' + $('#'+tname).attr('alias') + '\n';
			return false;
		}
		//compare field with defval attr, make sure that val was altered
		function defval(obj) { 
			tdefval = obj.attr(settings['defval']);		//get comparison field
			tval = obj.val();
			
			if (tdefval == undefined)
				return false;
			
			if (tval != tdefval)
				return false;
	
			return true;
		}
	}
	})(jQuery); 
}
//calc basket function
function calcbasket_modify(obj, flag)
{
	$(obj).parent('td').find('input').attr('value', 'true');
	$(obj).parents('tr').hide();
}

function basket_modify(obj, flag)
{
	switch(flag)
	{
		case 'minus':
			var td = $(obj).parent('td');
			var value = parseInt(td.find('span').text())-1;
			if(value>0)
				td.find('input').attr('value', value).end().find('span').text(value);
			else
			{
				td.find('input').attr('value', '0');
				td.parent('tr').hide();
			}
			
			break;
		case 'plus':
			var td = $(obj).parent('td');
			var value = parseInt(td.find('span').text())+1;
			if(value>0)
				td.find('input').attr('value', value).end().find('span').text(value);
			else
				td.parent('tr').hide();
			
			break;
		case 'delete':
			var td = $(obj).parents('tr').find('td').eq(2);
			td.find('input').attr('value', '0').end().find('span').text('0').end().parent('tr').hide();			
			break;
	}
}
function basket_edit()
{
	$('#edit_basket_f').submit();	
	return false;
}
