var mobipay_txnid = 0; var servID = 0; var userData = mobipay_get_url_var('userData'); var c = 0; var t; $(document).ready(function() { var num = mobipay_getcookie("mobio_mobipay_num"); if(num.length > 0) { $('#num').val(num); $('#mobipay_save_num_checkbox').attr('checked', 'checked'); } }); function mobipay_startPayment() { var num = $('#num').val(); $.ajax({ url:"//int.mobio.bg/mobipay/api.php", data:{ reqType: "startPayment", servID: servID, num: num, userData: userData, hash: '', t: unix_timestamp() }, success: function(data) { resp = data.split(':'); if(resp[0] == 'SERVICE_SETUP_ERROR') { $('#instructions').html('Грешка при конфигурирането на услугата. Моля свържете се с администратора на сайта.'); $('#instructions').addClass('error'); $('#num').hide(); $("a#start_payment").hide(); $("div#save_num").hide(); }else if(resp[0] == 'INVALID_NUM') { $('#instructions').html('Моля въведете валиден номер на мобилен телефон'); $('#instructions').addClass('error'); $('#num').addClass('error'); $('#num').effect("shake", {times:4,distance:5}, 50); $("#num").click(function() { $('#instructions').html('Моля въведете номера на Вашия мобилен телефон'); $('#instructions').removeClass('error'); $('#num').removeClass('error'); $('#num').val(''); }); }else if(resp[0] == 'WAITING_CONF') { mobipay_txnid = resp[1]; mobipay_num = resp[2]; mobipay_price = resp[3]; $("a#start_payment").hide(); $("div#save_num").hide(); $("a#wrong_num").show(); $("#step2 #instructions").fadeIn(1000); t = setTimeout('mobipay_paymentStatus()', 1000); $('#num').attr('readonly', 'true'); $('#shortcode').html(mobipay_num); $('#smsprice').html('('+mobipay_price+')'); if($('#mobipay_save_num_checkbox').is(':checked')) { mobipay_setcookie('mobio_mobipay_num', num, 60); }else{ mobipay_setcookie('mobio_mobipay_num', ''); } }else if(resp[0] == 'EXPIRED') { // transaction expired or a new one started } }, dataType: "html" }); } function mobipay_restartPayment() { var num = mobipay_getcookie("mobio_mobipay_num"); if(num.length > 0) { $('#num').val(num); }else{ num = $('#num').val(''); } $('#num').removeAttr('readonly'); $("a#start_payment").show(); $("div#save_num").show(); $("a#wrong_num").hide(); $("#step2 #instructions").hide(); $("#step2 #fail").hide(); $("#step2 #success").hide(); $("#step2 #timeout").hide(); $('#num').focus(); clearTimeout(t); } function mobipay_paymentStatus() { $.ajax({ url:"//int.mobio.bg/mobipay/api.php", data:{ reqType: "checkStatus", txnid: mobipay_txnid, servID: servID, c: c, t: unix_timestamp() }, success: function(data) { resp = data.split(':'); if(resp[0] == 'CONFIRMED') { $("a#wrong_num").hide(); $("#step2 #instructions").hide(); $("#step2 #success").fadeIn(1000); c = 0; }else if(resp[0] == 'ERROR') { $("a#wrong_num").hide(); $("#step2 #instructions").hide(); $("#step2 #fail").fadeIn(1000); c = 0; }else if(resp[0] == 'EXPIRED') { $("a#wrong_num").hide(); $("#step2 #instructions").hide(); $("#step2 #timeout").fadeIn(1000); c = 0; }else{ c += 1; t = setTimeout('mobipay_paymentStatus()', 1000); } }, dataType: "html" }); } unix_timestamp = function() { return parseInt(new Date().getTime().toString().substring(0, 10)) } function mobipay_setcookie(name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate() + expiredays); document.cookie = name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toUTCString()); } function mobipay_getcookie(name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf(name + "="); if (c_start!=-1) { c_start = c_start + name.length+1; c_end = document.cookie.indexOf(";",c_start); if (c_end == -1) c_end = document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } return ""; } function mobipay_get_url_var(name){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); if(hash[0] == name) return hash[1]; //vars.push(hash[0]); //vars[hash[0]] = hash[1]; } return ''; }