$(document).ready(function(){
	
	$("#menu li").hover(function() {
		$(this).addClass("active");
	}, function() {
		$(this).removeClass("active");
	});
	
	var getNum = function(obj){
		var control_string = obj.find('dt').html();
		var num = 0;
		obj.parent().find('dl').each(function(){
			num++;
			if (control_string==$(this).find('dt').html()) return false;
		});
		return num;
	}
	var getTop = function(obj){
		var abstract_height = getNum(obj)*28;
		var real_height = obj.find('.desc').height();
		var cur_top = 0;
		if (abstract_height<real_height) cur_top = 0; else cur_top = abstract_height-real_height+26;
		return cur_top;
	}
	$('.freshsite .modules dt a').click(function(){
		var obj = $(this).parent().parent();
		$('.freshsite .modules dl').removeClass('cur').removeClass('click');
		obj.addClass('cur').addClass('click');
		obj.find('.desc').css('top',getTop(obj)+'px');
	});
	$('.freshsite .modules .close a').click(function(){
		$(this).parent().parent().parent().removeClass('cur').removeClass('click');
		return false;
	});
	$('.freshsite .modules .desc')
		.mouseenter(function(){$('body').addClass('in');})
		.mouseleave(function(){$('body').removeClass('in');});
	$('body').click(function(){
		if (!$(this).hasClass('in'))
			$('.freshsite .modules dl').removeClass('cur').removeClass('click');
	});
	$('.freshsite .modules dt a')
		.mouseenter(function(){
			$(this).find('img').attr('src',($(this).find('img').attr('src').replace(/.gif$/,'')+'_header.gif'));
		})
		.mouseleave(function(){
			$(this).find('img').attr('src',($(this).find('img').attr('src').replace(/_header.gif$/,'')+'.gif'));
		});
	$('#query .menu li a')
		.mouseenter(function(){
			if (!$(this).parent().parent().hasClass('cur')) $(this).find('img').attr('src',($(this).find('img').attr('src').replace(/.png/,'')+'_h.png'));
		})
		.mouseleave(function(){
			if (!$(this).parent().parent().hasClass('cur')) $(this).find('img').attr('src',($(this).find('img').attr('src').replace(/_h.png/,'')+'.png'));
		});
	
	var switcher = function(obj,self_flag){
		if (!obj.parent().parent().hasClass('cur')) {
			obj.parent().parent().parent().find('.cur').find('img').attr('src',(obj.parent().parent().parent().find('.cur').find('img').attr('src').replace(/_cur.png/,'')+'.png'));
			obj.parent().parent().parent().find('.cur').removeClass('cur');
			if (self_flag) obj.find('img').attr('src',(obj.find('img').attr('src').replace(/_h.png/,'')+'_cur.png'));
			else obj.find('img').attr('src',(obj.find('img').attr('src').replace(/.png/,'')+'_cur.png'));
			obj.parent().parent().addClass('cur');
			
			if (obj.parent().parent().hasClass('site')) {
				$('#query .folder.cur').removeClass('cur');
				$('#query .site_folder').addClass('cur');
				$('#order a').attr('href','#site_field_1');
			}
			if (obj.parent().parent().hasClass('shop')) {
				$('#query .folder.cur').removeClass('cur');
				$('#query .shop_folder').addClass('cur');
				$('#order a').attr('href','#site_field_2');
			}
		}
	}
	
	$('#query .menu li a').click(function(){
		switcher($(this),true);
		return false;
	});
	if ($('#gallery .item').length!=0) {
		$("#gallery").scrollable({
			size: 4,
			horizontal:true,
			prev:'#gallery_prev',
			next:'#gallery_next'
		});
	}
	
	$('#query .folder .module_block dt a').click(function(){
		var obj = $(this).parent().parent();
		if (obj.hasClass('slide')) {
			obj.removeClass('slide');
			obj.find('.desc').slideUp();
		} else {
			obj.addClass('slide');
			obj.find('.desc').slideDown();
		}
		return false;
	});
	
	var setModules = function(){
		$('#query .folder').each(function(){
			var basePrice = parseInt($(this).find('.module_block .base_price').attr('value'));
			var string = '';
			var totalSum = 0;
			var price = 0;
			var productName = $(this).find('.module_block .product_name').attr('value');
			var orderInfo = 'Пришлите, пожалуйста, коммерческое предложение по продукту ' + productName;
			if ($(this).find('.module_block dl.active').length > 0) {
				orderInfo += " со следующими дополнительными модулями:\n";
			}
			var additionalModule = '';
			$(this).find('.module_block dl.active').each(function(index){
				additionalModule = $(this).find('dt a').text().toLowerCase();
				string = string + additionalModule + '|';
				price = parseInt($(this).find('dd.price').text().replace(/[^\d]*/g, ''));
				totalSum += price;
				orderInfo += (index+1) + '. ' + additionalModule + ' (' + price + " руб.)\n";
			});
			$(this).find('.module_block .modules').attr('value',string);
			$(this).find('.module_block .indicator .price').text(basePrice + totalSum);
			$(this).find('.submit_block .msg').text(orderInfo);
		});
	}
	
	setModules();
	
	$('#query .folder .module_block dd.flag').click(function(){
		var obj = $(this).parent();
		if (obj.hasClass('active')) {
			obj.removeClass('active');
			setModules();
		} else {
			obj.addClass('active');
			setModules();
		}
	});
	
	$('#query .folder .module_block .upbutton a').click(function(){
		var obj = $(this).parent().parent();
		if (obj.hasClass('big')) {
			obj.removeClass('big');
			obj.find('.container').slideUp();
		} else {
			obj.addClass('big');
			obj.find('.container').slideDown();
		}
		return false;
	});
	
	$('#query .folder .module_block .downbutton a').click(function(){
		var obj = $(this).parent().parent().parent();
		if (obj.hasClass('big')) {
			obj.removeClass('big');
			obj.find('.container').slideUp();
		} else {
			obj.addClass('big');
			obj.find('.container').slideDown();
		}
		return false;
	});
	$('#query .folder .submit_block input').click(function(){
		var flag = 0;
		var inp_1 = $(this).parent().parent().find('.inp_1 input');
		var inp_2 = $(this).parent().parent().find('.inp_2 input');
		var inp_3 = $(this).parent().parent().find('.inp_3 input');
		var inp_4 = $(this).parent().parent().find('.inp_4 input');
		var phrase = $('#input_error').text();
		if (inp_1.attr('value')=='' || inp_1.attr('value')==phrase) { inp_1.addClass('error').attr('value',phrase).css({border:'3px solid #DADADA', fontWeight:'bold'}).animate({width:'330px',height:'30px', fontSize:'15px'},'slow',function(){$(this).animate({width:'300px', height:'17px', fontSize:'12px'},'slow',function(){$(this).css({border:'1px solid #DADADA', fontWeight:'normal'})})}); flag++;} else { inp_1.removeClass('error'); }
		if (inp_2.attr('value')=='' || inp_2.attr('value')==phrase) { inp_2.addClass('error').attr('value',phrase).css({border:'3px solid #DADADA', fontWeight:'bold'}).animate({width:'330px',height:'30px', fontSize:'15px'},'slow',function(){$(this).animate({width:'300px', height:'17px', fontSize:'12px'},'slow',function(){$(this).css({border:'1px solid #DADADA', fontWeight:'normal'})})});	flag++;	} else { inp_2.removeClass('error'); }
		if (inp_3.attr('value')=='' || inp_3.attr('value')==phrase) { inp_3.addClass('error').attr('value',phrase).css({border:'3px solid #DADADA', fontWeight:'bold'}).animate({width:'330px',height:'30px', fontSize:'15px'},'slow',function(){$(this).animate({width:'300px', height:'17px', fontSize:'12px'},'slow',function(){$(this).css({border:'1px solid #DADADA', fontWeight:'normal'})})});	flag++;	} else { inp_3.removeClass('error'); }
		if (inp_4.attr('value')=='' || inp_4.attr('value')==phrase) { inp_4.addClass('error').attr('value',phrase).css({border:'3px solid #DADADA', fontWeight:'bold'}).animate({width:'330px',height:'30px', fontSize:'15px'},'slow',function(){$(this).animate({width:'300px', height:'17px', fontSize:'12px'},'slow',function(){$(this).css({border:'1px solid #DADADA', fontWeight:'normal'})})});	flag++;	} else { inp_4.removeClass('error'); }
		if (flag>0) return false;
	});
	
	$('#f_site .order').click(function(){
		var obj = $('#query .menu li.site a');
		switcher(obj,false);
		return false;
	});
	
	$('#f_shop .order').click(function(){
		var obj = $('#query .menu li.shop a');
		switcher(obj,false);
		return false;
	});
	
	$('.freshsite .desc .design').click(function(){
		var obj = $(this).parent().find('.idesign');
		$('.freshsite .modules dl').removeClass('cur').removeClass('click');
		obj.addClass('cur').addClass('click');
		obj.find('.desc').css('top',getTop(obj)+'px');
		return false;
	});
	
	$('#query .folder .name_block input, #query .folder .submit_block textarea').focus(function(){ $(this).addClass('focus') }).blur(function(){ $(this).removeClass('focus') });
	
});
