var images;
var collagen;
var collagen_nav;
var nav_back;
var nav_close;
var nav_close_panel;
var img_cr_4;
var txt_contenttext;

function init_collagen() {
	links = document.getElementsByTagName('a');
	for(var i = 0;i < links.length; i++) {
		if(links[i].rel.toLowerCase() == 'collagen') {
			addEvent(links[i], 'click', start_collagen);
		}
	}
}

function stop_collagen(ev) {
	removeEvent(nav_close_panel, 'click', stop_collagen);
	removeEvent(nav_close, 'click', stop_collagen);
	removeEvent(document, 'click', start_collagen);
	removeEvent(document.getElementById('col_nav_back'), 'click', switch_col);
	collagen_nav.removeChild(document.getElementById('col_nav_back'));
	for(var i = 0; i < collagen_data.length; i++) {
		removeEvent(collagen_data[i].nav, 'click', switch_col);
		removeEvent(collagen_data[i].img, 'click', switch_col);
		collagen.removeChild(collagen_data[i].img);
		collagen_nav.removeChild(collagen_data[i].nav);
	}
	collagen_nav.style.display = 'none';
	collagen.style.display = 'none';
	nav_close.style.display = 'none';
	nav_close = null;
	nav_close_panel.style.display = 'none';
	nav_close_panel = null;
	collagen_nav = null;
	collagen = null;
	img_cr4.style.display = 'inline';
	img_cr4 = null;
	if(txt_contenttext != null) {
		txt_contenttext.style.display = 'block';
	}
	txt_contenttext = null;
}

function start_collagen() {
	collagen = document.getElementById('col_div');
	collagen_nav = document.getElementById('col_nav');
	collagen.style.display = 'block';
	collagen_nav.style.display = 'block';
	
	img_cr4 = document.getElementById('cr_4');
	if(img_cr4 != null) {
		img_cr4.style.display = 'none';
	}
	
	txt_contenttext = document.getElementById('content_text');
	if(txt_contenttext != null) {
		txt_contenttext.style.display = 'none';
	}
	
	nav_close = document.getElementById('col_close');
	nav_close.style.display = 'block';
	addEvent(nav_close, 'click', stop_collagen);

	nav_close_panel = document.getElementById('col_close_panel');
	nav_close_panel.style.display = 'block';
	addEvent(nav_close_panel, 'click', stop_collagen);

	if(collagen == null || collagen_nav == null) {
		return;
	}
	
	collagen.innerHTML = '';
	collagen_nav.innerHTML = '';
	
	nav_back = document.createElement('span');
	nav_back.setAttribute('id','col_nav_back');
	nav_back.innerHTML = '&lt&nbsp;';
	nav_back.style.opacity = 0;
	if(browser.isIE) {
		nav_back.style.display = 'none';
	}
	collagen_nav.appendChild(nav_back);
	addEvent(document.getElementById('col_nav_back'), 'click', switch_col);
	
	for(var i = 0; i < collagen_data.length; i++) {
		if(collagen_data[i].src != '' && collagen_data[i].alt != '') {
			newimg = document.createElement('img');
			newimg.setAttribute('id','col_img_' + i);
			newimg.src = collagen_img_path + collagen_data[i].src;
			newimg.alt = collagen_data[i].alt;
			newimg.style.position = 'absolute';
			if(i > 0) {
				newimg.style.display = 'none';
			}
			else {
				newimg.style.display = 'inline';
			}
			collagen.appendChild(newimg);

			collagen_data[i].img = document.getElementById('col_img_' + i);
			if(collagen_data[i].img == null) {
				return false;
			}
			
			newnav = document.createElement('span');
			newnav.setAttribute('id','col_nav_' + i);
			newnav.innerHTML = '&gt;';
			collagen_nav.appendChild(newnav);
			
			collagen_data[i].nav = document.getElementById('col_nav_' + i);
			if(collagen_data[i].nav == null) {
				return false;
			}
			
			addEvent(collagen_data[i].nav, 'click', switch_col);
			addEvent(collagen_data[i].img, 'click', switch_col);
		}		
	}
	collagen_data[0].nav.style.fontWeight = 'bold';
	return false;
}

var old_i = null;
var new_i = null;
function switch_col(ev) {
	if(running) { 
		return;
	}
	target = get_Target(ev);
	next = 0;
	
	for(var i = 0; i < collagen_data.length; i++) {
		if(collagen_data[i].img.style.display == 'inline') {
			old_i = collagen_data[i];
			if(target.indexOf('col_nav_back') >= 0) {
				if(nav_back.style.opacity == 0) {
					return;
				}
				next = i - 1;
				if(next < 0) {
					next = collagen_data.length - 1;
				}
			}
			else if(target.indexOf('col_img') >= 0) {
				next = i + 1;
				if(next > collagen_data.length - 1) {
					next = 0;
				}
			}
			else {
				next = parseInt(get_Target_Nr(ev));
			}
			break;
		}
	}
	
	for(var i = 0; i < collagen_data.length; i++) {
		collagen_data[i].nav.style.fontWeight = 'normal';
	}

	collagen_data[next].nav.style.fontWeight = 'bold';
	new_i = collagen_data[next];
	
	if(old_i == null || new_i == null || old_i == new_i) {
		return;
	}	
	
	old_i.img.style.zIndex = 10;
	new_i.img.style.zIndex = 11;
	new_i.img.style.opacity = 0;
	new_i.img.style.filter = "alpha(opacity=0)";
	new_i.img.style.display = 'inline';
	
	fade(0,((next==0) ? true : false));
}

var running = false;
function fade(step, isnext) {
	running = true;
	if(old_i == null || new_i == null) {
		return;
	}
	
    step = step || 0;

    new_i.img.style.opacity = step/100;
    new_i.img.style.filter = "alpha(opacity=" + step + ")"; // IE
	
	if(isnext) {
		if(browser.isIE) {
			nav_back.style.display = 'none';
		}
		nav_back.style.opacity = 1 - (step/100);
	}	
	else {
		if(nav_back.style.opacity < 1) {
			nav_back.style.opacity = step/100;
			if(browser.isIE) {
				nav_back.style.display = 'inline';
			}
		}
	}

    step = step + 2;

    if (step <= 100) {
        window.setTimeout(function () { fade(step, isnext); }, 1);
    }
    else {
	    old_i.img.style.display = 'none';
    	old_i.img.style.opacity = 1;
    	old_i.img.style.filter = "alpha(opacity=100)";
    	running = false;
    }
}


function get_Target_Nr(ev) {
	var ret = get_Target(ev);
	
	return ret.replace('col_nav_','').replace('col_img_','');
}

