function XPost(url, data, success, error) {
	$.ajax({
		url: url,
		data: data,
		dataType: 'text',
		error: error,
		success: success,
		timeout: 10*1000,
		type: 'POST'
	});
}

function InitOrderForm() {
	$('#order_form').submit(function(){
		$('.order_table', this).hide();
		$('.order_text', this).show();
		$('.order_text', this).html('Подождите, пожалуйста...');
	
		XPost('/scripts/order.php', {
			type: $('#f_type').val(),
			name: $('#f_name').val(),
			phone: $('#f_phone').val(),
			email: $('#f_mail').val(),
			detail_text: $('#f_text').val()
		}, 
		function(data) {
			$('#order_form .order_text').html('Спасибо, ваш заказ сохранен.');
		},
		function() {
			$('#order_form .order_text').html('Извините, сервис временно недоступен. Попробуйте еще раз позже.');
		}
		);
		
		return false;
	});
}

function InitResponse() {
	$('#order_form').submit(function(){
		$('.order_table', this).hide();
		$('.order_text', this).show();
		$('.order_text', this).html('Подождите, пожалуйста...');
	
		XPost('/scripts/response.php', {
			name: $('#f_name').val(),
			detail_text: $('#f_text').val()
		}, 
		function(data) {
			$('#order_form .order_text').html('Спасибо, ваш отзыв сохранен.');
		},
		function() {
			$('#order_form .order_text').html('Извините, сервис временно недоступен. Попробуйте еще раз позже.');
		}
		);
		
		return false;
	});
}

function HidePic(e) {
	$('#paint_big').hide();
	ToggleOverlay(false);
	return false;
}

function ToggleGoldForm(id, show) {
	var form = $('#' + id);
	if(show) {
		$('#order_form .order_table').show();
		$('#order_form .order_text').hide();	
		form.css('marginLeft', -form.width()/2);
	}

	form.toggle(show);
	ToggleOverlay(show);
	return false;
}

function BuyPic(name) {
	$('#f_text').val(name);	
	ToggleGoldForm('order_form', true);
	return false;
}

function ToggleOverlay(show) {
	var o = $('#x_overlay');
	if(o.length == 0) {
		$("<div id='x_overlay'></div>").css('opacity', 0).appendTo(document.body);
		o = $('#x_overlay');
		//$('#x_overlay').click(HidePic);
	}
	
	$('#slide_cont').toggle(!show);
	
	o.css('display', 'block').fadeTo(600, (show ? 0.8 : 0), function(){
		if(!show) $(this).hide();
	});
}

var pause_slides = false;

function InitSlides() {
	var cont = $('#slide_cont'), cp = null;
	var interval = 15;
	var cur_image = 0;
	var steps = 3;
	var focus = [450, 300];
	
	var f_load = function(){
		var i = this.id.replace('sp_', '');

		slide_pics[i++].loaded = true;
		if(slide_pics[i]) {
			slide_pics[i].node.attr('src', slide_pics[i].src).one('load', f_load);
		}
	}
	
	var begin_move = function() {
		var p = slide_pics[cur_image];
		if(!p.loaded || pause_slides) {
			setTimeout(begin_move, 500);
			return false;
		}
		
		cont.css('background', '#ffffff');
		
		var node = p.node;
		var prev_node = slide_pics[((cur_image > 0) ? cur_image - 1 : slide_pics.length - 1)].node;
		
		prev_node.stop(true, true);
		prev_node.animate({'opacity': 0}, 1000); 
		node.animate({'opacity': 1}, 1000);
		
		var txt = $('#paint_navig div.nav_text');
		$('.h1', txt).text(p.name);
		$('.p_tech', txt).text(p.tech);
		
		var moving_time = interval * 1000 - 1000;
		var step_time = moving_time/3;
		
		if(cur_image%2 == 0) {
			node.css({'top': - p.height + focus[1], 'left': 0});
			node.animate({'top': -(p.height / 2) + focus[1] / 2 , 'left': - p.width + focus[0]}, step_time);
			node.animate({'top': 0 , 'left': 0}, step_time);
			node.animate({'top': 0 , 'left': - p.width + focus[0]}, step_time);
		}
		else {
			node.css({'top': 0 , 'left': - p.width + focus[0]});
			node.animate({'top': -(p.height / 2) + focus[1] / 2 , 'left': 0}, step_time);
			node.animate({'top': - p.height + focus[1] , 'left': - p.width + focus[0]}, step_time);
			node.animate({'top': - p.height + focus[1] , 'left': 0}, step_time);
		}
		
		/*
		
		
		for(var i = steps; i--; ) {
			var top = Math.ceil(Math.random() * (p.height - focus[1]));
			var left = Math.ceil(Math.random() * (p.width - focus[0]));
			
			
		}
		*/
				
		cur_image = (slide_pics[++cur_image]) ? cur_image : 0;
		setTimeout(begin_move, interval * 1000);			
	}
	
	for(var i in slide_pics) {
		cp = slide_pics[i];
		cp.node = $("<img id='sp_" + i + "'>").css('opacity', 0).attr('src', '/i/sp.gif').appendTo(cont);
		if(i == 0) {
			cp.node.attr('src', cp.src).one('load', f_load);
			begin_move();
		}
	}
	
	$('#menu_right .menu_order').click(function(){
		return ToggleGoldForm('order_form', true);
	});	
	
	InitOrderForm();
}

function InitPics() {
	$('#paint_big').click(HidePic);
	
	InitOrderForm();

	$('#menu_right .menu_order').click(function(){
		return ToggleGoldForm('order_form', true);
	});

	$('.paint_border:not(#paint_big)').click(function(e){
		ToggleOverlay(true);
	
		var m_left = -$('#paint_big').width()/2;
		$('#paint_big').appendTo('body').css('marginLeft', m_left).show();
	});
	
	var p_links = $('#bottom_preview a');
	var pic_count = p_links.length;

	if(pic_count > 5) {
		var links_html = [];
		var cur_active = 0;	
		var cur_left = 0;
	
		$('#bottom_preview_arrows').css('display', 'block');
	
		p_links.each(function(i) {
			if($(this).hasClass('bottom_paint_active')) cur_active = i;
			links_html[i] = "<a href='" + this.href + "' class='bottom_paint" + ($(this).hasClass('bottom_paint_active') ? ' bottom_paint_active' : '') + "'>" + this.innerHTML + "</a>";
		});	

		var move_line = function() {
			if(cur_left < 0) {
				cur_left = 0;
				//$('#pl_left').hide();
			}
			else if(cur_left > pic_count - 5) {
				cur_left = pic_count - 5;
				//$('#pl_right').hide();
			}
			
			$('#bottom_preview').html(links_html.slice(cur_left, cur_left + 5).join(''));
		}
		
		$('#pl_left, #pl_right').click(function(){
			var roll_dir = this.id.substr(3);
			cur_left += (roll_dir == 'left' ? -1 : 1);
			
			move_line();
			return false;
		});	
		
		cur_left = cur_active - 2;
		move_line();
	}
}

