Subversion Repositories SmartDukaan

Rev

Rev 7289 | Blame | Compare with Previous | Last modification | View Log | RSS feed

$(function() {
        oldValue = "";
        $('.rechargetype').click(function (){
                $('div.mk_amount_row .input-div').html('<input type="text" name="amount" class="inputbox rupee padding48">');
                $('#discountText').remove();
                var rechargeType = $('input.rechargetype:checked').val();
                //1 is for Normal
                //2 for New Connection(FRC)
                if(rechargeType == 1) {
                        $('#frc-div').slideUp(100);
                }
                if(rechargeType == 2) {
                        if($('input.devicetype:checked').val() == 2) {
                                $('input.rechargetype:unchecked').attr('checked', 'checked');
                                alert('New DTH Connections are not supported');
                                return false;
                        } else {
                                $('#frc-div').slideDown(100);
                        }
                }
        });

        $('.devicetype').change(function (){
                var devicetype = $('input.devicetype:checked').val();
                //1 is for Mobile
                //2 for DTH
                if(devicetype == 1) {
                        var deviceNumberInput = $('.inputbox[name=number], .inputbox[name=repeat]');
                        deviceNumberInput.removeClass('padding15');
                        deviceNumberInput.addClass('num-prefix padding48');
                        deviceNumberInput.attr('maxlength', '10');
                        $('#dthSelector').hide();
                        $('#mobileSelector').show();
                }
                if(devicetype == 2) {
                        if($('input.rechargetype:checked').val() == 2) {
                                $('input.devicetype:unchecked').attr('checked', 'checked');
                                alert('New DTH Connections are not supported');
                                return false;
                        }
                        var deviceNumberInput = $('.inputbox[name=number], .inputbox[name=repeat]')
                        deviceNumberInput.removeClass('num-prefix padding48');
                        deviceNumberInput.addClass('padding15');
                        deviceNumberInput.removeAttr('maxlength');
                        $('#mobileSelector').hide();
                        $('#dthSelector').show();
                }
        });
        
        $('#recharge-button').click(function() {
                $('#recharge-button').hide();
                $('#edit-button').hide();
                $('#confirm-message').show();
                $('#confirmForm').attr('action', '/rch/confirm!createRecharge');
                $('#confirmForm').submit();
        });
        
        /*$('#edit-button').click(function() {
                $('#confirmForm').attr('action', '/rch/home!editRecharge');
                $('#confirmForm').submit();
        });*/
        
        $('#rechargeDetailsForm input[name="number"]').unbind('keyup blur').bind('keyup blur', function(){
                var numvalue = $(this).val().substring(0,4);
                var count = $(this).val().length;
                if(count==10 && oldValue != numvalue){
                        getRechargeProvider(numvalue, 1);
                        //$(this).unbind('keyup');
                }
        });
        $('#mobileSelector').change(function(){
                var selectedOperator = $('#mobileSelector').val();
                if($('input.rechargetype:checked').val() == "2") {
                        if(selectedOperator != 0) {
                                return $.ajax({
                                        type: "POST",
                                        dataType:"json",
                                        url: "/rch/home!getFRC?operatorId=" + selectedOperator,
                                        success:function(msg) {
                                                if(msg.length != 0) {
                                                        $('div.mk_amount_row .input-div').html('<select id="newConDis" style="height:30px;font-size:18px;"><option>Custom</option></select>' +
                                                                '<input type="text" name="amount" class="inputbox rupee padding48" style="width:120px">');
                                                        $.each(msg,function(index,obj){
                                                                $("#newConDis").append('<option disc="' + obj.maxDiscount + '" >' + obj.denomination +'</option>');
                                                        });
                                                        $('div.mk_discount_row').append('<div id="discountText" style="text-align: left;font-size: 15px;width: 340px;color: blue;" class="text"></div>');
                                                        $("#newConDis").change(function(){
                                                                if(this.selectedIndex == 0){
                                                                        $('div.mk_discount_row :last').html('');
                                                                        $('#rechargeDetailsForm [name="amount"]').show().val('');       
                                                                }else {
                                                                        var discount = $(this).find(":selected").attr("disc");
                                                                        $('#rechargeDetailsForm [name="amount"]').val($(this).val()).hide();    
                                                                        $('div.mk_discount_row :last').html('Discount more than rupees ' + discount + ' is not allowed');
                                                                }
                                                        });
                                                } else {
                                                        $('div.mk_amount_row .input-div').html('<input type="text" name="amount" class="inputbox rupee padding48">');
                                                        $('#discountText').remove();
                                                }
                                        }
                                });
                        }
                }
        });
        
        
        
        $("#dateselector").change(function() {
                if($(this).val()=="3"){
                        $("#daterange").show();
                }else {
                        $("#daterange").hide();
                }
        });
        
        function getRechargeProvider(deviceNumber, deviceType){
                return $.ajax({
                        type: "POST",
                        url: "/rch/home!getServiceProvider?deviceNumber=" + deviceNumber + "&deviceType=" + deviceType,
                        success:function(msg){
                                if(msg != ""){
                                        var deviceNumberInfo = msg.split(":");
                                        if($.trim(deviceNumberInfo[0]) == -1) {
                                                alert ("Service not reachable or invalid number");
                                        }
                                        if($('input.rechargetype:checked').val() == "2"){
                                                if(storeCircleCode != $.trim(deviceNumberInfo[1])){
                                                        $('input[name="number"]').val("");
                                                        alert('This number does not belong to your circle');
                                                        return false;
                                                }
                                        }
                                        $('#rechargeDetailsForm select[name="mobileOperator"]').val($.trim(deviceNumberInfo[0]));
                                        $('#circlecode').val($.trim(deviceNumberInfo[1]));
                                        $('#mobileSelector').trigger('change');
                                        oldValue = deviceNumber;
                                }
                        },
                        complete : function(){
                                $('#rechargeDetailsForm input[name="number"]').bind('keyup blur', function(){
                                        var numvalue = $(this).val().substring(0,4);
                                        var count = $(this).val().length;
                                        if(count==10 && oldValue != numvalue){
                                                getRechargeProvider(numvalue, 1);
                                        }
                                });
                        },
                        beforeSend : function(){
                                $('#rechargeDetailsForm input[name="number"]').unbind('keyup blur');
                        }
                });
        }
        
        $(document).ready(function(){
                var rechargeType = $('input.rechargetype:checked').val();
                if(rechargeType == 2) {
                        $('#frc-div').show();
                        $('#mobileSelector').trigger('change');
                        //$('#rechargeDetailsForm input[name="number"]').keyup();
                }
                
                $('.devicetype').trigger('change');
        });
        
});

function isNumber(n) {
        /****
         * http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric/1830844#1830844
         ****/
        var result = n.match(/^\d*$/);
        if(result == null || result.length == 0) {
                return false;
        }
        return true;
                
        //return !isNaN(parseFloat(n)) && isFinite(n);
}

//$('input[name=repeat]').bind('contextmenu', function(e){
//    e.preventDefault();
//    alert('Right click disabled');
//    return false;
//});

$(document).ready(function(){
    $('input[name=number]').bind("cut copy paste",function(e) {
        e.preventDefault();
    });
});

function validateAllFields() {
        var rechargeType = $('input.rechargetype:checked').val();
        //1 is for Normal
        //2 for New Connection(FRC)
        var devicetype = $('input.devicetype:checked').val();
        //1 is for Mobile
        //2 for DTH
        
        if($('input[name=number]').val() === ""){
                alert('Please enter device number');
                return false;
        }
        
        if(devicetype == 1) {
                if($('input[name=number]').val().length != 10) {
                        alert('Please enter a 10 digit number');
                        return false;
                }
                
                if(!isNumber($('input[name=number]').val())) {
                        alert('Please enter a valid number');
                        return false;
                }
        }
        
        if($('input[name=name]').val() === ""){
                alert('Please enter customer name');
                return false;
        }
        if($('input[name=number]').val() != $('input[name=repeat]').val()){
                alert('Device number and confirmation number do not match.');
                return false;
        }
        if($('input[name=amount]').val() === ""){
                alert('Please enter amount');
                return false;
        }
        
        if(devicetype == 1 && $('#mobileSelector').val() === 0) {
                alert('Please select operator');
                return false;
        }
        
        if(devicetype == 2 && $('#dthSelector').val() === 0) {
                alert('Please select operator');
                return false;
        }
        
        if(rechargeType == 2) {
                if($('input[name=simNum]').val() === ""){
                        alert('Please enter SIM number');
                        return false;
                }
                
                if($('input[name=simNum]').val().length != 5) {
                        alert('Please enter the last 5 digits of SIM');
                        return false;
                }
                
                if(!isNumber($('input[name=simNum]').val())) {
                        alert('Please enter the last 5 digits of SIM');
                        return false;
                }
                
                if($('input[name=cafNum]').val() === ""){
                        alert('Please enter CAF number');
                        return false;
                }
        }
}