$(function(){
    $('#password-clear').show();
    $('#password-password').hide();

    $('#password-clear').focus(function() {
        $(this).hide();
        $('#password-password').show();
        $('#password-password').focus();
    });
    
    $('#password-password').blur(function() {
        if($(this).val() == '') {
            $('#password-clear').show();
            $(this).hide();
        }
    });
    
    $("#article_search input").focus(function(){
        $(this).select();
    });
        
    $(".section .menu").bind("click", function(){
        $(this).siblings().toggle();
        
        if(this.className != "info menu open"){
            $(this).addClass("open");
        }else{
            $(this).removeClass("open");
        }
    });
    
    $(".section a").bind("click", function(){
        $(".section a").removeClass("here");
        $(this).addClass("here");
    });
    
    $("#language-choice span").bind("click", function(){
        window.location = location.pathname + '?language='+ $(this).html();
    });
    
    $("#article_search button").bind("click", function(){
        kyani.login_fx();
        $("#article_form").submit();
    });
    
    $("#login-form input").keydown(function(event){
        if(event.keyCode == 13){
            kyani.login_fx();
            $("#login-form").submit();
        }
    });
    
    kyani.resize_frame();
    
    $(window).bind("resize", function(){
        return kyani.resize_frame();
    });
    
    $(".event .head").bind("click", function(){
        $(this).siblings().toggle();
    });
    
    $("table.download-data tr:even td").addClass("alt");
    
    $("#col2 select").bind("change", function(){
        $(this).parent().submit();
    });
    
    kyani.load.flowplayer();
    
    if($("div.dashboard").length > 0){
        $.ajax(kyani.dash.params("personal",false));
        $.ajax(kyani.dash.params("events",false));
        $.ajax(kyani.dash.params("volume",true));
        $.ajax(kyani.dash.params("recruit",true));
        $.ajax(kyani.dash.params("promotions",true));
        $.ajax(kyani.dash.params("orders",true));
        $.ajax(kyani.dash.params("customers",true));
    }
    
    if(!$.browser.msie){
        $("div.promo").each(function(){
            img = $("img", this).get();
            $(img).load(function(){
                h = $(this).height(); w = $(this).width();
                sc = "url("+$(this).attr("src")+")";
                if(h > 0 && w > 0){
                    $(this).parent().css({height:h,width:w,"background-image":sc});
                    $(this).remove();
                }
            });
        });
    }
    
    /*if($("#header").height() > 110){
        banner = kyani.banners.get("Wide");
    }else{
        banner = kyani.banners.get("Skinny");
    }
    $("#header").css("background-image","url("+banner+")");*/
});

kyani = {
    processing_text: "PROCESSING ..."
};
kyani.resize_frame = function(){
    $("#iframe-holder").each(function(){ 
        $(this).height("auto"); // reset height
        //should be only one on the page
        w = $(window).height();
        d = $(document).height();
        if(w >= d){
            v = w-220;
        }else{
            v = d-220;
        }
        $(this).height(v+"px");
    });
}
kyani.login_fx = function(){
    $("#article_search button").text(kyani.processing_text);
}
kyani.load = {};
kyani.load.ksa = function(title){
    $("#content_space").animate({opacity:"0.5"});
    $("body").append(kyani.load.loading_img);
    var o = {
        dataType: "html",
        url: "ajax/ksa.get_article.php",
        data: {ksa:title},
        success: function(r){
            $("#content_space").html(r);
            kyani.load.flowplayer();
        },
        error: function(){
            alert("Error pulling page info. Please contact support.");
        },
        complete: function(){
            $("#content_space").animate({opacity:"1"});
            $("#loading").remove();
        }
    };
    $.ajax(o);
};
kyani.load.flowplayer_status = false;
kyani.load.loading_img = '<div id="loading"><img src="/assets/images/ajax-loader.gif"/></div>';
kyani.load.flowplayer = function(){
    if($("a.vidblock").length == 0){
        return false;
    }
    
    // load flowplayer js if not already loaded
    if(!this.flowplayer_status){
        $.ajaxSetup({async: false});
        $.getScript('/assets/js/flowplayer/flowplayer-3.1.4.min.js');
        $.ajaxSetup({async: true});
        this.flowplayer_status = true;
    }
    
    //Flash Streaming Skin
    $f("a.vidblock","/assets/js/flowplayer/flowplayer-3.1.5.swf",{
        clip:{autoPlay:false}
    });
};
kyani.dash = {};
kyani.dash.params = function(location, table){
    var selector = "."+location+" .bd";
    if(table){ selector += " tbody"}
    var dashboard_date = $("#dashboard_date").val();
    return {
        data: {date:dashboard_date},
        success: function(r){
            kyani.dash.process(location, r, selector);
        },
        error: function(xml){
            var mes = kyani.dash.templates.error("http error");
            $(selector+" img").after(mes);
            $(selector+" img").remove();
        },
        dataType: "json",
        url: "ajax/dash_"+location+".php",
        type: "POST"
    };
};
kyani.dash.process = function(loc, r, sel){
    if(r.status != "success"){
        var mes = this.templates.error(r.description);
        $(sel).html(mes);
        return false;
    }
    
    var data = this.templates.fill(loc, r);
    $(sel).html(data);
}
kyani.dash.templates = {};
kyani.dash.templates.fill = function(loc, o){
    switch(loc){
        case "customers":
            html = this.customers(o.data);
            break;
        case "orders":
            html = this.orders(o.data);
            break;
        case "promotions":
            html = this.promotions(o.data);
            break;
        case "recruit":
            html = this.recruit(o.data);
            break;
        case "volume":
            html = this.volume(o.data);
            break;
        case "events":
            html = this.events(o.data);
            break;
        case "personal":
            html = this.personal(o);
            break;
        default:
            html = "Did not recognize: "+loc;
    }
    
    return html;
};
kyani.dash.templates.error = function(desc){
    return "<span class='error'>"+desc+"</span>";
}
kyani.dash.templates.customers = function(o){
    var html = "";
    for(i=0;i<o.length;i++){
        html += "<tr>\n";
        html += "<td><a href='javascript: alert(\""+ o[i].id +"\")'>";
        html += o[i].name +"</a></td>\n";
        html += "<td>"+ o[i].type +"</td>\n";
        html += "<td>"+ o[i].pv +"</td>\n";
        html += "<td>"+ o[i].cv +"</td>\n";
        html += "</tr>\n";
    }
    
    return html;
};

kyani.dash.templates.orders = function(o){
    var html = "";
    for(i=0;i<o.length;i++){
        html += "<tr>\n";
        html += "<td><a href='javascript: alert(\""+ o[i].id +"\")'>"+ o[i].id +"</a></td>\n";
        html += "<td>"+ o[i].status +"</td>\n";
        html += "<td>"+ o[i].volumes +"</td>\n";
        html += "<td>"+ o[i].date +"</td>\n";
        html += "</tr>\n";
    }
    
    return html;
};

kyani.dash.templates.promotions = function(o){
    var html = "";
    for(i=0;i<o.length;i++){
        html += "<tr>\n";
        html += "<td>"+ o[i].name +" ("+ o[i].id +")</td>\n";
        html += "<td>"+ o[i].from +"</td>\n";
        html += "<td>"+ o[i].to +"</td>\n";
        html += "<td>"+ o[i].date +"</td>\n";
        html += "</tr>\n";
    }
    
    return html;
};

kyani.dash.templates.recruit = function(o){
    var html = "";
    for(i=0;i<o.length;i++){
        html += "<tr>\n";
        html += "<td>"+ o[i].name +" ("+ o[i].id +")</td>\n";
        html += "<td><a href='javascript: alert(\""+ o[i].id +"\")'>"+ o[i].recruits +"</a></td>\n";
        html += "</tr>\n";
    }
    
    return html;
};

kyani.dash.templates.volume = function(o){
    var html = "";
    for(i=0;i<o.length;i++){
        html += "<tr>\n";
        html += "<td>"+ o[i].name +" ("+ o[i].id +")</td>\n";
        html += "<td><a href='javascript: alert(\""+ o[i].id +"\")'>"+ o[i].gv +"</a></td>\n";
        html += "</tr>\n";
    }
    
    return html;
};

kyani.dash.templates.events = function(o){
    var html = "<ul>\n";
    for(i=0;i<o.length;i++){
        html += "<li>"+ o[i].date +": "+ o[i].description +" ("+ o[i].name +")</li>\n";
    }
    
    return html;
};

kyani.dash.templates.personal = function(o){
    var html = "\n<ul>\n";
    html += "<li>Paid as Rank: "+ o.rank +"</li>\n";
    html += "<li>Paid as Rank Expiration: "+ o.expire +"</li>\n";
    html += "<li>Personal Volume: "+ o.pv +"</li>\n";
    html += "<li>Autoship Status: "+ o.as_status +"</li>\n";
    html += "</ul>\n";
    
    return html;
};
kyani.banners = {};
kyani.banners.location = "/assets/images/banners/";
kyani.banners.images = [
    "BearOnLog",
    "BearOnTheFalls",
    "BlueMountain",
    "BlueberriesWithLeaves",
    "Blueberries",
    "BlueberryBranch",
    "Forest",
    "GreenMountains",
    "MountainSunset",
    "Mountainscape",
    "WildBlueberries"
];
kyani.banners.get = function(type){
    image = this.images[Math.floor(Math.random()*this.images.length)];
    return this.location + image + "_" + type + ".png";
}
