function doLogin() { var content; var obj; var q; content = document.getElementById('login-status'); content.innerHTML = 'Выполняется проверка имени пользователя и пароля...'; q = 'login&'; obj = document.getElementById('flogin'); if ( obj.value.length == 0 ) { content.innerHTML = 'Отсутствует имя пользователя'; return; } q = q + 'login=' + obj.value + '&' if ( document.getElementById('rlogin').checked == true ) { writeLoginCookie('on'); } obj = document.getElementById('fpassword'); if ( obj.value.length == 0 ) { content.innerHTML = 'Отсутствует пароль'; return; } q = q + 'pass=' + obj.value + '&' // alert('V=' + q); newRequest(q); } /* AJAX */ /* Update view */ function updateView(rXML) { var content; // Search for \n\n if ( rXML.indexOf("\n\n", 0) != -1 ) { var HEAD = rXML.substring(0, rXML.indexOf("\n\n", 0)); var BODY = rXML.substring(rXML.indexOf("\n\n", 0) + 2, rXML.length); // alert("head=" + HEAD); // alert("body=" + BODY); content = document.getElementById(HEAD); if ( HEAD == 'login-status' ) { // alert(BODY); if ( BODY == 'Error' ) { content.innerHTML = 'Ошибка! Повторите вход через некоторое время.'; return; } else if ( BODY == 'Failed' ) { content.innerHTML = 'Неправильное Имя пользователя или Пароль!'; return; } else if ( BODY == 'Blocked' ) { content.innerHTML = 'Доступ пользователя заблокирован!'; return; } else { var r; content.innerHTML = 'Проверка успешна!'; r = new RegExp('[\\?&]session=([^&#]*)'); document.getElementById('session').value = r.exec(BODY)[1]; r = new RegExp('[\\?&]lang=([^&#]*)'); document.getElementById('lang').value = r.exec(BODY)[1]; document.getElementById('form1').submit(); return true; } } content.innerHTML = BODY; } else { return; } } function getReadyStateHandler(req, responseXmlHandler) { return function () { if (req.readyState == 4) { if (req.status == 200) { responseXmlHandler(req.responseText); } else { alert("HTTP error: "+req.status+'. MSG: ' + req.statusText); } } } } function newRequest(query) { var req = newXMLHttpRequest(); if (req) { // alert("QUERY=" + query); var handlerFunction = getReadyStateHandler(req, updateView); req.onreadystatechange = handlerFunction; req.open("post", "https://www.ipdrive.ru/cgi/proc", true); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); req.send("query=" + query); return true; } else { return false; } } function newXMLHttpRequest() { var xmlreq = false; if (window.XMLHttpRequest) { xmlreq = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) { try { xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { // Unable to create an XMLHttpRequest } } } return xmlreq; } /* AJAX end */ function onLoad() { var content = document.getElementById("cc"); var slang = readCookie("SL"); if (slang != null) { language = slang; } // content.innerHTML = language; } function readCookie(name) { var carray = document.cookie.split(';'); var c; var i; var n = name + "="; for(i = 0; i < carray.length; i++) { c = carray[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(n) == 0) return c.substring(n.length, c.length); } return null; } function writeCookie(name, value, indays) { var date; var e; if (indays) { date = new Date(); date.setTime(date.getTime()+(indays*24*60*60*1000)); e = "; expires="+date.toGMTString(); } else var e = ""; if ( value.length == 0 ) { document.cookie = name + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;'; } else { document.cookie = name+"="+value+e+"; path=/"; } } function readLoginCookie() { var l = readCookie('login'); if (l != null) { document.getElementById('rlogin').checked = true; document.getElementById('flogin').value = l; document.getElementById('fpassword').focus(); } else { document.getElementById('rlogin').checked = false; document.getElementById('flogin').focus(); } } function writeLoginCookie(arg) { if ( arg == 'on' ) { writeCookie('login', document.getElementById('flogin').value, 365); } else { writeCookie('login', '', 0); } } function onLoginLoad() { readLoginCookie(); if (window.location.protocol == 'http:') { document.location.replace('https:www.ipdrive.ru/login.html'); } } function onBuyLoginLoad() { readLoginCookie(); } function getlang() { var lang; // Check cookies lang = readCookie('LANG'); // Get from browser if (navigator && !lang) { if (navigator.language) { lang = navigator.language; } else if (navigator.browserLanguage) { lang = navigator.browserLanguage; } else if (navigator.systemLanguage) { lang = navigator.systemLanguage; } else if (navigator.userLanguage) { lang = navigator.userLanguage; } if (lang) { lang = lang.substring(0, 2); lang = lang.toUpperCase(); } else { lang = 'RU'; } } return lang; } function setlang(lang) { writeCookie('LANG', lang, 0); } function select_move_selected(from, to) { var next = true; var i; var o; var theOpt; while(next) { i = document.getElementById(from).selectedIndex; if ( i < 0 ) { next = false; break; } o = document.getElementById(from).options[i]; theOpt = new Option(o.text, o.value, false, false); document.getElementById(to).options[document.getElementById(to).options.length] = theOpt; document.getElementById(from).options[i] = null; } chDNcount(); } function select_move_all(from, to) { var box = document.getElementById(from); for (var i = 0; i < box.options.length; i++) { box.options[i].selected = true; } select_move_selected(from, to); } function doShowDN() { document.getElementById('dn_tbl').style.display = 'inline'; } function doHideDN() { select_move_all('dn_selected','dn_all'); document.getElementById('dn_tbl').style.display = 'none'; } function doFELoad() { doFESetPlan(selected_plan); } function doFESetPlan(val) { var h; var d; var rbp; var i; var total; var nds; selected_plan = val; rbp = document.getElementsByTagName('div'); for( i = 0; i < rbp.length; i++ ) { if ( rbp[i].getAttribute('name') == 'ttpn' ) { rbp[i].innerHTML = 'Тарифный план ' + getPlanFullName(val) + ''; continue; } if ( rbp[i].getAttribute('name') == 'ttpp' ) { rbp[i].innerHTML = roundNumber(getPlanAp(val), 2) + ' ' + getCurrency(); continue; } if ( rbp[i].getAttribute('name') == 'tdnccount' ) { rbp[i].innerHTML = 'Городской номер: подключение / ' + dncount + ' шт /'; continue; } if ( rbp[i].getAttribute('name') == 'tdnc' ) { rbp[i].innerHTML = (roundNumber(getDNConnectionPrice(), 2) + ' ' + getCurrency()); continue; } if ( rbp[i].getAttribute('name') == 'tdnmcount' ) { rbp[i].innerHTML = 'Городской номер: ежемесячная плата / ' + dncount + ' шт /'; continue; } if ( rbp[i].getAttribute('name') == 'tdnm' ) { rbp[i].innerHTML = (roundNumber(getDNMonthlyPrice(),2) + ' ' + getCurrency()); continue; } if ( rbp[i].getAttribute('name') == 'tap' ) { rbp[i].innerHTML = (document.getElementById('ap').value ? document.getElementById('ap').value : 0) + '.00 ' + getCurrency(); continue; } total = getPlanAp(val) + getDNConnectionPrice() + getDNMonthlyPrice() + Number(document.getElementById('ap').value ? document.getElementById('ap').value : 0); nds = total / 100 * 18; if ( rbp[i].getAttribute('name') == 'nds' ) { nds = roundNumber(nds, 2); rbp[i].innerHTML = nds + ' ' + getCurrency(); continue; } if ( rbp[i].getAttribute('name') == 'tt' ) { total = roundNumber(total, 2); rbp[i].innerHTML = total + ' ' + getCurrency(); continue; } if ( rbp[i].getAttribute('name') == 'ttnds' ) { total = roundNumber(total + nds, 2); rbp[i].innerHTML = total + ' ' + getCurrency(); continue; } } rbp = document.getElementsByTagName('input'); for( i = 0; i < rbp.length; i++ ) { if ( rbp[i].value == val && rbp[i].getAttribute('name') == 'chkplan' ) { rbp[i].checked = true; h = document.getElementsByTagName('td'); for ( d = 0; d < h.length; d++ ) { if ( h[d].getAttribute('name') == 'head_' + rbp[i].value ) { h[d].style.backgroundColor = '#00c6ff'; h[d].style.color = '#ffffff'; continue; } } } h = document.getElementsByTagName('td'); for ( d = 0; d < h.length; d++ ) { if ( h[d].getAttribute('name') == 'head_' + rbp[i].value && h[d].getAttribute('name') != 'head_' + val) { h[d].style.backgroundColor = '#e3eaf8'; h[d].style.color = '#3b6ac9'; } } } } function getDocPosTop() { var body = document.body; var docElem = document.documentElement; var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop; var clientTop = docElem.clientTop || body.clientTop || 0; return scrollTop - clientTop; } function getDocPosLeft() { var body = document.body; var docElem = document.documentElement; var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft; var clientLeft = docElem.clientLeft || body.clientLeft || 0; return scrollLeft - clientLeft; } function collapsePopup(e) { var obj; var src; if ( e.target != undefined ) { src = e.target; } else { src = e.srcElement; } if ( src != undefined ) { } if ( (src != undefined && !getParentsFirstID(src).match('searchHint'))) { if ( searchHint && searchHint.showing == true && searchHint.destination.value == '') { searchHint.destination.value = 'Добавить новый E-mail'; searchHint.destination.className = 'email_show'; //document.getElementById('menucontrol').innerHTML += '--cleared
'; } if ( searchHint && searchHint.showing == true) { searchHint.close(); } } //alert(src.id + ' | ' + getParentsFirstID(src.parentNode)); if ( (src != undefined && getParentsFirstID(src).match('hintMsg'))) { return; } if ( (src != undefined && getParentsFirstID(src.parentNode).match('calendar'))) { return; } if ( src.id != 'statusChangeOpen_btn' && getParentsFirstID(src.parentNode) != 'statusChangeOpen' ) { obj = document.getElementById('statusChangeOpen'); if ( obj != undefined && obj.style.visibility == 'visible' ) obj.style.visibility = 'hidden'; } if ( src.id != 'planChangeOpen_btn' && getParentsFirstID(src.parentNode) != 'planChangeOpen' && getParentsFirstID(src.parentNode) != 'control_new_dn_plan' ) { obj = document.getElementById('planChangeOpen'); if ( obj != undefined && obj.style.visibility == 'visible' ) obj.style.visibility = 'hidden'; } if (src.id != 'img_enc_btn') { obj = document.getElementById('ipdrive_pc_encryption_methods'); if ( obj != undefined && obj.style.visibility == 'visible' ) { obj.style.visibility = 'hidden'; obj.style.left = '-10000px'; obj.style.top = '-10000px'; } } if (!src.id.match(/mua_item_/) && getParentsFirstID(src.parentNode) != 'ipdrive_set_drive_ap') { obj = document.getElementById('ipdrive_set_drive_ap'); if ( obj != undefined && obj.style.visibility == 'visible' ) { obj.style.visibility = 'hidden'; obj.style.left = '-10000px'; obj.style.top = '-10000px'; if (selectedIPDriveSetPAMDriveItem != null) { selectedIPDriveSetPAMDriveItem.className = 'cdata'; } selectedIPDriveSetPAMDriveItem = null; } } if (src.id != 'img_ctrl_pa_replinish' && getParentsFirstID(src.parentNode) != 'pa_payment_methods') { obj = document.getElementById('pa_payment_methods'); if ( obj != undefined && obj.style.visibility == 'visible' ) { obj.style.visibility = 'hidden'; obj.style.left = '-10000px'; obj.style.top = '-10000px'; } } if ( currentSelectorShowing == true ) { if ( currentSelector ) { currentSelector.hide(); currentSelector = undefined; currentSelectorShowing = false; } } } function getParentsFirstID(obj) { var parentObj = obj; while ( parentObj != undefined ) { if ( parentObj.id != '' && parentObj.id != undefined ) { return parentObj.id; } else { parentObj = parentObj.parentNode; } } return ''; } function getDocumentInnerSize() { var arr = new Array(); if( typeof( window.innerWidth ) == 'number' ) { //Non-IE arr[0] = window.innerWidth; arr[1] = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' arr[0] = document.documentElement.clientWidth; arr[1] = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible arr[0] = document.body.clientWidth; arr[1] = document.body.clientHeight; } return arr; } function setDepStyle(obj, whichStyle, dep) { if ( obj != dep ) obj.className = whichStyle; } function setStyle(obj, whichStyle) { if ( obj.id != selectedDNButton ) obj.className = whichStyle; } function setObjStyle(obj, whichStyle) { obj.className = whichStyle; } function setStyleByID(idx, whichStyle) { if (idx != undefined) document.getElementById(idx).className = whichStyle; }