/*
*	Doodlez
*	Contains utility / interface functions for Doodlez
*	
*	Requires jQuery library (http://www.jquery.com),
*	SWFObject (http://blog.deconcept.com/swfobject/),
*	sIFR (http://www.mikeindustries.com/sifr/)
*	
*	Taylan Pince (taylan@trapeze.com) - October 1, 2007
*/

if (typeof trapeze == 'undefined') trapeze = new Object();

trapeze.Doodlez = {
	
	set_cookie : function(name, val, days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime() + (days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		} else {
			var expires = "";
		}
		document.cookie = name + "=" + val + expires + "; path=/";
	},
	
	get_cookie : function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for (var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},
	
	del_cookie : function(name) {
		this.set_cookie(name, '', -1);
	},
	
	mark_anim : function(type) {
		if (this.get_cookie('Doodlez' + type + 'Anim') == null) {
			this.set_cookie('Doodlez' + type + 'Anim', 'True', 1);
		}
	},
	
	mark_last: function() {
		$("li:last-child").addClass("last-child");
	},
	
	sifr : function() {
		if (typeof sIFR == "function") {
			sIFR.replaceElement("#HomeColumn h1", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#8769bf", sLinkColor: "#8769bf", sHoverColor: "#666666", sBgColor: "#F2F2F2" , nPaddingTop: 20, nPaddingLeft: 50, sFlashVars: "textalign=left"}));
			sIFR.replaceElement("#sidebar-right .block-blog h2.title", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#000000", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF", nPaddingTop: 20, nPaddingLeft: 20, nPaddingRight: 20, sWmode: 'transparent', sFlashVars: "textalign=left"}));
			sIFR.replaceElement(".contact h1.title", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#333333", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF" , sWmode: 'transparent', sFlashVars: "textalign=left"}));
			sIFR.replaceElement(".double h1.title", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#e73b47", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF" , sWmode: 'transparent', sFlashVars: "textalign=left"}));
			sIFR.replaceElement(".welcome", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#666666", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF" , sFlashVars: "textalign=left"}));
			sIFR.replaceElement(".blog h1.title", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#5e35aa", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF" , nPaddingLeft: 30, sFlashVars: "textalign=left", sWmode: 'transparent'}));
			sIFR.replaceElement(".show h1.title, .cast h1.title, .flatpage h1.title", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#3aa7e5", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF" , nPaddingLeft: 30, sFlashVars: "textalign=left", sWmode: 'transparent'}));
			sIFR.replaceElement(".video h1.title", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#fe7e00", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF" , nPaddingLeft: 30, sFlashVars: "textalign=left", sWmode: 'transparent'}));
			sIFR.replaceElement(".single h1.title", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#333333", sLinkColor: "#000000", sHoverColor: "#666666", sBgColor: "#FFFFFF" , nPaddingLeft: 30, sFlashVars: "textalign=left", sWmode: 'transparent'}));
			sIFR.replaceElement("h2.title, h2.title a", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#333333", sLinkColor: "#333333", sHoverColor: "#666666", sBgColor: "#FFFFFF" , sWmode: 'transparent', sFlashVars: "textalign=left"}));
			sIFR.replaceElement("h3.title, h3.title a", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#333333", sLinkColor: "#333333", sHoverColor: "#666666", sBgColor: "#FFFFFF" , sWmode: 'transparent', sFlashVars: "textalign=left"}));
			sIFR.replaceElement("p.vault-info-countdown, .vault-info-next p", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#717171", sLinkColor: "#333333", sHoverColor: "#666666", sBgColor: "#FAFAFA", sFlashVars: "textalign=center"}));
			sIFR.replaceElement("p.vault-info-return", named({sFlashSrc: trapeze.assets_path + "fla/chauncy.swf",  sColor: "#969696", sLinkColor: "#333333", sHoverColor: "#666666", sBgColor: "#FAFAFA", sFlashVars: "textalign=center"}));
		};
	},
	
	rgb2hex : function(rgb) {
		var charSet = "0123456789ABCDEF";
		var colours = rgb.replace(/^rgb\(([0-9]+), ([0-9]+), ([0-9]+)\)$/gi, "$1,$2,$3").split(",");
		var hex = "";
		
		for (var i = 0; i < colours.length; i++) {
			var num = parseInt(colours[i]);
			if (num == 0 || isNaN(num)) {
				hex += "00";
			} else {
				num = Math.max(0, num);
				num = Math.min(num, 255);
				num = Math.round(num);
				hex += charSet.charAt((num - num % 16) / 16) + charSet.charAt(num % 16);
			}
		}
		
		return hex;
	},
	
	nav : function() {
		if ($("#flashMenu").size() > 0) {
			var xml = "<nav>";
			$("#flashMenu > ul > li > a").each(function() {
				xml += "<menu path='" + $(this).attr("href") + "'";
				if ($(this).attr("class") == "active") {
					xml += " active='true' stat='expanded'";
				}
				if ($.browser.msie) {
					xml += " color='" + $(this).css("color").substring(1) + "'";
				} else {
					xml += " color='" + trapeze.Doodlez.rgb2hex($(this).css("color")) + "'";
				}
				xml += " title='" + $(this).text() + "'>";
				
				if ($(this).parent().find("ul > li > a").size() > 0) {
					$(this).parent().find("ul > li > a").each(function() {
						xml += "<menu path='" + $(this).attr("href") + "'";
						if ($(this).attr("class") == "active") {
							xml += " active='true'";
						}
						
						if ($.browser.msie) {
							xml += " color='" + $(this).css("color").substring(1) + "'";
						} else {
							xml += " color='" + trapeze.Doodlez.rgb2hex($(this).css("color")) + "'";
						}
						
						xml += " title='" + $(this).text() + "' />";
					});
				}
				
				xml += "</menu>";
			});
			xml += "</nav>";
			
			if ($("#container").attr("class").indexOf("double") == -1) {
				var front = ($("#container").attr("class") == "front") ? "true" : "false";
				
				if (front == "false") {
					var walk = (this.get_cookie('DoodlezPageAnim') == null) ? 'true' : 'false';
					var so = new SWFObject(trapeze.assets_path + "fla/nav-short.swf", "flashMenuNav", "820", "250", "8", "#FFFFFF");
					so.addVariable("anim", trapeze.assets_path + "fla/walk-in.swf");
				} else {
					var walk = (this.get_cookie('DoodlezFrontAnim') == null) ? 'true' : 'false';
					var so = new SWFObject(trapeze.assets_path + "fla/nav-double.swf", "flashMenuNav", "100%", "602", "8", "#FFFFFF");
					so.addParam("wmode", "transparent");
					so.addVariable("anim", trapeze.assets_path + "fla/walk-in-front.swf");
				}
				
				so.addVariable("front", front);
				so.addVariable("walk", walk);
			} else {
				var walk = (this.get_cookie('DoodlezFrontAnim') == null) ? 'true' : 'false';
				var so = new SWFObject(trapeze.assets_path + "fla/nav-double.swf", "flashMenuNav", "100%", "602", "8", "#FFFFFF");
				so.addParam("wmode", "transparent");
				so.addVariable("anim", trapeze.assets_path + "fla/walk-in-front.swf");
				so.addVariable("walk", walk);
			}
			
			so.addParam("scale", "noscale");
			so.addParam("salign", "TL");
			so.addVariable("nav", xml);
			so.write("flashMenu");
		}
	},
	
	init_anim : function() {
		if ($("#AnimContainer").size() > 0 && document.anim_path) {
			var so = new SWFObject(document.anim_path, "RandomAnim", "950", "400", "8", "#FFFFFF");
			so.addParam('wmode','transparent');
			so.addParam('scale','noborder');
			so.addParam('salign','BR');
			so.write('AnimContainer');
		}
	},
	
	resize_anim : function() {
		$("#RandomAnim").css("width", "290px");
		$("#AnimContainer").css("left", "0px");
	},
	
	init_video : function() {
		if ($("#VideoPlayer").size() > 0 && document.player_path) {
			var so = new SWFObject(trapeze.assets_path + "fla/player.swf", "VideoPlayerFlash", "467", "400", "8", "#FFFFFF");
			so.addParam("allowScriptAccess", "always");
			so.addParam("scale", "noscale");
			so.addParam("salign", "T");
			so.addParam("wmode", "transparent");
			so.addVariable("front", "false");
			so.addVariable("xmlPath", document.player_path);
			so.write("VideoPlayer");
		}
	},
	
	init_comments : function() {
		if ($("#CommentForm").size() > 0) {
			$("#id_person_name").val("Anonymous").focus(function() {
				if ($(this).val() == "Anonymous") $(this).val("");
			}).blur(function() {
				if ($(this).val() == "") $(this).val("Anonymous");
			});
			
			if (this.get_cookie("DoodlezCommentName") != null) {
				$("#id_person_name").val(this.get_cookie("DoodlezCommentName"));
			}
			
			$("#CommentForm").submit(function() {
				errors = "";
				if ($("#id_person_name").val() == "") errors += "Please pick a name.\n";
				if ($("#id_person_name").val().length > 50) errors += "Your name can't be longer than 50 characters.\n";
				if ($("#id_comment").val() == "") errors += "Please write your comment first.\n";
				if (errors == "") {
					trapeze.Doodlez.set_cookie("DoodlezCommentName", $("#id_person_name").val(), 365);
					return true;
				} else {
					alert(errors);
					return false;
				}
			});
		}
	},
	
	init_ecard : function(id) {
		var so = new SWFObject(trapeze.assets_path + "fla/ecards.swf", "ECardsFlash", "500", "520", "8", "#FFFFFF");
		so.addParam("allowScriptAccess", "always");
		so.addParam("scale", "noscale");
		so.addParam("salign", "T");
		so.addParam("wmode", "transparent");
		if (id) so.addVariable("ecardID", id);
		so.write("ECardsContainer");		
	},
	
	init_cast : function() {
		var so = new SWFObject(trapeze.assets_path + "fla/cast.swf", "CastFlash", "500", "550", "8", "#FFFFFF");
		so.addParam("allowScriptAccess", "always");
		so.addParam("scale", "noscale");
		so.addParam("salign", "T");
		so.addParam("wmode", "transparent");
		so.write("CastContainer");		
	},
	
	init_downloads : function() {
		var so = new SWFObject(trapeze.assets_path + "fla/downloads.swf", "DownloadsFlash", "500", "400", "8", "#FFFFFF");
		so.addParam("allowScriptAccess", "always");
		so.addParam("scale", "noscale");
		so.addParam("salign", "T");
		so.addParam("wmode", "transparent");
		so.write("DownloadsContainer");
	},
	
	init_videolist : function() {
		if ($("#VideoList, #CharacterList").size() > 0) {
			$("#VideoList, #CharacterList").find("li").mouseover(function() {
				$(this).find("img.hover-thumb").css("display", "inline");
			}).mouseout(function() {
				$(this).find("img.hover-thumb").css("display", "none");
			});
		}
	},
	
	init_features : function() {
		if ($("#FeaturesBrowser").size() > 0 && (typeof trapeze.features_path != "undefined")) {
			var so = new SWFObject(trapeze.assets_path + "fla/features.swf", "FeaturesBrowserFlash", "500", "270", "8", "#FFFFFF");
			so.addParam("wmode", "transparent");
			so.addVariable("xml_path", trapeze.features_path);
			so.write("FeaturesBrowser");
		}
	},
	
	init : function() {
		this.mark_last();
		this.sifr();
		this.nav();
		this.init_anim();
		this.init_video();
		this.init_comments();
		this.init_videolist();
		this.init_features();
	}
	
};

$(function(){
	trapeze.Doodlez.init();
});