/**
 * @package WordPress
 * @subpackage Plucera 2011
 */
var atTweet = 0;
var tweets;

jQuery(document).ready(function($) {

	jQuery(".slide").hide().eq(0).show();
	var sl = fadr(".slide", 8000, 6000, false, function(v){
			jQuery("#slide-count li.active").removeClass("active");
			jQuery("#slide-count li:eq("+ v +")").addClass("active");
	});

	convertEmails();

	$("A[rel='external']").attr("target", "_blank"); // Sätter target="_blank" för rel="external"
	$("A").focus(function(){ $(this).blur(); }); // Sätter blur() på alla länkar vid focus()
	
	
	jQuery("#main.portfolio.single .screenshot").hide().eq(0).show();;
	
	$(".portfolio-thumbs p").click(function(){ 
		if(jQuery(".screenshot:eq("+ $(this).index() +"):hidden").length > 0){
			jQuery(".screenshot:visible").fadeOut(2000);
			jQuery(".screenshot:eq("+ $(this).index() +")").fadeIn(2000); 
		}
	});
	
	jQuery(".project_slider").hide().eq(0).show();
	var f = fadr(".project_slider", 15000, false, function(i){
			jQuery("#slide-count li.active").removeClass("active");
			jQuery("#slide-count li:eq("+ (i - 1) +")").addClass("active");
	});
	
	if(jQuery(".home #tweet-box").length) getTweets();
	if(jQuery(".tweet-interview").length) getTweetsSingle();
	getFlickr();
	
	// Formuläret på Offert-sidan
	$("#budget").change(function(){
		$("#debug").html($("#offertpa").val() + " "+ $(this).val());
		if($(this).val() == "10-20.000 SEK" && $("input:radio[name=offertpa]:checked").val() == "Helhetslösning med WordPress"){
			$("#budget_note").html("<strong>Observera</strong> att det endast är väldigt enkla webbsidor som vi kan producera under 20.000 SEK när det handlar om helhetslösningar med WordPress.");
		}
	});

});

function fadr(jq_selector, sleep, fade, onfadein, bffadein, startindex){
	var sleep = sleep || 4000;
    var fade = fade || 2000;
	var i = startindex || 1;
	
	var ni = jQuery(jq_selector).length;
    var f = setInterval(function () {
		if(i >= ni) i = 0;
		if(bffadein) bffadein(i);
		jQuery(jq_selector+ ":visible").fadeOut(fade);
		jQuery(jq_selector+ ":eq(" + i + ")").fadeIn(fade, function(){
			if(onfadein) onfadein(i);
		});
		
		i++;
    }, sleep + fade);
	
	return f;
}

function getTweets(){
	var s = document.createElement('script');
	var usr = "from:dansvensson+OR+unikform+OR+plucera";
	s.setAttribute("type","text/javascript");
	s.setAttribute("src", "http://search.twitter.com/search.json?q="+usr+"&callback=showTweets&rpp=20&lang=all");
	document.getElementsByTagName("head")[0].appendChild(s);
}
function getTweetsSingle(){
	var users = new Array("unikform", "dansvensson");
	for (var i = 0; i < users.length; i++){
		var s = document.createElement('script');
		var from = "from:"+ users[i];
		s.setAttribute("type","text/javascript");
		s.setAttribute("src", "http://search.twitter.com/search.json?q="+from+"&callback=showTweets_"+ users[i] +"&rpp=5&lang=all");
		document.getElementsByTagName("head")[0].appendChild(s);
	}
}
/*function showTweets_andreaswedberg(t){ showTweetsSingle("aw", t); }*/
function showTweets_unikform(t){ showTweetsSingle("jg", t); }
function showTweets_dansvensson(t){ showTweetsSingle("ds", t); }

function showTweetsSingle(usr, t){
	
	var users = {"unikform" : "Johan Gustafsson", "dansvensson" : "Dan Svensson", "plucera" : "Plucera webbyrå" }
	
	var i = 0;
	var at = jQuery(t.results).get(i);
	while(! at || at.to_user_id > 0 || users[at.from_user] == undefined){ i++; at = jQuery(t.results).get(i); if(!at) break;} // Vill inte ha replies då de inte säger så mycket i sig själva.
	if(at && at.text){
		var str = "<p class=\"tweet "+ at.from_user +"\">"+ formatTweetStr(at.text) +"</p>";
		str += "<p class=\"tweet-info\"><span><a href=\"http://twitter.com/"+ at.from_user +"\">"+ users[at.from_user] +"</a><br /></span>"+ makeTime(at.created_at) +" sedan</p>";
	
		jQuery("."+ usr +" .tweet-box").html(str);
		jQuery("."+ usr +" .tweet-box P").fadeIn(2400);
		
	}
	else { 
		var str = "<p class=\"tweet\">Jag behöver bli bättre på att twittra för just nu visas ingen av mina tweets i en sökning!</p>";
	
		jQuery("."+ usr +" .tweet-box").html(str);
		jQuery("."+ usr +" .tweet-box P").fadeIn(2400);

	}
}

function showTweets(t){
	tweets = t;
	var users = {"unikform" : "Johan Gustafsson", "dansvensson" : "Dan Svensson", "plucera" : "Plucera webbyrå" }

	tf = function(){
		// Vi vill nog ladda om sökresultatet efter en viss tid...
		atTweet = atTweet >= tweets.results.length ? 0 : atTweet;
		var at = jQuery(t.results).get(atTweet);
		while(! at || at.to_user_id > 0 || users[at.from_user] == undefined){ atTweet++; at = jQuery(tweets.results).get(atTweet); if(!at) break;} // Vill inte ha replies då de inte säger så mycket i sig själva.
		// Kolla så att nästa tweet inte är samma som aktuell. Försök då välja plucera som användare om en av dem.
		if(at && at.text){
			var str = "<p class=\"tweet "+ at.from_user +"\">"+ formatTweetStr(at.text) +"</p>";
			str += "<p class=\"tweet-info\"><span><a href=\"http://twitter.com/"+ at.from_user +"\">"+ users[at.from_user] +"</a><br /></span>"+ makeTime(at.created_at) +" sedan</p>";
			
			jQuery("#tweet-box P").fadeOut(2400, function(){
				jQuery("#tweet-box").html(str);
				jQuery("#tweet-box P").fadeIn(2400);
			});
			atTweet++;
		}
		else { tf(); }
	}

	tf();
	//jQuery(document).everyTime(12000, 'tweet_loop', tf);
	setInterval("tf()", 12000);
}
function formatTweetStr(str){
	//Länkar klickbara
	str = str.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.-]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>');

	//Användare
	str = str.replace(/([^\w])\@([\w\-]+)/gm,'$1@<a href="http://twitter.com/$2" target="_blank">$2</a>');

	//Hash-taggar
	//str = str.replace(/([^\w])\#([\w\-]+)/gm,'$1<a href="http://twitter.com/search?q=%23$2" target="_blank">#$2</a>');

	return str;
}

function getFlickr(){
	var s = document.createElement('script');
	s.setAttribute("type","text/javascript");
	s.setAttribute("src", "http://api.flickr.com/services/feeds/photos_public.gne?id=45448753@N06&lang=en-us&format=json&jsoncallback=showFlickr&random="+ Math.random(1, 10000000));
	document.getElementsByTagName("head")[0].appendChild(s);
}
function showFlickr(t){
	var imgArr = Array();

	for(var i = 0; i < 5; i++){
		if(t.items[i]){
			jQuery("#flickr_tmb").append("<a></a>");
			jQuery("#flickr_tmb > :last-child").attr("href", t.items[i].link);
			jQuery("#flickr_tmb > :last-child").attr("target", "_blank");
			jQuery("#flickr_tmb > :last-child").attr("title", t.items[i].title);
			if(i == 0) jQuery("#flickr_tmb > :last-child").append("<div style='background-image:url("+ t.items[i].media.m +");' />");
			else jQuery("#flickr_tmb > :last-child").append("<img src='"+ getFlickrSmall(t.items[i].media.m) +"' />");
		}
	}
}
function getFlickrSmall(m_url){
	return m_url.replace("_m.jpg", "_s.jpg");
}
function makeTime(ts){
	var cd = new Date();
	var ct = cd.getTime();
	var tsd = Date.parse(ts);
	var tdiffs = ct - tsd;
	var tdiff = new Date(tdiffs);
	tdiffs = tdiffs / 1000;

	if((tdiffs / 60) > 1){
		if((tdiffs / 3600) > 1){
			if((tdiffs / 86400) > 1){
				strDiff = Math.round(tdiffs / 86400) + " dag" + (Math.round(tdiffs / 86400) == 1 ? "" : "ar");
			}
			else strDiff = Math.round(tdiffs / 3600) + " timm" + (Math.round(tdiffs / 3600) == 1 ? "e" : "ar");
		}
		else strDiff = Math.round(tdiffs / 60) + " minut" + (Math.round(tdiffs / 60) == 1 ? "" : "er");
	} else strDiff = "mindre än 1 minut";

	return strDiff;
}

function convertEmails(){
	var spans = document.getElementsByTagName("span");
	var numSpans = spans.length;
	for(var i = 0; i < numSpans; i++){
		if(spans[i] && spans[i].className == "epost"){
			var at = new RegExp("\\(snabel\-a\\)", "i");
			var punkt = new RegExp("\\(punkt\\)", "ig");
			var contact = spans[i].firstChild.data.split("|");

			if (contact.length == 2) {
				var address = contact[1].replace(at, "@").replace(punkt, ".");
               	var theLink = document.createElement("A");
               	theLink.setAttribute("href", "mailto:" + address);
               	theLink.className = "email";
               	theLink.appendChild(document.createTextNode(contact[0]));
               	spans[i].replaceChild(theLink, spans[i].firstChild);
			}
			else {
				var address = spans[i].firstChild.data.replace(at, "@").replace(punkt, ".");
				var theLink = document.createElement("A");
				theLink.setAttribute("href", "mailto:" + address);
				theLink.className = "email";
				theLink.appendChild(document.createTextNode(address));
				spans[i].replaceChild(theLink, spans[i].firstChild);
			}
		}
	}
}
