var messageType = '';
var $ = jQuery.noConflict();
$(document).ready(function() {
	$ = jQuery.noConflict();
	fb_init();
});
function fBLogin() {
	if(zwinkyPage == "zwinkychatv2" && window.location.href.indexOf("action=disconnect") != -1){
		FwpConnect.logout(function(){toggleDisplay("disconnect")});
	}
	else if(FwpConnect.adapters.facebook.loggedIn && typeof(FwpConnect.fbUserInfo) == 'object') {
		startFBConnect();
	} 
	else {
		FwpConnect.connect("facebook", startFBConnect);
	}
}
function fb_init() {
	FB.ensureInit(function(){
		//LIstener for the FBConnect button in the registration page inside the chat
		$("#regFBConnect_btn").click( function() {
			try{
				Interface.FBConnect.popConnect(partnerParam);
			}catch(e){alert("Sorry, there has been an error with Facbook Connect. Please try again later");}
		});
		//Listener for the connect button, location unknown
		$("#connect_btn, #facebook_btn").click(function(){
			urchinTracker("/clicks/fbConnect/connect");
			fBLogin();
			return false;
		});
		
		if( !FwpConnect.adapters.facebook.loggedIn && ( zwinkyPage == 'profile' || zwinkyPage == 'home' && sUsername != "" ) ) {//at homepage and not logged in show fb button 
			$('#connect_btn').show();
		}
	});
	//Update link status text
	if( (window.location.href).indexOf("profile.jhtml") != -1 ) {
		updateFBDisable(!FwpConnect.networks.facebook.loggedIn);
	}
		
	//adds listeners to the logout buttons located through out the project
	$("a.logout").each(function(){
		urchinTracker("/clicks/fbConnect/logout");
		var href = $(this).attr("href");
		$(this).attr("href","#").click( function() {
			FwpConnect.adapters.facebook.getLinkStatus( function(sData) {//get link status
				if(sData.hasMatch){
					FwpConnect.logout(function(){ window.location = href; });
				}
				else{
					FwpConnect.FacebookAdapter.prototype.logoutInternal();
					window.location = href;
				}
			});
		});
	});
	
	//action to disable and enable FB Link
	$('#userFBClick').click( function() {
		if(FwpConnect.adapters.facebook.isZwinkyLinked) {
			urchinTracker("/clicks/fbConnect/disable_link");
			deleteLink( function( status ) { 
				if(status) { updateFBDisable(false); }
			});
		} else {
			urchinTracker("/clicks/fbConnect/enable_link");
			fBLogin();
		}
	});
	
	if(zwinkyPage =="zwinkychatv2")
		fBLogin();

	// create modals
	createFbLinkModals();
	createZwinkyModals();
}

function startFBConnect() {
	if(zwinkyPage == 'home' || zwinkyPage == 'registration' || zwinkyPage == 'profile' || zwinkyPage=='zwinkychatv2') {
		checkLinkStatus( function(sData) { 
		var x="";for(var k in sData)x+="\n"+k+": "+sData[k];
			if( sUsername != "" ) {//zwinky user logged in confirm linking, 
				if(sData.isLinked) {//there is a zwinky account tied to this FB Account
					if(sData.hasMatch) {//Zwinky account matches logged in FB Account
						updateFbHeader();
						networkLogin();
					} else {//doesn't match log zwinky user out
						zwinkyLogout( function(loggedOut) {
							if(loggedOut) {
								sUsername = "";//wipe stored name so you can reload page
								networkLogin();
							} else alert('Logout failed. Try again');
						});
					}
				} else {
					$('#confirmLinkingModal .uName').val( sUsername );
					$('.zwinkUserName').html ('Not ' + sUsername + '?' );
					openDialog("confirmLinkingModal");
					//setTimeout(function(){$('#confirmLinkingModal .uName').focus()},1000);
				}
			} else {
				if(sData.isLinked)//there is a zwinky account tied to this FB Account
					networkLogin();
				else{ 
					openDialog("promptZwinkyAcctModal");
					setTimeout(function(){
						$("#FBUsersName").html(FwpConnect.fbUserInfo['firstName']);
						$("#FBLogout").click(function(){
							FB.Connect.logout(function(){
								FwpConnect.connect("facebook", startFBConnect);
							});
							closeDialog("promptZwinkyAcctModal");
						});
					},900);
				}
			}
		});
	}
}

function openDialog( ids ) {
	try { 
		$("#" + ids ).dialog("open");
		setTimeout(function(){$('.uName').focus()},1000);
	}catch (e) {	}
}
function closeDialog( ids , closeExternalWindow) {
	$("#"+ ids ).dialog("close");
	if(closeExternalWindow && typeof(closePopUpWindow) != "undefined")
		closePopUpWindow();
}
function onNetworkLogin(params, firstTime) {
	updateFbHeader();
}

function onNetworkDisconnect(network) {
	// refresh page to display new state
	//window.location.reload();
}

function updateFbHeader() {
	if(zwinkyPage != "zwinkychatv2"){
		if( sUsername != "" ) {//signed in
			$('#connect_btn').hide();//hide connect btn
			$('#fbDisplay').show()
			$('#fbDisplay').click(function(){handleConnectedClick()});
			
			if( zwinkyPage == 'profile'){//profile
				$('#fbDisplay').html('<span style="cursor:hand;text-decoration:underline;">Connected</span>');
			}
			
			if( (window.location.href).indexOf("profile.jhtml") != -1 )//registration 
				updateFBDisable(!FwpConnect.adapters.facebook.isZwinkyLinked);
		}
	} else {
		//log("updateFBHeader for zwinkychatv2");
	}
}

function handleConnectedClick(){
	openDialog("FBConnectCongrats");
	setTimeout(addFBConnectCongratsListeners,1000);
}
function addFBConnectCongratsListeners(){
	$("#closeCongrats").click(function(){
		closeDialog("FBConnectCongrats")
	});
	$("#openWardrobeBtn").click(function(){
		if(zwinkyPage == "profile")
			openWd();
		else
			launchWardrobe();
	});
	$("#viewFriendsBtn").click(function(){
		if(zwinkyPage == "profile")
			openWd("friends", null, null, "friends")
		else
			launchWardrobe("friends");
	});
}

function createFbLinkModals() {
 	if( zwinkyPage != 'chat') {
	 	$("#promptLinkingModal").dialog("destroy").dialog({
			autoOpen:false,
			draggable:true,
			resizable:false,
			modal:true,
			overlay:{opacity:.6,background:"black"},
				dialogClass:"",
				position:"center",
				height:"auto",
				width:513,
				show:{effect:"fade",speed:500},
				hide:{effect:"fade",speed:250},
				open:function(){
					$('#promptLinkingModal .confirm_message').css("color","");
					//setTimeout(function(){$('#promptLinkingModal .uName').focus()},1000);
					// moved click tracking to the fb post button click function
				},
				close:function(){
					//ckTrk("/clicks/fbpostmodal/close/"+ratings_urchin_path);
				}
			 }
		).show();
		$('.ui-dialog-titlebar-close').css("display","none");
		$(".wf_fb_modal .ui-resizable-handle").hide();
		
		if($.browser.msie)
    		$(".wf_fb_modal .ui-dialog-titlebar").hide();
	}
	
	$('#promptLinkingModal .signUp_btn').click( function() {
		urchinTracker("/clicks/fbConnect/signUp");
		zwinkyLogin("promptLinkingModal");
		return false;
	});
	
	$("#promptLinkingModal .reg_btn").click(function() {
		urchinTracker("/clicks/fbConnect/register");
		fillRegForm('modal');
		openDialog("promptZwinkyRegModal");
		closeDialog("promptLinkingModal");
	});
	
	$("#FBConnectCongrats").dialog("destroy").dialog({
	  		autoOpen:false,
			draggable:true,
			resizable:false,
			modal:true,
			overlay:{opacity:.6,background:"black"},
			dialogClass:"",
			position:"center",
			height:"auto",
			width:513,
			show:{effect:"fade",speed:500},
			hide:{effect:"fade",speed:250},
			open:function(){
				//needs to be here
			},
			close:function(){
				//needs to be here
			}
	  	}
  	).show();
  	
  	$("#confirmLinkingModal").dialog("destroy").dialog({
		autoOpen:false,
		draggable:true,
		resizable:false,
		modal:true,
		overlay:{opacity:.6,background:"black"},
			dialogClass:"",
			position:"center",
			height:"auto",
			width:513,
			show:{effect:"fade",speed:500},
			hide:{effect:"fade",speed:250},
			open:function(){
				$('#promptLinkingModal .confirm_message').css("color","");
				$('#promptLinkingModal .confirm_message').html("");//'<strong>Please note: </strong>You can only link one Zwinky account to yoru Facebook profile.');
				// moved click tracking to the fb post button click function
			},
			close:function(){
				//ckTrk("/clicks/fbpostmodal/close/"+ratings_urchin_path);
			}
		 }
	).show();
	$('.ui-dialog-titlebar-close').css("display","none");
	$(".wf_fb_modal .ui-resizable-handle").hide();
  	if($.browser.msie)
    	$(".wf_fb_modal .ui-dialog-titlebar").hide();

	$('#confirmLinkingModal .confirm_btn').click( function() {
		urchinTracker("/clicks/fbConnect/confirm_zwinky_user");
		zwinkyLogin('confirmLinkingModal');
		return false;
	});
	
	$("#confirmLinkingModal .cancel_btn, #confirmLinkingModal .signOut_btn").click(function() {
		 if(zwinkyPage != 'chat') {//log out of zwinky
		 	FwpConnect.adapters.facebook.getLinkStatus( function(sData) {//get link status
				if(sData.hasMatch){
					FwpConnect.logout( function(){
		           		closeDialog("confirmLinkingModal", true);
						document.location.href = FwpConnect.handler.remoteHost + '/logout.jhtml';
					});
				}
				else{
					FwpConnect.FacebookAdapter.prototype.logoutInternal();
					document.location.href = FwpConnect.handler.remoteHost + '/logout.jhtml';
				}
			});
		} 
		else {
			closeDialog("confirmLinkingModal", true);
		}
		//urchinTracker("/clicks/fbconnect/gameplayer/cancel_confirmation/"+ launchGameObject.gameId + "/" + launchGameObject.signedIn );
  	});
}

function createZwinkyModals() {
 	//Create Zwinky Account Checking Modal
 	$("#promptZwinkyAcctModal").dialog("destroy").dialog({
		autoOpen:false,
		draggable:true,
		resizable:false,
		modal:true,
		overlay:{opacity:.6,background:"black"},
			dialogClass:"",
			position:"center",
			height:"auto",
			width:490,
			show:{effect:"fade",speed:500},
			hide:{effect:"fade",speed:250},
			open:function(){
				$('#promptLinkingModal .confirm_message').html("");
				// moved click tracking to the fb post button click function
			},
			close:function(){
				
			}
		 }
	).show();
	$('.ui-dialog-titlebar-close').css("display","none");
	
	$(".haveAcct_btn").click(function() {
		urchinTracker("/clicks/fbConnect/have_an_account");
		closeDialog("promptZwinkyAcctModal");
		openDialog("promptLinkingModal");
		//setTimeout(function(){$('#promptZwinkyRegModal .uName').focus()},1000);
	});
	$(".needAcct_btn").click(function() {
		urchinTracker("/clicks/fbConnect/need_an_account");
		closeDialog("promptZwinkyAcctModal");
		fillRegForm('modal');
		openDialog("promptZwinkyRegModal");
		//setTimeout(function(){$('#promptLinkingModal .uName').focus()},1000);
	});
//	$("#promptZwinkyAcctModal .cancel_btn").click(function() {
//		closeDialog("promptZwinkyAcctModal", true);
//		//urchinTracker("/clicks/fbconnect/gameplayer/cancel_confirmation/"+ launchGameObject.gameId + "/" + launchGameObject.signedIn );
//  	});
  	
  	//Create FB Zwinky registration modal
  	$("#promptZwinkyRegModal").dialog("destroy").dialog({
		autoOpen:false,
		draggable:true,
		resizable:false,
		modal:true,
		overlay:{opacity:.6,background:"black"},
			dialogClass:"",
			position:"center",
			height:"auto",
			width:513,
			show:{effect:"fade",speed:500},
			hide:{effect:"fade",speed:250},
			open:function(){
				// moved click tracking to the fb post button click function
			},
			close:function(){
				//ckTrk("/clicks/fbpostmodal/close/"+ratings_urchin_path);
			}
		 }
	).show();
	$('.ui-dialog-titlebar-close').css("display","none");
	
	$("#promptZwinkyRegModal #linkedAcct").click(function() {
		urchinTracker("/clicks/fbConnect/prompt_linking");
		openDialog("promptLinkingModal");	
	});
	
	$("#promptZwinkyRegModal .cancel_btn, #under13Modal .cancel_btn, #promptLinkingModal .cancel_btn, #promptZwinkyAcctModal .cancel_btn, #confirmLinkingModal .cancel_btn").click(function() {
		closeDialog("under13Modal", true);
		closeDialog("promptLinkingModal", true);
		closeDialog("confirmLinkingModal", true);
		closeDialog("promptZwinkyRegModal", true);
		closeDialog("promptZwinkyAcctModal", true);
  	});
	
	$("#promptZwinkyRegModal .cancel_btn, #promptZwinkyRegModal #linkedAcct").click(function() {
		urchinTracker("/clicks/fbConnect/cancel_registration");
		resetRegForm();
		closeDialog("promptZwinkyRegModal");
  	});
  	 
  	$("#promptZwinkyRegModal .joinNow_btn").click(function() {
  		urchinTracker("/clicks/fbConnect/join_now");
		registerZwinkyUser();
  	});
  	
  	//Create under 13 dialog
  	$("#under13Modal").dialog("destroy").dialog({
		autoOpen:false,
		draggable:true,
		resizable:false,
		modal:true,
		overlay:{opacity:.6,background:"black"},
			dialogClass:"",
			position:"center",
			height:"auto",
			width:513,
			show:{effect:"fade",speed:500},
			hide:{effect:"fade",speed:250},
			open:function(){
				// moved click tracking to the fb post button click function
			},
			close:function(){
				//ckTrk("/clicks/fbpostmodal/close/"+ratings_urchin_path);
			}
		 }
	).show();
	$('.ui-dialog-titlebar-close').css("display","none");
	
//	$("#under13Modal .cancel_btn").click(function() {
//		closeDialog("under13Modal");
// 	});
}

/**
 * return month index given month string
 */
function getMonthIndex(m){
	if(m=='february') return 2;
	else if(m=='march') return 3;
	else if(m=='april') return 4;
	else if(m=='may') return 5;
	else if(m=='june') return 6;
	else if(m=='july') return 7;
	else if(m=='august') return 8;
	else if(m=='september') return 9;
	else if(m=='october') return 10;
	else if(m=='november') return 11;
	else if(m=='december') return 12;
	else return 1;
}

/**
 * fill form given type (model or normal reg)  
 */
var age;
function fillRegForm( type ) {
	var fbInfo = FwpConnect.fbUserInfo;
	if( fbInfo.birthday != null ) {
		var bday = fbInfo.birthday.replace('\,','');
		bday = bday.split(' ');
		try {$('#uBdateMonth, #birthdayMonth')[0].selectedIndex = (getMonthIndex((bday[0]).toLowerCase()) ) | 0;}catch(e){}
		try {$('#uBdateDay, birthdayMonth')[0].selectedIndex = parseInt(bday[1]) | 0;}catch(e){}
		try {$('#uBdateYear, birthdayYear')[0].selectedIndex = ((new Date().getFullYear()) - parseInt(bday[2]) + 1) | 0; }catch(e){}
	}
	if( type == 'modal' ) {
		$('#uGender')[0].selectedIndex = (fbInfo.gender.toLowerCase() == 'male')?0:1;
	} else {
		$('select[id*="gender"]')[0].selectedIndex = (fbInfo.gender.toLowerCase() == 'male')?1:2;
		$('input[id*="firstName"]').val( fbInfo.firstName );
		$('input[id*="lastName"]').val( fbInfo.lastName );
	}
}

/**
 * validate FB Zwinky Registration modal info
 */
function registerZwinkyValidation() {
	var emailregex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if( $('#promptZwinkyRegModal .uName').val() == '' || $('#promptZwinkyRegModal .uPwd').val() == '' || $('#uEmailAddr').val() == '' )
		return 'Missing information!';
	else if( !($('#uEmailAddr').val()).match(emailregex) ) 
		return 'Invalid email address!';
	else if( $('#uBdateMonth')[0].selectedIndex == 0 || $('#uBdateDay')[0].selectedIndex == 0 || $('#uBdateYear')[0].selectedIndex == 0 ) {
		return'Missing birthday information!';
	} else if( !$('#tos_opt')[0].checked )
		return'You must agree to the Terms of Service and Privacy Policy!';
	else
		return 'Valid';
}

/**
 * reset registration form
 */
function resetRegForm() {
	$("#promptZwinkyRegModal input").val("");
	$("#promptZwinkyRegModal #uBdateMonth")[0].selectedIndex = 0;
	$("#promptZwinkyRegModal #uBdateDay")[0].selectedIndex = 0;
	$("#promptZwinkyRegModal #uBdateYear")[0].selectedIndex = 0;
	$("#promptZwinkyRegModal #uGender")[0].selectedIndex = 0;
	$("#promptZwinkyRegModal #tos_opt")[0].checked = false;
}
/**
 * ajax registration for FB Connect
 */
function registerZwinkyUser() {
	var validationMsg = registerZwinkyValidation();
	//todo do a safety check for birthday on facebook if it doesnt exist use input value
	var age = parseInt((new Date()).getFullYear()) - parseInt($('#uBdateYear').val());
	if( age < 13 ) {
		closeDialog("promptZwinkyRegModal");
		openDialog("under13Modal");
	} else if( validationMsg == 'Valid' ) {
		var sGender;
		if($("#uGender").val().toUpperCase() == "MALE" || $("#uGender").val().toUpperCase() == "FEMALE")
			sGender = $("#uGender").val().toUpperCase().substr(0,1);
		else
			sGender = $("#uGender").val().toUpperCase();
		
		var params = { 
			firstname:FwpConnect.fbUserInfo.firstName,
			lastname:FwpConnect.fbUserInfo.lastName,
			username:$('#promptZwinkyRegModal .uName').val(),
			birthDate: ($('#uBdateMonth')[0].selectedIndex+1)+'/'+$('#uBdateDay').val()+'/'+$('#uBdateYear').val(),
			password:$('#promptZwinkyRegModal .uPwd').val(),
			emailAddr:$('#uEmailAddr').val(),
			gender: sGender,
			tp: (zwinkyPage=='zwinkychatv2')?oQSParams['p']:oToolbarController.sPartnerID
		}
		formInfo = params;
		$.post(FwpConnect.handler.remoteHost + "/registerAjax.jhtml", params, function (data) {
			data = eval("(" + data + ")");// parse JSON response
			if(data.status == "success") {//before logging in call quest action to award zbucks and start quest track.
				urchinTracker("/clicks/fbconnect/shortRegistration/complete");
				zwinkyQuestAction( 12, "PRE_ENROLL", function() {
					document.body.removeChild($('#questAction_iframe_12')[0]);
					closeDialog("promptZwinkyRegModal");
					checkFBEmailPerms()
				});
				urchinTracker("/clicks/fbconnect/shortRegistration/complete");
			} else {
				var i, msg = '', msgs = data.messages[0];
				for( i in msgs ) {
					msg = msgs[i] + '.';
				}
				if( msg == "too young..must be older than 13." ) {
					closeDialog("promptZwinkyRegModal");
					openDialog("under13Modal");
				} else if( msg == "Username exists in database, choose another one." )
					alert( "Sorry, that username is already taken");
				else
					alert( msg );
			}
		});
		return false;
	} else alert( validationMsg );
}

/**
 * just adding a middleman function 
 */
function checkFBEmailPerms(){
	FbPublish.checkPermission( "email", true, function(a_args) {
		networkLogin();
		var tempUrchinCall = (a_args.toString().toLowerCase() == "email" || a_args.toString()=="1")? "accept" : "decline";
		urchinTracker("/clicks/fbconnect/"+tempUrchinCall+"Email");
	});
}

/**
 * trigger quest action given id, action and a callback function
 */
function zwinkyQuestAction( id, action, callback ) {
	var oEnv = (window.location.href.indexOf("dev")!=-1)?"dev.":"";
	var questUrl = "http://edits."+oEnv+"zwinky.com/zwinky-world/QuestAction.jhtml?questIds=["+id+"]&actions=["+action+"]";
	var oDiv=document.createElement('DIV');	
	oDiv.id="questAction_iframe_"+id;
	oDiv.style.display="none";
	oDiv.innerHTML='<iframe id="questAction_iframeDiv" src="'+questUrl+'" ></iframe>';
	document.body.appendChild(oDiv);
	setTimeout(callback, 500);//allow iframe page to load
}
/**
 * ajax login for FB Connect
 */
function zwinkyLogin( mSource ) {
	var params = {username:$('#'+mSource+' .uName').val(),password:$('#'+mSource+' .uPwd').val()}
	
	if( sUsername != "" && sUsername != null && $('#'+mSource+' .uName').val() != sUsername ) {//user is logged in, check if usernames match
		$('#'+ mSource +' .confirm_message').html('<Strong>Invalid Username. Please try again!</Strong>');
		$('#'+ mSource +' .confirm_message').css("color","Red");
	} else if( FwpConnect.adapters.facebook.isZwinkyLinked && FwpConnect.adapters.facebook.hasMatch  ) {//check if logged in zwinky account has a link
		$('#'+ mSource + ' .confirm_message').html('<Strong>This Zwinky Account already has a linked Facebook Account.</strong>');
		$('#'+ mSource +' .confirm_message').css("color","Red");
	} else if( $('#'+mSource+' .uName').val() != '' &&  $('#'+mSource+' .uPwd').val() != '' ) {
		if(!FwpConnect.adapters.facebook.isLinked) {//not linked
			$.post( FwpConnect.handler.remoteHost + "/loginAjax.jhtml", params, function (data, status) {
				data = eval("(" + data + ")");// parse JSON response
				if(data.status == "success") {//allow temp login
					checkLinkStatus( function(sData) {
						if(sData.isZwinkyLinked) {//zwinky account has an existing link ajax log out and alert.
							zwinkyLogout( function(status) {
								$('#'+ mSource +' .confirm_message').css("color","Red");
								$('#'+ mSource +' .confirm_message').html('<Strong>This Zwinky Account is already linked to a Facebook acount. Please try again.</Strong>');
							});
						} 
						else {
							checkFBEmailPerms()
						}
					});
				} else {
					$('#'+ mSource +' .confirm_message').css("color","Red");
					$('#'+ mSource +' .confirm_message').html('<Strong>'+data.message+'</Strong>');
				}
			});
		} else $('#'+ mSource +' .confirm_message').html('<Strong>This Facebook account is already linked to an existing Zwinky Account.</Strong>');
	} else $('#'+ mSource +' .confirm_message').html('<Strong>Missing Username or Password!</Strong>');
	//<strong>Please note: </strong>You can only link one Zwinky account to yoru Facebook profile.
}

/**
 * ajax logout for FB Connect
 */
function zwinkyLogout( callback ) {
	$.post( FwpConnect.handler.remoteHost + "/logoutAjax.jhtml", {}, function (data, status) {
		callback(status=="success");
	});
}

function setDataController(a_val){
	try{
		initData();
		var newUser = new oUser();
		newUser.FBConnected = a_val;
		newUser.username = sUsername;
		updateDataUser(newUser);
	}catch(e){}
}

function deleteLink( callback ) {
	if(FwpConnect.adapters.facebook.isZwinkyLinked) {
		var params = {network:"Facebook",networkId:""};
		$.post( FwpConnect.handler.remoteHost + "/deleteLink.jhtml", params, function (data, status) {
			data = eval("(" + data + ")");// parse JSON response
			if(data.status == "success") {
				//update DataController
				setDataController("0");
				//set islinked to false, and call logout
				FwpConnect.adapters.facebook.isLinked = false;
				FwpConnect.adapters.facebook.isZwinkyLinked = false
				FwpConnect.logout( function(){
					callback(true);
				});
			} else alert( data.message );
		});
	}
}
function checkLinkStatus( callback ) {
	if(FwpConnect.adapters.facebook) {//Logged in to FB?
		FwpConnect.adapters.facebook.getLinkStatus( function(sData) {//get link status
			FwpConnect.adapters.facebook.isLinked = sData.isLinked;
			if( sUsername != "" && sData.hasMatch != 'undefined') {
				FwpConnect.adapters.facebook.hasMatch = sData.hasMatch;//logged in zwinky user matches linked account
				FwpConnect.adapters.facebook.isZwinkyLinked = sData.isZwinkyLinked;//logged in zwinky user matches linked account
				FwpConnect.adapters.facebook.linkedNetworkId = sData.linkedNetworkId;//logged in zwinky user matches linked account
			}
			callback(sData);
		});
	}
}

/**
 * ajax network login for FB Connect linking (reloads on success)
 */
function networkLogin() {
	//FbPublish.sendEmail(targetIds, "Email from webfetti","this is my body text","", function() { alert('email sent'); } );
	
	FwpConnect.handler.networkLogin( FwpConnect.fbUserInfo, function() {
		FwpConnect.adapters.facebook.isLinked = true;
		if( sUsername == "" ) {//not signed in to zwinky refresh to show new state
			if( zwinkyPage == 'registration' )
				document.location.href=(successURL)?successURL:document.location.reload(); 
			else if( zwinkyPage == 'home' || zwinkyPage == 'profile' )
				document.location.reload();
			else if( zwinkyPage=='zwinkychatv2') 
				onNetworkLoginCallBack();
		} 
		else {
			if(zwinkyPage == "zwinkychatv2")
				onNetworkLoginCallBack();
			else
				onNetworkLogin(); 
		}
		closeDialog("promptZwinkyRegModal");
		closeDialog("confirmLinkingModal");
	});
}
//call getLinkStatus outside of fb library for the disable/enable link verification / toggling
function updateFBDisable(recall) {
	if(recall) {//check status
		$.post("/registration/getLinkStatus.jhtml", {network:"Facebook",networkId:""}, 
			function (data, status) {
				if (status == "success") {
					var data = eval("(" + data + ")");
					FwpConnect.adapters.facebook.isLinked = data.isLinked;//if fb logged in show link status of this fb account
					FwpConnect.adapters.facebook.hasMatch = data.hasMatch;//logged in zwinky user matches linked account
					FwpConnect.adapters.facebook.isZwinkyLinked = data.isZwinkyLinked;//logged in zwinky user matches linked account
					FwpConnect.adapters.facebook.linkedNetworkId = data.linkedNetworkId;//logged in zwinky user matches linked account
					$('#userFBClick').html(data.isZwinkyLinked?"Disable facebook account":"Enable facebook account");
				}
			}
		);
	} else {
		$('#userFBClick').html(FwpConnect.adapters.facebook.isZwinkyLinked?"Disable facebook account":"Enable facebook account");
	}
}
/**
 * get cookie data given name
 */
function getCookie(name){
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var ii = 0;
	while (ii < clen) {
		var jj = ii + alen;
		if (document.cookie.substring(ii, jj) == arg) {
			return getCookieVal (jj);
		}
		ii = document.cookie.indexOf(" ", ii) + 1;
		if (ii == 0) break;
	}
}