﻿function CheckPassword(txt) 
{
    var re = new RegExp(/^\d{4,6}$|^[a-zA-Z0-9]+$/);
    if (txt.match(re)) {
        return true;
    } else {
    return false;
    }
}
function createSeries(txt) {
    var series = Array();
    var k = 0;
    var flag = true;
    for (var i = 0; i <= 9; i++) {
        var snumber = "";
        for (var j = 1; j <= 4; j++) {
            snumber += i;
        }
        if (txt == snumber) {
            flag = false;
            break;
        }
        snumber += i;
        if (txt == snumber) {
            flag = false;
            break;
        }
        snumber += i;
        if (txt == snumber) {
            flag = false;
            break;
        }
    }
    return flag;
}
function CheckPasswordSeries(txt) {
    var re = new RegExp(/^1234$|^12345$|^123456$|^1231$|^4321$|^54321$|^654321$|^111222$/);
    var dre = new RegExp(/^\d{4,6}$/);
    if (txt.match(re)) {
        return false;
    }
    else if (!txt.match(dre)) {
        return false;
    }
    else {
        return createSeries(txt);
    }
}
function checkPasswordIsInSeries(value, arg) {
    if (CheckPasswordSeries(arg.Value) != true) {
        showDiv('block')
        LoadMessage("CheckPasswordSeries", "block")
        arg.IsValid = false;
    }
    else {
        arg.IsValid = true;
    }
}
function CheckEmergancyNumber(phone) {
    var emergancy = new Array();
    emergancy[0] = "1911";
    emergancy[1] = "999";
    emergancy[2] = "112";
    var flag = true;
    for (var i = 0; i < emergancy.length; i++) {
        if (phone == emergancy[i]) {
            flag = false;
            break;
        }
    }
    return flag;
}

function checkSignupPhone(value, arg) {
    var newvalue = RemoveSignupSpecial(arg.Value);
    var reldigit = new RegExp(/^\d+$/);
    var re1length = new RegExp(/^\d{5,}/);
    if (newvalue.length <= 0) {
        showDiv('block')
        LoadMessage("numberEmpty", "block")
        arg.IsValid = false;
    }
    else if (!CheckEmergancyNumber(newvalue)) {
        showDiv('block')
        LoadMessage("EmergancyNumber", "block")
        arg.IsValid = false;
    }
    else if (!newvalue.match(reldigit)) {
        showDiv('block');
        LoadMessage("PhoneNumberDigit", "block")
        arg.IsValid = false;
    }
    else if (!newvalue.match(re1length)) {
        showDiv('block')
        LoadMessage("PhoneNumberShort", "block")
        arg.IsValid = false;
    }
    else {
        arg.IsValid = true;
    }
}

function RemoveSignupSpecial(txt) {
    var re = new RegExp(/[\+|\.|\/|\\|( )|\-|_]+/);
    var nv = txt;
    while (nv.match(re)) {
        nv = nv.replace(re, "");
    }
    while (nv.indexOf("'") >= 0) {
        nv = nv.replace("'", "");
    }
    return nv;
}

function RemoveSpecial(txt) {
    var re = new RegExp(/[\+|\.|\/|\\|( )|\-|_]+/);
    var nv = txt;
    while (nv.match(re)) {
        nv = nv.replace(re, "");
    }
    while (nv.indexOf("'") >= 0) {
        nv = nv.replace("'", "");
    }
    re = new RegExp(/^00|^011|^0+/);
    nv = nv.replace(re, "");
    return nv;
}
function CheckPhoneDigits(txt) {
    var newValue = RemoveSpecial(txt);
    var re1 = new RegExp(/^\d+$|^[a-zA-Z0-9]+$/);
     if (newValue.match(re1)) {
        return true;
    } else {
        return false;
    }
}
function CheckPhoneLength(txt) {
    var newValue = RemoveSpecial(txt);
    var re1 = new RegExp(/^\d{8,}|^[a-zA-Z0-9]+$/);
    if (newValue.match(re1)) {
        return true;
    } else {
        return false;
    }
}


function performLogin(phoneNumber,password) {
    var flage = false;
    if (document.getElementById(phoneNumber).value.length <= 0 || document.getElementById(phoneNumber).value == "+1234567890") {
        showDiv('block')
        LoadMessage("userNotExisit", "block")
//        LoadMessage("numberEmpty", "block")
    }
    else if (CheckPhoneDigits(document.getElementById(phoneNumber).value) != true) {
        showDiv('block')

        LoadMessage("userNotExisit", "block")
        //         LoadMessage("phoneNumberIncorrect", "block")
    }
    else if (CheckPhoneLength(document.getElementById(phoneNumber).value) != true) {
        showDiv('block')

        LoadMessage("userNotExisit", "block")
        //        LoadMessage("phoneNumberLength", "block")
    }
    else if (document.getElementById(password).value.length <= 0) {
        showDiv('block')

        LoadMessage("userNotExisit", "block")
        //        LoadMessage("passwordEmpty", "block")
    }
    else if (CheckPassword(document.getElementById(password).value) != true) {
        showDiv('block')

        LoadMessage("userNotExisit", "block")
        //        LoadMessage("passwordIncorrect", "block")
    }
    else {
        showDiv('block')
        LoadLoding("PLEASE WAIT<br>WHILE YOUR SIGN IN DETAILS ARE VERIFIED", "block")
        flage = true;
    }
    return flage;
    

} 
function CloseMessage() {
    LoadMessage("", 'none')
    var dis = "none";
    try {
        if (hidLayer != null && hidLayer == "1") {
            dis = "block";
        }
    }
    catch (err)
    { }
    showDiv(dis)
}

function LoadLoding(message, display) {
    document.getElementById('conntents').style.display = display;
    document.getElementById("btnOk").style.display = "none";
    document.getElementById("MessageHeading").innerHTML = message;
    document.getElementById("message").innerHTML = "";  //"<img src='/DesktopModules/Signin/images/preloading.gif' align='absmiddle' />";
    document.getElementById("imgloading").style.display = "block";
}

function LoadMessage(param, display) {
    showDiv('block');
    document.getElementById("btnOk").style.display = "block";
    document.getElementById("imgloading").style.display = "none";
    document.getElementById("lnksignup").style.display = "none";
    document.getElementById('conntents').style.display = display;

    if (param == "loading") {
        document.getElementById("btnOk").style.display = "none";
        document.getElementById("MessageHeading").innerHTML = "PLEASE WAIT<BR>WHILE YOUR INFORMATION IS VERIFIED"
        //document.getElementById("message").innerHTML = "<img src='/DesktopModules/Signin/images/preloading.gif' align='absmiddle' />";
        document.getElementById("message").innerHTML = "";
        document.getElementById("imgloading").style.display = "block";

    }
    else if (param == "numberEmpty") {
        document.getElementById("MessageHeading").innerHTML = "WRONG PHONE NUMBER "
        document.getElementById("message").innerHTML = "Phone number is requried. Please try again!";
        document.getElementById("btnOk").focus();
    }
    else if (param == "EmergancyNumber") {
        document.getElementById("MessageHeading").innerHTML = "PHONE NUMBER ERROR"
        document.getElementById("message").innerHTML = "Emergency numbers cannot be called through this service. Please call your emergency number directly from the phone you are using.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PhoneNumberDigit") {
        document.getElementById("MessageHeading").innerHTML = "PHONE NUMBER ERROR"
        document.getElementById("message").innerHTML = "The number may contains only digits.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PhoneNumberShort") {
        document.getElementById("MessageHeading").innerHTML = "PHONE NUMBER ERROR"
        document.getElementById("message").innerHTML = "The number is too short.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "passwordEmpty") {
        document.getElementById("MessageHeading").innerHTML = "WRONG PASSWORD"
        document.getElementById("message").innerHTML = "Password is requried. Please try again!";
        document.getElementById("btnOk").focus();
    }
    else if (param == "passwordIncorrect") {
        document.getElementById("MessageHeading").innerHTML = "WRONG PASSWORD"
        document.getElementById("message").innerHTML = "Your password may only contain numbers minimum 4 and maximum 6";
        document.getElementById("btnOk").focus();
    }
    else if (param == "CheckPasswordSeries") {
    document.getElementById("MessageHeading").innerHTML = "BETTER PASSWORD REQUIRED"
    document.getElementById("message").innerHTML = "Please provide a password which is more complex and difficult for others to guess.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "userNotExisit") {
        document.getElementById("MessageHeading").innerHTML = "WRONG PHONE NUMBER OR PASSWORD"
        document.getElementById("message").innerHTML = "Please try again!";
        document.getElementById("btnOk").focus();
        document.getElementById("lnksignup").style.display = "block";
    }
    else if (param == "phoneNumberIncorrect") {
        document.getElementById("MessageHeading").innerHTML = "WRONG PHONE NUMBER"
        document.getElementById("message").innerHTML = "Your phone number may only contain numbers";
        document.getElementById("btnOk").focus();
    }
    else if (param == "phoneNumberLength") {
        document.getElementById("MessageHeading").innerHTML = "WRONG PHONE NUMBER";
        document.getElementById("message").innerHTML = "Please use the full international number, for example: +1234567890";
        document.getElementById("btnOk").focus();
    }
    else if (param == "forgotPassword") {
        document.getElementById("MessageHeading").innerHTML = "FORGOT YOUR PASSWORD?"
        document.getElementById("message").innerHTML = "Don't worry, we will send you your password if you just enter any of the phone numbers you have added to our service below. Remember to include your country code and area code.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "ContactUs") {
        document.getElementById("MessageHeading").innerHTML = "THANK YOU FOR WRITING TO US!"
        document.getElementById("message").innerHTML = "We will get back to you shortly.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "NameEmpty") {
        document.getElementById("MessageHeading").innerHTML = "<b>Field Value Is Requried</b>"
        document.getElementById("message").innerHTML = "Name is requried";
        document.getElementById("btnOk").focus();
    }
    else if (param == "countryEmpty") {
        document.getElementById("MessageHeading").innerHTML = "<b>Field Value Is Requried</b>"
        document.getElementById("message").innerHTML = "Select a country";
        document.getElementById("btnOk").focus();
    }
    else if (param == "ContactSaved") {
        document.getElementById("MessageHeading").innerHTML = "CONTACT ADDED"
        document.getElementById("message").innerHTML = "Contact has been saved";
        document.getElementById("btnOk").focus();
    }
    else if (param == "ContactDeleted") {
        document.getElementById("MessageHeading").innerHTML = "CONTACT DELETED"
        document.getElementById("message").innerHTML = "Contact has been deleted";
        document.getElementById("btnOk").focus();
    }
    else if (param == "EmailIncorrect") {
        document.getElementById("MessageHeading").innerHTML = "<b>Invalid Value</b>"
        document.getElementById("message").innerHTML = "Email field has incorrect value";
        document.getElementById("btnOk").focus();
    }
    else if (param == "RTCPaymentFailed") {

        var msg = "Please check the following:<br>";
        msg += "<ol><li>Make sure your card number(s), CVC and expiry date are correct.</li>";
        msg += "<li>Make sure you have entered your name as it is written on your card.</li>";
        msg += "<li>Make sure you have enough credit on your card.</li>";
        msg += "<li>Make sure your card holder address is correct and identical to your bank statement and/or card registration. Make sure your card holder address is correct and identical to your bank statement and/or card registration. If these address details are the same as for your Operator One account, please make sure the address on your bank statement matches the stored address details of your Operator One account.</li></ol>";
        msg += "<br>Please, verify the above and try again. If the problem persists, contact our customer service on <a class='footerurllink' href='mailto:info@operatorone.com'>info@operatorone.com</a>";
        document.getElementById("MessageHeading").innerHTML = "<b>There was a problem with your payment.</b>"
        document.getElementById("message").innerHTML = msg;  //"Transaction has been terminated.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "RTCPaymentSucces") {
        document.getElementById("MessageHeading").innerHTML = "TRANSACTION COMPLETED"
        document.getElementById("message").innerHTML = "Transaction has been completed.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "ContactUpdated") {
        document.getElementById("MessageHeading").innerHTML = "CONTACT INFORMATION";
        document.getElementById("message").innerHTML = "Your contact information has been changed.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "EmailSettings") {
        document.getElementById("MessageHeading").innerHTML = "E-MAIL FROM OPERATOR ONE";
        document.getElementById("message").innerHTML = "Your settings have been changed.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "VatUpdated") {
        document.getElementById("MessageHeading").innerHTML = "VAT-NUMBER";
        document.getElementById("message").innerHTML = "Your VAT-number has been saved.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "VatRemoved") {
        document.getElementById("MessageHeading").innerHTML = "VAT-NUMBER";
        document.getElementById("message").innerHTML = "Your VAT-number has been removed.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "VatInvalid") {
        document.getElementById("MessageHeading").innerHTML = "VAT-NUMBER";
        document.getElementById("message").innerHTML = "The VAT-number provided is invalid. Please try again.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "VatError") {
        document.getElementById("MessageHeading").innerHTML = "VAT-NUMBER";
        document.getElementById("message").innerHTML = "Cannot save VAT-number, try latter.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PasswordUpdated") {
        document.getElementById("MessageHeading").innerHTML = "CHANGE PASSWORD";
        document.getElementById("message").innerHTML = "Your password has been changed.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PasswordError") {
        document.getElementById("MessageHeading").innerHTML = "CHANGE PASSWORD";
        document.getElementById("message").innerHTML = "Cannot change password, try latter.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "OldPasswordError") {
        document.getElementById("MessageHeading").innerHTML = "CHANGE PASSWORD";
        document.getElementById("message").innerHTML = "Old password is wrong, try again.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PhoneNumberDeleted") {
        document.getElementById("MessageHeading").innerHTML = "DELETE PHONE NUMBER";
        document.getElementById("message").innerHTML = "Your phone number has been deleted.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PhoneNumberDeleteError") {
        document.getElementById("MessageHeading").innerHTML = "DELETE PHONE NUMBER ERROR";
        document.getElementById("message").innerHTML = "Cannot delete phone number, try latter.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PrimaryNumberChanged") {
        document.getElementById("MessageHeading").innerHTML = "CHANGE PRIMARY NUMBER";
        document.getElementById("message").innerHTML = "Your primary number has been changed.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PrimaryNumberError") {
        document.getElementById("MessageHeading").innerHTML = "CHANGE PRIMARY NUMBER ERROR";
        document.getElementById("message").innerHTML = "Cannot change primary number, try latter.";
        document.getElementById("btnOk").focus();
    }
    else if (param == "PhoneNumberError") {
        document.getElementById("MessageHeading").innerHTML = "PHONE NUMBER ERROR";
        document.getElementById("message").innerHTML = "The same phone number can only be added once.";
        document.getElementById("btnOk").focus();
    }
    else {
        document.getElementById("MessageHeading").innerHTML = "";
        document.getElementById("message").innerHTML = "";
    }

}



function showDiv(display) {
    //document.getElementById('overlayer').style.height = document.body.offsetHeight + 'px'
    document.getElementById('overlayer').style.height = eval(document.body.scrollHeight + document.body.offsetTop) + 'px'
    document.getElementById('overlayer').style.width = eval(document.body.scrollWidth + document.body.offsetLeft) + 'px'
    document.getElementById('overlayer').style.display = display;
    showdeadcenterdiv();
}
window.onresize = function() {
    if (document.getElementById('overlayer').style.display == "block") {
        document.getElementById('overlayer').style.height = eval(document.body.scrollHeight + document.body.offsetTop) + 'px'
        document.getElementById('overlayer').style.width = eval(document.body.scrollWidth + document.body.offsetLeft) + 'px'
        //showdeadcenterdiv();
    }
}

function showdeadcenterdiv(display) {
    //if (display == "block") {
    var o = document.getElementById("conntents");
    var Xwidth = o.style.width;
    var Yheight = o.style.height;

    // First, determine how much the visitor has scrolled

    var scrolledX, scrolledY;
    if (self.pageYoffset) {
        scrolledX = self.pageXoffset;
        scrolledY = self.pageYoffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop) {
        scrolledX = document.documentElement.scrollLeft;
        scrolledY = document.documentElement.scrollTop;
    }
    else if (document.body) {
        scrolledX = document.body.scrollLeft;
        scrolledY = document.body.scrollTop;
    }

    // Next, determine the coordinates of the center of browser's window

    var centerX, centerY;
    if (self.innerHeight) {
        centerX = self.innerWidth;
        centerY = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
        centerX = document.documentElement.clientWidth;
        centerY = document.documentElement.clientHeight;
    }
    else if (document.body) {
        centerX = document.body.clientWidth;
        centerY = document.body.clientHeight;
    }
    Xwidth = 500;  //Xwidth.replace("px", "");
    Yheight = Yheight.replace("px", "");
    // Xwidth is the width of the div, Yheight is the height of the
    // div passed as arguments to the function:
    var leftoffset = scrolledX + (centerX - Xwidth) / 2;
    var topoffset = (scrolledY + (centerY - Yheight) / 2) - 150;
    // The initial width and height of the div can be set in the
    // style sheet with display:none; divid is passed as an argument to // the function
    //alert(Xwidth);
    //alert(Yheight);

    var r = o.style;
    // r.display = "block";
    r.position = 'absolute';
    r.top = topoffset + 'px';

    r.left = leftoffset + 'px';
    //}
}
