function parse_url (str, component) { // * example 1: parse_url('http://username:password@hostname/path?arg=value#anchor'); // * returns 1: {scheme: 'http', host: 'hostname', user: 'username', pass: 'password', path: '/path', query: 'arg=value', fragment: 'anchor'} var o = { strictMode: false, key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], q: { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/\/?)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // Added one optional slash to post-protocol to catch file:/// (should restrict this) } }; var m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), uri = {}, i = 14; while (i--) {uri[o.key[i]] = m[i] || "";} switch (component) { case 'PHP_URL_SCHEME': return uri.protocol; case 'PHP_URL_HOST': return uri.host; case 'PHP_URL_PORT': return uri.port; case 'PHP_URL_USER': return uri.user; case 'PHP_URL_PASS': return uri.password; case 'PHP_URL_PATH': return uri.path; case 'PHP_URL_QUERY': return uri.query; case 'PHP_URL_FRAGMENT': return uri.anchor; default: var retArr = {}; if (uri.protocol !== '') {retArr.scheme=uri.protocol;} if (uri.host !== '') {retArr.host=uri.host;} if (uri.port !== '') {retArr.port=uri.port;} if (uri.user !== '') {retArr.user=uri.user;} if (uri.password !== '') {retArr.pass=uri.password;} if (uri.path !== '') {retArr.path=uri.path;} if (uri.query !== '') {retArr.query=uri.query;} if (uri.anchor !== '') {retArr.fragment=uri.anchor;} return retArr; } } function alert_refresh(mess,url) { if (confirm(mess)) { document.location.href = url; return false; } } function change (num) { var obj_d = document.getElementById('num_'+num).checked; var coun = g_types.length for(i=0;i num) { obj.checked = false; } } } function showAdd() { $('#addSite').css("display","block"); } function submitPre(o) { var amount = $(o).find('#amount').val(); var num = $(o).find('#paymentNo').val(); if (amount < 1) { alert("Введите сумму!"); return false; } $.ajax({ type: "GET", url: "/ajax/pay", data: "add_pays="+num+"&amount="+amount, async: false, success: function(msg){ if (msg=="OK") { $('#payform').submit(); return false; } else { alert('Ошибка при добавлении счета в базу! Попробуйте позже.'); } }, error: function (data, status, e) { alert('Ошибка при добавлении счета в базу! Попробуйте позже.'); } }); return false; } function checkSite() { var hash = document.getElementById('hash').value; if (hash=='' || hash=='undefined') { alert('Введите полученый код!'); return; } else if (hash.length !== 8) { alert('Вы указали неверный код!'); return; } getSiteData(hash); } function changeVklad(type) { if (type > 1) { $('#unregMaindiv').html(gProverka); } else { $('#unregMaindiv').html(gDobavit); } } function submitSite(form) { var host = $('#sHost').val(); var email = $('#sEmail').val(); if (host == 'http://' || host.length < 11) { alert('Введите корректный адрес сайта!') return; } $('#unregMaindiv').html('
'); $.post("/ajax/unreg", { host: host, email: email, type: 1 }, function(data){ $('#unregMaindiv').html(data); }); } var lastUpdate = 0; function getSiteData(hash) { if (hash.length!==8) { $('#unregMaindiv').html(gProverka); return; } var now = Math.round((new Date()).getTime()/1000); var raznica = now - lastUpdate; if (raznica < 60 && lastUpdate!==0) { alert('Вы можете обновлять данные не чаще раза в минуту! \nОсталось: '+(60-raznica)+'сек'); return; } lastUpdate = now; $('#unregMaindiv').html('
'); $.post("/ajax/unreg", { hash: hash, type: 2 }, function(data){ $('#unregMaindiv').html(data); }); }