var PageHandler = {
	require: function(l) {
		var d = document;
		try{
			d.write('<script type="text/javascript" src="' + l + '"><\/script>');
		} catch(e) {
			var s = d.createElement('script');
			s.type = 'text/javascript';
			s.src = l;
			d.getElementsByTagName('head')[0].appendChild(s);
		}
	},
	addScript: function(l, callback) {
		var s = document.createElement('script');
		s.type = 'text/javascript';
		s.src = l;
		if(callback) {
		    s.onload = callback();
		}
		document.getElementsByTagName('head')[0].appendChild(s);
	}
}

/**
 * Loads a CSS file and appends it to HEAD
 */
function loadCSS(filename, filetype) {
	filetype = filetype || (/(\.)(\D*)/i).exec(filename)[2];
	if (filetype=="js"){ //if filename is a external JavaScript file
		var fileref=document.createElement('script')
		fileref.setAttribute("type","text/javascript")
		fileref.setAttribute("src", filename)
	}
	else if (filetype=="css"){ //if filename is an external CSS file
		var fileref=document.createElement("link")
		fileref.setAttribute("rel", "stylesheet")
		fileref.setAttribute("type", "text/css")
		fileref.setAttribute("href", filename)
	}
	if (typeof fileref!="undefined")
		document.getElementsByTagName("head")[0].appendChild(fileref)
}

// This is the ONLY thing that EVER should be edited here
// var gSrc = 'http://ajax.googleapis.com/ajax/libs/';
var scripts = [
	'http://ajax.googleapis.com/ajax/libs/prototype/1.6.1/prototype.js',
	'http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/scriptaculous.js?load=effects',
	'/inc/js/Composer.js'
	//'http://connect.facebook.net/en_US/all.js#xfbml=1'
];


// END EDITABLE STUFF
for(var i = 0; i < scripts.length; i++) {
	PageHandler.require(scripts[i]);
}



// We have the stuff we need.. Wait for page to be loaded
//     DOMContentLoaded
window.onload = function() {
	$$('a[rel="external"], a[rel="external nofollow"]').each(function(elm) {
	    //elm.title = 'Öppnas i ett nytt fönster.';
	    elm.target = '_BLANK';
	});
	
	$$('form.sticky').each(function(elm) {
		new StickyForm(elm);
	});

	var focused = $$('input.focus');
	if(focused.length != 0) {
	    focused[0].focus();
	}

	var likeDiv = $('like');
	if(likeDiv) {
	    likeDiv.innerHTML = getFbLikeFrame();
	}

	//new ATool().renderA();

};

function StickyForm(form) {
	var makeSticky = function(elm) {
		elm.value = elm.title;
		elm.style.color = '#aaa';
		elm.observe('keyup', evalKey);
		elm.observe('click', onClick);
	}
	
	var onEmpty = function(inobjE) {
		var objInput = inobjE.element();
		objInput.value = objInput.title;
		objInput.style.color = '#aaa';
		objInput.select();
	}
	
	var onValue = function(inobjE) {
		inobjE.element().style.color = '#000';
	}
	
	var onClick = function(inobjE) {
		if(!inobjE.element().isDirty && !$F(inobjE.element()).blank()) {
			onEmpty(inobjE);
		}
	}
	
	var evalKey = function(inobjE, target) {
		if(keyIsModifying(inobjE)) {
			var objInput = inobjE.element();
			if(objInput.value.empty()) {
				onEmpty(inobjE);
				objInput.isDirty = false;
			} else {
				onValue(inobjE);
				objInput.isDirty = true;
			}
		}
	}
	
	var keyIsModifying = function(event) {
		switch(event.keyCode) {
			case Event.KEY_LEFT:
			case Event.KEY_UP:
			case Event.KEY_RIGHT:
			case Event.KEY_DOWN:
			case Event.KEY_HOME:
			case Event.KEY_PAGEUP:
			case Event.KEY_PAGEDOWN:
			case Event.KEY_ESC:
				return false;
				break;
			default:
				return true;
				break;
		}
	}
	
	//
	form.select('input[type="text"], input[type="password"]').each(makeSticky);
}

function getFbLikeFrame() {
	var pageUrl = 'http://www.utvecklarna.se' //window.location.href.replace(/#/, '');
	var strFrame = '<iframe src="http://www.facebook.com/plugins/like.php?href=' + pageUrl + '&layout=standard&show_faces=false&width=350&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:30px;" allowTransparency="true"></iframe>';
	return strFrame;
}
/*
document.observe('dom:loaded', function() {
	alert(1)
	var likeDiv = $('like');
	if(likeDiv) {
	    //likeDiv.innerHTML = getFbLikeFrame();
	}
});
*/

//getFbLikeFrame();
/*
<script type="text/javascript">
var uri = 'http://impse.tradedoubler.com/imp?type(img)g(18618966)a(1160591)' + new String (Math.random()).substring (2, 11);
document.write('<a href="http://clk.tradedoubler.com/click?p=173663&a=1160591&g=18618966" target="_BLANK"><img src="'+uri+'" border=0></a>');
</script>
*/

var ATool = function() {
	var Ads = [
	    {a:1160591 , g:18618966, p:173663 },  // PC-Tidningen
	    {a:1160591 , g:18401156, p:162244 }   // PC-Gamer
	];
	
	this.getUrl = function() {
		var selectedAd = Ads[Math.ceil(Math.random() * Ads.length - 1)];
		var uri = 'http://impse.tradedoubler.com/imp?type(img)g(' + selectedAd.g + ')a(' + selectedAd.a + ')' + new String (Math.random()).substring (2, 11);
		return '<a href="http://clk.tradedoubler.com/click?p=' + selectedAd.p + '&a=' + selectedAd.a + '&g=' + selectedAd.g + '" target="_BLANK"><img src="' + uri + '" border=0></a>';
	}
}

