﻿//расчёт общей стоимости
function calcPrice()
{
    var elements = document.getElementsByName("count");
    if (elements)
    {
       
        var priceSum = 0;
        for (i = 0; i < elements.length; i++)
        {
            try
            {
                var price = parseInt(document.getElementById(elements[i].id + "price").innerHTML);
                var count = parseInt(elements[i].value);
                
                elements[i].parentNode.parentNode.parentNode.parentNode.className = (count == 0) ? "row" : "row selected";
                
                priceSum += price * count;
            }
            catch (e){}
        }
        
        document.getElementById("totalPrice").innerHTML = priceSum + getNameOfNumber(priceSum + "", " рублей", " рубль", " рубля");
    }
}

//прибавить 1
function countPlus(id)
{
    var input = document.getElementById(id);
    input.value = parseInt(input.value) + 1;
    calcPrice();    
}


//отнять 1
function countMinus(id)
{
    var input = document.getElementById(id);
    if (input.value == 0) return;
    input.value = parseInt(input.value) - 1;
    calcPrice();
}


function checkNumber(eInput)
{
    if (eInput.value)
    {
        sNew = eInput.value.replace(/[^0-9]/g, "");
        
        if (sNew.charAt(0) == "0") sNew = sNew.slice(1);       
        if (sNew == "") sNew = "0";
        
        if (sNew != eInput.value)
        {            
            eInput.value = sNew; 
        }
    }
    else
    {
        eInput.value = "0"; 
    }
    calcPrice();
    return true;
}


function getNameOfNumber(number, form0, form1, form2) //0 - рублей; 1 - рубль; 2 - рубля
{
    var ch = null;
	if (number.length > 1)
	{
		ch = number.substr(number.length - 2, 2);
		switch (ch)
		{
			case '11':case '12':case '13':case '14': return form0;
			default: return getNameOfNumber(number.substr(number.length - 1, 1), form0, form1, form2);
		}
	}
	else
	{
		ch = number.substr(number.length - 1, 1);		
		switch (ch)
		{
			case '1': return form1;
			case '2': case '3': case '4': return form2;
			default: return form0;
		}
	}
}

function showCheck() {
    var check1 = document.getElementById('check');
    if (check1 != null) {
        document.getElementById('check').className = 'check';
    }

    var check2 = document.getElementById('check2');
    if (check2 != null) {
        document.getElementById('check2').display = 'block';
    }
    
	IEPNGFix.update();
}

function hideCheck() {
    var check1 = document.getElementById('check');
    if (check1 != null) {
        document.getElementById('check').className = 'hidden';
    }
 
    var check2 = document.getElementById('check2');
    if (check2 != null) {
        document.getElementById('check2').display = 'none';
    }
}

function CalendarGoFoward() {
    var FirstMonth = document.getElementById('FirstMonth');
    var SecondMonth = document.getElementById('SecondMonth');

    if (FirstMonth != null && SecondMonth != null) {
        FirstMonth.style.visibility = 'hidden'; 
        FirstMonth.style.display = 'none';
        SecondMonth.style.display = 'block';
        SecondMonth.style.visibility = 'visible'; 
    }
}

function CalendarGoBack() {
    var FirstMonth = document.getElementById('FirstMonth');
    var SecondMonth = document.getElementById('SecondMonth');

    if (FirstMonth != null && SecondMonth != null) {
        FirstMonth.style.visibility = 'visible';
        FirstMonth.style.display = 'block';
        SecondMonth.style.display = 'none';
        SecondMonth.style.visibility = 'hidden'; 
    }
}

function OpenWin(url, width, height) {
    var features = "height = " + height + ", width = " + width;
    window.open(url, "", features, "");
}

function checkForgetEmail() {
    var Email = document.getElementById('Email');
    var UserName = document.getElementById('UserName');
    var ErrorMessage = '';

    if (UserName != null) {
        if (UserName.value == '') {ErrorMessage = 'Ваш логин не заполен';}
    }

    if (Email != null) {
        if (echeck(Email.value) == false) {
            if (ErrorMessage.length != 0) { ErrorMessage += ', Введите верный емейл.'; } 
            else {ErrorMessage += 'Введите верный емейл.';}
        }
    }

    if (ErrorMessage.length != 0) {alert(ErrorMessage); return false;}
    else {document.forms['frmForget'].submit();}
}

function echeck(str) {

    var at = "@";
    var dot = ".";
    var lat = str.indexOf(at);
    var lstr = str.length;
    var ldot = str.indexOf(dot);
    
    if (str.indexOf(at) == -1) {return false}
    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) return false;
    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) return false;
    if (str.indexOf(at, (lat + 1)) != -1) return false;
    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) return false;
    if (str.indexOf(dot, (lat + 2)) == -1) return false;
    if (str.indexOf(" ") != -1) return false;

    return true;
}

function GenerateBasket() {
    var NomArray = new Array();
    var NomQntArray = new Array();

    var Items = document.getElementsByTagName('input');
    if (Items == null) { return; }
    if (Items.length == 0) { return; }

    for (var i = 0; i < Items.length; i++) {
        var NomenclatureId = Items[i].id;
        var NomenclatureQnt = Items[i].value;

        NomenclatureId = NomenclatureId.replace('nom_', '')

        NomArray[i] = NomenclatureId;
        NomQntArray[i] = NomenclatureQnt;
    }

    NomArray[Items.length] = ':';
    NomQntArray[Items.length] = ':';


    var poststr = "Basket=" + NomArray.concat(NomQntArray).join();
    var regex_url = new RegExp("(http:.*Home[/])", "");
    var regex_url_menu = new RegExp("(Menu[/].*)", "")
    var menu_date = regex_url_menu.exec(window.location)[0];
    menu_date = menu_date.replace('Menu/', '');
    menu_date = menu_date.replace('.html', '');
    menu_date = menu_date.replace('#', '');

    var url = window.location;
    var good_url = regex_url.exec(url)[0] + 'MakeOrder/';
    poststr = encodeURI('MenuDate=' + menu_date) + encodeURI('&' + poststr);

    makePOSTRequest(good_url, poststr);
}


function UpdateBasket() {
    var NomArray = new Array();
    var NomQntArray = new Array();

    var Items = document.getElementsByTagName('input');
    if (Items == null) { return; }
    if (Items.length == 0) { return; }

    for (var i = 0; i < Items.length; i++) {
        var NomenclatureId = Items[i].id;
        var NomenclatureQnt = Items[i].value;

        NomenclatureId = NomenclatureId.replace('nom_', '')

        NomArray[i] = NomenclatureId;
        NomQntArray[i] = NomenclatureQnt;
    }

    NomArray[Items.length] = ':';
    NomQntArray[Items.length] = ':';

    //Orders/EditOrder/1

    var poststr = "Basket=" + NomArray.concat(NomQntArray).join();
    var regex_url = new RegExp("(http.*.[/]Orders)", "");
    var regex_url_menu = new RegExp("(EditOrder[/].*)", "")
    
    var OrderId = regex_url_menu.exec(window.location)[0];
    OrderId = OrderId.replace('EditOrder/', '');
    OrderId = OrderId.replace('#', '');

    var url = window.location;
    var good_url = regex_url.exec(url)[0].replace('/Orders', '') + '/Orders/UpdateOrder';
    poststr = encodeURI('OrderId=' + OrderId) + encodeURI('&' + poststr);

    makePOSTRequest(good_url, poststr);
}




var http_request = false;
function makePOSTRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = alertContents;
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
}

function alertContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            result = http_request.responseText;
            switch (result) {
                case 'error':
                    alert("Проиошла ошибка");
                    break;
                case 'ok':
                    alert("Ваш заказ сделан");
                    break;
            }
        }
        else {
            alert('There was a problem with the request.');
            alert(http_request.status);
        }
    }
}

function MakeMenuReport() {

    var regex_url = new RegExp("(http:.*Home[/])", "");
    var regex_url_menu = new RegExp("(Menu[/].*)", "")
    var menu_date = regex_url_menu.exec(window.location)[0];
    var good_url = regex_url.exec(window.location)[0] + 'MenuReport/';
    menu_date = menu_date.replace('Menu/', '');
    menu_date = menu_date.replace('.html', '');
    menu_date = menu_date.replace('#', '');
    
    var url = good_url + '?mrep=1&MenuDate=' + menu_date;
    window.open(url, '', '', '');
}

function MakeMenuFormReport() {

    var regex_url = new RegExp("(http:.*Home[/])", "");
    var regex_url_menu = new RegExp("(Menu[/].*)", "")
    var menu_date = regex_url_menu.exec(window.location)[0];
    var good_url = regex_url.exec(window.location)[0] + 'MenuReport/';
    menu_date = menu_date.replace('Menu/', '');
    menu_date = menu_date.replace('.html', '');
    menu_date = menu_date.replace('#', '');

    var url = good_url + '?mfrmrep=1&MenuDate=' + menu_date;
    window.open(url, '', '', '');
}
