var imageWidth = 207;
var imageHeight = 245;

$(document).ready(function() {
	if (typeof(console) != "undefined") {
		console.log($(this).attr("title") + " - initiated");
	}
	
	/* Stupid webkit */
	if (jQuery.browser.safari && document.readyState != "complete"){
		setTimeout(arguments.callee, 100);
		return;
	} 
	
	
	/* Welcome */
	var welcome = $("#welcome");
	var welcome_link = welcome.find(".content a:last");
	var welcome_href = welcome_link.attr("href");
	var welcome_title = welcome_link.text();
	
	welcome.attr("title", welcome_title);
	
	$("#norwegian").attr("title", "Norwegian");
	$("#english").attr("title", "Engelsk");
	
	welcome.click(function(event) {
		if(!$(event.target).is("#languages, #norwegian, #english")) {
			document.location = welcome_href;
		}
	});



	/* Gallery */
	$(".gallery li").mouseover(function(event) {
		if ($.browser.msie) {
			$(this).find(".color").css("filter", "progid:DXImageTransform.Microsoft.BasicImage(grayScale=0)");
		} else {
			$(this).find(".grayscale").hide();
			$(this).find(".color").show();
		}
	});
	
	$(".gallery li").mouseout(function(event) {
		if ($.browser.msie) {
			$(this).find(".color").css("filter", "progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)");
		} else {
			$(this).find(".color").hide();
			$(this).find(".grayscale").show();
		}
	});
	
	/* Contact */
	$("#contact_submit").click(function(event) {
		event.preventDefault();
		$.ajax({
			url: "novus/tools/form.asp",
			type: "POST",
			data: $("#contact").serialize(),
			dataType: "json",
			success: function(data) {
				//console.log(data);
				//console.log(data.result);
				if (data.result == "ok") {
					$("#contact").replaceWith("<p>Takk for henvendelsen</p>");
				}
			}
		})
	});
	
});

$(window).load(function(){
	
	/* Gallery */
	$(".gallery img.color").each(function(event) {
		if ($.browser.msie) {
			this.style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)";
			$(this).width(imageWidth);
			$(this).height(imageHeight);
		} else {
			$(this).before('<img class="grayscale" width="'+imageWidth+'" height="'+imageHeight+'" alt="'+$(this).attr("alt")+'" src="'+grayscaleImage(this)+'" />');
			$(this).width(imageWidth);
			$(this).height(imageHeight);
		}
	});
	
});


function grayscaleImage(imgObj) {
	var canvas = document.createElement('canvas');

	var canvasContext = canvas.getContext('2d');

	var imgW = imgObj.width;
	var imgH = imgObj.height;
	canvas.width = imgW;
	canvas.height = imgH;

	canvasContext.drawImage(imgObj, 0, 0);

	var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH);

	for (var y = 0; y < imgPixels.height; y++){
		for (var x = 0; x < imgPixels.width; x++){
			var i = (y * 4) * imgPixels.width + x * 4;
			var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
			imgPixels.data[i] = avg;
			imgPixels.data[i + 1] = avg;
			imgPixels.data[i + 2] = avg;
		}
	}

	canvasContext.scale(imageWidth/imgPixels.width, imageHeight/imgPixels.height);
	canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);

	return canvas.toDataURL();
}

