// Path: src/main/java/com/trsvax/facebook/FBInit.java
// public class FBInit {
// 	
// 	private String appID;	
// 	private Boolean cookie;	
// 	private Boolean logging;	
// 	private Object session;	
// 	private Boolean status;	
// 	private Boolean xfbml = true;	
// 	private String channelURL;
// 
// 	public String getAppID() {
// 		return appID;
// 	}
// 
// 	public void setAppID(String appID) {
// 		this.appID = appID;
// 	}
// 
// 	public Boolean getCookie() {
// 		return cookie;
// 	}
// 
// 	public void setCookie(Boolean cookie) {
// 		this.cookie = cookie;
// 	}
// 
// 	public Boolean getLogging() {
// 		return logging;
// 	}
// 
// 	public void setLogging(Boolean logging) {
// 		this.logging = logging;
// 	}
// 
// 	public Object getSession() {
// 		return session;
// 	}
// 
// 	public void setSession(Object session) {
// 		this.session = session;
// 	}
// 
// 	public Boolean getStatus() {
// 		return status;
// 	}
// 
// 	public void setStatus(Boolean status) {
// 		this.status = status;
// 	}
// 
// 	public Boolean getXfbml() {
// 		return xfbml;
// 	}
// 
// 	public void setXfbml(Boolean xfbml) {
// 		this.xfbml = xfbml;
// 	}
// 
// 	public String getChannelURL() {
// 		return channelURL;
// 	}
// 
// 	public void setChannelURL(String channelURL) {
// 		this.channelURL = channelURL;
// 	}
// 	
// 
// 	
// 
// }
// 
// Path: src/main/java/com/trsvax/facebook/environment/FacebookEnvironment.java
// public interface FacebookEnvironment {
// 
// 		public boolean isLoadJS();
// 		public void setLoadJS(boolean value);
// 		
// 		public void addInitializerCall(String script);
// 		public List<String> getInitializerCalls();
// }
// 
// Path: src/main/java/com/trsvax/facebook/opengraph/Tags.java
// public class Tags {
// 
// 	private String applicationID;
// 	private String title;
// 	private String type;
// 	private String url;
// 	private String imageURL;
// 	private String siteName;
// 	private String description;
// 	private String admins;
// 	
// 	public String getApplicationID() {
// 		return applicationID;
// 	}
// 	public void setApplicationID(String applicationID) {
// 		this.applicationID = applicationID;
// 	}
// 	public String getTitle() {
// 		return title;
// 	}
// 	public void setTitle(String title) {
// 		this.title = title;
// 	}
// 	public String getType() {
// 		return type;
// 	}
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 	public String getUrl() {
// 		return url;
// 	}
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 	public String getImageURL() {
// 		return imageURL;
// 	}
// 	public void setImageURL(String imageURL) {
// 		this.imageURL = imageURL;
// 	}
// 	public String getSiteName() {
// 		return siteName;
// 	}
// 	public void setSiteName(String siteName) {
// 		this.siteName = siteName;
// 	}
// 	public String getDescription() {
// 		return description;
// 	}
// 	public void setDescription(String description) {
// 		this.description = description;
// 	}
// 	public void setAdmins(String admins) {
// 		this.admins = admins;
// 	}
// 	public String getAdmins() {
// 		return admins;
// 	}
// 	
// 	
// }


import com.trsvax.facebook.environment.FacebookEnvironment;
import com.trsvax.facebook.opengraph.Tags;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.dom.Document;
import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.services.RequestGlobals;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
import org.slf4j.Logger;
import com.trsvax.facebook.FBInit;
	public void meta(Tags tags) {
		render();
		this.tags = tags;
	}
	
	public void render() {
		render = true;
	}

	public void updateDocument(FacebookEnvironment facebookEnvironment, Document document) {
		if ( ! facebookEnvironment.isLoadJS() ) {
			return;
		}
		StringBuilder builder = new StringBuilder();
		builder.append("window.fbAsyncInit = function() {\n");
		//builder.append("alert('init');\n");
		String init = String.format("FB.init({\n" +
				"appId:'%s',\n" +
				"channelUrl:'%s',\n" +
				"status:true,\n" +
				"cookie:true,\n" +
				"xfbml:true\n" +
				"});\n" +
				"// Additional initialization code here\n", "155760164479254"
				,"//judypaul.com/studio/channel"
				);
		builder.append(init);
		for ( String script : facebookEnvironment.getInitializerCalls()) {
			builder.append(script);
		}
// Path: src/main/java/com/trsvax/facebook/FBInit.java
// public class FBInit {
// 	
// 	private String appID;	
// 	private Boolean cookie;	
// 	private Boolean logging;	
// 	private Object session;	
// 	private Boolean status;	
// 	private Boolean xfbml = true;	
// 	private String channelURL;
// 
// 	public String getAppID() {
// 		return appID;
// 	}
// 
// 	public void setAppID(String appID) {
// 		this.appID = appID;
// 	}
// 
// 	public Boolean getCookie() {
// 		return cookie;
// 	}
// 
// 	public void setCookie(Boolean cookie) {
// 		this.cookie = cookie;
// 	}
// 
// 	public Boolean getLogging() {
// 		return logging;
// 	}
// 
// 	public void setLogging(Boolean logging) {
// 		this.logging = logging;
// 	}
// 
// 	public Object getSession() {
// 		return session;
// 	}
// 
// 	public void setSession(Object session) {
// 		this.session = session;
// 	}
// 
// 	public Boolean getStatus() {
// 		return status;
// 	}
// 
// 	public void setStatus(Boolean status) {
// 		this.status = status;
// 	}
// 
// 	public Boolean getXfbml() {
// 		return xfbml;
// 	}
// 
// 	public void setXfbml(Boolean xfbml) {
// 		this.xfbml = xfbml;
// 	}
// 
// 	public String getChannelURL() {
// 		return channelURL;
// 	}
// 
// 	public void setChannelURL(String channelURL) {
// 		this.channelURL = channelURL;
// 	}
// 	
// 
// 	
// 
// }
// 
// Path: src/main/java/com/trsvax/facebook/environment/FacebookEnvironment.java
// public interface FacebookEnvironment {
// 
// 		public boolean isLoadJS();
// 		public void setLoadJS(boolean value);
// 		
// 		public void addInitializerCall(String script);
// 		public List<String> getInitializerCalls();
// }
// 
// Path: src/main/java/com/trsvax/facebook/opengraph/Tags.java
// public class Tags {
// 
// 	private String applicationID;
// 	private String title;
// 	private String type;
// 	private String url;
// 	private String imageURL;
// 	private String siteName;
// 	private String description;
// 	private String admins;
// 	
// 	public String getApplicationID() {
// 		return applicationID;
// 	}
// 	public void setApplicationID(String applicationID) {
// 		this.applicationID = applicationID;
// 	}
// 	public String getTitle() {
// 		return title;
// 	}
// 	public void setTitle(String title) {
// 		this.title = title;
// 	}
// 	public String getType() {
// 		return type;
// 	}
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 	public String getUrl() {
// 		return url;
// 	}
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 	public String getImageURL() {
// 		return imageURL;
// 	}
// 	public void setImageURL(String imageURL) {
// 		this.imageURL = imageURL;
// 	}
// 	public String getSiteName() {
// 		return siteName;
// 	}
// 	public void setSiteName(String siteName) {
// 		this.siteName = siteName;
// 	}
// 	public String getDescription() {
// 		return description;
// 	}
// 	public void setDescription(String description) {
// 		this.description = description;
// 	}
// 	public void setAdmins(String admins) {
// 		this.admins = admins;
// 	}
// 	public String getAdmins() {
// 		return admins;
// 	}
// 	
// 	
// }


// Path: src/main/java/com/trsvax/facebook/services/FBAsyncSupportImpl.java
import com.trsvax.facebook.environment.FacebookEnvironment;
import com.trsvax.facebook.opengraph.Tags;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.dom.Document;
import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.services.RequestGlobals;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
import org.slf4j.Logger;
import com.trsvax.facebook.FBInit;

	public void meta(Tags tags) {
		render();
		this.tags = tags;
	}
	
	public void render() {
		render = true;
	}

	public void updateDocument(FacebookEnvironment facebookEnvironment, Document document) {
		if ( ! facebookEnvironment.isLoadJS() ) {
			return;
		}
		StringBuilder builder = new StringBuilder();
		builder.append("window.fbAsyncInit = function() {\n");
		//builder.append("alert('init');\n");
		String init = String.format("FB.init({\n" +
				"appId:'%s',\n" +
				"channelUrl:'%s',\n" +
				"status:true,\n" +
				"cookie:true,\n" +
				"xfbml:true\n" +
				"});\n" +
				"// Additional initialization code here\n", "155760164479254"
				,"//judypaul.com/studio/channel"
				);
		builder.append(init);
		for ( String script : facebookEnvironment.getInitializerCalls()) {
			builder.append(script);
		}
		builder.append("};\n");