/**
 * @author rai
 */

var baseUrl = "http://www.satyendra-pakhale.com";

function rightColumnSlide()
{
	var rcSlide = $('content-right-slide');

	if ($chk(rcSlide))
	{
	
		var maxScrollDown = (rcSlide.getSize().y).toInt() - 10;
		var scrollSize = 300;
		// console.log(maxScrollDown);
		var smScroll = new Fx.Tween(rcSlide, {
			duration: 600,
			transition: Fx.Transitions.Linear,
			unit: 'px'
		});
		var rc_slideUp = $('main-slide-up');
		var rc_slideDown = $('main-slide-down');
		
		if ($defined(rc_slideDown) && $defined(rc_slideUp))
		{
		
			var rc_downOffSrc = rc_slideDown.getProperty('src');
			var rc_downOnSrc = rc_downOffSrc.replace(/\OffSmall\./i, 'OnSmall.');
			var rc_upOffSrc = rc_slideUp.getProperty('src');
			var rc_upOnSrc = rc_upOffSrc.replace(/\OffSmall\./i, 'OnSmall.');
		
			var maxMargin = Math.abs(maxScrollDown);
		
			smScroll.addEvent('complete', function(){
		
			});
		
			rc_slideDown.addEvents({
				'click': function(e){
					e = new Event(e).stop();
				
					var currentMargin = rcSlide.getStyle('margin-top').toInt();
					// console.log(currentMargin + '::' + maxMargin);
					if (Math.abs(currentMargin) < maxMargin) {
						smScroll.start('margin-top', currentMargin, currentMargin - scrollSize);
						// console.log(currentMargin);
					}
				
				},
				'mouseover': function(e){
					rc_slideDown.setProperty('src', rc_downOnSrc);
				},
				'mouseout': function(e){
					rc_slideDown.setProperty('src', rc_downOffSrc);
				}
			});
		
			rc_slideUp.addEvents(
			{
				'click': function(e){
					e = new Event(e).stop();
				
					var currentMargin = rcSlide.getStyle('margin-top').toInt();
					if (currentMargin < 0) {
						smScroll.start('margin-top', currentMargin, currentMargin + scrollSize);
					}
				},
				'mouseover': function(e){
					rc_slideUp.setProperty('src', rc_upOnSrc);
				},
				'mouseout': function(e){
					rc_slideUp.setProperty('src', rc_upOffSrc);
				}
			});
		
			rc_slideUp.setStyle('cursor', 'pointer');
			rc_slideDown.setStyle('cursor', 'pointer');
		}
	}
}

function rightSlide()
{
	// init right scroll
	// TODO: init goes lower when a page 2 item is selected
	// console.log($$('#submenu-slide img').length);	
	var numItems = $$('#submenu-slide img').length;
	var maxScrollDown = (numItems / 6);
	var slideDown = $('slide-down');
	var slideUp = $('slide-up');
	var rightSlide = $('right-slider');

	var smScroll = new Fx.Tween(rightSlide,{duration: 900,transition: Fx.Transitions.Expo.easeOut,unit:'px'});

	smScroll.addEvent('complete',function()
	{
		
		var slideMargin = rightSlide.getCoordinates().height / maxScrollDown;
		/*
		console.log("height:" +rightSlide.getCoordinates().height);
		console.log ("numItems: " + numItems);
		console.log("slidemargin: " + slideMargin);
		console.log ("1314/numItems" + (1314/numItems));
		*/
		var currentMargin = rightSlide.getStyle('margin-top').toInt();
		var maxMargin  = (Math.abs((maxScrollDown)-1) * slideMargin); 

		if (Math.abs(currentMargin) >= maxMargin)
		{
			slideDown.setProperty('src',baseUrl + '/base/icons/icon_gray.gif');
			slideDown.setStyle('cursor','default');
			slideDown.removeEvents('mouseover');
			slideDown.removeEvents('mouseout');		
		}
		else
		{
			slideDown.setProperty('src',baseUrl + '/base/icons/arrowDownOff.gif');
			slideDown.setStyle('cursor','pointer');
			slideDown.addEvents({'mouseover': function(){slideDown.setProperty('src',baseUrl +'/base/icons/arrowDownOn.gif');},'mouseout':function(){slideDown.setProperty('src',baseUrl +'/base/icons/arrowDownOff.gif');}})
		
		}

		if (currentMargin < 0)
		{
			slideUp.setProperty('src',baseUrl + '/base/icons/arrowUpOff.gif');
			slideUp.setStyle('cursor','pointer');
			slideUp.addEvents({'mouseover': function(){slideUp.setProperty('src',baseUrl +'/base/icons/arrowUpOn.gif');},'mouseout':function(){slideUp.setProperty('src',baseUrl +'/base/icons/arrowUpOff.gif');}})
		}
		else
		{
			slideUp.setProperty('src',baseUrl +'/base/icons/icon_gray.gif');
			slideUp.setStyle('cursor','default');
			slideUp.removeEvents('mouseover');
			slideUp.removeEvents('mouseout');	
		}
	});
	
	
	if (numItems > 6) // 6 items in the column
	{

		
		slideDown.setProperty('src',baseUrl +'/base/icons/arrowDownOff.gif');
		slideDown.setStyle('cursor','pointer');
		slideDown.addEvents({'mouseover': function(){slideDown.setProperty('src',baseUrl +'/base/icons/arrowDownOn.gif');},'mouseout':function(){slideDown.setProperty('src',baseUrl +'/base/icons/arrowDownOff.gif');}})
		
		
		// console.log ('max = ' + maxMargin);
		slideDown.addEvent('click',function(e)
		{
			if (e)
			{
				e.stop();
			}
			var slideMargin = rightSlide.getCoordinates().height / maxScrollDown;
			
			/*
			console.log("height:" +rightSlide.getCoordinates().height);
			console.log ("numItems: " + numItems);
			console.log("slidemargin: " + slideMargin);
			console.log ("1314/numItems" + (1314/numItems));
			*/
			var maxMargin  = Math.abs((maxScrollDown-1) * slideMargin);
		
			
			
			var currentMargin = rightSlide.getStyle('margin-top').toInt();	
			
			if (Math.abs(currentMargin) < maxMargin)
			{
				
				smScroll.start('margin-top',currentMargin,currentMargin-slideMargin);
			}
			
		});
		
		slideUp.addEvent('click',function(e)
		{
			if (e)
			{
				e.stop();
			}
			var slideMargin = rightSlide.getCoordinates().height / maxScrollDown;
			// console.log(slideMargin);
			var maxMargin  = Math.abs((maxScrollDown-1) * slideMargin);
			
			var currentMargin = rightSlide.getStyle('margin-top').toInt();	
			if (currentMargin < 0)
			{
				smScroll.start('margin-top',currentMargin,currentMargin+slideMargin);
			}
		});
	}
	var url=window.location.href;

	if (url.match("#")) 
	{
		var split = url.split("#");
		
		// console.log(split[1].toInt());

		var currentMargin = rightSlide.getStyle('margin-top').toInt();
		var slideMargin = rightSlide.getCoordinates().height / maxScrollDown;
		smScroll.start('margin-top',currentMargin,currentMargin-(slideMargin*(split[1].toInt()-1)));

	}	
}

var mainCurrentID = 1;


function mainSlide()
{
	
	// lt=all left txts
	// cp = all main panel id's
	//var contentSlide = $('main-scroller-dual');
	var numItems = $$('.main-scroll').length;
	
	//console.log('number of main items:' + numItems);
	
	if (numItems > 1)
	{
		var slideDown = $('main-slide-down');
		var slideUp = $('main-slide-up');
		
		slideUp.setStyle('cursor', 'pointer');
		slideDown.setStyle('cursor', 'pointer');
		
		var myFx = new Fx.Tween($('cp-1'), {
			link: 'ignore',
			duration: 500,
			transition: Fx.Transitions.Expo.easeOut,
			unit: 'px'
		});
		var ltScroll = new Fx.Tween($('lt-1'), {
			link: 'ignore',
			duration: 0,
			transition: Fx.Transitions.Expo.easeOut,
			unit: 'px'
		});
		
		
		var downOnSrc = slideDown.getProperty('src');
		var downOffSrc = downOnSrc.replace(/\OnSmall\./i, 'OffSmall.');
		
		var upOnSrc = slideUp.getProperty('src');
		var upOffSrc = upOnSrc.replace(/\OnSmall\./i, 'OffSmall.');
		
		slideUp.setProperty('src', upOffSrc);
		
		// TODO: set slide down to gray now as well :S 
		
		slideDown.setProperty('src', downOffSrc);
		
		slideDown.addEvents({
			'mouseover': function(e){
				slideDown.setProperty('src', downOnSrc);
			},
			'mouseout': function(e){
				slideDown.setProperty('src', downOffSrc);
			}
		});
		slideUp.addEvents({
			'mouseover': function(e){
				slideUp.setProperty('src', upOnSrc);
			},
			'mouseout': function(e){
				slideUp.setProperty('src', upOffSrc);
			}
		});
		
		
		slideUp.addEvent('click', function(e){
			e.stop();
			var current = $('cp-1').getStyle('margin-top').toInt();
			var currentLt = $('lt-1').getStyle('margin-top').toInt();
			
			// console.log('main=' + (mainCurrentID));
			if (current >= 0) {
				// console.log('top of list reached ('+mainCurrentID+'), graying out up');
				$('main-slide-up').setProperty('src', upOffSrc);
				mainCurrentID = 1;
			}
			else {
				// myFx.start('margin-top',0);
				// //console.log ('mod' + (Math.abs($('cp-1').getStyle('margin-top').toInt()) % 300));
				if ((Math.abs($('cp-1').getStyle('margin-top').toInt()) % 300) == 0) {
					mainCurrentID = (Math.abs($('cp-1').getStyle('margin-top').toInt()) / 300).toInt();
					//console.log(mainCurrentID + "::up");
					//console.log("displaying lt-"+mainCurrentID);
					myFx.start('margin-top', current + 300);
					ltScroll.start('margin-top', currentLt + 90);
					
					/*if (mainCurrentID < numItems)
				 {
				 // set down slide to on
				 // $('main-slide-down').setProperty('src',downOnSrc);
				 }*/
					if (mainCurrentID == 1) {
						$('main-slide-up').setProperty('src', upOffSrc);
					}
					
				}
			}
			if ($defined($('subtitle'))) 
			{
				var c = ('lt-' + mainCurrentID.toString());
				var h2 = $(c).getElements('span').get('text');
				// console.log($(c).getElements('span').get('text'));
				$('subtitle').fade('out');
				if (h2.length > 0) 
				{
					$('subtitle').set('text', h2);
				}
				else 
				{
					$('subtitle').set('text', '');
				}
				$('subtitle').fade('in');
			}
			
		})
		
		
		slideDown.addEvent('click', function(e){
			e.stop();
			var current = $('cp-1').getStyle('margin-top').toInt();
			var currentLt = $('lt-1').getStyle('margin-top').toInt();
			//console.log($('cp-1').getStyle('margin-top').toInt());
			// console.log(mainCurrentID);
			if (mainCurrentID == numItems) {
			// console.log('end of list reached ('+mainCurrentID+'), graying out down');
			}
			else {
				// //console.log ('mod' + (Math.abs($('cp-1').getStyle('margin-top').toInt()) % 300));
				if ((Math.abs($('cp-1').getStyle('margin-top').toInt()) % 300) == 0) {
					mainCurrentID++;
					
					//console.log('main=' + mainCurrentID);
					//console.log('displaying lt-'+mainCurrentID);

					myFx.start('margin-top', (current) - 300);
					ltScroll.start('margin-top', currentLt - 90);
				}
				
				if (mainCurrentID == numItems) {
					$('main-slide-down').setProperty('src', downOffSrc);
					
				}
			
			}
					var c = ('lt-'+mainCurrentID.toString());
					var h2 = $(c).getElements('span').get('text');
					// console.log($(c).getElements('span').get('text'));
					if ($defined($('subtitle')) && $defined(h2)) 
					{
						$('subtitle').fade('out');
						if (h2.length > 0) 
						{
							$('subtitle').set('text', h2);
						}
						else 
						{
							$('subtitle').set('text', '');
						}
						$('subtitle').fade('in');
					}
			
		});
		
	}
	else
	{
		if ($defined($('main-slide-down')))	
			$('main-slide-down').setStyle('display','none');
		if ($defined($('main-slide-up')))
			$('main-slide-up').setStyle('display','none');
		
	}
}

window.addEvent('domready', function()
{

	/**
	 * Preload images
	 */


	var imgArray = [];
	$$('#right-slider img').each(function(img)
	{
		imgArray.push(img.getProperty('src'));
		// console.log('pushing' + img.getProperty('src'));
	}); 
	
	// console.log(imgArray);
	
	var allImages = new Asset.images(imgArray,
	{
		onComplete: function()
		{
			//console.log('all images preloaded');
			rightSlide();
		}
	});


	
	if ($chk($('content-right-slide')))
	{
	rightColumnSlide();
	}
	if ($chk($('main-scroller-dual')))
	{
		mainSlide();
	}
	
	
	if ($chk($('heading-frontpage')) && $chk('enter-link'))
	{
		$('enter-link').addEvents(
		{
			'mouseover' : function(e)
			{
				$('h1f-link').setStyle('color','#685c53');
			},
			'mouseout' : function (e)
			{
				$('h1f-link').setStyle('color','#8b8078');
			}
		});
	}
	
	$$('.nav-hover').each(function(img)
	{
		var baseSrc = img.getProperty('src');
		var hoverSrc = baseSrc.replace(/\_off\./i,'_on.');
		// //console.log(baseSrc + '::' + hoverSrc);
		img.addEvents({
		'mouseover':function()
		{
			img.setProperty('src',hoverSrc);
		},
		'mouseout':function()
		{
			img.setProperty('src',baseSrc);
		}
		
		});
	});
	
	// set h2
					var c = $('lt-1');
					if ($defined(c) && $defined($('subtitle'))) 
					{
						var h2 = c.getElements('span').get('text');
						// console.log($(c).getElements('span').get('text'));
						
						if (h2.length > 0) 
						{

							$('subtitle').fade('out');	
							$('subtitle').set('text', h2);
						}
						else 
						{
							//$('subtitle').set('text', '');
						}
						$('subtitle').fade('in');
					}
					
		var href = null;
				if ($defined($('click-through')))
				{
					href=$('click-through').getProperty('href');
				}
		$$('.introduction').each(function(i)
		{
			i.setStyle('cursor','pointer');
			i.addEvent('mouseover',function(e) 
			{
				i.setStyle('color','#685c53');
				if (href != null)
				{
					window.status = href;
				}
			});
			i.addEvent('mouseout',function(e) 
			{

				window.status = '';
				
				i.setStyle('color','#766A63');});
			i.addEvent('click', function(e)			
			{

				if (href != null) 
				{
					window.location.href = href;
				}
			});
			
		});

	// set target = blank to rel=external

	$('content').getElements('a[rel=external]').each(function(a){ a.setProperty('target','_blank') });
});