﻿var request;

function IsFireFoxBrowser() {
    var ua = navigator.userAgent.toLowerCase();
    return (ua.indexOf("gecko") != -1);
}
// Показываем\скрываем элемент
function SendQeustion(elementName) {

    var element = document.getElementById(elementName);
    if (element.style.display == 'none') {
        element.style.display = 'block';
    }
    else {
        element.style.display = 'none'
    }
}

function CheckEmailRemPassword(name,form) {

    if (IsEmail(name) == true) {
        form.submit();
    }
    else {
        alert('Вы ввели неправильный адрес электронной почты.');
    }
}
// Проверяем данные при отправке вопроса пользователем.
function CheckQuestionData(name, mail, question, form) {

    var hasErrors = 0;
    
    if (name.value == null || mail.value == null || question.value == null){
        hasErrors = 1;
    }

    if (hasErrors == 0) {
        form.submit();
    }
    else {
        alert('Вы ввели не все данные.');
    }
}
// При вводе неправильных значений в текстовые поля, мы их выделяем в красный цвет, надо при фокусе вернуть обратно в белый.
function BackGroundText(elementName) {
    var element = document.getElementById(elementName);
    element.style.background = 'f8f8f8';
}
function SendParameters(form, name) {

	if(name=="active")
		form.setAttribute('action','/management/users/enable.aspx');
	else if(name=="rights")
		form.setAttribute('action','/management/users/changeRights.aspx');
	else if(name=="delete")
		form.setAttribute('action','/management/users/deleteUsers.aspx');
	else if(name=="activeNews")
		form.setAttribute('action','/management/news/enable.aspx');
	else if(name=="deleteNews")
		form.setAttribute('action','/management/news/deleteNews.aspx');
	form.submit();
}

function RegExTest(element,expression)
{
    return element.value.match(expression) != null;
}
function IsEmail(element)
{
    var emailRE = "([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})";
    return RegExTest(element,emailRE);
}
function keyDownEmail(e) 
{
	var ieKey = event.keyCode;
    
	var pass = document.getElementById('LoginPassword');
	
	if(ieKey == 13)
	{
		pass.focus();
	}
}
function keyDownPass() 
{
	var ieKey = event.keyCode;
	var opKey = event.keyCode;
	var form = document.getElementById('authForm');
	
	if(ieKey == 13 || opKey == 13)
	{
		form.submit();
	}
}
function CheackUserData()
{
	var hasErrors = 0;
	
	form = document.getElementById('PersonData');
	
	var email = document.getElementById('UserEmail');
	if(IsEmail(email) == false)
	{
	    hasErrors = 1;
		email.style.background = "#ffb9b9";
	}

	var lname = document.getElementById('UserLName');
	var pname = document.getElementById('UserPName');
	var fname = document.getElementById('UserFName');
	if(lname.value.length == 0 || fname.value.length == 0 || pname.value.length == 0)
	{
		hasErrors = 1;
		name.style.background = "#ffb9b9";
	}
	if(hasErrors == 0)
	{
		form.submit();
	}
}
function SaveNewPass()
{
	var elem = document.getElementById('OldPass');
	if(elem.disabled == false)
	{
		var hasErrors = 0;
		
		form = document.getElementById('PersonData');
		
		var oldPass = document.getElementById('OldPass');
		if(oldPass.value.length < 6)
		{
			hasErrors = 1;
			oldPass.style.background = "#ffb9b9";
		}
		
		var newPass = document.getElementById('NewPass');
		var newPassRep = document.getElementById('RepNewPass');
		if(newPass.value.length < 6 || newPassRep.value.length < 6)
		{
			hasErrors = 1;
			newPass.style.background = "#ffb9b9";
			alert('Введите пароль больше 6 символов!');
		}
		if(newPass.value != newPassRep.value)
		{
			alert('Введенные пароли не совпадают!');
			hasErrors = 1;
		}
		if(hasErrors == 0)
		{
			form.submit();
		}
	}
}
function EnableDataFieldsIndex() {

	var form = document.getElementById('PersonData');
	var mail = document.getElementById('UserEmail');
	var lname = document.getElementById('UserLName');
	var fname = document.getElementById('UserFName');
	var pname = document.getElementById('UserPName');
	var oldPass = document.getElementById('OldPass');
	var newPass = document.getElementById('NewPass');
	var newPassRep = document.getElementById('RepNewPass');

	if(form[2].disabled == false)
	{
		mail.disabled = true;
		lname.disabled = true;
		pname.disabled = true;
		fname.disabled = true;
		oldPass.disabled = true;
		newPass.disabled = true;
		newPassRep.disabled = true;
	}
	else if(form[2].disabled == true)
	{
		mail.disabled = false;
		lname.disabled = false;
		pname.disabled = false;
		fname.disabled = false;
		oldPass.disabled = false;
		newPass.disabled = false;
		newPassRep.disabled = false;
	}
}
function EnableDataFields()
{
	var form = document.getElementById('PersonData');
	
	if(form[2].disabled == false)
	{
		for(i = 1; i < form.length - 3; i++)
		{
			form[i].disabled = true;
		}
	}
	else if(form[2].disabled == true)
	{
		for(i = 1; i < form.length - 3; i++)
		{
			form[i].disabled = false;
		}
	}
}
// Cheack e-mail && password registr\ation page
// pagefromshop - указывает на то, что мы регимся на странице шопа. чтобы не было кода проверки.
function CheackValueReg(pagefromshop)
{
    var hasErrors = 0;
    var form = document.getElementById('UserData');
	var email = document.getElementById('UserEmail');
	
	if(IsEmail(email) == false)
	{
	    hasErrors = 1;
		email.style.background = "#ffb9b9";
	}
	
	var name = document.getElementById('UserFName');
	if(name.value.length == 0)
	{
		hasErrors = 1;
		name.style.background = "#ffb9b9";
	}

	var lname = document.getElementById('UserLName');
	if (name.value.length == 0) {
	    hasErrors = 1;
	    name.style.background = "#ffb9b9";
	}
	
	var pname = document.getElementById('UserPName');
	if (name.value.length == 0) {
	    hasErrors = 1;
	    name.style.background = "#ffb9b9";
	}
	
	var pass = document.getElementById('UserPassword');
	if(pass.value.length < 6)
	{
		hasErrors = 1;
		pass.style.background = "#ffb9b9";
		alert('Введите пароль больше 6 символов.');
	}
    if (pagefromshop != 'speca') {
        var code = document.getElementById('UserCode');
        if (code != null) {
            if (code.value.length == 0) {
                hasErrors = 1;
                code.style.background = "#ffb9b9";
            }
        }
    }
    var man = null;
    if (pagefromshop != 'manager') 
    {
        var passRep = document.getElementById('UserPasswordRep');
        if (passRep.value.length < 6) {
            hasErrors = 1;
            passRep.style.background = "#ffb9b9";
        }
        if (pass.value != passRep.value) {
            alert('Введенные пароли не совпадают.');
            hasErrors = 1;
        }
    }
    else {
        man = document.getElementById('ctl00_MainContent_manid');
    }

    if (hasErrors == 0) {
        if (pagefromshop == 'speca' || pagefromshop == 'manager') {
            // Регим юзера
            request = GetRequest();
            var url = "/Api/CheckUserEmail.aspx?UserEmail=" + email.value + "&UserLName=" + lname.value +
            "&UserFName=" + name.value + "&UserPName=" + pname.value + "&UserPassword=" + pass;
            var params = "UserEmail=" + email.value + "&UserLName=" + lname.value + "&UserFName=" + name.value + "&UserPName=" + pname.value + "&UserPassword=" + pass;

            if (man != null) {
                url += "&ManagerId=" + man.value;
                params += "&ManagerId=" + man.value;
            }
            
            request.open('POST', url, false);
            if (IsFireFoxBrowser) {
                request.send(params);
                request.onreadystatechange = RegNewUser();
            }
            else {
                // Setup a function for the server to run when it's done
                request.onreadystatechange = RegNewUser;
                // Send the request
                request.send(null);
            }
        }
        else {
            form.submit();
        }
	}
	else
	{
	    alert('Вы ввели не все данные.');
	}
}

function RegNewUser() {

    var form = document.getElementById('UserData');
    if (request.readyState != 4) return;
    var answer = request.responseText;
    if (answer == '0') {
        alert('Извините! Такой e-mail адрес уже существует.');
    }
    else if (answer == '1') {
        alert('Благодарим Вас!"Регистрация прошла успешно.Теперь Вы можете заполнить ваши реквизиты.');
        form.submit();
    }
}

// Сабмит формы создания новости в админке.
function SubmitNewsData()
{
    var form = document.getElementById('newsData');
    form.submit();
}

function SetCheck(checkbox) {
    if (checkbox.checked == false) {
        checkbox.checked = true;
    }
    else {
        checkbox.checked = false;
    }
}

///////////////////////////////////////////////////////////////////////////////////////////////////
// Обращение к результату 
function GetRequest() {

    var request = null, e;
    try {
        request = new XMLHttpRequest();
    }
    catch (e) {
        try {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                request = false;
            }
        }
    }
    if (!request)
        alert("Error initializing XMLHttpRequest!");
    else {
        return request;
    }
}

// Отправка вопроса клиента
function SendQuestionForUs(UserNameQuestion, UserEmailQuestion, UserQuestion) {

    var sendFlag = true;
    // Проверка вводимых данных
    if (UserNameQuestion.value == 'Ф.И.О' || UserEmailQuestion.value == 'e-mail' || UserQuestion.value == 'Ваш вопрос') {
        sendFlag = false;
    }
    if (sendFlag == false) {
        alert('Вы не ввели необходимые данные.');
    }
    else {
        // Проверка мыла.
        if (!IsEmail(UserEmailQuestion)) {
            alert('Вы ввели неправильный адрес электронной почты.');
        }
        // Отправка вопроса
        else {
            request = GetRequest();
            var url = '/Api/SendQuestionForUs.aspx?UserName=' + UserNameQuestion.value + '&UserMail=' + UserEmailQuestion.value + '&UserQuestion=' + UserQuestion.value;
            var params = 'UserName=' + UserNameQuestion.value + '&UserMail=' + UserEmailQuestion.value + '&UserQuestion=' + UserQuestion.value;
            request.open('POST', url, false);
            if (IsFireFoxBrowser()) {
                request.send(params);
                request.onreadystatechange = processSendQuestionForUs();
            }
            else {
                // Setup a function for the server to run when it's done
                request.onreadystatechange = processSendQuestionForUs;
                // Send the request
                request.send(null);
            }
        }
    }
}

// Обработка результата отправки вопроса клиента
function processSendQuestionForUs() {

    if (request.readyState != 4) {
        return;
    }
    var answer = request.responseText;
    alert(answer);
}

// Проверка параметров формы авторизации на странице speca.
function CheckValueForm(form) {

    var flag = true;
    for (i = 0; i < form.elements.length - 1; i++) {
        if (form.elements[i].length == 0) {
            flag = false;
        }
    }
    var SpecaEmail = document.getElementById('SpecaEmail');
    var SpecaPass = document.getElementById('SpecaPass');
    if (flag == true) {
        request = GetRequest();
        var url = '/Api/IdentificationUser.aspx?SpecaEmail=' + SpecaEmail.value + '&SpecaPass=' + SpecaPass.value;
        var params = 'SpecaEmail=' + SpecaEmail.value + '&SpecaPass=' + SpecaPass.value;
        request.open('POST', url, false);
        if (IsFireFoxBrowser()) {
            request.send(params);
            request.onreadystatechange = processIdentification();
            form.submit();
        }
        else {
            // Setup a function for the server to run when it's done
            request.onreadystatechange = processIdentification;
            // Send the request
            request.send(null);
        }
    }
}

function processIdentification() {

    if (request.readyState != 4) {
        return;
    }
    else {
        var answer = request.responseText;
        if (answer == '0') {
            alert('Вы ввели неправильный логин или пароль.');
        }
        else if(answer == '1'){
        var form = document.getElementById('SpecaAuthForm');
            form.submit();
        }
    }
}