var elm = ['header','footer','article','aside','nav','figure','figcaption','time'];
for(i=0;i<elm.length;++i) {
	document.createElement(elm[i]);
}

function hasCSSsupport(prop) {
	if (document.body && (s = document.body.style)) {
		ucp = prop.slice(0,1).toUpperCase() + prop.slice(1);
		return typeof s[prop] == "string"
			|| typeof s['Moz'+ucp] == "string"
			|| typeof s['Webkit'+ucp] == "string"
			|| typeof s['Khtml'+ucp] == "string";
	}
}

$(document).ready(function(){
	if(!hasCSSsupport('borderRadius')) {
	  	$('.gradbox').each(function(){
	  		$(this).addClass('fixed');
	  		$(this).append('<div class="f"><span/></div>');
	  	});
	}
	detectBgImage();
	
	var doEmbed = true;
	var audioTag = document.createElement('audio');
	if(typeof audioTag.canPlayType =='function') {
		var support = audioTag.canPlayType("audio/mpeg");
		doEmbed = (support==''||support=='no');
	}
	if(doEmbed) {
		$('audio').each(function(){
			var found = false;
			if($('source.mp3',this).length) {
				var src = $('source.mp3').attr('src');
				var w = $(this).width();
				var h = $(this).height();
				$(this).replaceWith('<embed flashvars="file='+src+'&amp;autostart=false&amp;largecontrols=false" width="'+w+'" height="'+h+'" scale="noscale" wmode="transparent" quality="high" bgcolor="#000" name="player" id="player" src="swf/mp3player.swf" type="application/x-shockwave-flash"/>');
			} 
		});
	}
});

function initGigList() {
	var list = $('#giglist');
	if(list.length > 0) {
		$('#giglist li a.item').click(function(e){
			var a = $(this);
			if(a.hasClass('loaded')) {
				$('div.info',a.closest('li')).toggle();
				
			} else {
				a.addClass('loaded');
				$.get(a.attr('href')+'?ajx=1',function(data){
					$('<div class="info">'+data+'</div>').insertAfter(a);
				});
			}
			return false;
		});
	} 
}

function detectBgImage() {
	var bg = $('body').css('background-image');
	if(bg.slice(0,4) == 'url(') {
		var start = 4;
		var end = bg.length - 1;
		var cend = bg.charAt(end-1);
		if(bg.charAt(start) == cend && (cend == '"' || cend == "'")) {
			++start;
			--end;
		}
		setBgImage(bg.slice(start,end));
	}
}

function setBgImage(url) {
	var imgRatio = 0;
	var bdy = $('body');
	bdy.css('background','transparent');
	var img = new Image();
	img.onmousedown = function(e){e.preventDefault();};
	var div = $('<div class="bgimage" />');
	var setDimensions = function(){
		if(imgRatio > (bdy.width() / bdy.height())) {
			var h = bdy.height();
			var w = imgRatio * h;
			var l = Math.round( (w-bdy.width())/-2);
		} else {
			var l = 0;
			var w = bdy.width();
			var h = w / imgRatio;
		}
		$(img).css({
			'width': w+'px',
			'height': h+'px'
		});
	}
	img.onload = function() {
		imgRatio = this.width / this.height;
		div.append($(this));
		bdy.prepend(div);
		$(window).resize(setDimensions);
		setDimensions();
	}
	img.src = url;
}











function imageSlides(target, images) {

	var w = target.width();
	var h = target.height();
	
	var current = 0;
	var num = images.length;
	
	var photo = new Array();
	
	var viewport = $('<div class="imgs_viewport"><img id="vignet" src="img/vignet.png" style="z-index: 50"></div>');
	viewport.css({
		width: w,
		height: h,
		position: 'relative',
		overflow: 'hidden'
	});
	
	/*
	var aniV = function() {
		var opacity = 0.6 + 0.4*Math.random();
		var left = Math.random()*-40;
		var top = Math.random()*-39;
		$('#vignet',viewport).animate({opacity: opacity, left: left+'px', top: top+'px'}, 1000, 'swing',aniV);
	}
	aniV();
	*/
	
	target.empty();
	target.append(viewport);

	var getImagePos = function(img) {
		var pos = getImgXY(img);
		return {
			left: pos.x+'px',
			top: pos.y+'px'
		}
	}

	function getImgXY(img) {
		var x_max = w - img.width;
		var y_max = h - img.height;
		
		return {
			x : Math.round(Math.random() * x_max),
			y : Math.round(Math.random() * y_max)
		}
	}
	
	var loadImg = function(src,isfirst) {
		var img = new Image();
		img.onload = function(){
			if(isfirst) {
				ani(0);
			} else {
				$(this).css(getImagePos(this));
			}
		}
		img.src = src;
		img.className = 'slide';
		viewport.prepend(img);
	}
	
	for(i = 0; i<images.length; ++i) {
		loadImg(images[i],i==0);
	}

	var firstlength = 9000;
	var translength = 3000;
	var factor = firstlength / (firstlength+translength);

	var ani = function(n) {
		var i = num-n;
		var img = $('img.slide',viewport).slice(i-1,i);

		var pos = getImgXY(img.get(0));
		var firstpos = {
			left: Math.round(pos.x*factor)+'px',
			top: Math.round(pos.y*factor)+'px'
		}
		var lastpos = {
				left: pos.x+'px',
				top: pos.y+'px',
				opacity: 0
			}
		img.animate(firstpos,firstlength,'linear',
			function(){
					$(this).animate(lastpos,translength,'linear',function(){
						viewport.prepend(this);
						$(this).show().css('opacity',1);
					});
					ani(1);
			}
		);
	}
}

