
/* !PIR headings */
(function($) {
	$.fn.pir = function(inputs) {
		var url = "", bglist;
		
		bglist = {
			"pink": "#E7297A",
			"teal": "#09A6A7",
			"blue": "#00AFEB",
			"orange": "#E46D2E",
			"green": "#69BE69",
			"brown": "#978078"
		}
		
		return this.each(function() {
			var elm = $(this), params = {}, url = "", bgcolor;
			
			bgcolor = elm.parents(".rbox").css("background-color");
			
			if(bgcolor == undefined || bgcolor == null) {
				for(var color in bglist) {
					if($("body").hasClass(color)) {
						bgcolor = bglist[color];
					}
				}
			}
			
			if(elm.css("background-color") != "transparent" && elm.css("background-color") != "rgba(0, 0, 0, 0)") {
				bgcolor = elm.css("background-color");
			}
				
			params = {
				fontsize: parseInt(elm.css("font-size")),
				lang: ($("body").hasClass("ja")) ? "ja" : "en",
				lineheight: parseInt(elm.css("line-height"))/parseInt(elm.css("font-size")),
				color: elm.css("color"),
				bg: bgcolor,
				transparent: (elm.css("background-color") == "transparent" || elm.css("background-color") == "rgba(0, 0, 0, 0)") ? true : false,
				width: elm.width(),
				height: 0, // elm.height(),
				text: elm.text()
			}

			params = $.extend({}, $.fn.pir.settings, params);
			params = $.extend({}, params, inputs);
			
			if(elm.data("pir")) {
				params = $.extend({}, params, elm.data("pir"));
			}
			
			params.color = (params.color.substring(0,1) == "#") ? params.color.substring(1,params.color.length) : params.color;
			params.bg = (params.bg.substring(0,1) == "#") ? params.bg.substring(1,params.bg.length) : params.bg;
			params.text = params.text.replace(/&/g,"%26");
			url = params.url+
			"font-size="+params.fontsize+
			"&lang="+params.lang+
			"&line-height="+params.lineheight+
			"&transparent="+params.transparent+
			"&width="+params.width+
			"&height="+params.height+
			"&color="+params.color+
			"&bg="+params.bg+
			"&text="+params.text;
			
			if(elm.children("a").length > 0) {
				elm.children("a").wrapInner("<span></span>");
				elm.children("a").prepend('<img src="'+encodeURI(url)+'">');
			} else {
				elm.wrapInner("<span></span>");
				elm.prepend('<img src="'+encodeURI(url)+'">');
			}
			elm.addClass("pir");
			
		});
		
	}
	
	/* pir default settings */
	$.fn.pir.settings = {
		url: "http://pir.dev.eatcreative.jp/pir2.php?",
		text: "",
		fontsize:	16,
		lang: "ja",
		lineheight:	1.5,
		color: "000",
		bg: "fff",
		transparent: false
	}
	
})(jQuery);

/* !rounded corners plugin */
(function($) {
	$.fn.roundedc = function(settings) {
		var settings = $.extend({}, $.fn.roundedc.settings, settings), browser;
		
		//safari 3+
		if($(this).css("-webkit-border-top-left-radius")!="" && $(this).css("-webkit-border-top-left-radius")!=undefined) {
			browser = "Safari";
			return this;
		
		//FF 2+
		} else if($(this).css("-moz-border-radius-topleft")!="" && $(this).css("-moz-border-radius-topleft")!=undefined) {
			browser = "FF2";
			if(document.getElementsByClassName) {
				browser = "FF3";
				return this;
			}
			
		//opera or IE
		} else {
			
			//IE
			if($(this).css("zoom")!="" && window.DD_roundies) {
				$(this).each(function() {
					//$("#content").append('<div>'+$(this).css("visibility")+'</div>');
				});
				if($(this).filter(".pdf").length > 0) {
					return this;
				}
				DD_roundies.addRule($(this).selector, '16px');
				return this;

				browser = "IE";
			
			//OPERA
			} else {
				browser = "Opera";
			}
		}
		
		
		return this.each(function() {
			var elm = $(this), params = {}, canvas, radius, background, width, height;

			if($(this).height() == 0 || $(this).width() == 0) {
				return this;
			}
			background = elm.css("background-color");
			
			width = elm[0].offsetWidth;
			height = elm[0].offsetHeight;
			
			params = $.extend({}, $.fn.roundedc.settings, params);		
			if(elm.data("roundedc")) {
				params = $.extend({}, params, elm.data("roundedc"));
			}
			
			if(browser == "Opera" || browser == "FF2") {
				width = elm[0].offsetWidth;
				height = elm[0].offsetHeight;
				
				//elm.addClass("roundedc");
				//elm.wrapInner('<div class="roundedc-inner"></div>');
				//var svg = $('<object type="image/svg+xml" data="/img/rc.svg" width="100%" height="100%"><param name="bg" value="'+background+'" /><param name="rx" value="'+settings.radius+'" /><param name="ry" value="'+settings.radius+'" /></object>').prependTo(elm);
				
				
				var realWidth = elm.width();
				var padRight = elm.css("padding-right");
				var padLeft = elm.css("padding-left");
				var padBottom = 0;//elm.css("padding-bottom");
				var minHeight = (parseInt(elm.css("min-height")) - settings.radius - 1) + "px";
				
				
				elm.addClass("outer");
				elm.wrapInner('<div class="opera-inner"></div>').
					find(".opera-inner").width(realWidth).
					css("background-color", background).
					css("border-bottom", "solid 1px "+background).
					css("padding", "0 "+padRight+" "+padBottom+" "+padLeft).
					css("min-height", minHeight);
					
				
				//make rounded corner canvases
				canvas = $("<canvas class='top'></canvas>").prependTo(elm);
				canvas.attr("height",settings.radius);
				canvas.attr("width",width);
				var ctx = canvas[0].getContext('2d');
				ctx.fillStyle = background;
				roundedTop(ctx,0,0,width,settings.radius,settings.radius);
				
				canvas = $("<canvas class='bottom'></canvas>").appendTo(elm);
				canvas.attr("height",settings.radius);
				canvas.attr("width",width);
				var ctx = canvas[0].getContext('2d');
				ctx.fillStyle = background;
				roundedBottom(ctx,0,0,width,settings.radius,settings.radius);
				elm.width(width);
			}

		}); //end each
		
		function roundedTop(ctx,x,y,width,height,radius) {
			ctx.beginPath();
			ctx.moveTo(x,y+height);
			ctx.quadraticCurveTo(x,y, radius,y);
			ctx.lineTo(width-radius,y);
			ctx.quadraticCurveTo(width,y, width,height);
			ctx.lineTo(x,height);
			ctx.fill();
		}
		
		function roundedBottom(ctx,x,y,width,height,radius) {
			ctx.beginPath();
			ctx.moveTo(x,y);
			ctx.quadraticCurveTo(x,y+height, radius,height);
			ctx.lineTo(width-radius,height);
			ctx.quadraticCurveTo(width,height, width,y);
			ctx.lineTo(x,y);
			ctx.fill();
		}
		
		function roundedRect(ctx,x,y,width,height,radius){
			ctx.beginPath();
			ctx.moveTo(x,y+radius);
			ctx.lineTo(x,y+height-radius);
			ctx.quadraticCurveTo(x,y+height,x+radius,y+height);
			ctx.lineTo(x+width-radius,y+height);
			ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);
			ctx.lineTo(x+width,y+radius);
			ctx.quadraticCurveTo(x+width,y,x+width-radius,y);
			ctx.lineTo(x+radius,y);
			ctx.quadraticCurveTo(x,y,x,y+radius);
			ctx.fill();
		}
	}
	
	/* default settings */
	$.fn.roundedc.settings = {
		"radius" : 10
	}
	
})(jQuery);


//PPK COOKIE FUNCTIONS
function readCookie(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;
}

function createCookie(name,value,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+"="+value+expires+"; path=/";
}

/* !main script */

jQuery(document).ready(function($) {
	
	if(!$("body").hasClass("jsok")) {
		$("body").addClass("jsok");
		createCookie("jsok","true",30);
	}
	
	//make the last item in the submenu list not have a border.
	$("#nav-main li li:last").addClass("last");
	
	
	//php replace headings
	var headings = $("#content h1, h2, h3, .article #archive a");
	headings.filter("h1, h2").data("pir", { fontsize: 18, lineheight: 1.5 });
	headings.filter(".ja h1, .ja h2").data("pir", { fontsize: 16, lineheight: 1.4 });
	headings.filter("h3").data("pir", { fontsize: 13, lineheight: 1.4 });
	headings.filter("body.ja h3").data("pir", { fontsize: 12, lineheight: 1.3 });
	headings.filter("#our-services h2, #jobs h2").data("pir", { fontsize: 13, lineheight: 1.2 });
	headings.filter("#our-services.ja h2, #jobs.ja h2").data("pir", { fontsize: 12, lineheight: 1.3 });
	headings.filter(".post h3").data("pir", { fontsize: 13, lineheight: 1.6 });
	headings.filter(".article h1").data("pir", { fontsize: 24, lineheight: 1.2 });
	headings.filter("body.ja .article h1").data("pir", { fontsize: 17, lineheight: 1.2 });
	headings.filter("body.ja .article h2").data("pir", { fontsize: 14, lineheight: 1.5 });
	headings.filter(".article #archive a").data("pir", { fontsize: 13, lineheight: 1.4 });
	headings.filter(".ja .article #archive a").data("pir", { fontsize: 11, lineheight: 1.4 });
	headings.filter("#home.ja h2").data("pir", { fontsize: 14.6, lineheight: 1.4 });
	headings = headings.not("#present-tense h3, .ja .article #content-main h3, .article #credits h3, #in-the-news #content-secondary h2");
	headings.pir();
	
	//rounded corners
	var rbox = $(".rbox");
	//rbox.filter(":not(class=[pdf])");
	rbox.roundedc({radius: 16});
	
	//articles list bubble
	$("#articles .description").append('<b class="triangle"></b>');

	
	//santa game flash
	if($("#content-secondary #santagame").length > 0) {
		FlashReplace.replace("santagame","/flash/unsaddle-santa.swf","flash", 588, 528, 9, {
			quality: "high"
		});
	}
	
	var tenthings = $("#content-secondary #ten-things");
	if(tenthings.length > 0) {
		var swf = tenthings.children("img").attr("src");
		swf = swf.substr(swf, (swf.length - 4));
		swf = swf + ".swf";
		FlashReplace.replace("ten-things",swf,"flash", 588, 504, 8, {
			quality: "high",
			wmode: "transparent"
		});
	}
	
	//show showcase flash 
	if($("#project").length > 0) {
		var sc_img = $("#showcase img").attr("src");
		FlashReplace.replace("showcase","/img/slides01.swf?sc_img="+sc_img,"scflash", 432, 547, 9, {
			quality: "high",
			wmode: "transparent"
		});
	}
	
	//client list functionality
	$("#work-sections a").click(function(event) {
		$("#work-sections a").removeClass("active");
		$(this).addClass("active");
		var section = $(this).parent().attr("id");
		section = section.substring(5,section.length);
		
		if(section == "all") {
			$("#clients li").fadeTo(400,1);
			event.preventDefault();
			return;
		}
		
		$("#clients li:not(."+section+")").fadeTo(400,0.2);
		$("#clients ."+section).fadeTo(400,1);
		
		event.preventDefault();
	});
	
	//show map on contact page
	var map = $("#contact #googlemap");
	if(map.length > 0) {
		map.googleMap(35.647602,139.745128, 16, {
			controls: ["GSmallMapControl", "GMapTypeControl"],
			markers: [{ "lat" : 35.647772, "lng" : 139.741759, "txt" : "Eat Creative", "icon" : "blue" },{ "lat" : 35.642911, "lng" : 139.734104, "txt" : "Shirokanetakanawa station"},{ "lat" : 35.646817, "lng" : 139.746426, "txt" : "Mita station<br>Exit A3"},{ "lat" : 35.645741, "lng" : 139.747574, "txt" : "Tamachi station"}]
		});
	}
	
	//in the news preview function
	var inthenews = $("#in-the-news #content .cover");
	if(inthenews.length > 0) {
		$("body").addClass("showme");
		var container = $('<div id="magazine"></div>').appendTo("#content");
		inthenews.bind("click", function() {
			container.hide()
				.html($(this).parent().html())
				.fadeIn("slow");
				
		});
	}
	
	//staff profiles functions
	var staff = $("#staff #content-secondary");
	if(staff.length > 0) {
		//staff.append('<b id="star"></b>');
		staff.find(".staff li > img").wrap('<a href="#" class="more"></a>').parent("a").each(function() {
			var head = $(this);
			head.bind("click",function(event) {
				
				var descr = head.siblings(".description").clone();
				var cmain = $("#content-main");
				cmain.fadeOut("fast", function() {
					if(cmain.find(".receiver").length<1) {
						cmain.find(".intro").after('<div class="receiver"></div>');
						cmain.find(".intro, h1").hide();
						
					}
					cmain.find(".receiver").replaceWith(descr);
					cmain.find(".description").addClass("receiver");
					cmain.fadeIn("fast");
				})
				head.blur();
				
				event.preventDefault();
			});
		});
	}
	
	//fix png for IE?
	if($.ifixpng) {
	  $.ifixpng("/img/clear.gif");
	  $("#work img, #staff .staff li img, #home #content-secondary img, #jobs #content img").ifixpng();
	}
	
});