/**
 * @author byang
 * extension to form validation, custom rule validation for MiDirecTV, dynamically load rules when needed
*
 */
$(document).ready(function(){


	// store localization information here for custom error message hadling
	// localization values

    var domLocation = $('div#header>ul#topnav-right>li>a').eq(0);
    var languageChooser = domLocation.text();

    
    if (languageChooser != 'Español') {
    
        localAlphaChar = "please enter only letters and numbers";
        localPhone = "Please specify a valid phone number";
	    lCustomPassword = 'Debe contener letras y números y al menos 6 caracteres';
	    lCardSecurity = "Por favor ingrese un código de seguridad válido";
	    lExpDate = "Fecha de expiración inválida";
	    lExpMonth = "Por favor ingrese un mes de expiración válido";
	    lCardType = "Por favor seleccione un tipo de tarjeta";
	    lCardAcct = "Ingrese un número de tarjeta válido";
	    lNameOnCard = "El nombre del portador de la tarjeta es requerido";
	    lCreditCity = 'La ciudad es requerida';
	    lCardPostal = 'El código postal es requerido';
	    lCardNick = 'Por favor añadir un nickname por su cuenta';
	    lCardState = 'El estado es requerido';
	    lCardAddress = 'La dirección es requerida';
	    lAddBankName = 'Nombre del banco es requerido';
	    lBankCode = '- Por favor ingrese un número de ruta válido';
	    lBankCodeAgain = 'Por favor verifique que los cόdigos bancarios sean iguales';
	    lAddAccount	= 'Por favor ingrese un número de cuenta válido';
	    lAddAccountAgain = 'Por favor verifique que los números de cuenta sean iguales';
	    lAddBankNick = 'Por favor añadir un nickname por su cuenta';
    	
	    // Pay Bill - localizeed error messages
	    lPayBillSecurity = 'Por favor ingrese el cόdigo de seguridad';
	    lPayBillPostal = 'Por favor ingrese su cόdigo postal';
	    lPayBillState = 'Por favor ingrese su estado';
	    lPayBillCity = 'Por favor ingrese su ciudad';
	    lPayBillAddress	= 'Por favor ingrese su dirección';
	    lPayBillNameCard = 'Por favor ingrese el nombre en la tarjeta';
	    //lPayBillCardNumber = 'Por ..';
	    lPayBillCardNumber = 'Por favor ingrese el número de tarjeta';
	    lPayBillCardType ='Por favor seleccione un tipo de tarjeta';
	    lPayBillCardExp = 'Por favor seleccione la fecha de venicimiento';
    	
	    lPayBillCardSecCode = $.validator.format("Por favor ingrese al menos {0} caracteres.");
        lPayBillCardSecCodeAux = "Por favor ingrese el código de seguridad";
    	
    	
	    lPayBankName = 'Por favor ingrese el nombre del banco';
	    lPayBillRouting = 'Por favor ingrese el código bancario';
	    lPayBillRouting2 = 'Por favor verifique que los cόdigos bancarios sean iguales';
	    lPayBillAcct = 'Por favor ingrese el número de cuenta';
	    lPayBillAcct2 = 'Por favor verifique que los números de cuenta sean iguales';
	    lEmailSecurityEmail = 'Por favor ingrese una dirección de e-mail asociada con su cuenta'
	    lEmailSecurityPass = 'Por favor ingrese una contraseña válida';
	    lEmailSecurityPass2 = 'Por favor verifique que las contraseñas sean iguales';
	    lEmailSecurityQuestion = 'Por favor seleccione una pregunta segura';
	    lEmailSecurityAnswer = 'Por favor ingrese una respuesta segura';
	    lEmailSecurityOld = 'Por favor ingrese una respuesta';


	    // registration - localized error msgs
        lRegName = 'Por favor ingrese su nombre';
        lRegNameAlpha = 'Debe tener por lo menos un caracter';
        lRegLast = 'Por favor ingrese su apellido';
        lRegNumber = 'Por favor ingrese su número de teléfono';
        lUpdateProfNumber = 'Por favor ingrese su número de teléfono válido';
        lRegEmail = "Por favor ingrese una dirección de e-mail asociada con su cuenta";
        lRegEmail2 = "Por favor verifique que las direcciones de e-mail sean iguales";
        lRegPassword = "Por favor ingrese una contraseña";
        lRegPassword2 = "Por favor verifique que las contraseñas sean iguales";
        lRegAnswer = "Por favor ingrese una respuesta segura";
        lRegSecurity = 'Por favor ingrese una respuesta segura';
        lRegAcct = 'Por favor ingrese el número de cliente';
        lRegPrePaidCard = 'Por favor ingrese el número de Tarjeta Prepago';
        lRegPrePaidCard2 = 'Por favor ingrese el número de Tarjeta Prepago válido';
        lRegSocial = 'Por favor ingrese los últimos 4 dígitos de número se Seguro Social válido';
        lRegSocial2 = 'Por favor ingrese los últimos 4 dígitos de número se Seguro Social válido';
        lRegTel = 'Por favor ingrese su número de teléfono';
        lRegPostal = 'Por favor ingrese su cόdigo postal';
        lRegAcct3 = 'Por favor ingrese el número de cuenta';
        lRegPostal2 = 'Por favor ingrese su cόdigo postal';
	    lCustomPassword2 = 'Por favor ingrese una contraseña válida';
	    lRegPassMaxLengh = 'Max. largo del password 20 caracteres';
	//lRegPassAlphaNum = 'El password debe ser una combinación de caracteres alfanumericos';
	
	
	    lRegIdentityNumber = "Ingrese su número de identidad";
        lUpdateProfileDireccion ='La dirección es requerida';
        lUpdateProfileCity ='La ciudad es requerida';
        lUpdateProfilePostalCode ='';
        lUpdateProfileState ='El estado es requerido';
        lUpdateProfNumber = "El número no es válido";
        lUpdateProfileMovile = 'Por favor ingrese un móvil válido';
        lUpdateProfilePhone = 'Por favor ingrese un número válido';
        lUpdateProfileFax = 'Por favor ingrese un fax válido';
        lUpdateProfileDNI = 'El DNI no es válido';

    }
    else {
        lUpdateProfileDNI = 'Please enter a valid DNI';
        lUpdateProfileDireccion ='Please enter valid address';
        lUpdateProfileCity ='Please enter a valid city';
        lUpdateProfilePostalCode ='Please enter a valid zip Code';
        lUpdateProfileState ='Please enter a valid State';
        lUpdateProfNumber = "Plase enter a valid phone";
        lUpdateProfileMovile = 'Please enter a valid Mobile';
        lUpdateProfilePhone = 'Please enter a valid phone';
        lUpdateProfileFax = 'Please enter a valid fax';


        lRegName = 'Please enter your first name';
        lRegLast = 'Please enter your last name';
        lRegNumber = 'Please enter your phone number';
        lRegEmail = "Please type in a valid email address";
        lRegPassword = "Please enter a password";
        lRegPassword2 = "Please verify that the passwords match";
        lRegAnswer = "Please enter an answer";
        lRegSecurity = 'Please enter a safe answer';
        lRegAcct = 'Please enter the account number';
        lRegSocial = 'Please enter the last 4 digits of a valid Social Security number';
        lRegSocial2 = 'Please enter the last 4 digits of a valid Social Security number';
        lRegTel = 'Please enter your phone number';
        lRegPostal = 'Please enter your postal code';
        lRegAcct3 = 'Please enter the account number';
        lRegPostal2 = 'Please enter your postal code';
        lRegPassMaxLengh = 'Max. length 20 characters';
        //lRegPassAlphaNum = 'Password must be combination of alpha and numeric';



        localAlphaChar = "Please enter only letters and numbers";
        localPhone = "Please specify a valid phone number";    
	    lCustomPassword = 'Must contain letters and numbers';
	    lCardSecurity = "Please enter a valid Security Code";
	    lExpDate = "Invalid Expiration Date";
	    lExpMonth = "Please enter a valid Expiration Month";
	    lCardType = "Please select a type of card";
	    lCardAcct = "Please enter the account number";
	    lNameOnCard = "Credit Card holder name is missing";
	    lCreditCity = 'City is missing';
        lCardPostal = 'Zipcode is missing';
	    lCardNick = 'Please add a nickname for your account';
	    lCardState = 'State is missing';
	    lCardAddress = 'Billing Address1 is missing';
	    lPayBillCardSecCode = $.validator.format("Please enter at least {0} characters.");
	    lPayBillCardSecCodeAux = "Please enter a valid security code.";
    	
    	
	    lAddBankName = 'Bank Name is missing';
	    lBankCode = 'Please enter a valid Routing Number';
	    lBankCodeAgain = 'Please verify the routing numbers';
	    lAddAccount	= 'Please enter a valid Account Number';
	    lAddAccountAgain = 'Please verify the Account Number';
	    lAddBankNick = 'Please add a nickname for your account';

	    lPayBillSecurity = 'Please enter the security code';
	    lPayBillPostal = 'Please enter your postal code';
	    lPayBillState = 'Please enter your state';
	    lPayBillCity = 'Please enter your city';
	    lPayBillAddress	= 'Please enter your address';
	    lPayBillNameCard = 'Please enter the name on the card';
	    lPayBillCardNumber = '(translation not found)';
	    lPayBillCardType ='Please select a type of card';
	    lPayBillCardExp = 'Please select the expiration date';
	    lPayBankName = 'Please enter the bank name';
	    lPayBillRouting = 'Please enter the routing number';
	    lPayBillRouting2 = 'Please verify the routing numbers';
	    lPayBillAcct = 'Please enter the account number';
	    lPayBillAcct2 = 'Please verify the account number';
	    lEmailSecurityEmail = 'Please type in a valid email address';
	    lEmailSecurityPass = 'Please type your password';
	    lEmailSecurityPass2 = 'Please verify that the passwords match';
	    lEmailSecurityQuestion = 'Please select a security question';
	    lEmailSecurityAnswer = 'Please type your security answer';
	    lEmailSecurityOld = 'Please enter an answer';
	    lCustomPassword2 = 'Please enter a password';
	    lRegPrePaidCard = 'please enter a prepaid card number';
        lRegPrePaidCard2 = 'please enter a valid prepaid card number';
    }

        function submmitFunctionality() {
            var doPostBackString = $('.isBtn').attr("href");
            var OnlyLightBox = $("#fancy_outer"); $("body").keypress(function(e) {
                if (e.which == 13) {
                    if (OnlyLightBox == null) {
                        if($('#aspnetForm').valid()){
                            alert(doPostBackString);
                            window.location = doPostBackString;
                        }
                    } else {
                        if($('#form1').valid()){
                            javascript: __doPostBack('ctlChangePasswordLB$lnkChange', '');
                         }
                    }
                    
                }
            });
        }

	
	$.getScript('/midirectv/App_Themes/MyDirectv/js/jquery.validate.cuenta.login.js', function(){
        /*$("#aspnetForm").validate({
            wrapper: "div"
        });*/
        
        // custom method to check for valid char or number
        jQuery.validator.addMethod("alphaChar", function(value, element){
            return this.optional(element) || /[a-zA-Z0-9_]/.test(value);
        }, localAlphaChar);
        
        // custom method to check for US phone number
        jQuery.validator.addMethod("phoneUS", function(phone_number, element){
            phone_number = phone_number.replace(/\s+/g, "");
            return this.optional(element) ||
            phone_number.length > 9 &&
            phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
        }, localPhone);
        
        
        // custom method to check for letter and number
        jQuery.validator.addMethod("customPasswd", function(value, element){
            return this.optional(element) || /[/^\d+$/]/.test(value);
        }, lCustomPassword);

        jQuery.validator.addMethod("password", function(value, element) {
            var result = this.optional(element) || value.length >= 6 && /\d/.test(value) && /[a-z]/i.test(value) && /[,!@#$%^&*\(\)\.\-\_\*\+\?<>]/.test(value);
            return result;
        }, lCustomPassword2);
		
		// a custom method making the default value for companyurl ("http://") invalid, without displaying the "invalid url" message

        jQuery.fn.maxlength = function(){
            $("input[maxlength]").keypress(function(event){

                var key = event.which;
               //all keys including return.
                if(key >= 33 || key == 13) {
                    var maxLength = $(this).attr("maxlength");
                    var length = this.value.length;
                    if(length >= maxLength) {
         
                        event.preventDefault();
                    }
                }
            });
        }

        /*************************************************************************************************************/
        /////////////////////////////////////Landing Page - MiDIRECTV ////////////////////////////////////////////////
        /***********************************************************************************************************/
        var expectedLocation = '/midirectv/landingpage.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
        if (currentLocation == expectedLocation) {
            $('.infiniteCarousel').infiniteCarousel();
			if ($("div.EspnPlay a").length > 0) {
                $("div.EspnPlay a").attr("onclick", "trackPageEvent('Right Middle Targeter','Click-ESPN Play','MiDIRECTV Landing Page');");
            }
        }

        
        // dynamically load javscript for..
        /*************************************************************************************************************/
        //////////////////////////////*/////////Update Profile - MiDIRECTV ///////////////////////////////////////////
        /***********************************************************************************************************/
        
        var expectedLocation = '/midirectv/updateprofile.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
        if (currentLocation == expectedLocation) {

            $("#aspnetForm").validate({
                wrapper: "div"
            });

            submmitFunctionality();
            
            $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_btnSubmit").click(function() {
                return $('#aspnetForm').valid();
            });


            var profileMobile = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtMobilePhone');
            //var profileMobilePrefix = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtMobilePhonePrefix');
            
            var profileTelephone = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtHomePhone');
            //var profileTelephonePrefix = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtHomePhonePrefix');
            
            var profileWorkTelephone = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtWorkPhone');
            //var profileWorkTelephonePrefix = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtWorkPhonePrefix');
            
            
            var fax1 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtfax1');
            //var fax1Prefix = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtfax1Prefix');
            
            var fax2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtfax2');
            //var fax2Prefix = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtfax2Prefix');
            
            var lblValidPrefix="Por favor ingrese un Prefijo válido";

            $(profileWorkTelephone).rules("add", {
                number: true, minlength: 4, maxlength: 20, messages: {
                    number: lUpdateProfilePhone,
                    minlength: lUpdateProfilePhone,
                    maxlength: lUpdateProfilePhone
                }
            });
            /*
            $(profileWorkTelephonePrefix).rules("add", {
                number: true, minlength: 2, maxlength: 4, messages: {
                    number: lblValidPrefix,
                    minlength: lblValidPrefix,
                    maxlength: lblValidPrefix
                }
            });
            */
            $(profileMobile).rules("add", {
                number: true,
                minlength: 4,
                maxlength: 20,
                messages: {
                    number: lUpdateProfileMovile,
                    minlength: lUpdateProfileMovile,
                    maxlength: lUpdateProfileMovile
                }
            });
           /* $(profileMobilePrefix).rules("add", {
                number: true, 
                minlength: 2, 
                maxlength: 3, 
                messages: {
                    number: lblValidPrefix,
                    minlength: lblValidPrefix,
                    maxlength: lblValidPrefix
                }
            });
            */
            $(profileTelephone).rules("add", {
                number: true, minlength: 4, maxlength: 20, messages: {
                    number: lUpdateProfilePhone,
                    minlength: lUpdateProfilePhone,
                    maxlength: lUpdateProfilePhone
                }
            });
            
           /* $(profileTelephonePrefix).rules("add", {
                number: true, minlength: 2, maxlength: 4, messages: {
                    number: lblValidPrefix,
                    minlength: lblValidPrefix,
                    maxlength: lblValidPrefix
                }
            });
            */
            $(fax1).rules("add", {
                number: true, minlength: 4, maxlength: 20, messages: {
                    number: lUpdateProfileFax,
                    minlength: lUpdateProfileFax,
                    maxlength: lUpdateProfileFax
                }
            });
            /*
             $(fax1Prefix).rules("add", {
                number: true, minlength: 2, maxlength: 4, messages: {
                    number: lblValidPrefix,
                    minlength: lblValidPrefix,
                    maxlength: lblValidPrefix
                }
            });
            */
            $(fax2).rules("add", {
                number: true, minlength: 4, maxlength: 20, messages: {
                    number: lUpdateProfileFax,
                    minlength: lUpdateProfileFax,
                    maxlength: lUpdateProfileFax
                }
            });
            /*
            $(fax2Prefix).rules("add", {
                number: true, minlength: 2, maxlength: 4, messages: {
                    number: lblValidPrefix,
                    minlength: lblValidPrefix,
                    maxlength: lblValidPrefix
                }
            });
            */
            var AutorizedUser1 = $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtNameAutorizedUser1");
            var AutorizedUser1DNI = $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtDNIAutorizedUser1");
            var AutorizedUser2 = $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtNameAutorizedUser2");
            var AutorizedUser2DNI = $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlUpdateProfile_txtDNIAutorizedUser2");
            
            
            function AddRemovePhoneValidations(){
            //fax2Prefix , fax2 fax1Prefix fax1 profileTelephonePrefix profileTelephone profileMobilePrefix profileMobile profileWorkTelephonePrefix profileWorkTelephone
                if(fax2Prefix.val() == '' && fax2.val()== ''){
                alert('1');
                    $(fax2).rules("remove","required");
                    //$(fax2Prefix).rules("remove","required");                   
                }else{
               
                    $(fax2).rules("add", {
                        required:true, messages: {                            
                            required: "Por favor ingrese un dato en este campo"
                        }
                     });
                     /*
                     $(fax2Prefix).rules("add", {
                        required:true, messages: {                            
                            required: "Por favor ingrese un dato en este campo"
                        }
                     });*/
                }
            }
            /*
            AddRemovePhoneValidations();
            $(fax2Prefix).keyup(function (e) {
                AddRemovePhoneValidations();
            });
            $(fax2).keyup(function (e) {
                AddRemovePhoneValidations();
            });*/
            function AddRemoveValidate(){
                if(AutorizedUser2.val() != ''){                    
                    /*Validation*/                  
                    $(AutorizedUser2DNI).rules("add", {
                        required:true, number: true, minlength: 7, maxlength: 8, messages: {
                            number: "Por favor ingrese un número",
                            minlength: "El largo no es correcto",
                            maxlength: "El largo no es correcto",
                            required: "Por favor ingrese un dato en este campo"
                        }
                     });
                     /*end validation*/
                }else{                                
                    $(AutorizedUser2DNI).rules("remove");
                }
                
                if(AutorizedUser1.val() != ''){                    
                    /*Validation*/                    
                    $(AutorizedUser1DNI).rules("add", {
                        required:true, number: true, minlength: 7, maxlength: 8, messages: {
                            number: "Por favor ingrese un número",
                            minlength: "El largo no es correcto",
                            maxlength: "El largo no es correcto",
                            required: "Por favor ingrese un dato en este campo"
                        }
                     });
                     /*end validation*/
                }else{                          
                    $(AutorizedUser1DNI).rules("remove");
                }               
                
            }
            
            AddRemoveValidate();
            
            
            $(AutorizedUser1).keyup(function (e) {
                AddRemoveValidate();
            });

            
            $(AutorizedUser2).keyup(function (e) {
                AddRemoveValidate();
            });
        
        };
                
        /*************************************************************************************************************/
        //////////////////////////////////////////Login - Login MiDIRECTV ////////////////////////////////////////////
        /***********************************************************************************************************/
        var expectedLocation = '/midirectv/login.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
		function loginValidation () {
		
		   $("#aspnetForm").validate({
                wrapper: "div"
           });


             $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlLogin_Login1_LoginButton").click(function() {
                return $('#aspnetForm').valid();
            });

           
		    var loginInput = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlLogin_Login1_UserName';
			var passwordInput = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlLogin_Login1_Password';
			var rememberinput = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlLogin_Login1_RememberMe';
			var btnCancel = '#btnCancel';
			
			$(loginInput).rules("add", {
				required:true, email:true, messages: {
					required: lRegEmail, email: lRegEmail
				}
			});
			$(passwordInput).rules("add", {
				required:false, messages:{
					required:lCustomPassword2
				}
			});
			$(btnCancel).click(function(){
			        $(loginInput).attr("value","");
			        $(passwordInput).attr("value","");
			        $(rememberinput).removeAttr('checked');
			    }
			);	
		}
        if (currentLocation == expectedLocation) {
            loginValidation();
		}
        /*************************************************************************************************************/
        //////////////////////////////////Reset Password - MiDIRECTV ///////////////////////////////////////////
        /***********************************************************************************************************/
        var expectedLocation = '/midirectv/resetpassword.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
		function loginValidation2 () {
           
           $("#aspnetForm").validate({
                wrapper: "div"
           });
           
			var loginInput2 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlResetPassword_txtPassword';
			var passwordInput2 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlResetPassword_txtConfirmPassword';
			
			$(loginInput2).rules("add", {
				required:true,
				password:true,
				minlength: 5,
				alphaChar: true,
				maxlength: 20,
				 messages: {
					required: lCustomPassword,
					password: lCustomPassword,
					minlength : lCustomPassword2,
					alphaChar : lCustomPassword2,
					maxlength : lRegPassMaxLengh
					
				}
			});
			
			$(passwordInput2).rules("add", {
				equalTo: loginInput2, 
				messages:{
					equalTo:lEmailSecurityPass2
				}
			});

		}
        if (currentLocation == expectedLocation) {
		    loginValidation2();							
		}
		
		/*************************************************************************************************************/
        //////////////////////////////////Forgot Password - MiDIRECTV ////////////////////////////////////////////////
        /***********************************************************************************************************/
		var expectedLocation = '/midirectv/forgotpassword.aspx';
		var currentLocation = window.location.pathname.toLowerCase();
		
		function forgotPassValidation3 () {
		   
		    $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlForgotPassword_btnReset").click(function() {
                return $('#aspnetForm').valid();
            });
            
		   $("#aspnetForm").validate({
                wrapper: "div"
           });
           
			//submmitFunctionality();
			
			var email1 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlForgotPassword_txtEmail';
			var email2 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlForgotPassword_txtEmail2';
			//var loginInput3 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlChangePassword_txtNewPassword';
			//var passwordInput3 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlChangePassword_txtConfirmPassword';
			
			$(email1).rules("add", {
				required:true,
				email:true,
				 messages: {
					required: lRegPassword,
					email: "Por favor, ingrese un mail válido"
				}
			});
			
			if($('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlForgotPassword_rdoValidateSeq').attr('checked') ) {
			
			    $(email1).rules("add", {
				    required:true,
				    email:true,
				     messages: {
					    required: lRegPassword,
					    email: "Por favor, ingrese un mail válido"
				    }
			    });
			}else{		
			
			     $('label.error').remove();
                    $(email1).rules("remove");
                    $(email2).rules("remove");
                   
                    $(email2).rules("add", {
				        required:true,
				        email:true,
				        messages: {
					       required: "Por favor, ingrese un mail válido",
					       email: "Por favor, ingrese un mail válido"
				        }
			        });
			}

		    $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlForgotPassword_rdoValidateSeq').click(function(){
		    $('label.error').remove();
		        $(email1).rules("remove");
                $(email2).rules("remove");
                
                $(email1).rules("add", {
				    required:true,
				    email:true,
				    messages: {
					   required: "Por favor, ingrese un mail válido",
					   email: "Por favor, ingrese un mail válido"
				    }
			    });
			    
			    
		    });
		    
		     $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlForgotPassword_rdoEmailReset').click(function(){
		     $('label.error').remove();
                $(email1).rules("remove");
                $(email2).rules("remove");
               
                $(email2).rules("add", {
				    required:true,
				    email:true,
				    messages: {
					   required: "Por favor, ingrese un mail válido",
					   email: "Por favor, ingrese un mail válido"
				    }
			    });

			 
		    });
		    
		}
        if (currentLocation == expectedLocation) {
		    forgotPassValidation3();							
		}
		
		
		
		
		/*************************************************************************************************************/
        //////////////////////////////////Change Password - MiDIRECTV ////////////////////////////////////////////////
        /***********************************************************************************************************/
		var expectedLocation = '/midirectv/changepassword.aspx';
		var currentLocation = window.location.pathname.toLowerCase();
		
		function loginValidation3 () {
			
		   $("#aspnetForm").validate({
                wrapper: "div"
           });
           
			//submmitFunctionality();
			
			var oldPass3 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlChangePassword_txtOldPassword';
			var loginInput3 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlChangePassword_txtNewPassword';
			var passwordInput3 = '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlChangePassword_txtConfirmPassword';
			
			$(oldPass3).rules("add", {
				required:true,
				 messages: {
					required: lRegPassword
				}
			});
			$(loginInput3).rules("add", {
				required:true,
				password:true,
				minlength: 5,
				alphaChar: true,
				maxlength: 20,
				 messages: {
					required: lCustomPassword,
					password: lCustomPassword,
					minlength : lCustomPassword2,
					alphaChar : lCustomPassword2,
					maxlength : lRegPassMaxLengh
					
				}
			});
			
			$(passwordInput3).rules("add", {
				equalTo: loginInput3, 
				messages:{
					equalTo:lEmailSecurityPass2
				}
			});

		}
        if (currentLocation == expectedLocation) {
		    loginValidation3();							
		}
		
		/*************************************************************************************************************/
        /////////////////////////////////////////Pay Bill - MiDIRECTV ////////////////////////////////////////////////
        /***********************************************************************************************************/

        var expectedLocation = '/midirectv/paybill.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
        
        var payBillAccNumber = 15;
        var payBillVeriCode = 4;

        if (currentLocation == expectedLocation) {

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			    /*********************************** BANK ACCOUNT VALIDATION ***************************************************/
			    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			    var payBankName = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtBankName');
			    var payBankRouting = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtRoutingNumber');
			    var payBankRouting2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtRoutingNumberReenter');
			    var payBankAcct = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtAccountNumber');
			    var payBankAcct2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtAccountNumberReenter')
			    
			    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
			    /********************************** CREDIT CARD VALIDATION***************************************************/
			    //////////////////////////////////////////////////////////////////////////////////////////////////////////////              
                var creditCardType = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCCType');
                var creditCardAcc = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_credit_card_acct');
                var creditCardNameOnCard = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtNameOnCreditCard');
                var creditCardBillingAddress = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtBillingAddress1');
                var creditCardCity = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtCity');
                var creditCardState = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtState');
                var creditCardPostalCode = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtPostalCode');
                var payBillCardExp = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCardExpirationDateYear');
                var payBillCardExpMonth = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCardExpirationDateMonth');
                var creditCardSecCode = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtSecurityCode');       
                var checkRbSavedAccount = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbSavedAccount');
                var checkRbCreditCard = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbCreditCard');
                var checkRbBankAccount = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbBankAccount');
        
                //Check if the Form is Displayed
               if(($(checkRbSavedAccount).length !=0)&&($(checkRbCreditCard).length !=0)&&($(checkRbBankAccount).length !=0)){

                    $("#aspnetForm").validate({
                        wrapper: "div"
                    });
            
               function payBillChangeCardType(){

                    var cardTypeValue = jQuery.trim($('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCCType :selected').text().toLowerCase());
                    
                    $(creditCardAcc).unmask();
                    $(creditCardAcc).attr("value", "");
                    $(creditCardSecCode).attr("value", "");
                    
                      var lblMessageSecurityCode;
                    
                    if (cardTypeValue == 'americanexpress'){
                        payBillAccNumber = 15;
                        payBillVeriCode = 4;
                        //Mask for Credit Card Number.
			            $(creditCardAcc).mask("9999-999999-99999");
			             lblMessageSecurityCode = lPayBillCardSecCode;
                    }else if (cardTypeValue=="visa" || cardTypeValue=="mastercard"){
                        payBillAccNumber = 16;
                        payBillVeriCode = 3;
                        //Mask for Credit Card Number.
			            $(creditCardAcc).mask("9999-9999-9999-9999");
			             lblMessageSecurityCode = lPayBillCardSecCode;
                    }else{
                        payBillAccNumber = 15;
                        payBillVeriCode = 4;
                         lblMessageSecurityCode = lPayBillCardSecCodeAux;
                    }
                    $(creditCardAcc).rules("add",{
			            creditcard:false,
				        required:true, 
				        //maxlength: payBillAccNumber,
				        minlength: payBillAccNumber,
				        //number:true,
				        messages: {
					        required: lCardAcct,
					        minlength: lCardAcct
				        }
			        });
			        $(creditCardSecCode).rules("add", {
			                required:true, 
				            minlength:payBillVeriCode,
				            maxlength:payBillVeriCode,
				            number:true,
				            messages:{
				                required: lCardSecurity,
				                minlength:lblMessageSecurityCode
				            }
			          });
                }
             
               
       
    		    
		        // fix aspx generated drop downs by removing generated values to null        
		        var troubledOption = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCardExpirationDateMonth option');
		        var troubledOption2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCardExpirationDateYear option');
		        $(troubledOption2).eq(0).attr({value:""});
    		    
    		    

                function removeRequiredRulesCard(){
			            var thisValue = 'false';
    			        
    			       
    			        
			            $(creditCardBillingAddress).attr("value", ""); 
		                $(creditCardState).attr("value", "");
		                //$(payBillCardExp).attr("value", "");
		                $(creditCardAcc).attr("value", "");
		                $(creditCardNameOnCard).attr("value", "");
		                $(creditCardCity).attr("value", "");
		                $(creditCardSecCode).attr("value", "");

                        $('select#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCCType').rules('remove');              
			            $(creditCardBillingAddress).rules("add", {
				            required:false
			            });
			            $(creditCardState).rules("add",{
				            required:false
			            });
			            $(payBillCardExp).rules("add", {
				            required:false
			            });
		                $(creditCardType).rules("add", {
				            required:false
			            });
			            $(creditCardAcc).rules("remove")
			            $(creditCardAcc).rules("add",{
				            required:false 
			            });
			            $(creditCardNameOnCard).rules("add", {
				            required:false
			            });
			            $(creditCardCity).rules("add", {
				            required:false
    				     
			            });
			            $(creditCardSecCode).rules("add", {
			                required:false
			            });
			              $(creditCardPostalCode).rules("add", {
                                required:false
                        });
			            
               
                        $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_chkSaveBankInformation').rules('add', {
                            required: false
                        });            
                };

                function addRequiredRulesCard(){
                   var thisValue2 = 'true';
                   
                   
                   var lblMessageSecurityCode;
                   var cardTypeValue = jQuery.trim($('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCCType :selected').text().toLowerCase());
                   if (cardTypeValue!="americanexpress" && cardTypeValue!="visa" && cardTypeValue!="mastercard"){
                    lblMessageSecurityCode = lPayBillCardSecCodeAux;
                   }else{
                    lblMessageSecurityCode = lPayBillCardSecCode;
                   }
 
                   if($(creditCardAcc).length !=0){
                   
                   
                   //Fix Account Number
                   $(creditCardAcc).blur(function(event){

                        var cadena = $(creditCardAcc).val();
                        var value = '_';
                        var index = cadena.indexOf(value,0) 

                        if(index >= 0 )
                        {
                            $(creditCardAcc).attr("value", ""); 
                            $(creditCardAcc).attr("class", "inputText error");
                            var label = $('label[for=ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_credit_card_acct]')
                            label.attr("style","display:block;");
                            label.parent().attr("style","");
                        }
                   });
                      $(creditCardSecCode).attr("maxlenght", payBillVeriCode);
                      $(creditCardSecCode).keypress(function(event){
                            var key = event.which;
                           //all keys including return.
                            if(key >= 33 || key == 13) {
                                var maxLength =  payBillVeriCode;//$(creditCardSecCode).attr("maxlength");                                 
                                var length = $(creditCardSecCode).attr("value").length;
                                if(length >= maxLength) {
                                    event.preventDefault();
                                }
                            }
                        });
                        $(creditCardSecCode).rules("add", {
			                required:true, 
				            minlength:payBillVeriCode,
				            maxlength:payBillVeriCode,
				            number:true,
				            messages:{
				                required: lCardSecurity,
				                minlength:lblMessageSecurityCode
				            }
			            });
			            $(creditCardType).change(payBillChangeCardType);
			            $(creditCardType).eq(0).attr({value:""});
			            $(creditCardType).rules("add", {
				            required:true, 
				            messages: {
					            required: lPayBillCardType
				            }
			            });
            			
			            $(creditCardBillingAddress).rules("add", {
				            required:true, 
				            messages: {
					            required: lCardAddress
				            }
			            });
			            $(creditCardState).rules("add",{
				            required:true, 
				            messages:{
					            required: lCardState
				            }
			            });
			            
			            
			            $(payBillCardExp).rules("add", {
				            required:true, 
				            messages: {
					            required: lExpDate
				            }
			            });
			            
			            $(payBillCardExpMonth).rules("add", {
				            required:false, 
				            messages: {
					            required: lExpDate
				            }
			            });
			            
			            
			            
		                /*$(creditCardType).rules("add", {
				            required:true, 
				            messages: {
					            required: lCardType
				            }
			            });*/
			            $(creditCardAcc).attr("value", "");
			            $(creditCardAcc).rules("add",{
			                creditcard:false,
				            required:true, 
				            //maxlength: payBillAccNumber,
				            minlength: 15,
				            //number:true,
				            messages: {
					            required: lCardAcct,
					            minlength: lCardAcct,
					            creditCard: 'credit card validation'
				            }
			            });
    			       
			            //Mask for Credit Card Number.
			                var cardTypeValue = jQuery.trim($('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCCType :selected').text().toLowerCase());
                            $(creditCardAcc).unmask();
                            if (cardTypeValue == 'americanexpress'){
			                    $(creditCardAcc).mask("9999-999999-99999");
                            }else if (cardTypeValue== "visa" || cardTypeValue == "mastercard") {
			                    $(creditCardAcc).mask("9999-9999-9999-9999");
                            }else
                            {
                             //default -> American Express
                             $(creditCardAcc).mask("9999-999999-99999");
                            }

			            $(creditCardNameOnCard).rules("add", {
				            alphaChar:true,
				            maxlength:256, 
				            required:true, 
				            messages:{
					            required: lNameOnCard, 
					            alphaChar:lNameOnCard,
					            maxlength:lNameOnCard
				            }
			            });
			            $(creditCardCity).rules("add", {
				            maxlength:256,
				            required:true,
				            messages:{
					            required:lCreditCity,
					            maxlength:lCreditCity
				            }
			            });
			   	           
					            
			            $(creditCardPostalCode).rules("add", {
                        minlength: 5,
                        required:true,
                        number: true,
                            messages:{
					            minlength: lPayBillPostal, 
					            required:lPayBillPostal,
					            number: lPayBillPostal
				            }
                        });
                    }
                }
                function removeRequiredRulesBank(){
                
                   
                    $(payBankName).attr("value", ""); 
		            $(payBankRouting).attr("value", "");
		            $(payBankRouting2).attr("value", "");
		            $(payBankAcct).attr("value", "");
		            $(payBankAcct2).attr("value", "");
                   
			        var thisValue = 'false'
                    $(payBankName).rules('remove');
        			
                    $(payBankRouting).rules('add', {
                        required: false
                    });
                    $(payBankRouting2).rules('add', {
                        required: false
                    });
                    $(payBankAcct).rules('add', {
                        required: false
                    });
                    $(payBankAcct2).rules('add', {
                        required: false
                    });
                    $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_chkSaveBankInformation').rules('add', {
                        required: false
                    });            
                };
                function addRequiredRulesBank(){
        			
			        if($(payBankName).length !=0){
                    
                        $(payBankName).rules("add", {
				            required:true,
				            messages:{
					            required:lPayBankName
				            }
			            });			
			            $(payBankRouting).rules("add", {
				            required:true, 
				            minlength:4, 
				            messages:{
					            required:lPayBillRouting, 
					            minlength:lPayBillRouting
				            }
			            });
			            $(payBankRouting2).rules("add", {
				            required:true,
				            equalTo: payBankRouting, 
				            messages:{
					            required:lPayBillRouting2,
					            equalTo:lPayBillRouting2
				            }
			            });
			            $(payBankAcct).rules("add", {
				            required:true,
				            maxlength: 25,
				            messages:{
					            required:lPayBillAcct
				            }
			            });
			            $(payBankAcct2).rules("add", {
				            required:true, 
				            equalTo: payBankAcct, 
				            messages:{
					            required:lPayBillAcct2,
					            equalTo:lPayBillAcct2
				            }
			            });
			         }
                };
                

		        var savedAcctPayBill = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbSavedAccount')
		        var creditCardPayBill = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbCreditCard') 
		        var bankAcctPayBill = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbBankAccount')



		        $(savedAcctPayBill).click(function(){
			        removeRequiredRulesCard();
			        removeRequiredRulesBank();
		        });
		        $(creditCardPayBill).click(function(){
			        removeRequiredRulesBank();
			        addRequiredRulesCard();
    			   
		        });
		        $(bankAcctPayBill).click(function(){
			        removeRequiredRulesCard();
			        addRequiredRulesBank();
		        });


			        // bill pay page - remove reqd fields when other field is clicked
                    var field = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbSavedAccount');
                    var two = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCCType');
                    var thr = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCardExpirationDateMonth');
                    var fou = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_txtRoutingNumberReenter');
                    $(field).click(function(){
                        $(two).removeClass('required');
                        $(thr).removeClass('required');
                        $(fou).removeClass('required');                 
                    });
    	   	            
	                //Validations after postback
	                var radioBtnCreditCard = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbCreditCard');
		            var radioBtnBankAccount = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_rbBankAccount');
		            var isCheckedCredit = $(radioBtnCreditCard).is(':checked')
		            var isCheckedBank = $(radioBtnBankAccount).is(':checked')
        		    
    		        
        		    
		            if (isCheckedBank) {
		               removeRequiredRulesCard();
                       addRequiredRulesBank();
                    }
                    if(isCheckedCredit){
                       removeRequiredRulesBank();
                       addRequiredRulesCard();
                    }

    			  
        			
    			    $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_chkSaveCardInformation').rules('add', {
                        required: false
                    });
                
                 
            }
         
              
        };

        /*************************************************************************************************************/
        ////////////////////////////////Payment Account Add Bank - MiDIRECTV /////////////////////////////////////////
        /***********************************************************************************************************/
        var expectedLocation = '/midirectv/paymentaccountaddbank.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
		function addPayBankAcct () {
		
		    $("#aspnetForm").validate({
                wrapper: "div"
            });
            
            // custom validation rules for add bank acct acct page
            var PaymentAccountAddBank_txtBankName = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtBankName');
            var PaymentAccountAddBank_txtRoutingNumber = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtRoutingNumber')
            var PaymentAccountAddBank_txtRoutingNumberReenter = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtRoutingNumberReenter')
            var PaymentAccountAddBank_txtAccountNumber = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtAccountNumber');
			var addBankCode = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtRoutingNumber');
			var addBankCodeAgain = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtRoutingNumberReenter');
			var addAccount = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtAccountNumber');
			var addAccountAgain = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtAccountNumberReenter');
			var addNick = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtbankAlias');

			var addBankName = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddBank_txtBankName');
			$(addBankName).rules("add",{
				alphaChar: true, 
				maxlength:256, 
				required:true,
				messages:{
					required:lAddBankName
				}
			});					
			$(addBankCode).rules("add",{
				alphaChar: true, 
				maxlength:9, 
				number:true,
				required:true, 
				minlength:4, 
				messages:{
					alphaChar:lBankCode,
					maxlength:lBankCode, 
					number:lBankCode,
					required:lBankCode,
					minlength:lBankCode
				}
			});
			$(addBankCodeAgain).rules("add",{
				alphaChar: true, 
				maxlength:9, 
				equalTo:addBankCode, 
				number:true, 
				required:true,messages:{
					required:lBankCodeAgain, 
					number:lBankCodeAgain
				}
			});
			$(addAccount).rules("add",{
				alphaChar: true, 
				maxlength:25, 
				number:true, 
				required:true,
				messages:{
					required:lAddAccount,
					number:lAddAccount
				}
			});
			$(addAccountAgain).rules("add",{
				alphaChar: true, 
				maxlength:25, 
				equalTo:addAccount, 
				number:true, 
				required:true, 
				messages:{
					required:lAddAccountAgain, 
					number:lAddAccountAgain
				}
			});
			$(addNick).rules("add",{
				alphaChar: true,
				required:true,
				messages:{
					required:lAddBankNick,
					alphaChar:lAddBankNick
				}
			});

		};
        if (currentLocation == expectedLocation) {
		    addPayBankAcct();
        };
        
  
        /***********************************************************************************************************/
        //////////////////////////////////Add Credit Card - Manage Payment Accounts//////////////////////////////////
        /***********************************************************************************************************/
        
        var expectedLocation = '/midirectv/paymentaccountaddcc.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
        
        //Values ( Defect Visa and MC )
        var accountNumberDigits = 15;
        var verificationNumberDigits = 4;
        
        if (currentLocation == expectedLocation) {
        
            $("#aspnetForm").validate({
                wrapper: "div"
            });
        
			// remove value attribute of option to get the form validation working for drop-down
			var theYear = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_ddlCardExpYear>option').eq(0);
			$(theYear).attr({value:""});

            // custom validation rules for add credit card acct page
			var nameOnCard = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtNameOnCreditCard');
			var cardAcct = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_credit_card_acct');            
			var cardType = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_ddlCCType');
			var cardExpDate = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_ddlCardExpYear');
			var cardSecurity = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtSecurityCode');
			var cardPostal = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtPostalCode');
			var cardNick = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtCardAlias');
			var cardAddress = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtBillingAddress1');
			var cardState = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtState');
			var cardCity = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtCity');
			var cardSecCode = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_txtSecurityCode');
	
			var cardTypeValue = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_ddlCCType :selected').text();
			
			
			
			$(cardType).change(changeCardType)
			
			
			$(cardNick).rules("add", {
				required:true,
				messages: {
					required:lCardNick
				}
			});
			$(cardAddress).rules("add", {
				required:true, 
				messages: {
					required: lCardAddress
				}
			});
			$(cardState).rules("add",{
				required:true, 
				messages:{
					required: lCardState
				}
			});
					
			$(cardExpDate).rules("add", {
				required:true, 
				messages: {
					required: lExpDate
				}
			});
		    $(cardType).rules("add", {
				required:true, 
				messages: {
					required: lCardType
				}
			});
			
			
			
			//Fix Account Number
             $(cardAcct).blur(function(event){

                var cadena = $(cardAcct).val();
                var value = '_';
                var index = cadena.indexOf(value,0) 

                 if(index >= 0 )
                 {
                   $(cardAcct).attr("value", ""); 
                   $(cardAcct).attr("class", "inputText error");
                   var label = $('label[for=ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_credit_card_acct]')
                   label.attr("style","display:block;");
                   label.parent().attr("style","");
                 }
            });
			
			$(cardAcct).rules("add",{
			    creditcard:false,
				required:true, 
				//maxlength: accountNumberDigits,
				//minlength: accountNumberDigits,
				//number:true,
				messages: {
					required: lCardAcct,
					number: lCardAcct,
					creditCard: 'credit card validation'
				}
			});
			
			//Mask for Credit Card Number.
			var cardTypeValue = jQuery.trim($('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_ddlCCType :selected').text().toLowerCase());
            $(cardAcct).unmask();
            if (cardTypeValue == 'americanexpress'){
			   $(cardAcct).mask("9999-999999-99999");
            }else if(cardTypeValue == "visa" || cardTypeValue == "mastercard"){
			    $(cardAcct).mask("9999-9999-9999-9999");
            }else{
                //Default.
                $(cardAcct).mask("9999-999999-99999");
            }
            
			$(nameOnCard).rules("add", {
				alphaChar:true,
				maxlength:256, 
				required:true, 
				messages:{
					required: lNameOnCard, 
					alphaChar:lNameOnCard,
					maxlength:lNameOnCard
				}
			});
			$(cardCity).rules("add", {
				maxlength:256,
				required:true,
				messages:{
					required:lCreditCity,
					maxlength:lCreditCity
				}
			});
			
			$(cardPostal).rules("add", {
				minlength:5,
				required:true,
				messages: {
				    required:lCardPostal,
					minlength: lCardPostal
				}
			});
			$(cardSecCode).attr("maxlenght", verificationNumberDigits);
			 $(cardSecCode).keypress(function(event){
                            var key = event.which;
                           //all keys including return.
                            if(key >= 33 || key == 13) {
                                var maxLength =  verificationNumberDigits;//$(creditCardSecCode).attr("maxlength");                                 
                                var length = $(cardSecCode).attr("value").length;
                                if(length >= maxLength) {
                                    event.preventDefault();
                                }
                            }
                        });
			$(cardSecCode).rules("add", {
			    required:true,
				minlength:verificationNumberDigits,
				maxlength:verificationNumberDigits,
				number:true,
				messages:
				{
				    required:lCardSecurity
				}
			});
			
			
           
        }
        function changeCardType(){
            
            var cardTypeValue = jQuery.trim($('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_ddlCCType :selected').text().toLowerCase());
            
            $(cardAcct).unmask();
            $(cardAcct).attr("value",""); ;
            $(cardSecCode).attr("value","");  
                       
            if (cardTypeValue == 'americanexpress'){
                accountNumberDigits = 15;
                verificationNumberDigits = 4;
                //Mask for Credit Card Number.
			   $(cardAcct).mask("9999-999999-99999");
            }else{
                accountNumberDigits = 16;
                verificationNumberDigits = 3;
                //Mask for Credit Card Number.
			    $(cardAcct).mask("9999-9999-9999-9999");
            }
            
            $(cardAcct).rules("add",{
			    creditcard:false,
				required:true, 
				//maxlength: accountNumberDigits,
				//minlength: accountNumberDigits,
				//number:true,
				messages: {
					required: lAddAccount
				}
			});
			
			$(cardSecCode).attr("maxlenght", verificationNumberDigits);
			
			$(cardSecCode).rules("add", {
				minlength:verificationNumberDigits,
				maxlength:verificationNumberDigits,
				number:true
			});

  
        }

        /***********************************************************************************************************/
        //////////////////////////////////Update Password Security - Lightbox ///////////////////////////////////////
        /***********************************************************************************************************/
   
        function validationUpdatePassword()
        {
        
            $("#aspnetForm").validate({
                wrapper: "div"
            });
            
            var emailSecurityOldPw = $("#ctlChangePasswordLB_txtOldPassword1");
			var emailSecurityNewPw = $("#ctlChangePasswordLB_txtPassword1");
			var emailSecurityNewPw2 = $("#ctlChangePasswordLB_txtRepeatPassword1");
			
			
			$(emailSecurityOldPw).rules("add",{
				required:true,
				minlength:6,
				messages:{
					required:lEmailSecurityOld,
					minlength:lEmailSecurityOld
				}
			});
			$(emailSecurityNewPw).rules("add",{
				minlength: 6,
                maxlength: 20,
                alphaChar: true,
                required: true,
				password:true,
                messages: {
                minlength: lRegPassword,
                maxlength: lRegPassMaxLengh,
                    alphaChar: lRegPassword,
                    required: lRegPassword,
					password: lRegPassword
				}
			});
			$(emailSecurityNewPw2).rules("add",{
				required:true,
				 equalTo: emailSecurityNewPw,
				 messages:{
					required :lRegPassword2,
					equalTo :lRegPassword2
				}
			});
        }
      
        /***********************************************************************************************************/
        ///////////////////////Update Email Password Security - form validation rules////////////////////////////////
        /***********************************************************************************************************/
        
        var expectedLocation = '/midirectv/updateemailpasswordsecurity.aspx';

        var currentLocation = window.location.pathname.toLowerCase();
        if (currentLocation == expectedLocation) {
        
			$("#aspnetForm").validate({
                wrapper: "div"
            });
			                        
			var emailSecurityEmail = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlEditEmailPass_txtEmail');
            var emailSecurityQuestion = $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlEditEmailPass_txtSecurityQuestion");
			 var emailSecurityAnswer = $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlEditEmailPass_txtSecurityAnswer");
                                           
			
		    
            
              $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlEditEmailPass_btnPayNow").click(function() {
                        return $('#aspnetForm').valid();
              })

            
                                               
			$(emailSecurityEmail).rules('add', {
                email: true,
                required:true,
                messages:{
					email:lEmailSecurityEmail,
					required:lEmailSecurityEmail
				}
            });
            $(emailSecurityAnswer).rules('add', {
			    required:true,
			    messages: {
				required: lRegSecurity
			    }
		    });
        }
        /***********************************************************************************************************/
        /////////////////////////////////Registration - form validation rules////////////////////////////////////////
        /***********************************************************************************************************/
        
		var expectedLocation = '/midirectv/registration.aspx';
        var currentLocation = window.location.pathname.toLowerCase();

		function registerValidation () {

            $("#aspnetForm").validate({
                    wrapper: "div"
                });
                
                $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_btnSubmit3").click(function() {
                        return $('#aspnetForm').valid();
              })
   
		    var regName = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtFirstName');
			    $(regName).rules("add", {
				    required:true,
				    alphaChar:true, 
				    messages:{
					    required:lRegName,
					    alphaChar: lRegNameAlpha
				    }
			    });
		    var regLastName = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtLastName');
			    $(regLastName).rules("add", {
				    required:true,
				    alphaChar:true, 
				    messages:{
					    required:lRegLast,
					    alphaChar: lRegNameAlpha
				    }
			    });
	       var regAccountNumber = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtAccountNumber');
			    $(regAccountNumber).rules("add", {
				    required:true,
				    number:true, 
				    messages:{
					    required:lRegAcct,
					    number: lRegAcct3
				    }
			    });
    			
    			
		    var regIdentityNumber = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtIdentityNumber');
			    $(regIdentityNumber).rules("add", {
				    required:true,
				    //number:true, 
				    messages:{
					    required:lRegIdentityNumber
					    //number: lRegIdentityNumber
				    }
			    });
            var regEmail = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtUserId')

		        $(regEmail).rules("add", {
                    required: true, 
                    email:true,
                    messages: {
                        required: lRegEmail,
                        email:lRegEmail
                    }
                });
            var regEmail2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtRepeatUserId')
		        $(regEmail2).rules("add", {
                    required: true,
                    email:true,
                    equalTo: '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtUserId',
                    messages: {
                        required: lRegEmail2,
                         email:lRegEmail,
                        equalTo:lRegEmail2
                    }
                });
            var regPasswordField = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtPassword');
			    $(regPasswordField).rules("add", {
				    minlength: 6,
                    maxlength: 20,
                    alphaChar: true,
                    required: true,
				    password:true,
                    messages: {
                        minlength: lRegPassword,
                        maxlength: lRegPassMaxLengh,
                        alphaChar: lRegPassword,
                        required: lRegPassword,
					    password: lRegPassword
    					
                    }
    				
			    });
		    var regPasswordField2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtRepeatPassword');
				    $(regPasswordField2).rules("add", {
				    required:true,
				     equalTo: "#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtPassword",
				     messages:{
					    required :lRegPassword2,
					    equalTo :lRegPassword2
				    }
			    });
                $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtSecurityAnswer").rules("add", {
                    required: true,
                    messages: {
                        required: lRegAnswer
                    }
                });
            var acceptTermsCheck = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_accept_terms');
		    $(acceptTermsCheck).rules("add", {
			    required:true
		    });
    		
    		/*CLEAR FORM*/
		    var btnCancel = '#btnCancel';
		    $(btnCancel).click(function(){      
		        $(regName).attr("value","");
			    $(regLastName).attr("value","");
			    $(regAccountNumber).attr("value","");
			    $(regIdentityNumber).attr("value","");
		        $(regEmail).attr("value","");
		        $(regEmail2).attr("value","");
			    $(regPasswordField).attr("value","");
			    $(regPasswordField2).attr("value","");
		    });
		}
		
		
        if (currentLocation == expectedLocation) {
		    registerValidation();
		}
		
		/*************************************************************************************************************************************************/
		///////////////////////////////////////////////////////REGISTRATION PREPAID ///////////////////////////////////////////////////////////////////////
		/*************************************************************************************************************************************************/
		function registerValidationPrepaid () {

            $("#aspnetForm").validate({
                    wrapper: "div"
                });
                
           /*$("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_btnSubmit3").click(function() {
                        return $('#aspnetForm').valid();
              })
              */
   
		    var regName = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtFirstName');
			    $(regName).rules("add", {
				    required:true,
				    alphaChar:true, 
				    messages:{
					    required:lRegName,
					    alphaChar: lRegNameAlpha
				    }
			    });
		    var regLastName = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtLastName');
			    $(regLastName).rules("add", {
				    required:true,
				    alphaChar:true, 
				    messages:{
					    required:lRegLast,
					    alphaChar: lRegNameAlpha
				    }
			    });
	       var regAccountNumber = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtprepaidcard');
			    $(regAccountNumber).rules("add", {
				    required:true,
				    number:true, 
				    messages:{
					    required:lRegPrePaidCard,
					    number: lRegPrePaidCard2
				    }
			    });
    			
    			
		    var regIdentityNumber = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtIdentityNumber');
			    $(regIdentityNumber).rules("add", {
				    required:true,
				    number:true, 
				    messages:{
					    required:lRegIdentityNumber,
					    number: lRegIdentityNumber
				    }
			    });
            var regEmail = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtUserId')

		        $(regEmail).rules("add", {
                    required: true, 
                    email:true,
                    messages: {
                        required: lRegEmail,
                        email:lRegEmail
                    }
                });
            var regEmail2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtRepeatUserId')
		        $(regEmail2).rules("add", {
                    required: true,
                    email:true,
                    equalTo: '#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtUserId',
                    messages: {
                        required: lRegEmail2,
                         email:lRegEmail,
                        equalTo:lRegEmail2
                    }
                });
            var regPasswordField = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtPassword');
			    $(regPasswordField).rules("add", {
				    minlength: 6,
                    maxlength: 20,
                    alphaChar: true,
                    required: true,
				    password:true,
                    messages: {
                        minlength: lRegPassword,
                        maxlength: lRegPassMaxLengh,
                        alphaChar: lRegPassword,
                        required: lRegPassword,
					    password: lRegPassword
    					
                    }
    				
			    });
		    var regPasswordField2 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtRepeatPassword');
				    $(regPasswordField2).rules("add", {
				    required:true,
				     equalTo: "#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtPassword",
				     messages:{
					    required :lRegPassword2,
					    equalTo :lRegPassword2
				    }
			    });
                $("#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_txtSecurityAnswer").rules("add", {
                    required: true,
                    messages: {
                        required: lRegAnswer
                    }
                });
            var acceptTermsCheck = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlRegistration_accept_terms');
		    $(acceptTermsCheck).rules("add", {
			    required:true
		    });
    		
    		/*CLEAR FORM*/
		    var btnCancel = '#btnCancel';
		    $(btnCancel).click(function(){      
		        $(regName).attr("value","");
			    $(regLastName).attr("value","");
			    $(regAccountNumber).attr("value","");
			    $(regIdentityNumber).attr("value","");
		        $(regEmail).attr("value","");
		        $(regEmail2).attr("value","");
			    $(regPasswordField).attr("value","");
			    $(regPasswordField2).attr("value","");
		    });
		    
		}
		
		
		
		var expectedLocation = '/midirectv/registrationprepaid.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
        
        if (currentLocation == expectedLocation) {
		    registerValidationPrepaid();
		}
		
		
		/*************************************************************************************************************************************************/
		///////////////////////////////////////////////////////VALIDATE AUTOMATIC DEBIT////////////////////////////////////////////////////////////////////
		/*************************************************************************************************************************************************/
		function validateAutomaticDebit () {
		    submmitFunctionality();
		  var accNumber = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAutomaticDebit_txtAccountNumber');
          var drpCardType = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAutomaticDebit_drpCartType');
          var drpYear  = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAutomaticDebit_drpYear');
          
          
          // remove value attribute of option to get the form validation working for drop-down
		  var drpOpt1 = $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAutomaticDebit_drpCartType>option').eq(0);
		  $(drpOpt1).attr({value:""});
		  
		  
          
		
		  //Function OnChange 
		  function onChangeCardType(){

                    var cardTypeValue = jQuery.trim($('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAutomaticDebit_drpCartType :selected').text().toLowerCase());
                    
                    $(accNumber).unmask();
                    $(accNumber).attr("value", "");
                    

                    if (cardTypeValue == 'american express'){
			            $(accNumber).mask("9999-999999-99999");
                    }else if (cardTypeValue == "visa" || cardTypeValue == "patagonia" || cardTypeValue == "nevada" ||cardTypeValue == "nativa" || cardTypeValue == "naranja" || cardTypeValue == "mira" || cardTypeValue == "mastercard" || cardTypeValue == "kadicard" || cardTypeValue == "fueguina" || cardTypeValue == "azul" || cardTypeValue == "cabal" || cardTypeValue == "credencial" || cardTypeValue == "credimas" || cardTypeValue == "electrón" || cardTypeValue == "empresur"){
			            $(accNumber).mask("9999-9999-9999-9999");
                    }else if (cardTypeValue == "diners"){
                       $(accNumber).mask("9999-999999-9999");
                    }else if(cardTypeValue == "favacard"){
                        $(accNumber).mask("999999999999999999");
                    }else if(cardTypeValue == "provencred" || cardTypeValue == "tarjeta shopping" || cardTypeValue == "tdf"){
                        $(accNumber).mask("9999999999999");
                    }else
                    {
                      $(accNumber).mask("9999-9999-9999-9999");
                      $(accNumber).mask("9999-999-9999");
                    } 
          }
          //End Function onChange
		


            $("#aspnetForm").validate({
                    wrapper: "div"
                });
            
            //Credit Card Type.
            $(drpCardType).change(onChangeCardType);
            $(drpCardType).rules("add", {
                    required: true,
                    messages: {
                        required: lPayBillCardType
                    }
			 });
            
           //Account Number.
			$(accNumber).rules("add", {
                    required: true,
                    messages: {
                        required: lAddAccount
                    }
			 });
			  //Fix Account Number
             $(accNumber).blur(function(event){

                   var cadena = $(accNumber).val();
                   var value = '_';
                   var index = cadena.indexOf(value,0) 

                   if(index >= 0 )
                   {
                       $(accNumber).attr("value", ""); 
                       $(accNumber).attr("class", "inputText error");
                       var label = $('label[for=ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAutomaticDebit_txtAccountNumber]')
                       label.attr("style","display:block;");
                       label.parent().attr("style","");
                   }
             });

			//Year.
			$(drpYear).rules("add", {
                    required: true,
                    messages: {
                        required: lPayBillCardExp
                    }
			 });
		}
		
		
		
		var expectedLocation = '/midirectv/automaticdebitupdate.aspx';
        var currentLocation = window.location.pathname.toLowerCase();
        
        if (currentLocation == expectedLocation) {
		    validateAutomaticDebit();
		}
		 /***********************************************************************************************************/
        ///////////////////////////////NEWSLETTERS AND ALERTS - form validation rules////////////////////////////////
        /***********************************************************************************************************/

        var expectedLocation = '/midirectv/alerts.aspx';
        var currentLocation = window.location.pathname.toLowerCase();

        if (currentLocation == expectedLocation) {
            submmitFunctionality();
            var chkNewsletters = "#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAlerts_chkNewsletters";
            var chkAcceptMail = "#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlAlerts_chkAcceptMail";
/*
            $(chkNewsletters).click(function() {
                var checkedNewsletters = $(chkNewsletters).attr('checked')
                var checkedAcceptMail = $(chkAcceptMail).attr('checked')

                if (!checkedAcceptMail) {
                    $(chkAcceptMail).attr('checked', true);
                }
            });
            $(chkAcceptMail).click(function() {
                var checkedNewsletters = $(chkNewsletters).attr('checked')
                var checkedAcceptMail = $(chkAcceptMail).attr('checked')

                if (!checkedAcceptMail && checkedNewsletters) {
                    
                    $(chkNewsletters).attr('checked', false);
                }
            });

*/
        }
		
		

    });
	
    var checkElemVal = $('.fieldset_wrapper').html();
    if (checkElemVal == 0) {
        // if server returned text node, then show user box
    
	}
    else {
        //$('.fields').prepend('<div class="all_errors error"></div>');
        //$('.enter_email').addClass('error').addClass('login_error_img');
        errorElementWrap = $('.fieldset_wrapper').eq(0);
        errorIcon = '<img src=/midirectv/App_Themes/MyDirectv/images/login_error.png />';
        var fixIE = '<!--[if IE 6]><style>body{display:none}</style><![endif]-->';
        //$(errorElementWrap).addClass('error').addClass('solid_border');
        $('.lgn .fieldset_wrapper').css({
            'margin-left': '-5px !important'
        });
        $('.enter_email2').css({
            'margin-top': '25px'
        });
        $('.field_wrapper2').hide();
    }

// cancel button action for - add credit card acct form
$('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_lnkbtnCancel').click(function(){
	$('body input').not('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPaymentAccountAddCC_btnSaveCCAccount').attr({value:""})
	return false;
  });
  
  // fix - pay bill add card type - required
  $('#ctl00_ctl00_ContentPlaceHolderView_MainColumn_ctlPayBill_ddlCCType>option').eq(0).attr({
  	value:""
  });
  
});


