/*
 * @author Alexey Parshin (a.parshin@it-online.ru)
 * @date 2010-02-19
 * @version 0.1
 * @requires jQuery
 */
function slideSwitch(){
	var active = $('#slideshow li.active');
	if (active.length == 0) 
		active = $('#slideshow li:last');
	var next = active.next().length ? active.next() : $('#slideshow li:first');
	active.addClass('last-active');
	next.css({
		opacity: 0.0
	}).addClass('active').animate({
		opacity: 1.0
	}, 1000, function(){
		active.removeClass('active last-active');
	});
}

$(function(){
	var interval = setInterval("slideSwitch()", 5000);
});

$(function(){
	var validators = {
		'name': /.+/,
		'email': /[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i,
		'phone-country': /^\d+$/,
		'phone-area': /^\d+$/,
		'phone-number': /^\d+$/
	},
	urlParser = {
		'sign': /\?[^#]*/,
		'result': /success=[0,1]/,
		'success': /success=(1)?/gi
	}, r, el, loc;
	
	if ((el = document.getElementById('response-message')) && (r = urlParser['success'].exec(window.location.href)))
		el.className = el.className + (r[1] ? 'success' : 'failure');
	
	loc = location.href;
	
	((el = document.getElementById('success-url')).value == '') && (el.value = urlParser['sign'].test(loc) ? (urlParser['result'].test(loc) ? loc.replace(urlParser['result'], 'success=1') : loc + '&success=1') : loc + '?success=1');
	((el = document.getElementById('failure-url')).value == '') && (el.value = urlParser['sign'].test(loc) ? (urlParser['result'].test(loc) ? loc.replace(urlParser['result'], 'success=0') : loc + '&success=0') : loc + '?success=0');

	el = $("#tours-form");
	el.submit(function(e){
		e = e || event;
		r = true;
		for (var field in validators)
			if (validators.hasOwnProperty(field)) {
			var valid = false, value = (el = document.getElementsByName('tour-client-' + field)[0]) && el.value;
			valid = value && !!validators[field].test(value);
			(el = document.getElementById(field)) && (el.className = el.className.replace('not-valid', '') + (valid ? '' : 'not-valid'));
			r &= valid;
		}
		return r || ((e.preventDefault && e.preventDefault()) || (e.cancelBubble && e.cancelBubble()));
	});
});
