
$.fn.popup = function(prof,msg,com,preload){
	var p_flg = true;
	var p_set = "";
	var p_speed = 'normal';
	var p_opacity = 0.8;
	var p_imgay = [];
	var p_imgpt = 0;
	var p_msg = "";
	var p_profay = [];
	
	$(window).resize(function(){ _setPic(); _reback(); });
	
	$(this).each(function(){$(this).click(function(){if(!p_flg){_open(this);} return false;});});
	var i=0;
	while(prof[i]){
		p_profay[i] = '<div id="pro_cast"><img src="' + prof[i][0] + '" width="167" height="150" border="0" alt="' + prof[i][1] + '"></div><div id="pro_text"><div class="font_pro">' + prof[i][1] + '<font class="font_color3">' + prof[i][2] + '</font></div>' + prof[i][3] + '</div>';
		i++;
	}
	i=0;
	while(msg[i]){
		p_msg += '<div class="yotei_pink"><table border="0" cellpadding="0" cellspacing="0"><tr><td width="110" align="left" valign="top">' + msg[i][0] + '</td><td align="left" valign="top">' + msg[i][1] + '</td></tr></table></div>';
		i++;
	}
	p_msg += com;
	p_imgay = (preload) ? preload.split(',') : '';
	if(p_imgay.length > 0){
		_preloadimg();
	}
	function _preloadimg(){
		if(p_imgpt < p_imgay.length){
			img = new Image();
			img.onload = function(){
				setTimeout(_preloadimg,100);
			}
			img.src = p_imgay[ p_imgpt++ ];
		}else{
			p_flg=false;
		}
	}
	function _open(el) {
		p_flg=true;
		var tp = $(el).attr('type');
		tp = parseInt(tp.substring(tp.length-2,tp.length-1));
		$('body').append('<div class="popback"></div>');
		$('body').append('<div class="popHolder"></div>');
		_reback();
		$('div.popHolder').css({'opacity': 0});
		if(tp > -1){
			p_set = 'div#pro_';
			$('div.popHolder').append('<div id="pro_container"><div id="pro_div1"><img src="images/z_space.gif" width="1" height="1" border="0" alt=""></div><div id="pro_main"><img src="images/pro_title.gif" width="177" height="26" border="0" alt="出演者プロフィール"><div id="pro_div2">' + p_profay[ tp ] + '</div><div id="pro_div3"><a id="popclose" href="#"><img src="images/pro_close.gif" width="23" height="23" border="0" alt=""></a></div></div><div id="pro_div4"><img src="images/z_space.gif" width="1" height="1" border="0" alt=""></div></div>');
		}else{
			p_set = 'div#yotei_';
			$('div.popHolder').append('<div id="yotei_container"><div id="yotei_div1"><img src="images/z_space.gif" width="1" height="1" border="0" alt=""></div><div id="yotei_main"><img src="images/yotei_title.gif" width="218" height="25" border="0" alt="今週の予定"><div id="yotei_div2">' + p_msg + '</div><div id="yotei_div3"><a id="popclose" href="#"><img src="images/yotei_close.gif" width="23" height="23" border="0" alt=""></a></div></div><div id="yotei_div4"><img src="images/z_space.gif" width="1" height="1" border="0" alt=""></div></div>');
		}
		$('div.popHolder').width($(p_set + 'container').width());
		$(p_set + 'div2').hide();
		$(p_set + 'div3').hide();
		
		_setPic();
		_setIE(false);
	
		$('div.popback').css('opacity',0).fadeTo(p_speed,p_opacity,function(){
			$('div.popHolder').css('opacity',0).fadeIn(p_speed,function(){
				$('div.popHolder').attr('style','left:'+$('div.popHolder').css('left')+';top:'+$('div.popHolder').css('top')+';');
				var cW = $(p_set + 'container').width();
				var	cH = $(p_set + 'container').height() + $(p_set + 'div2').height() + $(p_set + 'div3').height();
				setTimeout('showimage('+cW+','+cH+')',200);
			});
		});
	}
	showimage = function(ctW,ctH){
		var scr = _getScroll();
		var win = _getWindow();
		var pTop = win['h']/2 + scr['t'] - ctH/2;
		var pLeft = win['w']/2 + scr['l'] - ctW/2;
		
		if(pTop < 0) pTop = 0;
		if(pLeft < 0) pLeft = 0;
		$('div.popHolder').width(ctW);
		$('div.popHolder').animate({'top': pTop,'left' : pLeft},p_speed,
		function(){
			$(p_set + 'div2').fadeIn(p_speed);
			$(p_set + 'div3').fadeIn(p_speed);
			$('div.popback').click(function(){_close();});
			$('a#popclose').bind('click',function(){_close();return false;});
		});
	}
	function _close(){
		$('div.popHolder').hide();
		$('div.popback').fadeOut(p_speed, function(){
			$('div.popback,div.popHolder').remove();
			_setIE(true);
			setTimeout(function(){p_flg = false;},300);
		});
	}
	function _reback(){
		$('div.popback').css({'height':$('body').height(),'width':$(document).width()});
	}
	function _setPic(){
		if($('div.popHolder').size() > 0){
			var scr = _getScroll();
			var win = _getWindow();
			var pTop = win['h']/2 + scr['t'] - $('div.popHolder').height()/2;
			var pLeft = win['w']/2 + scr['l'] - $('div.popHolder').width()/2;
			if(pTop < 0) pTop = 0;
			if(pLeft < 0) pLeft = 0;
			$('div.popHolder').css({'top': pTop,'left': pLeft});
		}
	}
	function _setIE(flg){
		var str = (flg) ? 'visible' : 'hidden';
		if($.browser.msie && $.browser.version == 6){
			$('select').css('visibility',str);
		}
	}
	function _getScroll(){
		var l = document.body.scrollLeft || document.documentElement.scrollLeft || 0;
		var t = document.body.scrollTop || document.documentElement.scrollTop || 0;
		return {t:t,l:l}
	}
	function _getWindow(){
		var h,w;
		if($.browser.opera){
			h = window.innerHeight;
			w = window.innerWidth;
		}else{
			h = $(window).height();
			w = $(window).width();
		}
		return {h:h,w:w}
	}
};
$.fn.cycle = function(speed,msg){
	var r_pot = 0;
	var	r_speed = speed;
	var r_msg = msg;
	var r_id = $(this);
	var r_w = $(this).width();
	var r_h = $(this).height();
	var r_m;
	$(this).css({"position":"relative","height":"auto"});
	setTimeout(r_setText,500);
	function r_showText(){
		$(r_id).fadeIn("normal",
		function(){
			setTimeout(r_setText,r_speed);
		});
	}
	function r_setText(){
		$(r_id).fadeOut("normal",
		function(){
			var t = 0;
			var s = r_msg[ r_pot++ ].split("<BR>");
			$(this).css("width","auto");
			if(!r_m){
				$(this).html('&nbsp;&nbsp;&nbsp;');
				r_m = Math.round($(this).width()/3);
			}
			for(var i=0;i<s.length;i++){
				$(this).html(s[i]);
				t = r_w - $(this).width();
				if(t >= r_m){
					t = parseInt((t/r_m)/2);
					for(j=0;j<t;j++){
						s[i] = '&nbsp;' + s[i];
					}
				}
			}
			$(this).css("width",r_w);
			$(this).html(s.join("<BR>"));
			$(this).css("top", (r_h - $(this).height())/2);
			if(!r_msg[ r_pot ]){
				r_pot = 0;
			}
			r_showText();
		});
	}
};
