$(document).ready(function() {
	if($('.twocolumns').length) {	 //alert(1);		
		//alert(10);
		$('.twocolumns').fadeTo(1,0);
		$('.twocolumns').columnize({ columns: 2, lastNeverTallest: true, doneFunc: function() { $('.twocolumns').fadeTo(1,1); } });
	}
	
	if($('.threecolumns').length) {			
		$('.threecolumns').fadeTo(1,0);
		$('.threecolumns').columnize({ columns: 3, lastNeverTallest: true, doneFunc: function() { $('.threecolumns').fadeTo(1,1); } });
	}
			
	if($('.gthumbs').length) {
		rememberview = 0;
		
		patternview = 0;
		imgs = $('.gthumbs li').length;
		pos = 0;		
		$('.gthumbs li a').click(function() { // 26x26 thumb is clicked
			thisindex = $(this).parent('li').index();
			jump_gm(thisindex);
			return false;
		});
		
		$('.g-m .nav .prev').click(function() { // < is clicked
			openindex = $('.gthumbs .active').index();
			if(openindex > 0) jump_gm(pos-1);	
			return false;
		});
		
		$('.g-m .nav .next').click(function() { // > is clicked
			openindex = $('.gthumbs .active').index();
			if(openindex < imgs-1) jump_gm(pos+1);	
			return false;
		});
		
		view = new Array;
		for(i = 0; i < imgs; i++) {
			view[i] = 1;	
		}
		
		$('.g-m li ul.tabs li a.a_desc').click(function() {
			$(this).parent('li').addClass('active').siblings('li.active').removeClass('active').parent('.tabs').siblings('.pattern').fadeOut(300).siblings('.full').fadeOut(300).siblings('.preview').fadeIn(300);
			view[pos] = 1; //$('#lang').text('pos='+pos+' view['+pos+']='+view[pos]);
			$(this).parent('li').parent('.tabs').parent('li').siblings('.nav').hide().removeClass('wide').fadeTo(400,1);			
			return false;
		});
		
		$('.g-m li ul.tabs li a.a_pattern').click(function() {
			$(this).parent('li').addClass('active').siblings('li.active').removeClass('active').parent('.tabs').siblings('.preview').fadeOut(300).siblings('.full').fadeOut(300).siblings('.pattern').fadeIn(300);
			view[pos] = 2; //$('#lang').text('pos='+pos+' view['+pos+']='+view[pos]);
			$(this).parent('li').parent('.tabs').parent('li').siblings('.nav').hide().addClass('wide').fadeTo(400,1);			
			return false;
		});		
		
		$('.g-m li ul.tabs li a.a_full').click(function() {
			$(this).parent('li').addClass('active').siblings('li.active').removeClass('active').parent('.tabs').siblings('.pattern').fadeOut(300).siblings('.preview').fadeOut(300).siblings('.full').fadeIn(300);
			view[pos] = 3; //$('#lang').text('pos='+pos+' view['+pos+']='+view[pos]);
			$(this).parent('li').parent('.tabs').parent('li').siblings('.nav').hide().addClass('wide').fadeTo(400,1);			
			return false;
		});
		
		//setup rotation
		cw = 0;
		ccw = 0; 
		$('a.rotate').click(function() { 
			$(this).siblings('.tl').dequeue().rotate({angle:cw,animateTo:cw+90}); 
			$(this).siblings('.bl').dequeue().rotate({angle:ccw,animateTo:ccw-90}); 			
			$(this).siblings('.tr').dequeue().rotate({angle:ccw,animateTo:ccw-90}); 
			$(this).siblings('.br').dequeue().rotate({angle:cw,animateTo:cw+90}); 
			cw = cw + 90;
			ccw = ccw - 90;
			return false;
		});
	}
	
	if($('.g').length) {
		$('.g .imgs li:not(.active)').hide();
		imgs = $('.g .imgs li').length;
		pos = 0;
		/*thumbs = ''; 
		for(c = 1; c <= imgs; c++) {
			if(c == 1) thumbs += '<li class="active"><a href="#">'+c+'</a></li>';
			else  thumbs += '<li><a href="#">'+c+'</a></li>';
		}
		$('.g .nav-thumbs').html(thumbs);*/
						
		$('.g .nav-thumbs').children('li').children('a').click(function() { 
			thisindex = $(this).parent('li').index();
			jump_g(thisindex);
			return false;
		});
		
		$('.g .nav .prev').click(function() {
			openindex = $('.nav-thumbs .active').index();
			if(openindex > 0) jump_g(pos-1);	
			return false;
		});
		
		$('.g .nav .next').click(function() {
			openindex = $('.nav-thumbs .active').index();
			if(openindex < imgs-1) jump_g(pos+1);	
			return false;
		});
	}
});

function jump_g(thisindex) {
	openindex = $('.nav-thumbs .active').index();
	fadespeed = 500;	
	if(openindex != thisindex) {
		$('.nav-thumbs').children('li.active').removeClass('active');
		$('.nav-thumbs').children('li:eq('+thisindex+')').addClass('active');
		$('.g ul.imgs li:eq('+openindex+')').fadeOut(fadespeed).removeClass('active');
		$('.g ul.imgs li:eq('+thisindex+')').fadeIn(fadespeed).addClass('active');
	}
	if(thisindex == 0) { $('.g .nav .prev').addClass('hidden').fadeOut(fadespeed); }
	else if(thisindex == imgs-1) { $('.g .nav .next').addClass('hidden').fadeOut(fadespeed); }
	if(thisindex > 0 && $('.g .nav .prev').hasClass('hidden')) { 
		$('.g .nav .prev').removeClass('hidden').fadeIn(fadespeed); 
	}
	else if(thisindex < imgs-1 && $('.g .nav .next').hasClass('hidden')) { 
		$('.g .nav .next').removeClass('hidden').fadeIn(fadespeed); 
	}
	pos = thisindex;
}

function jump_gm(thisindex) {
	openindex = $('.gthumbs .active').index();
	fadespeed = 500;	
	if(openindex != thisindex) {
		//switch active thumbnail
		$('.gthumbs').children('li.active').removeClass('active');
		$('.gthumbs').children('li:eq('+thisindex+')').addClass('active');
		//swap material
		$('.g-m li.m:eq('+openindex+')').fadeOut(fadespeed).removeClass('active');
		$('.g-m li.m:eq('+thisindex+')').fadeIn(fadespeed).addClass('active');
		/*if(patternview == 1) { 
			$('.g-m li .preview').hide().siblings('.pattern').show();
		}
		if(patternview == 0) { 
			$('.g-m li .pattern').hide().siblings('.preview').show();
		}*/
		//alert(view[3]);
	}
	if(thisindex == 0) { $('.g-m .nav .prev').addClass('hidden').fadeOut(fadespeed); }
	else if(thisindex == imgs-1) { $('.g-m .nav .next').addClass('hidden').fadeOut(fadespeed); }
	if(thisindex > 0 && $('.g-m .nav .prev').hasClass('hidden')) { 
		$('.g-m .nav .prev').removeClass('hidden').fadeIn(fadespeed); 
	}
	else if(thisindex < imgs-1 && $('.g-m .nav .next').hasClass('hidden')) { 
		$('.g-m .nav .next').removeClass('hidden').fadeIn(fadespeed); 
	}
	pos = thisindex;
	//$('#lang').text('pos='+pos+' view['+pos+']='+view[pos]);
	if(rememberview == 1) {
		if(view[pos] == 1 && $('.nav').hasClass('wide')) $('.nav').hide().removeClass('wide').fadeTo(400,1);
		else if(view[pos] != 1 && !$('.nav').hasClass('wide')) $('.nav').hide().addClass('wide').fadeTo(400,1);
	} else {
		//alert(pos);
		$('.g-m li.m:eq('+pos+')').children('.tabs').children('li').children('a.a_desc').parent('li').addClass('active').siblings('li.active').removeClass('active').parent('.tabs').siblings('.pattern').fadeOut(1).siblings('.full').fadeOut(1).siblings('.preview').fadeIn(1);
		view[pos] = 1; 
		if($('.nav').hasClass('wide')) { $('.nav').hide().removeClass('wide').fadeTo(400,1); }
		//alert(2);
	}		
}

(function ($) {
    var proxied = $.fn.fadeTo;
    $.fn.fadeTo = function() {
        if ($(this).is(':hidden')) {
            $(this).css('opacity', 0).show();
        }
        
        return proxied.apply(this, arguments);
    }
})(jQuery);
