if (!window.YAHOO) throw 'Edmunds : FB CONNECT module requires YAHOO UI';
if (!window.YAHOO.Edmunds.UserTrack) throw 'Edmunds : FB CONNECT module requires Edmunds UserTrack';

// Load LightBox package if we don't have it.
if (!window.YAHOO.Edmunds.LightBoxMedia) {
	document.write('<script type="text/javascript" src="http://www.edmunds.com/day/scripts/edmui/lightbox/lightbox-media.js"><\/script>');
	document.write('<link href="http://www.edmunds.com/day/scripts/edmui/lightbox/lightbox-media.css" type="text/css" rel="stylesheet"><\/link>');
}
// Load FBConnect packages.
if (!window.YAHOO.Edmunds.FBConnect) {
	document.write('<script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"><\/script>');
	document.write('<script type="text/javascript" src="http://www.edmunds.com/day/scripts/edmui/facebook/connect.js"><\/script>');
}
// Init facebook connect onclick of login/logout button.
YAHOO.util.Event.addListener(window, "load", function() {
	YAHOO.util.Event.addListener('fblogin','click', function(e){
		YAHOO.util.Event.stopEvent(e);
                s_objectID = 'edmunds..registration_fb_icon.header....*';
                setTID('edmunds..registration_fb_icon.header....*');
		YAHOO.Edmunds.FBConnect.login();
	});
	YAHOO.util.Event.addListener('signout_btn','click', function(e){
		var fb_user = YAHOO.Edmunds.UserTrack.getCookieValue("FBAUTH", false);
		if (fb_user == 1) {
			YAHOO.util.Event.stopEvent(e);
			var btn = document.getElementById('signout_btn');
			if (btn && btn.href) {
                                //pass logoutSuccessUrl for MSIE
                                var fullHref = btn.href;
                                if (fullHref.indexOf("logoutSuccessUrl") == -1) {
                                    fullHref += (fullHref.indexOf("?") == -1) ? "?" : "&";
                                    fullHref += "logoutSuccessUrl=" + location;
                                }
				YAHOO.Edmunds.FBConnect.setToUrl(fullHref);
			}
			YAHOO.Edmunds.FBConnect.logout();
		}
	});
	// Init lightbox.
	var opts = {
		loadingImage: 'http://www.edmunds.com/day/images/lightboxes/loading.gif',
		animate: true,
		resizeDuration: 0.35,
		fadeDuration: 0.35
	};
	YAHOO.Edmunds.LightBoxMedia.init(opts);
	// Update fblogin and fbuser.
	updateFBLoginSpan();
});

// Update the FB <span> for login/user
function updateFBLoginSpan() {
	var ed_user = YAHOO.Edmunds.UserTrack.getCookieValue("EMAIL", false);
	var fb_user = YAHOO.Edmunds.UserTrack.getCookieValue("FBAUTH", false);
	var userspan = document.getElementById("fbuser");
	var loginspan = document.getElementById("fblogin");
	// User is logged into ED/FB, so display their pic in the fbuser span.
	if (ed_user && fb_user == 1) {
		var fb_pic = YAHOO.Edmunds.UserTrack.getCookieValue("FBPHOTO", false);
		var fb_fn = YAHOO.Edmunds.UserTrack.getCookieValue("FBFNAME", false);
		var fb_ln = YAHOO.Edmunds.UserTrack.getCookieValue("FBLNAME", false);
		if (userspan) { userspan.innerHTML = '<a><img src="' + fb_pic + '" width="19" height="19" alt="' + fb_fn + ' ' + fb_ln + '"/><img src="http://www.edmunds.com/day/scripts/edmui/facebook/Connect_dark_small_short.gif" width="19" height="19" /></a>'; }
		if (loginspan) { loginspan.innerHTML = ''; }
	} else if (ed_user && fb_user != 1) {
		if (userspan) { userspan.innerHTML = '<img width="1" height="19" src="https://secure.edmunds.com/era/day/images/edmunds/global/trans1x1.gif"/>';}
		if (loginspan) { loginspan.innerHTML = '<img width="1" height="19" src="https://secure.edmunds.com/era/day/images/edmunds/global/trans1x1.gif"/>';}
	} else {
		if (userspan) { userspan.innerHTML = ''; }
		if (loginspan) { loginspan.innerHTML = '<a><img src="http://www.edmunds.com/day/scripts/edmui/facebook/Connect_dark_small_short.gif" width="19" height="19" alt="Sign In" title="Sign In" /></a>&nbsp;<a>Connect with Facebook</a>'; }
	}
}

// Define parent.lightbox routines.  
function openFBLightbox(href, rel, value) {
    document.domain = 'edmunds.com';
    var newLink = document.createElement('a');
    newLink.href = href + value;
    newLink.className = 'option';
    newLink.rel = rel;
    YAHOO.Edmunds.LightBoxMedia.open(newLink); 
}

function switchFBLightbox(href, rel, value) {
    document.domain = 'edmunds.com';
    var newLink = document.createElement('a');
    newLink.href = href + value;
    newLink.className = 'option';
    newLink.rel = rel;
    YAHOO.Edmunds.LightBoxMedia.switchOverlay();
    YAHOO.Edmunds.LightBoxMedia.open(newLink);
}

function closeFBLightbox(toUrl) {
    YAHOO.Edmunds.LightBoxMedia.close();
    YAHOO.Edmunds.FBConnect.onNotConnected();
    top.location.href = location;
}

function continueToFBLogin(toUrl) {
    YAHOO.Edmunds.LightBoxMedia.close();
    if (toUrl) {
	var new_url = YAHOO.Edmunds.FBConnect.LOGIN_ACTION + "?toUrl=" + toUrl;
	top.location.href = new_url
    }
}
