﻿var xmlHttp;
var FrameToUse = "";
var LoadingDiv = "";
var LoadMore = "";
var LoadMoreDiv = "";

function Ajax_Get_Variation(ProviderID, ProductID, ValIDs) {
    FrameToUse = "pricespan";
    LoadingDiv = "";
    var url = "Handlers/Ajax_DND.aspx?Type=Get_Variation&ProviderID=" + ProviderID + "&ProductID=" + ProductID + "&ProductVals=" + ValIDs;
    xmlHttp = GetXmlHttpObject(stateChangedVals);
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function Ajax_Add_To_Cart(p, q, pid, ProductVals, Comments) {
    FrameToUse = "CartWidget";
    LoadingDiv = "";
    var url = "Handlers/Ajax_DND.aspx?PID=" + pid + "&Type=Add_To_Cart&ProductID=" + p + "&Quantity=" + q + "&ProductVals=" + ProductVals + "&Comments=" + Comments;
    xmlHttp = GetXmlHttpObject(stateChanged);
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function Ajax_Remove_From_Cart(Order_Cart_ID, pid) {
    FrameToUse = "CartWidget";
    LoadingDiv = "";
    var url = "Handlers/Ajax_DND.aspx?PID=" + pid + "&Type=Remove_From_Cart&Order_Cart_ID=" + Order_Cart_ID;
    xmlHttp = GetXmlHttpObject(stateChanged);
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function CartSetQuantityVal(x, Type) {
    if (Type == '+') {
        if (parseInt($(x).prev(".qty").val()) < 10)
            $(x).prev(".qty").val(parseInt($(x).prev(".qty").val()) + 1);
    }
    else {
        if (parseInt($(x).next(".qty").val()) > 0)
            $(x).next(".qty").val(parseInt($(x).next(".qty").val()) - 1);
    }
}

function Ajax_LoadWidgets(ProviderID, EntityTypeID, CatID, RowsCount, Frame) {
    FrameToUse = Frame;
    LoadingDiv = "";
    var url = "Handlers/Ajax_DND.aspx?Type=LoadWidgets&ProviderID=" + ProviderID + "&EntityTypeID=" + EntityTypeID + "&CatID=" + CatID.replace('+', '%2b').replace('==','%3d%3d') + "&RowsCount=" + RowsCount;
    xmlHttp = GetXmlHttpObject(stateChanged);
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function stateChanged()
{
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        //document.all('LoadingDiv').style.display="none";
        //alert(xmlHttp.responseText);
        $('.' + FrameToUse).html(xmlHttp.responseText);
        //document.getElementById(FrameToUse).innerHTML = xmlHttp.responseText;
        //document.all(FrameToUse).style.display = "none";
    }
}

function stateChangedVals() {
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        $('.' + FrameToUse).html(xmlHttp.responseText);
        var res = xmlHttp.responseText.split(';');
        var price = res[0];
        var img = res[1];
        $('.' + FrameToUse).html(price);
        try {
            UpdateVarImge(img);
        }
        catch (error){ }

        //$('.btn_AddToCart').prop('disabled', true); 

        //document.getElementById(FrameToUse).innerHTML = xmlHttp.responseText;
        //document.all(FrameToUse).style.display = "none";
    }
}

function GetXmlHttpObject(handler)
{
        var objXmlHttp=null;

        if (navigator.userAgent.indexOf("Opera")>=0)
        {
                alert("This example doesn't work in Opera");
                return;
        }
        if (navigator.userAgent.indexOf("MSIE")>=0)
        {
                var strName="Msxml2.XMLHTTP";
                if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
                {
                        strName="Microsoft.XMLHTTP";
                }
                try
                {
                        objXmlHttp=new ActiveXObject(strName);
                        objXmlHttp.onreadystatechange=handler;
                        return objXmlHttp;;
                }
                catch(e)
                {
                        alert("Error. Scripting for ActiveX might be disabled");
                        return;
                }
        }
        if (navigator.userAgent.indexOf("Mozilla")>=0)
        {
                objXmlHttp=new XMLHttpRequest();
                objXmlHttp.onload=handler;
                objXmlHttp.onerror=handler;
                return objXmlHttp;
        }
}

function Replace_State_Text(Stext) {
    var Rep_String = Stext.replace('name=\"__VIEWSTATE\" id=\"__VIEWSTATE\"', 'name=\"VS\"');
    var Rep_String = Rep_String.replace('__E', 'EV');
    return Rep_String;
}

//------------------------------------------------------------------------------------------------------------------

//Page url https://gist.github.com/Convincible/aade715f852be7d61915e3d9d3cab7c1

/*  ?onload=recaptchaLoad&render=explicit
$('form.form').each(function (i, el) {
    // Run over all forms on the page, and set some data on them to retrieve later
    var form = $(el);
    var info = $('.form-info', form).first()[0];
    var submit = $('.form-submit', form).last()[0];
    form.data('id', i);
    form.data('info', info);
    form.data('submit', submit);
});

// Bind our logic to each form's submit function
// This will only actually run if HTML5 validation passes first
$('from.form').submit(function (e) {
    e.preventDefault(); // Don't submit immediately
    var form = $(this);
    widget = form.data('grecaptcha-widget'); // This is set by the recaptchaLoad function below

    formMessage(form, 'Checking you\'re not a robot...', 0);
    grecaptcha.execute(widget); // Now execute this specific CAPTCHA – recaptchaResponse will be called
});


// Called once the external JS from reCAPTCHA has loaded
function recaptchaLoad() {
    console.log('Loading reCAPTCHAs...');

    // Form each form
    $('form.form').each(function (i, el) {
        var form = $(el);
        // Find the (first – there should be only 1 per form anyway) captcha div
        var captcha = form.find('.g-recaptcha').first()[0];
        var id = form.data('id');

        // Render the recaptcha but do not bind it to anything – at this point it won't actually run
        widget = grecaptcha.render(captcha, {
            'sitekey': '6LdyNjoqAAAAACKVg_-IRLD2sKIV3KxzkDrOnK2n',
            'callback': function (token) {
                recaptchaResponse(form[0], token); // Essential to be able to identify the specific form/widget
            },
            'badge': 'inline',
            'size': 'invisible'
        });
        // Save the id of this reCAPTCHA widget against the form itself
        form.data('grecaptcha-widget', widget);

        console.log('Form ' + id + ': Loaded');

    });
}


// Called after the reCAPTCHA has been executed
function recaptchaResponse(form, token) {
    // Get the widget id from the form that executed this captcha
    widget = $(form).data('grecaptcha-widget');
    response = grecaptcha.getResponse(widget);
    if (response) {
        formMessage(form, 'Thanks for confirming you\'re human.', 1);
        // CAPTCHA has passed – now send the form data
        formSendAjax(form);
    } else {
        formMessage(form, 'Please complete the reCAPTCHA in order to submit the form.', -1);
    }
    // Reset the widget in any case so it's ready for a further submission
    grecaptcha.reset(widget);
}


// Send data to the action defined in the form, over AJAX
function formSendAjax(form) {
    form = $(form);
    formMessage(form, 'Sending...', 0);
    $.ajax({
        type: form.attr('method'),
        url: form.attr('action'),
        dataType: 'json',
        data: form.serialize(),
        success: function (data) {
            formMessage(form, 'Thanks, your message has been sent. We\'ll respond ASAP.', 1);
            form.trigger('reset');
        },
        error: function (data) {
            formMessage(form, 'Sorry, something went wrong. Please email us manually instead.', -1);
        }
    });
}


// Just a helpful info message that is updated as the form goes through different stages
function formMessage(form, msg, state = 0) {
    form = $(form);
    id = form.data('id');
    info = $(form.data('info'));

    console.log('Form ' + id + ': ' + msg);
    info.text(msg);

    switch (state) {
        case 1:
            info.addClass('form-info-success');
            info.removeClass('form-info-error');
            info.removeClass('form-info-fyi');
            break;
        case -1:
            info.addClass('form-info-error');
            info.removeClass('form-info-success');
            info.removeClass('form-info-fyi');
            break;
        default:
            info.addClass('form-info-fyi');
            info.removeClass('form-info-success');
            info.removeClass('form-info-error');
    }
}
*/
//------------------------------------------------------------------------------------------------------------------

var form = $('#contact-form');
form.submit(function (event) {
        event.preventDefault();

        var $captcha = $('#g-recaptcha'),
            response = grecaptcha.getResponse();

        if (response.length === 0) {
            $('.msg-error').html("<div class='alert alert-danger' role='alert'>  חובה לסמן אני לא רובוט!</div>");
            if (!$captcha.hasClass("error")) {
                $captcha.addClass("error");
                return false;
            }
        }
        else {
            $('.msg-error').text('');
            $captcha.removeClass("error");
            form.unbind('submit').submit();
        }
    }
);


var form1 = $('#contact-form1');
form1.submit(function (event) {
    event.preventDefault();

    var $captcha = $('#contact-form1').closest('.g-recaptcha'),
        response = grecaptcha.getResponse();

    if (response.length === 0) {
        $('.msg-error1').html("<div class='alert alert-danger' role='alert'>  חובה לסמן אני לא רובוט!</div>");
        if (!$captcha.hasClass("error")) {
            $captcha.addClass("error");
            return false;
        }
    }
    else {
        $('.msg-error1').text('');
        $captcha.removeClass("error");
        form.unbind('submit').submit();
    }
}
);

var form2 = $('#contact-form2');
form2.submit(function (event) {
    event.preventDefault();

    var $captcha = $('#contact-form2').closest('.g-recaptcha'),
        response = grecaptcha.getResponse();

    if (response.length === 0) {
        $('.msg-error2').html("<div class='alert alert-danger' role='alert'>  חובה לסמן אני לא רובוט!</div>");
        if (!$captcha.hasClass("error")) {
            $captcha.addClass("error");
            return false;
        }
    }
    else {
        $('.msg-error2').text('');
        $captcha.removeClass("error");
        form.unbind('submit').submit();
    }
}
);

var form3 = $('#contact-form3');
form3.submit(function (event) {
    event.preventDefault();

    var $captcha = $('#contact-form3').closest('.g-recaptcha'),
        response = grecaptcha.getResponse();

    if (response.length === 0) {
        $('.msg-error3').html("<div class='alert alert-danger' role='alert'>  חובה לסמן אני לא רובוט!</div>");
        if (!$captcha.hasClass("error")) {
            $captcha.addClass("error");
            return false;
        }
    }
    else {
        $('.msg-error3').text('');
        $captcha.removeClass("error");
        form.unbind('submit').submit();
    }
}
);