/****************************************
    Website Coded by Gelo Factory LLC
           All Rights Reserved
           (c)  Copyright 2008
         http://gelofactory.com/
****************************************/

$(function() {
    var press_data = null;
    /*
     * About
     */

    if ($(".about").length) {
        $(".multipage").hide();
        $(".multipage").filter(":first").show();

        var disp = function(x,y) {
            $("#"+x).removeClass("selected");
            $("#"+x).addClass("sect");
            $("#"+y).removeClass("sect");
            $("#"+y).addClass("selected");
        };

        $(".sect, .selected").click( function() {
            var sid = $(".subnav .selected").attr('id'); 
            if (!sid) sid = $(".article .selected").attr('id');
            op = parseInt(sid.substr(3));
            var cid = $(this).attr('id');
            disp(sid, cid);
            cp = parseInt(cid.substr(3));
            redraw();
        });

        function redraw() {
            var navid = $(".subnav .selected").attr('id');
            if (!navid) navid = $(".article .selected").attr('id');
            if ($("#current_page").length) $("#current_page")[0].innerHTML = cp;
            $(".multipage").each(function(i) {
                if ((i+1) == op) {
                    $(this).fadeOut("fast", function() {
                        $(".multipage").each(function(i) {
                            if ((i+1) == cp) $(this).fadeIn("fast");
                        });
                    });
                }
            });
        }
    }

    /*
     * Scrolling Layers
     */

    var enableScroll = function() {
        var so = new dw_scrollObj('wn', 'lyr');
        so.setUpScrollbar("dragBar", "track", "v", 1, 1, 0);
        so.setUpScrollControls('scrollbar', true, 'v');
        if ($("#extra_controls").length) {
            so.setUpLoadLinks('extra_controls');
            so.setUpScrollControls('extra_controls');
        }
        so.setUpScrollControls('wn');
    };
    
    if ( dw_scrollObj.isSupported() ) {
        if ($("#holder").length) dw_Event.add( window, 'load', enableScroll);
    }

    setTimeout(function() { 
        if($.browser.msie) if ($("#holder").length) enableScroll();
    }, ($.browser.safari ? 250 : 0));

    /*
     * Image Preloader
     */

    var pi = new Array();
    var pio = new Array();

    function queuePreloadImg(arg) {
        pi.push(arg);
    }

    function preloadImgs(to) {
        setTimeout(function() {
            pio = new Array();
            $.each(pi, function(pii, pie) {
                pio.push(new Image());
                pio[pii].src = pie;
            });
            pi = new Array();
        }, to);
    }

    if ($('body.collections').length) queuePreloadImg("./_img/loading_collection.gif");
    if ($('body#press').length) queuePreloadImg("./_img/loading_press.gif");
    if ($('body.stores').length) { 
        queuePreloadImg("./_img/loading_store.gif");
        queuePreloadImg("./_img/store_overlay-div-wrap-bg.jpg");
    }
    preloadImgs(0);

    /*
     * Stores
     */

    if ($('body.stores').length) {
        var enableStoresLinks = function() {
            $(".stores ul a, .stores .back a").click(function() {
                sid = $(this).attr('id');
                var op = sid.substr(0,2);
                var id = sid.substr(2);

                $("#lyr").html("<img src='_img/loading_store.gif' width='120' height='20' id='loading' />");
                $.ajax({
                        type: "POST",
                        url: "ajax/stores_req.php" ,
                        data: op+"="+id,
                        success: function(resp) {
                            var bg = $("#wrap").css("background-image");
                            bg = (op == "rb") ? bg.replace(/store_overlay-/, "store-") : bg.replace(/store-/, "store_overlay-");
                            $("#wrap").css("background-image", bg);
                            $("#lyr").html(resp);
                            enableStoresLinks();
                            enableScroll();
                        },
                        error: function() {
                            alert("Something went wrong.  Please try again.");
                            document.location.href = "stores.php";
                        }
                });
            });
        };

        enableStoresLinks();
    }
    /*
     * Featured news
    */
     if ($('body.home').length) {
        var news_count = $(".home #news #ticker li").length;
        if (news_count) {
            var news_index = 0;
            $(".home #news #ticker li").hide();
            $(".home #news #ticker li:eq("+news_index+")").show();
            if (news_count > 1) {
                var news_fade_delay = 2500;
                var news_fade_speed = 'slow';
                var news_tick = function() {
                    $(".home #news #ticker li:eq("+news_index+")").fadeOut(news_fade_speed, function() {
                    news_index++;
                        if (news_index == news_count) news_index = 0;
                        $(".home #news #ticker li:eq("+news_index+")").fadeIn(news_fade_speed, function() {
                            setTimeout(news_tick, news_fade_delay);
                        });
                    });
                };
                setTimeout(news_tick, news_fade_delay);
            }
        }
    }
            /*
         *  Press
         */
        if ($('body#press').length) {
            $.getJSON('_js/json/press.json.php', {}, function(data) {
                press_data = data;
            });
            
            $(".article h2 a").click( function() {
                if(press_data) {
                    pid = $(this).attr('id');
                    $("#article_details .dl").show();
                    $("#article_details a").attr("href",""); 
                    $.each(press_data[pid], function(i, e) {
                        if (e['image_path'].length) {
                            $("#article_details img").attr("src", "./_img/loading_press.gif"); 
                            $("#article_details img").attr("src",e['image_path']); 
                        }
                        if (e['source'].length){
                            $("#article_details #source").html(e['source']);
                            $("#article_details img").attr("alt",e['source']); 
                        }
                        if (e['pdf_path'].length) {
                            $("#article_details .dl a").attr("href", e['pdf_path']); 
                            $("#article_details a").attr("href",e['pdf_path']); 
                        }
                        if (e['pdf_exists'] == false) {
                            $("#article_details .dl").hide();
                            $("#article_details a").removeAttr('href');
                        }
                    });
                }
            });
            
        }   
    
    /*
     * Newsletter
    */
    var invalid_email = "Your email address is invalid.";
    var success_newsletter = "Your email address has been added.";
    var email_selector = "JOIN OUR MAILING LIST"; 
    var init_text = $("#newsletter_email").val();
    
    if ($("#newsletter_email").length) { populateElement('#newsletter_email', email_selector); };
    
    
    if ($('body.contact').length) {
         $("#signup").click( function() {  
            if (($("#newsletter_email").val() == init_text) && $("#newsletter_email").val() == email_selector) {
                return false;
            }
            if (!validateEmail($("#newsletter_email").val())) { 
                $("#message").html(invalid_email);
                $("#newsletter_email").focus();
                return false;
            } else { 
                $.ajax({                            
                    type: "POST",
                    url: "ajax/newsletter_req.php?"+$("#newsletter_email").serialize() ,
                    success: function(resp) {
                        $("#message").html(success_newsletter);
                        $("#newsletter_email").val(email_selector);
                    },
                    error: function() {
                        alert("Something went wrong.  Please try again.");
                        document.location.href = "contact.php";
                    }
                });
                return false;
            }
    	});
    } 	
    
    function populateElement(selector, defvalue) {
        if ($.trim($(selector).val()) == "") {
            $(selector).val(defvalue);
        }
        $(selector).focus(function() {
            if ($(selector).val() == defvalue) {
                $(selector).val("");
            }
        });
        $(selector).blur(function() {
            if ($.trim($(selector).val()) == "") {
                $(selector).val(defvalue);
            }
        });
    }
    
    function validateEmail(email) {
        var reg = /^([A-Za-z0-9_\-\+\.])+\@([A-Za-z0-9_\-\+\.])+\.([A-Za-z]{2,4})$/;
        if (reg.test(email) == false) {
            return false;
        } else {
            return true;
        }
    }
    /*
     * Login
    */ 
    $('#login_form').submit(function() {
		var uname = $('#username').val();
		var password = $('#password').val();
		if (!(validateEmpty(uname))) {
			alert('Please enter username');
			$('#username').focus();
			return false;
		}
		if (!(validateEmpty(password))) {
			alert('Please enter password');
			$('#password').focus();
			return false;
		}
	});

	function validateEmpty(str) {
		var emptyReg = new RegExp("^.+$", "g");
		return emptyReg.test(str);
	}
});
