// A global onready for worldly stuff
$(document).ready(function() {
    
    // Add login link catch
    $("#loginLink").click(function(event) {
    	if (event.target == this) {
    		$('.newLoginBox').slideToggle()
    		event.stopPropagation();
    	}
    	return false;
    });
    
    $("#userNav").click(function(event) {
    	if (event.target == this) {
    		top.location='/';
    	}
    	return true;
    });
    $("#header").click(function(event) {
    	if (event.target == this) {
    		top.location='/';
    	}
    	return true;
    });
    
    // Adjust the login drop-down box position for non-IE browsers and ADs
    if ($('#topAd').height() > 0) {
        // We have ads, let make adjustments based on browser
        if ($.browser.msie) {
            $('.newLoginBox').addClass('newLoginBoxWithAds');
        } else {
            $('.newLoginBox').addClass('newLoginBoxNonIEWithAds');
        }
    } else {
        // No ads, only adjust for non-ie browsers
        if (!$.browser.msie) {
            $('.newLoginBox').addClass('newLoginBoxNonIE');
        }
    }
        
    // Catch enter in the login dd
    /*$('#ddPassword').keyup( function(event) {
        if (event.keyCode == 13) {
	    doDropDownLogin();
        }
    })*/
    
    // FancyBox Links
    $("a.fancybox").fancybox({
        'hideOnContentClick': true,
        'overlayShow': true 
    });
});

<!--//hide this script from non-javascript-enabled browsers
var FirebugUtils={

	consoleMethods:["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"],

	available:function() {
		return (window.console) ? (window.console.firebug) : false;
	},
	x:function() {
		if(!this.available()) this.disable();
	},
	disable:function() {
		window.console = {};
		$A(this.consoleMethods).each(function(method) {
			window.console[method] = function(){};
		});
	}
}

/*
    Login
*/
function doDropDownLogin() {
    // Let them know we are trying
    $('#loginStatusBar').html("Attempting Login...").css("color", "black").slideDown();
    
    var username = document.getElementById("ddUsername").value;
    var password = document.getElementById("ddPassword").value;
    
    var remember=false;
    if (document.getElementById("loginRemember").checked)
        remember = document.getElementById("loginRemember").value;
    
    var data = {username: username, password: password, loginRemember: remember, ajax: 'true'}
    var url = $('#loginForm2b').attr('action');
    url = url.replace("https", "http");
    $.post('/do_login/', data, function(data) {
        if (data == 'SUCCESS') {
            $('#loginStatusBar').html("Success!").css("color", "green");
            window.location = window.location;
        } else {
            $('#loginStatusBar').html("Invalid Username/Password").css("color", "red");
        }
    });
}

function doLocalLogin() {
    // Let them know we are trying
    $('#localLoginStatus').html("Attempting Login...").css("color", "black").slideDown();
    
    var username = document.getElementById("localLoginUsername").value;
    var password = document.getElementById("localLoginPassword").value;
    
    var remember=false;
    if (document.getElementById("loginRemember").checked)
        remember = document.getElementById("loginRemember").value;
    
    
    var data = {username: username, password: password, loginRemember: remember, ajax: 'true'}
    var url = $('#localLoginForm').attr('action');
    $.post(url, data, function(data) {
        if (data == 'SUCCESS') {
            $('#localLoginStatus').html("Success!").css("color", "green");
            window.location = window.location;
        } else {
            $('#localLoginStatus').html("Invalid Username/Password").css("color", "red");
        }
    });
}


/* Soon to be */
function addToWishV2(textSpan,product_id) {
	$('#textSpan').html("<span style='color:red;'>Adding to your Wishlist...</span>");
    $.get('/wish_list_add.asp', {ajax: 'true', wllid: textSpan, p: product_id}, function(data) {
        document.getElementById(data.substring(5)).innerHTML = "<span class=\"standouttext\">Item added to your Wishlist.</span>";
		return false;
    });
	return false;
}

function j_addToBOS(textSpan, object_type, object_id) {
    document.getElementById(textSpan).innerHTML = "<span style='color:red;'>Adding to your Bookmarks...</span>";
    $.get('/bos_add_ajax.asp', {boslid: textSpan, t: object_type, id: object_id}, function(data) {
        document.getElementById(data).innerHTML = "<span class=\"standouttext\">Item added to your Bookmarks.</span>";
		return false;
    });
    return false;
}

function add_related_product(product_id, brief_description, object_id, object_type) {
    $.getJSON('/shop_util/add_related_product/' + object_type + '/' + object_id + '/' + product_id + '/', {}, 
        function (data) {
            if (data) {
                $('#addRelatedLink_' + product_id).html("Added").css("color", "blue");
                $('#relatedProducts ul').append('<li id="relatedProduct_' + product_id + '">' + brief_description + '<a href="#" title="Remove as a related product" onclick="remove_related_product(' + object_id + ', \'' + object_type + '\', ' + product_id + '); return false;"><img src="/graphics/tj_close.gif" /></a></li>');
            } else {
                $('#addRelatedLink_' + product_id).parent().html("Error Saving Related Product").css("color", "red");
            }
        }
    );
}

function remove_related_product(object_id, object_type, product_id) {
    $.getJSON('/shop_util/remove_related_product/' + object_type + '/' + object_id + '/' + product_id + '/', {}, 
        function (data) {
            if (data) {
                $('#relatedProduct_' + product_id).slideUp();
                
                if ($('#relatedProducts ul li').length == 0) {
                    window.location.reload();
                }
            }
        }
    );
}

function moderateObject(object_id, object_type) {
    
    $('#moderationRow' + object_id).html("Submitting...").css("color", "blue");
    
    $.get('/moderate.asp', { 'object_id': object_id, 'object_type': object_type }, function(data) {
        $('#moderationRow' + object_id).html("Layout Private");
    });
}    

function toggleItem(sItemName) {
	if ( document.getElementById(sItemName).style.display=='none' )
	{
		x=document.getElementById(sItemName);
		nav=navigator.appName.toLowerCase().substring(0,3);
		//alert(nav);
		if (nav=='net' || nav=='nav')
		{
			x.style.display="table-row";
		}
		else
		{
			x.style.display="block";
		}
		
	}
	else
	{
		document.getElementById(sItemName).style.display='none';
	}
}

	var unameSuccess = function(data) {
		if (data == 'AVAILABLE') {
				var div = document.getElementById('nameCheckSpan');
                div.style.color='#008800';
				div.innerHTML = 'Username Okay!';
			} else {
                var div = document.getElementById('nameCheckSpan');
                div.innerHTML = data;
                div.style.color='#FF0000';
                badLogin = true;
			};
		};

	function doUsernameCheck() {
		var div = document.getElementById('nameCheckSpan');
        var unameField = document.ProfileForm.username.value
        if (unameField.length < 3)
            {
            div.innerHTML = 'Must be at least 3 characters!';
            div.style.color='#FF0000';
            }
        else
            {
            div.style.color='#888888';
    		div.innerHTML = "Checking Name..."
    		$.post('/AJAX/namecheck.asp', {username: unameField}, unameSuccess);
    		return false;
    		}
	};


	var passSuccess = function(data) {
		if (data == 'GOOD') {
				var div = document.getElementById('passCheckSpan');
                div.style.color='#008800';
				div.innerHTML = 'Password Okay!';
			} else {
                var div = document.getElementById('passCheckSpan');
                div.innerHTML = data;
                div.style.color='#FF0000';
                badLogin = true;
			};
		};

	function doPasswordCheck() {
		var div = document.getElementById('passCheckSpan');
        var passField = document.ProfileForm.password.value
        if (passField.length < 6)
            {
            div.innerHTML = 'Must be at least 6 characters!';
            div.style.color='#FF0000';
            }
        else
            {
            div.style.color='#888888';
    		div.innerHTML = "Validating..."
    		$.post('/AJAX/passcheck.asp', {password: passField}, passSuccess);
    		return false;
    		}
	};

    function isValidEmail(str) {
        return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
    }
    
    function localRegisterValidate() {
        if (
            (document.ProfileForm.username.value.length >= 3) && 
            (document.ProfileForm.password.value.length >= 6) && 
            (document.ProfileForm.first_name.value.length >= 3) && 
            (document.ProfileForm.last_name.value.length >= 2) && 
            (document.ProfileForm.e_mail.value.length >= 3) && 
            isValidEmail(document.ProfileForm.e_mail.value)
        )
            {
            return true;
            }
        else
            {
            alert('All fields must be provided. Email must be valid.');
            return false;
            }
    }

