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;
}