window.addEvent('domready', init);

function init() {

	//Fade results
	if($('searchresults')) {
		init_results();
	}

	//Init IE fix
	var ie = vIE();
	if(ie == 6) {
		init_partners_ie();
	}

	//Add shadows
	if((ie > 6) || (ie == -1)) {
		init_shadows();
		window.addEvent('resize', set_shadow_sizes);
	}

	init_lightbox();
	init_registration_form();

}


/**
* Fade search results
* - Loops through search results and lowers the opacity towards the end
*/
function init_results() {
	var offset = 20; // how many of the results to keep in full opacity, in percentage (without the % mark)

	var results = $$('#searchresults li');
	var total = results.length;
	var count_rev = total;
	var count = 0;
	var opacity;

	ignore = total * (offset / 100);

	results.each(function(el) {

		if(count < ignore) {
			opacity = 1;
		} else {
			opacity = ((Math.round((100 / (total-ignore)) * Math.max((count_rev-ignore),0))) / 100);
			count_rev--;
		}

		el.set('opacity', opacity);
		count++;

	});

}


/**
* IE fix for partners to get two partners per row
*/
function init_partners_ie() {
	var count = 1;
	$$('.partner').each(function(el){
		if(count==2) {
			el.setStyle('margin-right', 0);
			count = 0;
		}
		count++;
	});
}


/**
* Check IE version
* @return int
*/
function vIE(){
	return (navigator.appName=='Microsoft Internet Explorer')?parseFloat((new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;
}


/**
* Create shadow container elements
*/
function init_shadows() {
	$$('.shadow').each(function(el){

		var sr = new Element('div', {'class':'shadowr'});
		var sl = new Element('div', {'class':'shadowl'});
		var st = new Element('div', {'class':'shadowtc'});
		var sb = new Element('div', {'class':'shadowbc'});

		var stl = new Element('div', {'class':'shadowtl'});
		var str = new Element('div', {'class':'shadowtr'});
		var sbl = new Element('div', {'class':'shadowbl'});
		var sbr = new Element('div', {'class':'shadowbr'});

		stl.inject(el);
		str.inject(el);
		sbl.inject(el);
		sbr.inject(el);

		st.inject(el);
		sb.inject(el);
		sr.inject(el);
		sl.inject(el);

	});

	set_shadow_sizes();
}


/**
* Calculates container sizes for shadows
*/
function set_shadow_sizes() {
	$$('.shadow').each(function(el){
		coords = el.getCoordinates();
		pl = el.getStyle('padding-left').toInt();
		pr = el.getStyle('padding-right').toInt();
		pt = el.getStyle('padding-top').toInt();
		pb = el.getStyle('padding-bottom').toInt();

		el.getElement('.shadowtc').setStyle('width', coords.width-(pl+pr));
		el.getElement('.shadowbc').setStyle('width', coords.width-(pl+pr));
		el.getElement('.shadowr').setStyle('height', coords.height-(pt+pb));
		el.getElement('.shadowl').setStyle('height', coords.height-(pt+pb));
	});
}


/**
* Init the lightbox
*/
function init_lightbox() {

	//Loop through elements with rel set to lightbox and add class needed by new lightbox
	$$('[rel=lightbox]').each(function(el){
    	el.addClass('lightbox');
    });

    new multiBox({
		mbClass: '.lightbox',
		container: $(document.body),
		showControls: false,
		useOverlay: true,
		maxSize: {w:600, h:475},
		movieSize: {w:400, h:475},
		addDownload: false,
		addRollover: true,//add rollover fade to each multibox link
		addOverlayIcon: false,
		addChain: false,
		recalcTop: false,
		addTips: false
	});

}


/**
* Add "validation" to the registration form
*/
function init_registration_form() {
	if($('registrationform')) {
		$('registrationform').addEvent('submit', function(){
			var empties = $$('form .empty').length;
			if(empties > 0) {
				alert('Vennligst fyll ut alle feltene!');
				return false;
			}
		});
	}
}
