$(document).ready(function() {    
    // header login button
    $("#header_login_button").live("click", function(){
        var username = $(".signin_box input[name='username']").attr("value");
        var password = $(".signin_box input[name='password']").attr("value");
        var remember_me = false;
        if($(".signin_box input[name='remember_me']").is(":checked")){
            remember_me = true;
        }
        var decode = "false";
        $.ajax({
            url: url_base+"auth/login",
            type: "POST",
            data: "username="+username+"&password="+password+"&remember_me="+remember_me+'&decode='+decode,
            dataType: "json",
            success: function(data){
                if(data.status == "error"){
                    showNotification("error", data.message);
                }
            }
        });
    });
    
    // header login password enter
    $("#login_password").live("keyup", function(e){
        if(e.keyCode==13){      
            var username = $(".signin_box input[name='username']").attr("value");
            var password = $(this).attr("value");
            var remember_me = false;
            if($(".signin_box input[name='remember_me']").is(":checked")){
                remember_me = true;
            }
            var decode = "false";
            $.ajax({
                url: url_base+"auth/login",
                type: "POST",
                data: "username="+username+"&password="+password+"&remember_me="+remember_me+'&decode='+decode,
                dataType: "json",
                success: function(data){
                    if(data.status == "error"){
                        showNotification("error", data.message);
                    }
                }
            });
        }
    });
    
    // add aplication from front(home, consumer, consumer(popup), publisher) pages
    $("#panel_get_app .consumer_btn, #panel_get_app .publisher_btn, .button_add, .popup_buttons_holder a").live("click", function(){
        var id = $(this).attr("id");
        var section = $(this).attr("lang");
        $.ajax({
            url: url_base+"front/"+section+"/add_application",
            type: "POST",
            data: "id="+id,
            dataType: "json",
            success: function(data){
                if(data.status == 'not_logged'){                   
                    window.scroll(0,0);
                    if($(".betro_sign_panel").height() != "170"){
                        $("#panel_get_app").remove();
                        $(".header_signin_button").html('CANCEL <img src="'+url_base+'media/images/templates/invideous.betro.arrow_up.png" />');
                        $(".betro_sign_panel").animate({
                            height: "170px"
                        }, 700);
                        $(".betro_grey_btn img").css("margin-bottom", "3px");  
                        if($(".popup").is(":visible")){
                            var position = $(".popup").position();               
                            $(".popup").animate({
                                top: position.top+160
                            }, 700);
                        }
                    }
                }
            }
        });
    });

    // publisher applications info
    $(".show_info").click(function(e){
        e.preventDefault();
        var id =  $(this).attr("id");
        $("#mcs_container1").find("a").removeClass("button_info_active");
        $(this).addClass("button_info_active");
        // ajax  
        $.ajax({
            url: url_base+"front/publishers/get_application_details",
            type: "POST",
            data: "id="+id,
            dataType: "html",
            success: function(data){
                $(".box4").replaceWith(data);    
                $("#mcs_container2").mCustomScrollbar("vertical",500,"easeOutCirc",1,"auto","yes","no",10);               
                photoSlider();
              
            }
        });
    });   
    
    // check eixsting email address in registration forms 
    $(".create_account_form input[name='email']").focusout(function(e){
        e.preventDefault();
        var email_value =  $(this).attr("value");
        var email_lang =  $(this).attr("lang");
        var that = $(this);
        if(email_value != email_lang){
            // ajax  
            $.ajax({
                url: url_base+"front/account/check_email",
                type: "POST",
                data: "email="+email_value,
                dataType: "json",
                success: function(data){
                    if(data.status == "error"){
                        if($("#email_input_error_holder").length > 0){
                            $("#email_input_error_holder").replaceWith(that);  
                        }
                        $(that).removeClass("input_text");
                        $(that).attr("class", "input_text input_error");
                        $(that).wrap('<span class="input_error_holder" id="email_input_error_holder"></span>');
                        $(that).after('<span class="input_error_msg round"><span class="pin"></span><span class="text">'+data.message+'</span></span>');
                        var msg_left = $(that).next(".input_error_msg").width()+30;
                        $(that).next(".input_error_msg").css("right", "-"+msg_left+"px");
                    }else{
                        if($("#email_input_error_holder").length > 0){
                            $("#email_input_error_holder").replaceWith(that);  
                        }
                    }
                }
            });
        }else{
            if($("#email_input_error_holder").length > 0){
                $("#email_input_error_holder").replaceWith(that);  
            }
        }
    }); 
   
    // check password in registration forms 
    $(".create_account_form input[name='password']").live("focusout",function(e){
        e.preventDefault();
        var password_value =  $(this).attr("value");
        var password_lang =  $(this).attr("lang");
        if((password_value != password_lang) && password_value.length < 6){           
            if($("#password_input_error_holder").length > 0){
                $("#password_input_error_holder").replaceWith(this);  
            }
            $(this).removeClass("input_text");
            $(this).attr("class", "input_text input_error");
            $(this).wrap('<span class="input_error_holder" id="password_input_error_holder"></span>');
            $(this).after('<span class="input_error_msg round"><span class="pin"></span><span class="text">Minimum 6 characters required!</span></span>');
            var msg_left = $(this).next(".input_error_msg").width()+30;
            $(this).next(".input_error_msg").css("right", "-"+msg_left+"px");                         
        }else{
            if($("#password_input_error_holder").length > 0){
                $("#password_input_error_holder").replaceWith(this);  
            }
        }
    }); 
    
    // consumer submit registration form 
    $("#consumer_registration_button").click(function(e){
        if(!$(".input_error_msg").is(":visible")){
            $(this).parent().submit();
        }
    });  
    
    //SUPPORT PAGE   
    // Select category
    $("[id^=category_menu_]").live("click", function(){
        var is_active = $(this).attr('class');
        var category_id = $(this).attr('id').match(/\d+/);
        var language = $(this).parent().attr('lang');
        var publisher_username = $(this).parent().attr('name');
       
        if(is_active != 'active'){
            $(".loader_fullscreen").show();
            $.ajax({
                url: url_base+"front/support/get_questions_by_category",
                type: "POST",
                data: "category_id="+category_id+"&language="+language+"&publisher="+publisher_username,
                dataType: "json",
                complete: function(data){
                    $(".loader_fullscreen").hide();
                },
                success: function(data){
                    if(data != ''){
                        
                        if(data.status != 'error'){
                            if(data.result.length > 0){
                                $(".accordion_faq").html('');
                                var html = '';
                                for(var i = 0; i < data.result.length; i++){
                                    html += '<div class="accordion_header">'+data.result[i].question+'</div>\n\
                                                                <div class="accordion_content">\n\
                                                                        '+data.result[i].answer+'\n\
                                                                </div>';
                                }
                                $(".accordion_faq").html(html);
                                $("[id^=category_menu_]").removeClass("active");
                                $("#category_menu_"+category_id).addClass("active");
                            }
                        }else{
                            $(".accordion_faq").html(data.result);
                        }
                        
                    }else{
                        //system error
                    }
                }
            });
        }
    });
    
    //Search support question
    function search_question(word, publisher_username, language){
        $(".loader_fullscreen").show();
        $.ajax({
            url: url_base+"front/support/get_questions_by_word",
            type: "POST",
            data: "publisher="+publisher_username+"&language="+language+"&word="+word,
            dataType: "json",
            complete: function(data){
                $(".loader_fullscreen").hide();
            },
            success: function(data){
                if(data != ''){
                        
                    if(data.status != 'error'){
                        if(data.result.length > 0){
                            $(".accordion_faq").html('');
                            var html = '';
                            for(var i = 0; i < data.result.length; i++){
                                html += '<div class="accordion_header">'+data.result[i].question+'</div>\n\
                                                                <div class="accordion_content">\n\
                                                                        '+data.result[i].answer+'\n\
                                                                </div>';
                            }
                            $(".accordion_faq").html(html);
                            $("[id^=category_menu_]").removeClass("active");
                        }
                    }else{
                        $(".accordion_faq").html(data.result);
                    }
                        
                }else{
                    //system error
                }
            }
        });
    }
    
    $(".faq_search_field").live("keyup", function(event){
        
        if(event.keyCode == 13){
            var word = $(this).val();
            var publisher_username = $(this).parent().attr("name");
            var language = $(this).parent().attr("lang");
            if(word != ''){
                search_question(word, publisher_username, language);
            }
        }
    });
    
    $(".faq_search_button").live("click", function(){
        var word = $(".faq_search_field").val();
        var publisher_username = $(this).parent().attr("name");
        var language = $(this).parent().attr("lang");
        if(word != ''){
            search_question(word, publisher_username, language);
        }
    });
    
    //End search support question
    
    //Request Support
    
    $(".request_support").live("click", function(){
        var active = $(this).parent().find('.tab_buttons').find('span[class="active"]');
        var active_form = active.attr('lang');
        var form = $(this).parent().parent().find('.tab_content').find('div[lang="'+active_form+'"]');
        var form_id = form.attr("lang");
        var referrer = window.location.href;
        var color = $(this).css('background-color');
        if(active_form == 'email'){
            var name = $(form).find('input[name="name"]').val();
            var email = $(form).find('input[name="email"]').val();
            var repeat_email = $(form).find('input[name="repeat_email"]').val();
            var message = $(form).find('textarea[name="message"]').val();
            var check_for_errors = $(form).find('input.input_error:input');//Finds all inputs that are containing error class
           
            if(check_for_errors.length == 0){
                $(".loader_fullscreen").show();
                $.ajax({
                    url: url_base+"front/support/request_email_support",
                    type: "POST",
                    data: "name="+name+"&email="+email+"&repeat_email="+repeat_email+"&message="+message+"&referrer="+referrer,
                    dataType: "json",
                    complete: function(data){
                        $(".loader_fullscreen").hide();
                    },
                    success: function(data){
                        if(data != ''){
                            if(data.status != 'error'){
                                $(".request_support").addClass('request_off').css('background-color', 'rgb(77, 77, 77)').removeClass('request_support');
                                start_countdown(color, '15000');
                                showNotification('info', data.message, 5000);
                            }else{
                                showNotification('error', data.message, 5000);
                            }
                        }
                    }
                });
            }
        }else if(active_form == 'phone'){
            var name = $(form).find('input[name="name"]').val();
            var email = $(form).find('input[name="email"]').val();
            var phone = $(form).find('input[name="contact_phone_number"]').val();
            phone = phone.replace('+','');
            var language = $(form).find('select[name="rows"]').val();
            var check_for_errors = $(form).find('input.input_error:input');//Finds all inputs that are containing error class
           
            if(check_for_errors.length == 0){
                $(".loader_fullscreen").show();
                $.ajax({
                    url: url_base+"front/support/request_phone_support",
                    type: "POST",
                    data: "name="+name+"&email="+email+"&telephone="+phone+"&language="+language+"&referrer="+referrer,
                    dataType: "json",
                    complete: function(data){
                        $(".loader_fullscreen").hide();
                    },
                    success: function(data){
                        if(data != ''){
                            if(data.status != 'error'){
                                $(".request_support").addClass('request_off').css('background-color', 'rgb(77, 77, 77)').removeClass('request_support');
                                start_countdown(color, '15000');
                                showNotification('info', data.message, 5000);
                            }else{
                                showNotification('error', data.message, 5000);
                            }
                        }
                    }
                });
            }
        }
            
    });
    
    //Track input fields in customer support requests forms
    $(".tab_content").find('input').live("keyup", function(){
        var strlen = $(this).val();
        var name = $(this).attr('name');
        
        if(strlen.length < 3){
            $(this).addClass('input_error');
        }else{
            $(this).removeClass('input_error');
        }
        
        if(name == 'repeat_email'){
            var email = $(this).parent().find('input[name="email"]');
            if(strlen != email.val()){
                $(this).addClass('input_error');
            }
        }
        
        
    });
    
    $(".tab_content").find('input').live("focusout", function(){
        var strlen = $(this).val();
        var name = $(this).attr('name');
        
        if(strlen.length < 3){
            $(this).addClass('input_error');
        }else{
            $(this).removeClass('input_error');
        }
        
        if(name == 'repeat_email'){
            var email = $(this).parent().find('input[name="email"]');
            if(strlen != email.val()){
                $(this).addClass('input_error');
            }
        }
        
        
    });
    
    //Support page, change language
    $(".language_dropdown_content > ul > li").live("click", function(){
        var language = $(this).attr("lang");
        var publisher = $(this).parent().attr('lang');
        window.location.href = url_base+'support/'+publisher+'/'+language;
    });
    
    //showNotification('info', 'aa', 5000);
});

var timer = 0;
function start_countdown(color, time){
    timer = setTimeout('clear_countdown("'+color+'")', time);
}

function clear_countdown(color){
    $(".request_off").addClass('request_support').attr('style', '').removeClass('request_off');
    clearTimeout(timer);
}
