
// смс номера с ценами
var  smspaynumber = {'0':'Нет номера','1':'5109','5':'7504', '25': '7061'};


// рубрикатор
function advsetrub(id, price, fullname,show){ 
	$izd = $('input[name="advwhere"]').val();// текущее издание
	$('#advfullrub').text(fullname); // название рубрики
	$('#advone').text(price[$izd]); // цена одного объявления для  текущего издания (показываем)
	$('input[name="advone1"]').val(price[$izd]); // цена объявления (записываем для расчетов)
	$('#advrubkey').val(id); // id рубрики
	for (izd in price)
		$('input[name="advp'+izd+'"]').val(price[izd]); // цены объявления для всех изданий (записываем) для текущей рубрики 
//	if (!document.getElementById('choicesite').checked) {
		counttotal();
//	}
}
// подсчет стоимости объявлений в издания (кроме сайта)
function counttotal(numtowns){	
var numtowns = (typeof(numtowns) == "undefined") ? 0 : numtowns;
	skidka = 95;
	bigskidka = 75;
	izd = $('input[name="choiceizd"]:checked').attr('id'); 	// в какое издание подается объявление
	izd = izd.substr(6);
	numtowns = (izd=='ukr') ? $("#ednum").html() * 1 : 1; // во сколько изданий подается объявление
	forma=document.advform;
 	priceone = $('input[name="advone1"]').val() * 1; 	// стоимость одного объявления
	num = (izd=='site') ? 1 : $(':radio[name="advnum"]:checked').val() * 1; 	// количество подач
	app = $(':radio[name="advapp'+izd+'"]:checked').val(); // какой способ выделения объявленния выбран 
        priceapp = $('#appadd'+app+izd).val() *1;
        total = priceone + priceapp;
	total = num*total*numtowns;
        stskidka = ' - 0%';
	if ((document.advform.advwhere.value!='ukr')&&(num>3)){
		total = Math.round(total*skidka)/100;
		stskidka=' - 5%';
	}
	if (numtowns>9){
		total=Math.round(total*bigskidka)/100;
		stskidka=' - 25%';
	}
	st = (izd=='site') ? '' : '( '+priceone+' + '+priceapp+' ) x '+num+' x '+numtowns+stskidka+" = ";
	$('#totalprice').html(st);
	$('#totalprice1').html(total+" грн.");
       if (total==0) $('#vdvadvdata1').hide();
            else  $('#vdvadvdata1').show();

if (document.getElementById('radioAccountAb') && document.getElementById('radioAccountAb').checked){
		$totalMedia = $("#totalMoney1").text();
		recordbalans = "#balans1>b";
}
if (document.getElementById('radioMcard').checked){
		$totalMedia = $("#totalMoney").text();
		recordbalans = "#balans>b";
}
if (document.getElementById('radioSms').checked){
		$totalMedia = $("#totalMoney2").text();
		recordbalans = "#balans2>b";
}

					var $balans= new Number();
					$balans = + $totalMedia - total;
					$balans=$balans.toFixed(2);
					$(recordbalans).text($balans);
					$("#balans_hidden").val($balans);
					$('input[name="advtotalprice"]').attr('value',total);
                // номер платного смс
                var smsnummessage = (smspaynumber[total]==undefined) ? smspaynumber[0] : smspaynumber[total]+' ('+total+' грн.)';
                $('li#smspaynumber').text(smsnummessage);
                $('b#smsgrn').text(total);

}
//подсчет стоимости объявлений на сайта

function fotoupload(attr){
switch (attr){
	case 'show' :
		$('input[name="advimage"]').attr('disabled','');
		$('#addfoto').show();
		break;
	case 'hide':
		$('input[name="advimage"]').attr('disabled','disabled');
		$('#addfoto').hide();
		break;
	}
}
// разделы подачи объявления
function aform (where){
    $('#'+where).attr('checked','checked');
	// поле загрузки фотографии (показать/скрыть)	
	if ((($(":radio[name='advappvdv']:checked").val()==5)& where=='choicevdv')|| where=='choicesite') fotoupload('show');
		else fotoupload('hide');
	// устанавливаем расценки для текущего издания
	$curprice = $('input[name="advp'+where.substr(6)+'"]').val();
	$('input[name="advone1"]').val($curprice); // цена объявления
	$('#advone').text($curprice);
        // способы оплат:   смс-оплат   - ТОЛЬКО для оплаты объявлений с сайта vdv.crimea.ua
        //                  счет - ТОЛЬКО для оплаты в газеты 
        if (where == 'choicesite'){
            $('input#radioSms').parent().show();
            if ($('input#radioAccount').attr('checked')){
                  $('#radioWebmoney').attr('checked', 'checked');
                  advpaymed('webmoney');
            }            
        }
        else {
            $('input#radioSms').parent().hide();
            if ($('input#radioSms').attr('checked')){
                $('#radioAccount').attr('checked', 'checked');
                advpaymed('account');
            }
        }
	// в какой раздел подаем объявление
	switch (where) {
    case 'choicesite': 	
		$('#formname').html("<h3>Форма подачи объявлений на сайт VDV.crimea.ua</h3>");
		$('#vdvadvgraph, #vdvadvdata, #vdvadvdata2, #ukrdata, #radioAccountlabel, #vdvapp, #ukrapp').hide();
		$('#siteapp, #banIP').show();
                $("#canadv").removeClass('ignore');
		if ($('#radioAccount').attr('checked')) $('#radioWebMoney').attr('checked', 'checked');
                counttotal();
    	break;	
    case 'choicevdv':
    	$('#formname').html("<h3>Форма подачи объявлений в газету &laquo;Все для всех&raquo;</h3>");
        $('#siteapp, #banIP, #ukrdata, #ukrapp').hide();
        $('#vdvadvgraph, #vdvadvdata, #vdvadvdata1, #vdvadvdata2, #vdvapp, #radioAccountlabel').show();
        $('#canadv').attr('class', 'ignore');
        if (!$('#radioWebMoney').attr('checked')) $("#balans_hidden").removeClass('ignore');
        counttotal();
        break;
    case 'choiceukr':
    	$('#formname').html("<h3>Форма подачи объявлений в украинские газеты</h3>");
    	$('#banIP, #vdvadvgraph, #vdvapp, #siteapp').hide();
    	$('#radioAccountlabel, #ukrdata, #ukrapp, #vdvadvdata, #vdvadvdata1, #vdvadvdata2').show();
        $('#canadv').attr('class', 'ignore');
    	if (!$('#radioWebMoney').attr('checked')) $("#balans_hidden").removeClass('ignore');
        counttotal();
        break;
	}
	$('input[name="advwhere"]').val(where.substring(6));
}
// способы оплаты (переключение)
function advpaymed(medio){
	$('#pmaccount, #pmmcard, #pmabonent, #pmwebmoney, #pmliqpay, #pmsms, #pmcard').hide();
	$('#pmmcard tempbody label, #pmmcard tempbody ul').remove();
	$('input[name="advpay"]').val(medio);
	$('#pm'+medio).show(); 
  if (medio == 'sms') $('#smscode').removeClass('ignore') 
         else $('#smscode').attr('class', 'ignore');

}
// условия подачи объявлений
function openprompt(){
    $text='<h1 class="blue_text" style="margin-bottom: 15px;">Условия публикации объявлений</h1>\n\
            <ul><li>Для публикации объявление должно содержать не более 20 слов. В противном случае объявление сокращается.</li>\n\
            <li>Объявления о предоставляемых услугах и видах деятельности, которые подлежат лицензированию в соответсвии \n\
            с требованиями Закона Украины "О рекламе",\n\
             принимаются только при наличии лицензии. \n\
            В тексте таких объявлений должны содержаться номер лицензии, дата выдачи и название органа, \n\
            выдавшего ее. Копию лицензии вместе с номером объявления вы можете \n\
            прислать по электронной почте <a href="mailto:adverts@vdv.crimea.ua">adverts@vdv.crimea.ua</a>, \n\
            по факсу (0652) 27-41-45 или предъявить лично в редакции.</li>\n\
            <li>Объявления в газеты от частных лиц с просьбой считать недействительными \n\
            утерянные документы принимаются при предъявлении паспорта или \n\
            удостоверения личности. Копию документов вместе с номером объявления \n\
            вы можете прислать по электронной почте <a href="mailto:adverts@vdv.crimea.ua">adverts@vdv.crimea.ua</a>,\n\
            по факсу (0652) 27-41-45 или предъявить лично в редакции.</li>\n\
            <li>Объявления об утере документов, печатей и сообщения о ликвидации \n\
            предприятий принимаются только при наличии соответсвующих документов.</li>\n\
            <li>Объявления о предоставлении надомной работы без указания домашнего \n\
            адреса или номера телефона не принимаются.</li>\n\
            <li>Объявления в газеты в рубрику "Знакомства" с указанием домашнего \n\
            адреса или номера телефона адресата принимаются только в редакции при \n\
            предъявлении паспорта и телефонной книжки.</li>\n\
            <li>Размер фотографии для объявлений не должен превышать 300 Кб.</li>\n\
            </ul>\n\
            <p>Объявления, которые были поданы на сайте VDV.crimea.ua </strong>\n\
            с целью публикации в газетах,&nbsp; будут опубликованы только после подтверждения оплаты.</p>\n\
            <p>Редакция оставляет за собой право редакторской обработки объявлений.</p>\n\
            ';
    $.prompt($text,{buttons:[{title:'Вернуться к форме подачи объявления',value:true}]});
}
// обнуление денег для медиакарты (если не заполненено поле для нее)
function ClearPole (value, index){
		if (value =="") {
		$("#mоney"+index).html("0");
		}	
		MoneyRecord()
}
//показ оформлений объявлений и подсчет стоимости  
function advApp(izd, e){
	$("[name='advappimg"+izd+"']").hide();
	$('#im'+e.value+izd).show(); 
	if (e.value==5 || izd=='site') fotoupload('show') //6 - для сайта
	 else fotoupload('hide');
	counttotal();
}
// подсчет и запись суммы денег на карточках и баланса
function MoneyRecord(){
	///// сумма денег на карточках
	var $balans= new Number();
	var $total=0;
	$("#tempbody>label>b").each(function() {
						$total += +this.innerHTML;
						});
	$("#totalMoney").text($total); // сколько на счету (ЗАПИСЬ)
	$totalprice_str = $("span#totalprice1").text(); // сколько надо заплатить
	$endindex = $totalprice_str.indexOf(" грн.");
	$totalprice_num = $totalprice_str.substring(0,$endindex);
	$balans =+ $total - $totalprice_num;
	$balans=$balans.toFixed(2);
	$("#balans>b").text($balans);
	$("#balans_hidden").val($balans);
	BalansValidator();
}
// запускаем на проверку достаточности наличности )   
function BalansValidator(){	
	if ($("#balans_hidden").attr("class")!="ignore"){
	$("#balans_hidden").valid();
	}
}
// ф-ция выделения изданий
function townSel (){
      var str = "";
	  var num=0;
          $("select option:selected").each(function () {
				str += $(this).text() + '<br/>';
				num+=1;
              });
          $("#koll").html(str);
		  $("#ednum").html(num);
		  counttotal(num);
}
//
$().ready(function(){

// не проверять баланс (на медиакартах)
function MediaBalansOff(mbflag){
	if (mbflag==0)
	$("#tempbody").empty();
	$("#balans_hidden").attr("class", "ignore");
	$("label[@for='balans_hidden'], label[@for='mccode1'], label[@for='mccode2'], label[@for='mccode3'], label[@for='mccode4'], label[@for='mccode5']").attr("style","");
}
// ф-ция добавления полей для одной медиакарты
function addRow() {
		$(template(i++)).appendTo("#tempbody");
		if (i==6) {
			$("#add").hide();
		}
}
//проверка денег на медиакарте по ее номеру (определяем новый метод money)
$.validator.addMethod("money", function(value, element) {
	  $.get("check.php", {mcnum:value}, function(data){
					var $customId= element.id;
					var $customIndex=$customId.charAt(5);
					var $pole="#mоney"+$customIndex;
					$($pole).html(data);
					MoneyRecord ();
					});
		return !this.optional(element);
}, "Сообщение об ошибке");
//sms-оплата
//http://jquery-docs.ru/internals/jquery-data/
$.validator.addMethod("smspay", function(value, element) {
     var previous = jQuery.data(element, 'previousValue')
     previouscode = (previous == undefined) ? null : previous.old;

    if (previouscode != value){
              $('#loader').show();
              $.getJSON("checksms.php", {smscode:value}, function(data){
                        
                        var $dopinfo = (data.dopinfo=='') ? '' : 'Оплата использована ' + data.dopinfo; // формируем сообщение с дополнительной информацией (когда активировали смс-оплату)
                        var $total = ($dopinfo=='') ? data.price : 0; // если еще смс не активировано, то используем оплаченную сумму(total=data.price), иначе = 0  
                        $("#smsdopinfo").text($dopinfo);
                        
                        $("#totalMoney2").text($total); // сколько на счету (ЗАПИСЬ)
                        $totalprice_str = $("span#totalprice1").text(); // сколько надо заплатить
                        $endindex = $totalprice_str.indexOf(" грн.");
                        $totalprice_num = $totalprice_str.substring(0,$endindex);
                        $balans =+ $total - $totalprice_num;
                        $balans = $balans.toFixed(2);
                        //$("#balans2>b").text($balans);
                        $("#balans_hidden").val($balans);
                        $("#telnumber").val(data.telnumber);
                        $("#smsnumber").val(data.smsnumber);
                        $('#loader').hide();
            BalansValidator();
        });
    }
     jQuery.data(element, 'previousValue', previous = {old: value})
     return true;
}, "Сообщение об ошибке");

// номера медиакарт не совпадают (определяем новый метод noequalTo)
$.validator.addMethod("noequalTo", function(value, element) {
var $n=1;
expr = true;
while( $n < i-1) {
	if ($("#mcnum"+$n).val() == value & "mcnum"+$n != element.id) {
		expr = false;
	}
	$n++;
	} 
return expr;
}, " Эта медиакарта уже используется");

//... сайт
$("input[@name=advappsite]").click(counttotal); // выбор выделения объявлений на сайте
//
$("#radioWebMoney, #radioliqpay, #radioSms, #radiocard, #radioAccount, #radioAccountAb").click(function(){MediaBalansOff(0)});	//  при нажатии на WebMoney, LiqPay, SMS, Счет, Абонентский счет
$("#choicesite").click(function(){MediaBalansOff(1)});		// на сайт ВДВ
// способ оформления объявлений 
$(":radio[name='advappukr']").click(function(){advApp('ukr', this)});
$(":radio[name='advappvdv']").click(function(){advApp('vdv', this)});
$(":radio[name='advappsite']").click(function(){advApp('site', this)});
// кол-во подач и оформление объявлений
$(":radio[name='advnum'],:radio[name='advappvdv'],:radio[name='advappukr'],:radio[name='advappsite']").click(BalansValidator);
// убираем предупреждение "Не выбрана рубрика"  сразу при ее выборе
$(".child").click(function(){
	$("label[@for='advrubkey']").attr("style","");
	BalansValidator();
});
// при нажатии на radio Медиакарты сброс по умолчанию  
$("#radioMcard").click(function(){
			$("#balans_hidden").removeClass('ignore'); // если медиакарты - проверять баланс
			$("#tempbody").empty();
			i=1;
			$("#add").show();
			addRow();
			MoneyRecord();
			$("#balans_hidden").valid();
});
// при нажатии на radio Sms-оплата сброс по умолчанию
$("#radioSms").click(function(){
			$("#balans_hidden").removeClass('ignore'); // если sms-оплата - проверять баланс
			$("#balans_hidden").valid();
                // номер платного смс
                var advtotalprice = $('input[name="advtotalprice"]').val();
                var smsnummessage = (smspaynumber[advtotalprice]==undefined) ? smspaynumber[0] : smspaynumber[advtotalprice]+' ('+advtotalprice+' грн.)';
                $('li#smspaynumber').text(smsnummessage);
});
// абонентский счет
$("#radioAccountAb").click(function(){
    $("#balans_hidden").removeClass('ignore');
       counttotal();
        $("#balans_hidden").valid();
	});

//снятие проверки на наличие изданий Украины
$(":radio[name='choiceizd']").click(function(){
	aform(this.id);
	$("#mccode1, #mccode2, #mccode3, #mccode4, #mccode5, #town").attr("class", "");
	$("label[@class='warning']").attr("style","");
});
//.... издания Украины
$("#choiceukr").click(function(){$("#town").attr("class", "required");}); // установка проверки на наличие изданий Украины
$("select").change(townSel).trigger('change'); // select для газет (выбор изданий) при нажатии на оные
//checkbox для всех изданий (поставить\снять)
$("#alltown").click(function(){
		if (this.checked == true) {
			$("option[@value]").attr("selected", "selected"); }
		if (this.checked == false) {
		$("option[@value]").attr("selected", "");
		}
		townSel();
		$("select").valid();
		BalansValidator();
});
// снятие флажка при выборе вручную(все газеты)
$("select").click(function(){
		$("#alltown:input[@type='checkbox']").attr("checked","")
		$(this).valid();
		BalansValidator();
		});
//.......
//согласен с условиями размещение или нет
$(':checkbox[name="advagree"]').click(function(){ 
		if (this.checked) 
			$('input[name="advsend"]').removeAttr('disabled');	
		else 
			$('input[name="advsend"]').attr('disabled','disabled')
});
//...... медиакарты
var template = $.format($("#template").val()); // шаблон полей медиакарты
var i = 1; // по умолчанию ставим одну медиакарту	
addRow();
$("#add").mouseup(addRow); // добавляем еще медиакарту при нажатии на кнопку с id="add"
//проверка обязательных полей
	$("#advform").validate({
		errorClass: "warning", ignore: ".ignore",
//		onkeyup: false, onblur: false,
		ajaxSubmit: function() {"Submitted, thanks!";},
		rules : {
		mcnum1: {digits: true, noequalTo: true, money: true},
                "mccode1": {digits: true, rangelength:[8,8],
			required: function(element){return $("#mcnum1").val() != "";},
			remote: function(){return "checkmccode.php?num=1&mcnum="+$("#mcnum1").val()}},
		"mcnum2": {digits: true, noequalTo: true, money: true},
		"mccode2": {digits: true, rangelength:[8,8], 
			required: function(element) {return $("#mcnum2").val() != "";},
			remote: function(){return "checkmccode.php?num=2&mcnum="+$("#mcnum2").val()}},
		"mcnum3": {digits: true, noequalTo: true, money: true},
		"mccode3": {digits: true, rangelength:[8,8], 
			required: function(element){return $("#mcnum3").val() != "";},
			remote: function(){return "checkmccode.php?num=3&mcnum="+$("#mcnum3").val()}},
		"mcnum4": {digits: true, noequalTo: true, money: true},
		"mccode4": {digits: true, rangelength:[8,8], 
			required: function(element) {return $("#mcnum4").val() != "";},
			remote: function(){return "checkmccode.php?num=4&mcnum="+$("#mcnum4").val()}},
		"mcnum5": {digits: true, noequalTo: true, money: true},
		"mccode5": {digits: true, rangelength:[8,8], 
			required: function(element) {return $("#mcnum5").val() != "";},
			remote: function(){return "checkmccode.php?num=5&mcnum="+$("#mcnum5").val()}},
		smscode: {required: true, digits: true, smspay: true},
                advcontent: {required: true},
		advemail: {email: true},
		advrubkey:{min: 1},
                canadv:{min: 1},
		balans_hidden:{min: 0},
                town:{required: true},
		captcha_check:{required: true, remote: "captcha_check.php"},
		advimage:{//			accept: "jpg|jpeg|gif|png|tif|tiff|png|bmp"	
			}
		},
		messages : {
		"mcnum1": {digits: "Только цифры", money: ""},
		"mcnum2": {digits: "Только цифры"},
		"mcnum3": {digits: "Только цифры"},
		"mcnum4": {digits: "Только цифры"},
		"mcnum5": {digits: "Только цифры"},
		captcha_check:{required: "", remote: ""},
                canadv:{min: 'На сегодня лимит исчерпан. '},
		advemail: {email: "Проверьте написание e-mail"},
                smscode:{required:'Введите код, пришедший от оператора', digits:'Неверно набран код-подтверждение'},
		advrubkey:{min: ""}
		}
	});
});


//advsitecheck


