﻿var RECAPTCHA_ENABLED_VIDEOS = false;

jQuery(document).ready(function () {
    jQuery('#formSendVideo').submit(function () {        
        return ValidateForm();
    });

    CreateRecaptchaVideos();
})

function ValidateForm() {    
    var txtName = jQuery('#txtName');
    var txtEmail = jQuery('#txtEmail');
    var txtTitle = jQuery('#txtTitle');
    var txtUrlVideo = jQuery('#txtUrlVideo');
    var txtTags = jQuery('#txtTags');
    var chkTerms = jQuery('#chkTerms');
    var contentMsg = jQuery('span.alert')[0];
    var inputText = jQuery('input[type="text"]');
    var spanError = jQuery('#formSendVideo span');
    var msg = "Los siguientes campos son obligatorios: <br />";
    var alertBox = jQuery('span.alert');
    var attentionBox = jQuery('span.attention');
    //var approvedBox = jQuery('.approved.box');
    var returnValue;
    var boolean;

  //  inputText.removeClass('errorValInputAlert');
   // inputText.removeClass('errorValInputAttention');
    spanError.removeClass('errorSpanAlert');
    spanError.removeClass('errorSpanAttention');    
    alertBox.hide();
    attentionBox.hide();
    //approvedBox.hide();

    if (!isLogin) {
        boolean = ISNull(txtName);
        returnValue = boolean;
        if (boolean) {
            var lblName = ShowErrorField(txtName);
            msg = msg + lblName + ', ';
        }

        boolean = ISNull(txtEmail);
        returnValue = returnValue || boolean;
        if (boolean) {
            var lblEmail = ShowErrorField(txtEmail);
            msg = msg + lblEmail + ', ';
        }
        else {
            //var patronEmail = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
            var patronEmail = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
            if (!patronEmail.test(txtEmail.val())) {
                //jQuery(txtEmail).addClass('errorValInputAttention');
                jQuery(txtEmail).next().addClass('errorSpanAttention');
                jQuery('#pAtttentionBox')[0].innerHTML = MSG_FORMAT_EMAIL;
                attentionBox.("display", "block");

                returnValue = returnValue || true;
            }
        }
    }

    boolean = ISNull(txtTitle);
    returnValue = returnValue || boolean;
    if (boolean) {
        var lblTitle = ShowErrorField(txtTitle);
        msg = msg + lblTitle + ', ';        
    }

    boolean = ISNull(txtUrlVideo)
    returnValue = returnValue || boolean;
    if (boolean) {
        var lblUrlVideo = ShowErrorField(txtUrlVideo);
        msg = msg + lblUrlVideo + ', ';        
    }

    boolean = ((CheckTagsMorePopular()).length == 0)
    returnValue = returnValue || boolean;
    if (boolean) {
        var lblTags = ShowErrorField(txtTags);
        msg = msg + lblTags + ', ';        
    }
    
    if (boolean) {
        var lenMsg = msg.length;
        var isComma = jQuery.trim(msg).substring(lenMsg - 2, lenMsg - 1)
        if (isComma == ',') {
            msg = jQuery.trim(msg).substring(0, lenMsg - 2)
        }              
        contentMsg.innerHTML = msg;
        alertBox.css("display", "block");
    }

    if (!returnValue) {
        if (RECAPTCHA_ENABLED_VIDEOS) {
            var obj = RecaptchaCmtsVideos();
            returnVal = obj.Success;

            Recaptcha.reload();
            jQuery('#recaptcha_instructions_error').addClass("recaptcha_only_if_incorrect_sol");
            jQuery('#recaptcha_instructions_image').show();
            if (!returnVal) {
                jQuery('#recaptcha_instructions_image').hide();
                jQuery('#recaptcha_instructions_error').removeClass("recaptcha_only_if_incorrect_sol");
            }
            returnValue = returnValue || (!returnVal);
        }        
    }

    return !returnValue    
}


function ISNull(obj) {
    var returnValue;
    var value = jQuery(obj).val();

    returnValue = jQuery.trim(value).length == 0

    return returnValue
}

function ShowErrorField(obj) {
    var returnValue = jQuery('label[for="' + obj[0].id + '"]')[0].innerHTML;
    //obj.addClass('errorValInputAlert');
    jQuery(obj).next().addClass('errorSpanAlert');
    return returnValue
}

function CheckTagsMorePopular() {
    var name = jQuery('#txtTags');
    var patt = /[^\w\,\s]/g;
    var result = name.val().replace(patt, "");                
    //var listTagsItems = jQuery('.lnkMorePopular');       
    var validTags = '';
    var existTag = false;
    var items = result.split(',');
    jQuery.each(items, function () {
        var nameItem = jQuery.trim(this.toString()).toLowerCase();
        if (nameItem != '') {
            existTag = false;
            var res = validTags.replace(patt, "");
            var itemRes = res.split(',');
            jQuery.each(itemRes, function () {
                var tag = this;
                if (jQuery.trim(tag).toLowerCase() == nameItem) {
                    existTag = true;
                }
            });
            if (!existTag) {
                validTags = validTags + nameItem + ", "
            }
        }
    })

    if (validTags.length > 0) {
        var len = validTags.length;
        validTags = validTags.substring(0, len - 2);
        name.val(validTags);
    }
    
    return validTags   
}

function InsertTagPopular(namePop) {   
    var value = jQuery('#txtTags').val()
    var name = jQuery('#txtTags');
    var patt = /[^\w\,\s]/g;
    var result = name.val().replace(patt, "");
    var items = result.split(',');
    var validTags = '';
    var existTag = false;
    jQuery.each(items, function () {
        var nameItem = jQuery.trim(this.toString()).toLowerCase();
        if (nameItem != '') {
            if (nameItem == namePop) {
                existTag = true
            }     
        }
    })

    if (!existTag) {
        validTags = value + ", " + namePop
        name.val(validTags);
    }
}


function RecaptchaCmtsVideos() {
    var returnValue;
    var rcf = Recaptcha.get_challenge();
    var rrf = Recaptcha.get_response();
    var dataToSend = { "remoteip": IP, "challenge": rcf, "response": rrf };
    var jsonStr = JSON.stringify(dataToSend);
    jQuery.ajax({
        async: false,
        type: "POST",
        url: "RecapthaZensell.aspx",
        data: jsonStr,
        dataType: "text",
        success: function (result) { returnValue = Success_RecaptchaCmtsVideos(result) },
        error: function (XMLHttpRequest, textStatus) { var response = JSON.parse(XMLHttpRequest.responseText); if (response.Message) { alert(response.Message) } else { alert(textStatus) }; }
    });

    return returnValue;
}

function Success_RecaptchaCmtsVideos(result) {
    var returnValue = new ResultRecaptchaVideos();
    var rel = result.split(SEPARATOR_ZENSELL)
    var len = rel.length;
    var bool = rel[0].split("\n")[0];
    if (bool == "true") {
        bool = true
    }
    else {
        bool = false
    }
    returnValue.Success = bool;
    returnValue.MsgError = rel[0].split("\n")[1];
    if (len > 1) {
        returnValue.jsError = rel[1];
    }
    return returnValue;
}

function CreateRecaptchaVideos() {
    if (RECAPTCHA_ENABLED_VIDEOS) {
        Recaptcha.create(K_CAPTCHA_PUBLIC, "captchaDivVideos", {
            theme: "white",
            lang: "es",
            tabindex: 2
        });
    }
}

function ResultRecaptchaVideos() {
    this.Success = false;
    this.MsgError = '';
    this.jsError = '';
}
