/*!
 * Phones Checker v0.2
 */

jQuery.fn.phonesset = function(options) {

	var options = jQuery.extend({
		wtUrl:"http://10.42.0.61/welltime",
		setNumber: true
	}, options);
	
	var item = this;
	
	// добавляем всплывающие окно
	$("body").append('<div class="phonesset"><a class="close" href="">закрыть x</a><label>Введите номер телефона<br />и мы перезвоним вам<br />прямо сейчас<br /><input id="make_call" type="text" name="make_call" /><br /></label><a class="call" href="">заказать</a></div>');

	$.ajax({
		url: options.wtUrl + "/wsdl/adapters/phones_responder.php?callback=?",
		dataType: "jsonp",
		data: {
				fromUrl:document.referrer,
				srcPhone:$(item).text(),
				action: "get_num"
		},
		success: function(msg) {

			to_string = '';

			// переводим из json в string
			for (var key in msg.parse_result) {
					to_string += msg.parse_result[key] + '.';
			}

			// добавляем из string в cookie
			if (!$.cookie("phoneset")) {
				$.cookie("phoneset", to_string, {path: '/'});
			}

			if (msg.result || $.cookie("phoneset")) {

				// добавляем в cookie и изменяем номер телефона
				
				if (options.setNumber == true) {
					from_cookie = $.cookie("phoneset").split('.');
					$("#country_code").text(from_cookie[0]);
					$("#city_code").text(from_cookie[1]);
					$("#local_num").text(from_cookie[2]);
				}
				
				// изменяем курсор и добавляем ссылку под номером телефона
				$(item).css("cursor","pointer").append('<a href="" class="phoneset_link">заказать обратный звонок</a>');

				// открываем всплывающее окно
				$(item).click(function(event) {
					$(".phonesset").css({"left": event.pageX, "top": event.pageY}).toggle();
					document.getElementById('make_call').focus();
					return false;
				})
				
				$("a.close").click(function(event) {
					$(".phonesset").fadeOut();
					return false;
				})
				
				// функция запроса к серверу для звонка
				var make_call = function() {
					if ($(".phonesset input").val()) {
						$.ajax({
							url: options.wtUrl + "/wsdl/adapters/phones_responder.php?callback=?",
							dataType: "jsonp",
							data: {
								action: "make_call",
								srcPhone: $.cookie("phoneset").replace(/\./g, ''),
								destPhone: $(".phonesset input").val()
							},
							error: function() {
								alert('Ошибка: звонок не может быть совершен');
							}
						});
						$(".phonesset label").remove();
						$(".phonesset a.call").replaceWith('Ждите звонка...');
						$(".phonesset").fadeOut(5000);
						return false;
					} else {
						alert("Введите номер!");
						return false;
					}					
				}
				
				$(".phonesset a.call").click(make_call);
				$(".phonesset input").keydown(function(event) {
					if (event.keyCode == '13') {
						make_call()
					}
				});

			} // if
		} // success
	}); // ajax
	
};
