YUI.namespace('taywa');

YUI().use('node', 'event', function(Y) {

	var bodynode;

	var titlenode;
	var subtitnode;
	var navinode;
	var numbernode;
	var txtpicNodes;
	var total;
	var contNodes;

	var curdiv;
	var curnr;

	var curimg;
	var scrolloff = 0;

	var mapnode;


	var initlayout = function(){
		
		titlenode = Y.one('#pagetitle');
		subtitnode = Y.one('#subtitle');

		navinode = Y.one('#pagination');
		numbernode = Y.one('#number');

		Y.one('#prev').on('click', showPrev);
		Y.one('#next').on('click', showNext);

		contNodes = Y.all('#cont div.csc-default');

		txtpicNodes = Y.all('#cont div.textpic-cont');
		txtpicNodes.on('click', toggleSingle);

		txtpicNodes.each(setTextWidth);

		var imagenodes = Y.all('div.textpic-cont img');
		imagenodes.each(scaledown);
	
		total = txtpicNodes.size();


		mapnode = Y.one('*[name=map]');
		if(mapnode){
			var bnav = Y.one('#mainnav li.pid15 ul');
			bnav.on('mouseover', bover);
			bnav.on('mouseout', bout);
		}
		
		
	}

	

	var setTextWidth = function(curnode, curindex){
		var tw = curnode.one('img').getAttribute('width');
		//console.log(tw);
		if(tw > 700){
			tw = 700;
		}else if(tw < 300){
			tw = 300;
		}
		var tmptxt = curnode.one('.csc-textpic-text');
		if(tmptxt){
			tmptxt.setStyle('width', tw +'px');
		}
	}

	
	var scaledown = function(curnode, curindex){
		curnode.removeAttribute('height');
		curnode.removeAttribute('width');		

	}


	
	var toggleSingle = function(e){

		var clickedDiv = e.target.ancestor(getDefault);
		if(!clickedDiv && e.target.hasClass('csc-default')){
			clickedDiv = e.target;
		}

		if(clickedDiv != curdiv){

			scrolloff= parseInt( clickedDiv.get('docScrollY') );
	
			contNodes.setStyle('display', 'none');
			titlenode.setStyle('display', 'none');
			subtitnode.setStyle('display', 'none');

			//console.log(e.target);
			curdiv = clickedDiv;
		
			curdiv.setStyle('display', 'block');
			curdiv.addClass('big');

			var imagenodes = curdiv.all('img');
			imagenodes.each(scaledown);

			setNumberStr();
			navinode.setStyle('display', 'block');
			
			setNavPos();
			
			window.scrollTo(0, 0);
		}else{
			showNext();
		}
		
	}

	var setNavPos = function(){
		if( curdiv.hasClass('smallimg') ){
			navinode.setStyle('top', '380px');
		}else if( curdiv.hasClass('largeimg') ){
			navinode.setStyle('top', '580px');
		}else {
			navinode.setStyle('top', '480px');
		}

	}
	
	var showOverview = function(e){
		contNodes.setStyle('display', 'block');
		txtpicNodes.removeClass('big');
		titlenode.setStyle('display', 'block');
		subtitnode.setStyle('display', 'block');


		navinode.setStyle('display', 'none');

		curdiv = null;

		window.scrollTo(0, scrolloff);
	}

	var showPrev = function(){
		if( curnr > 0 ){
			curnr--;
			switchBig( txtpicNodes.item(curnr) );
		}else{
			showOverview();
		}	
	}

	var showNext = function(){
		//alert(curdiv.next(getDefault).nodeType );
		if( curnr < total -1 ){
			curnr++;
			switchBig( txtpicNodes.item(curnr) );
		}else{
			showOverview();
		}	
	}

	var switchBig = function(newdiv){
		curdiv.setStyle('display', 'none');
		curdiv.removeClass('big');
	
		curdiv = newdiv;
		
		curdiv.setStyle('display', 'block');
		curdiv.addClass('big');
		setNavPos();

		setNumberStr();
		window.scrollTo(0, 0);
	}

	var setNumberStr = function(){
		curnr = txtpicNodes.indexOf(curdiv);
		var nubmstr = curnr + 1;
		var navstr = nubmstr +'/'+total;
		numbernode.set('text', navstr);
	}

	var getDefault = function(node){
		if( node.hasClass('csc-default') ){
			return true;
		}else{
			return false;
		}
	}


	var getImg = function(node){
		if( node.hasAttribute('src') ){
			return true;
		}else{
			return false;
		}
	}

	









	YUI.taywa.overMap = function(msg){
		Y.one('li.pid'+msg).addClass('active');
	}

	YUI.taywa.outMap = function(msg){
		Y.one('li.pid'+msg+'.active').removeClass('active');
	}



	var bover = function(e){
		var tg = e.target;
		//console.log('over '+ tg);
		if(tg.hasAttribute('id')){
			var bid = parseInt( tg.get('id') )-20;
			overBuilding(bid);
		}
	}

	var bout = function(e){
		var tg = e.target;
		//console.log('out '+ tg);
		if(tg.hasAttribute('id')){
			var bid = parseInt( tg.get('id') )-20;
			outBuilding(bid);
		}
	}







	//if(Y.UA.ie != 6){
		//Y.on("available", initbase, '#mainnav', Y);
		Y.on("load", initlayout, window, Y);
	//}

});


function getMovieName(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName]
	}
	else {
		return document[movieName]
	}
}



overMap = function(bid){
	YUI.taywa.overMap(bid);
}

outMap = function(bid){
	YUI.taywa.outMap(bid);
}

overBuilding = function(bid){
	getMovieName('map').overBuilding(bid);
}
outBuilding = function(bid){
	getMovieName('map').outBuilding(bid);
}


			




