$(function() {
var cf_popup;
if (window.cf_urlpath === undefined) cf_urlpath = '';
function cf_popup(ev) {      
	cf_popup=$('<div></div>').load(cf_urlpath+'call.php');
	cf_popup.dialog({
		modal: true,
		position: ['center',80],
		title: 'Заказать звонок.',
		dialogClass: 'cf-window'
	});
}
function cf_error(text) {      
	var form=$('#cf-form');
	$('.cf-error').detach();  
	$('<div></div>').addClass('cf-div cf-label cf-error').text(text).appendTo(form);
	return false;
}
function cf_trim (str) { 
	var patternspace = String(str);
	return patternspace.replace('^[\s\xA0]+|[\s\xA0]+$','');
}
function cf_send () {
	var data = {
		name: $('#cf-input-name').val(),
		phone: $('#cf-input-phone').val(),
		timespace: $('#cf-select-timespace').val(),	
	};
	if (cf_trim($('#cf-input-subject').val() !== ''))
		data['subject'] = $('#cf-input-subject').val();
	$.ajax ({
		type: 'POST',
		url: cf_urlpath+'call.php?register',
		data: data,
		success: function(){cf_popup.dialog('destroy');},
		error: function(xhr,ts,et) {
			cf_error ('Произошла ошибка: '+et+'. Повторите, пожалуйста, попытку позже.');
		}
	});
}
function cf_captcha_verify() {
	var data = {captcha: cf_trim($('#cf-input-captcha').val())};
	$.ajax ({
		type: 'POST',
		url: cf_urlpath+'call.php?verifycaptcha',
		data: data,
		success: function(data) {
			if (data === 'true')
				cf_send();
			else if (data === 'false')
				cf_error('Неверно введен код.');
		}
	});
}
function cf_captcha_refresh(ev) {
	$('#cf-image-captcha').attr('src', cf_urlpath + 'call.php?showcaptcha' + (Math.floor(Math.random()*10000+100)));
	ev.preventDefault();
}
function cf_verify(ev) {
	$('.cf-error').detach();
	var name = cf_trim($('#cf-input-name').val());
	var phone = cf_trim($('#cf-input-phone').val());
	if (name.length < 3)
		return cf_error('Введите имя.');
	if (phone.length < 7 || !phone.match('^[-()\s\xA00-9+]+$'))
		return cf_error('Неверный телефон.');
	if ($('#cf-label-captcha').length === 1) 
		cf_captcha_verify();
	else
		cf_send();
}
$('#cf-create').click(cf_popup);
$('#cf-submit').live('click', cf_verify);
$('#cf-captcha-refresh').live('click', cf_captcha_refresh);
});
