jQuery.activeDropSelMenus = [];
$.extend({
	pageMenuInit: function() {
		jQuery.activeDropSelMenus.push($('.open'));
		$(document).unbind('mousedown').bind('mousedown', $.DropSelCheckMouse);
	},
	initPage: function() {
		$('#Menu a, #MenuOpen a').bind('click', function() {
			if($(this).hasClass('under_menu')) {
				$('.open').removeClass('open').addClass('hidden');
				$(this).parent().removeClass('hidden');
				var id = $(this).attr('id').split('_')[1];
				$('#item_' + id).removeClass('hidden');
				$(document).unbind('mousedown').bind('mousedown', $.DropSelCheckMouse);
				jQuery.activeDropSelMenus.push($('#item_' + id));
				return false;
			}
		})
	},
	DropSelCheckMouse: function(e) {
		var t = e.target;
		if (jQuery.activeDropSelMenus != undefined) {
			if(jQuery.activeDropSelMenus.length) {
				for(var i = 0; i < jQuery.activeDropSelMenus.length; i++) {
					if(t == jQuery.activeDropSelMenus[i][0]) return;
				}
			}
			while ( t.parentNode) {
				for(var i = 0; i < jQuery.activeDropSelMenus.length; i++) {
					if(t.parentNode == jQuery.activeDropSelMenus[i][0]) return;
				}
				t = t.parentNode;
			}
			if(jQuery.activeDropSelMenus.length) {
				for(var i = 0; i < jQuery.activeDropSelMenus.length; i++) {
					if(t == jQuery.activeDropSelMenus[i][0]) return;
				}
			}
			//if(jQuery.activeDropSelMenus.length && t == jQuery.activeDropSelMenus[0])
				//return;
		}
		//alert(jQuery.activeDropSelMenus.length)
		$.DropSelCloseAll();
		return false;
	},
	DropSelCloseAll: function() {
		$(document).unbind('mousedown');
		for(var i = 0; i < jQuery.activeDropSelMenus.length; i++) {
			jQuery.activeDropSelMenus[i].addClass('hidden');
		}
		jQuery.activeDropSelMenus = [];
	}
});
jQuery.fn.extend({
	slideshowInit: function(w) {
		var selected = 0;
		var i = 0, txr = 0;
		this.append('<div class="control"></div>');
		var str = '<div class="slide prev first"></div>';
		var elem = this.find('img');
		var len = elem.length;
		//if(len == 1) return;
		elem.each(function() {
			if(!i) {
				var id = $(this).attr('id');
				imgW = 0;
				if($(this).hasClass('center'))
					imgW = (w - $(this).width())/2;
				else if($(this).hasClass('right'))
					imgW = w - $(this).width();
				$(this).css({left:imgW,opacity:0}).animate({opacity:1}, 400);
				if(id.indexOf('image') !== false) {
					id = id.split('_')[1];
					txr = w - ($(this).width() + imgW);
					h = $('#text_' + id).height();
					if(h <  20) h = 20; //toofast-bug.

					if(len == 1)
						$('#text_' + id).css({right:txr});
					else
						$('#text_' + id).css({right:txr+60});
					if(!$(this).parent().parent().hasClass('stricttext')) $('#text_' + id).parent().css({height:h});
				}
			} else {
				$(this).css({left:w+'px'});
			}
			if(!$(this).parent().parent().hasClass('onlypaging')) str += '<div class="controlitem' + (!i?' first':'') + ((i+1) == len?' last':'') + '"></div>';
			i++;
		});
		if(len == 1) return;
		this.data('textRight', txr+60);
		str += '<div class="slide next"></div><div class="clear"></div>';
		var control = this.find('div.control').html(str).css({right:txr});	

		delete str;
		var selObj = $(this.find('div.controlitem')[0]);
		this.data('selWidth', w);
		this.data('selectedObj', selObj);
		this.data('selectedImg', $(elem[0]));
		this.data('selected', selected);
		this.data('itemlength', len);
		selObj.addClass('selected');
		/*this.hover(function() {
			$(this).find('div.control').stop().animate({opacity:1});
		}, function() {
			$(this).find('div.control').stop().animate({opacity:0});
		});*/
		$(this).find('div.slide').bind('click', function() {
			//if($(this).hasClass('first')) return false;
			var obj = $(this).parent().parent();
			var selObj = obj.data('selectedObj');
			var sel = obj.data('selected');
			var len = obj.data('itemlength');
			var elem = obj.find('div.controlitem');
			if($(this).hasClass('prev')) {
				if(!sel) {
					sel = len;
					//return false;
				}
				sel--;
			} else if($(this).hasClass('next')) {
				if((sel+1) == len) {
					sel = -1;
				}
				sel++;
			}
			obj.slideshowActivate($(elem[sel]), sel);
			
			return false;
		}).disableSelection();
		$(this).find('div.controlitem').bind('click', function() {
			var i = 0;
			var obj = $(this);
			var elems = $(this).parent().find('div.controlitem').each(function() {
				if(this == obj[0]) {
					return false;
				}
				i++;
			});
			obj.parent().parent().slideshowActivate(obj, i);
			return false;
		}).disableSelection();
	},
	slideshowActivate: function(obj, sel) {
		this.data('selectedObj').removeClass('selected');
		
		//image
		var w = this.data('selWidth');
		this.data('selectedImg').css({zIndex:10}).stop().animate({opacity:0}, function() { $(this).css({left:w + 'px'})});
		var id = this.data('selectedImg').attr('id');
		var oldobj = null;
		if(id.indexOf('image') !== false) {
			id = id.split('_')[1];
			oldobj = $('#text_' + id);
		}
		var imgs = this.find('img');
		var x = 0;
		if($(imgs[sel]).hasClass('center'))
			x = (w - $(imgs[sel]).width())/2;
		else if($(imgs[sel]).hasClass('right'))
			x = w - $(imgs[sel]).width();
		if($(imgs[sel]).attr('id').indexOf('image') !== false) {
			var id = $(imgs[sel]).attr('id').split('_')[1];
			txr = w-$(imgs[sel]).width();
			$('#text_' + id).data('fadeoutobj', oldobj);
			
			$('#text_' + id).stop().css({visibility:'visible',zIndex:10,right:this.data('textRight'),opacity:0}).animate({opacity:1});
			//$('#text_' + id).parent().stop().animate({height:$('#text_' + id).height()});
		}
		if(oldobj) oldobj.stop().animate({opacity:0});
		$(imgs[sel]).stop().css({opacity:1,zIndex:9,left:x});
		this.data('selectedImg', $(imgs[sel]));
		
		
		obj.addClass('selected');
		this.data('selectedObj', obj);
		this.data('selected', sel);
		var len = this.data('itemlength');
		if(sel == (len-1)) {
			this.find('.next').addClass('last');
		} else {
			this.find('.next').removeClass('last');
		}
		if(!sel) {
			this.find('.prev').addClass('first');
		} else {
			this.find('.prev').removeClass('first');
		}
	}
});