var PMeffect={
	Delay_screen:5,
	Delay_content:8,
	Delay_remove:3,
	Delay_SI:5,
	Delay_Bdown:10,
	Total_OBJ:new Array(),
	Total_OBJ_Over:new Array(),
	Total_ID:0,
	Time:0,
	XMLHttp:new Object(),
	Index:0,
	Background:'',
	Padding_Content:20,
	NotLoadComplete:true,
	Function_EndScript:null,
	change:function(obj)
	{
		var index;
		index=PMeffect.Total_OBJ_Over.length;
		
		if(obj.id=='')
		{
			PMeffect.insert_id(obj);
		}
		
		PMeffect.Total_OBJ_Over[index]=new PMeffect.add_obj(obj.getAttribute("href"),obj.id,obj,true);
		obj.onmouseover=function(){};
		
		obj.href="javascript:PMeffect.show('"+obj.getAttribute("href")+"','"+obj.id+"')";
	},
	
	change_overlap:function(obj)
	{
		var index;
		index=PMeffect.Total_OBJ.length;
		
		if(obj.id=='')
		{
			PMeffect.insert_id(obj);
		}
		
		PMeffect.Total_OBJ[index]=new PMeffect.add_obj(obj.getAttribute("href"),obj.id,obj,true);
		obj.onmouseover=function(){};
		
		obj.href="javascript:PMeffect.show_overlap('"+obj.getAttribute("href")+"','"+obj.id+"')";
	},
	
	show:function(url,ID)
	{
		
		if(PMeffect.NotLoadComplete)
		{
			PMeffect.load_complete();
		}
		
		PMeffect.Index=PMeffect.search_index(ID);
				
		window.onresize=function(){
			PMeffect.resize();
		}
		
		var browser;
		obj=document.getElementById(ID);
		
		if(/(-trans)/.test(obj.rel))
		{
			PMeffect.Background='';
		}
		else
		{
			PMeffect.Background='#ffffff';
		}
		
		browser=PMeffect.check_browser();
		if(browser=='ns')
		{PMeffect.Time=20;}
		else
		{PMeffect.Time=0;}
		
		var size=PMeffect.check_sizepage();
		var div=document.createElement("div");
		div.setAttribute("id","PMeffect-screen");
		document.getElementsByTagName("body")[0].appendChild(div);
		PMeffect.fix_screen();
		
		
		div=document.createElement("div");
		div.setAttribute("id","PMeffect-body");
		div.style.width="200px";
		div.style.height="200px";
		div.style.background=PMeffect.Background;
		document.getElementsByTagName("body")[0].appendChild(div);
		
		PMeffect.find_center(document.getElementById("PMeffect-body"));
		
		PMeffect.opacity("PMeffect-screen",40,80,PMeffect.Delay_screen,40);
		
		PMeffect.loading(url);
		
	},
	
	show_overlap:function(url,ID)
	{
		var parent=document.getElementsByTagName("body")[0];
		var obj=document.getElementById(ID);
		
		if(document.getElementById("PMeffect-next"))
		{parent.removeChild(document.getElementById("PMeffect-next"));}
		if(document.getElementById("PMeffect-previous"))
		{parent.removeChild(document.getElementById("PMeffect-previous"));}
		if(document.getElementById("PMeffect-content"))
		{parent.removeChild(document.getElementById("PMeffect-content"));}

		PMeffect.Index=PMeffect.search_index(ID);	
		
		if(/(-trans)/.test(obj.rel))
		{
			PMeffect.Background='';
		}
		else
		{
			PMeffect.Background='#ffffff';
		}
		
		document.getElementById("PMeffect-body").style.background=PMeffect.Background;
		PMeffect.loading(PMeffect.Total_OBJ[PMeffect.Index].href);
		if(document.getElementById("s_alert"))
		{
			document.getElementById("s_alert").style.display="none";
		}
	},
	
	end:function()
	{
		window.onresize='';
		PMeffect.remove_opacity("PMeffect-screen",70,PMeffect.Delay_remove,70);
		PMeffect.remove_opacity("PMeffect-body",70,PMeffect.Delay_remove,70);
		PMeffect.remove_opacity("PMeffect-content",70,PMeffect.Delay_remove,70);
		//PMeffect.remove_opacity("PMeffect-bottom",70,PMeffect.Delay_remove,70);
		
		if(document.getElementById("PMeffect-next"))
		{
			PMeffect.remove_opacity("PMeffect-next",70,PMeffect.Delay_remove,70);
		}
		if(document.getElementById("PMeffect-previous"))
		{
			PMeffect.remove_opacity("PMeffect-previous",70,PMeffect.Delay_remove,70);
		}
		if(document.getElementById("s_alert"))
		{
			document.getElementById("s_alert").style.display="none";
		}
	},
	
	
	load_complete:function()
	{
		var tag_a=document.getElementsByTagName("a");
		var count=tag_a.length;
		var index,status,href,count_tem,i,j,check;
		for(i=0;i<count;i++)
		{
			if(/(PMshow-)/.test(tag_a[i].rel))
			{
				if(/(javascript:)/.test(tag_a[i].href))
				{
					status=false;
				}
				else
				{
					status=true;
					PMeffect.insert_id(tag_a[i]);
				}
				index=PMeffect.Total_OBJ.length;

				PMeffect.Total_OBJ[index]=new PMeffect.add_obj(tag_a[i].getAttribute("href"),tag_a[i].id,status);
				if(status)
				{
					PMeffect.change(tag_a[i]);
				}
			}
		}
		
		count=PMeffect.Total_OBJ.length;
		
		for(i=0;i<count;i++)
		{
			if(!PMeffect.Total_OBJ[i].status)
			{
				count_tem=PMeffect.Total_OBJ_Over.length;
				j=0;
				check=true;
				while(j<count_tem&&check)
				{
					if(PMeffect.Total_OBJ_Over[j].id==PMeffect.Total_OBJ[i].id)
					{
						PMeffect.Total_OBJ[i].href=PMeffect.Total_OBJ_Over[j].href;
						PMeffect.Total_OBJ[i].status=true;
						check==false;
					}
					j++;
				}
			}
		}
		PMeffect.NotLoadComplete=false;
		
	},
	
	insert_id:function(obj)
	{
		obj.setAttribute("id",PMeffect.Total_ID+"_PMeffect");
		PMeffect.Total_ID++;
	},
	
	add_obj:function(href,id,status)
	{
		this.href=href;
		this.id=id;
		this.status=status;
	},
	
	check_sizepage:function ()
	{
		var size=new Array();
		if(document.documentElement)
		{
			size["width"]=document.documentElement.scrollWidth;
			size["height"]=document.documentElement.scrollHeight;
			if(size["height"]<document.documentElement.clientHeight)
			{
				size["height"]=document.documentElement.clientHeight;
			}
		}
		else if(document.body)
		{
			size["width"]=document.body.scrollWidth;
			 size["height"]=document.body.scrollHeight;
			 
			 if(size["height"]<document.body.clientHeight)
			{
				size["height"]=document.body.clientHeight;
			}
		}
		
		return size;
	},
	
	opacitydisplay:function (ID,value)
	{
		var obj=document.getElementById(ID).style;
		
		if(obj.opacity!=null)
		{
			obj.opacity=value/100;
		}
		else if(obj.filter!=null)
		{
			obj.filter="alpha(opacity:"+value+")";
		}
		
		if(obj.display==""||obj.display=="none")
		{
			obj.display="block";
		}
	},
	
	opacity:function (ID,present,max_value,Delay,difference)
	{
		var obj=document.getElementById(ID).style;
		var Timer=null;
		
		if(0<max_value)
		{
			present=(present*1)+(difference/Delay);
			if(present>max_value)
			{
				present=max_value;
			}
		}
		else
		{
			present=(present*1)-(difference/Delay);
			if(present<max_value)
			{
				present=max_value;
			}
		}

		if(obj.opacity!=null)
		{
			obj.opacity=present/100;
		}
		else if(obj.filter!=null)
		{
			obj.filter="alpha(opacity:"+present+")";
		}
		
		if(obj.display==""||obj.display=="none")
		{
			obj.display="block";
		}
		
		if(0<max_value)
		{
			if(present<max_value)
			{
				window.setTimeout("PMeffect.opacity('"+ID+"','"+present+"','"+max_value+"','"+Delay+"','"+difference+"')",PMeffect.Time);
			}
			else
			{
				window.clearTimeout();
			}
		}
		else
		{
			if(present>max_value)
			{
				window.setTimeout("PMeffect.opacity('"+ID+"','"+present+"','"+max_value+"','"+Delay+"','"+difference+"')",PMeffect.Time);
			}
			else
			{
				obj.display="none";
				window.clearTimeout();
			}
		}
	},
	
	remove_bottom:function (present,max_value,difference)
	{
		var obj=document.getElementById("PMeffect-bottom").style;
		var Timer=null;		

		present=(present*1)-(difference/PMeffect.Delay_Bdown);
		present=parseInt(present);
		
		if(present<max_value)
		{
			present=max_value;
		}
		
		obj.top=present+"px";
		
		
		if(present>max_value)
		{
			window.setTimeout("PMeffect.remove_bottom('"+present+"','"+max_value+"','"+difference+"')",PMeffect.Time);
		}
		else
		{
			window.clearTimeout();
			PMeffect.loading(PMeffect.Total_OBJ[PMeffect.Index].href);
			document.getElementsByTagName("body")[0].removeChild(document.getElementById("PMeffect-bottom"));
		}

	},
	
	remove_opacity:function (ID,present,Delay,difference)
	{
		var obj=document.getElementById(ID).style;
		var Timer=null;
		var max_value=0;
		

		present=(present*1)-(difference/Delay);
		if(present<max_value)
		{
			present=max_value;
		}

		if(obj.opacity!=null)
		{
			obj.opacity=present/100;
		}
		else if(obj.filter!=null)
		{
			obj.filter="alpha(opacity:"+present+")";
		}
		

		if(present>max_value)
		{
			window.setTimeout("PMeffect.remove_opacity('"+ID+"','"+present+"','"+Delay+"','"+difference+"')",PMeffect.Time);
		}
		else
		{
			document.getElementsByTagName("body")[0].removeChild(document.getElementById(ID));
			window.clearTimeout();
		}
	},
	
	change_content:function(index)
	{
		var ID=PMeffect.Total_OBJ[index].id;
		var url=PMeffect.Total_OBJ[index].href;
		var parent=document.getElementsByTagName("body")[0];
		
		if(document.getElementById("PMeffect-next"))
		{parent.removeChild(document.getElementById("PMeffect-next"));}
		if(document.getElementById("PMeffect-previous"))
		{parent.removeChild(document.getElementById("PMeffect-previous"));}
		if(document.getElementById("PMeffect-content"))
		{parent.removeChild(document.getElementById("PMeffect-content"));}
		
		PMeffect.Index=PMeffect.search_index(ID);
		obj=document.getElementById(ID);
		
		
		if(/(-trans)/.test(obj.rel))
		{
			PMeffect.Background='';
		}
		else
		{
			PMeffect.Background='#ffffff';
		}
		
		document.getElementById("PMeffect-body").style.background=PMeffect.Background;
		document.getElementById("PMeffect-bottom").style.background=PMeffect.Background;
		
		var div=document.getElementById("PMeffect-bottom");
			
		var mvalue=parseInt(div.style.top)-div.offsetHeight;
		var pvalue=parseInt(div.style.top);
		
		if(PMeffect.Background!='')
		{
			PMeffect.remove_bottom(pvalue,mvalue,div.offsetHeight);
		}
		else
		{
			parent.removeChild(document.getElementById("PMeffect-bottom"));
			PMeffect.loading(PMeffect.Total_OBJ[PMeffect.Index].href);
		}
	},
	
	change_wh:function (ID,present,max_value)
	{
		var obj=document.getElementById(ID).style;
		var obj_body=document.getElementById(ID);
		var Timer=null;
		
		if(present["width"]!=max_value["width"])
		{
			present["width"]=(present["width"]*1)+(max_value["difference_width"]/PMeffect.Delay_SI);
			
			if(max_value["difference_width"]>0)
			{
				if(present["width"]>max_value["width"])
				{
					present["width"]=max_value["width"];
				}
			}
			else
			{
				if(present["width"]<max_value["width"])
				{
					present["width"]=max_value["width"];
				}
			}
			obj.width=present["width"]+"px";
		}
		else
		{
			present["height"]=(present["height"]*1)+(max_value["difference_height"]/PMeffect.Delay_SI);
			if(max_value["difference_height"]>0)
			{
				if(present["height"]>max_value["height"])
				{
					present["height"]=max_value["height"];
				}
			}
			else
			{
				if(present["height"]<max_value["height"])
				{
					present["height"]=max_value["height"];
				}
			}
			obj.height=present["height"]+"px";
		}
		
		
		PMeffect.find_center(obj_body);		
		
		PMeffect.change_wh.present_Array=new Array();
		PMeffect.change_wh.present_Array=present;
		PMeffect.change_wh.maxvalue_Array=new Array();
		PMeffect.change_wh.maxvalue_Array=max_value;
				
		if((present["width"]!=max_value["width"])||(present["height"]!=max_value["height"]))
		{
			window.setTimeout("PMeffect.change_wh('"+ID+"',PMeffect.change_wh.present_Array,PMeffect.change_wh.maxvalue_Array)",PMeffect.Time);
		}
		else
		{
			window.clearTimeout();
			//div=document.createElement("div");
			//div.setAttribute("id","PMeffect-bottom");
			//div.style.background=PMeffect.Background;
			//div.innerHTML='<a href="javascript:PMeffect.end()" id="PMeffect-close">CLOSE</a>';
			//div.style.width=(obj_body.offsetWidth)+"px";
			//div.style.height="auto";
			//div.style.left=obj_body.style.left;
			//div.style.top=parseInt(obj_body.style.top)+"px";
			
			//document.getElementsByTagName("body")[0].appendChild(div);
					
			var obj_content=document.getElementById("PMeffect-content");
			obj_content.style.left=(parseInt(obj_body.style.left)+(PMeffect.Padding_Content/2))+"px";
			obj_content.style.top=(parseInt(obj_body.style.top)+(PMeffect.Padding_Content/2))+"px";
					
			//var obj_bottom=document.getElementById("PMeffect-bottom");
			//var mvalue=parseInt(obj_bottom.style.top)+obj_body.offsetHeight;
			//var pvalue=(parseInt(obj_bottom.style.top)+obj_body.offsetHeight)-obj_bottom.offsetHeight;
							
			//PMeffect.move_down("PMeffect-bottom",pvalue,mvalue,obj_bottom.offsetHeight);
			
			PMeffect.opacity("PMeffect-content",20,100,PMeffect.Delay_content,80);
		}
	},
	
	check_scroll:function ()
	{
		var scroll_value=new Array();
		
		if(document.documentElement.scrollTop>0)
		{
			scroll_value["y"]=document.documentElement.scrollTop;
		}
		else
		{
			scroll_value["y"]=document.body.scrollTop;
		}
		if(document.documentElement.scrollLeft>0)
		{
			scroll_value["x"]=document.documentElement.scrollLeft;
		}
		else
		{
			scroll_value["x"]=document.body.scrollLeft;
		}
		return scroll_value;
	},
	
	move_down:function(ID,present,max_value,difference)
	{
		var obj=document.getElementById(ID).style;
		present=(present*1)+(difference/PMeffect.Delay_Bdown);
		present=parseInt(present);
		
		if(present>max_value)
		{
			present=max_value;
		}
		
		obj.top=present+"px";
		
		PMeffect.fix_screen();
		
		if(present<max_value)
		{
			window.setTimeout("PMeffect.move_down('"+ID+"','"+present+"','"+max_value+"','"+difference+"')",PMeffect.Time);
		}
		else
		{
			window.clearTimeout();
			PMeffect.creat_navigator();
		}
	},
	
	resize:function()
	{
		var parent=document.getElementsByTagName("body")[0];
		if(document.getElementById("PMeffect-next"))
		{parent.removeChild(document.getElementById("PMeffect-next"));}
		if(document.getElementById("PMeffect-previous"))
		{parent.removeChild(document.getElementById("PMeffect-previous"));}
		
		PMeffect.fix_screen();
		var obj_body=document.getElementById("PMeffect-body");
		PMeffect.find_center(obj_body);
		var obj_content=document.getElementById("PMeffect-content");
		PMeffect.find_center(obj_content);
		
		
		if(document.getElementById("PMeffect-bottom"))
		{
			var obj_bottom=document.getElementById("PMeffect-bottom");
			obj_bottom.style.left=obj_body.style.left;
			obj_bottom.style.top=(parseInt(obj_body.style.top)+obj_body.offsetHeight)+"px";
		}
		PMeffect.creat_navigator();
	},
	
	find_center:function (Obj)
	{
		var size=PMeffect.check_sizepage();
		var width=Obj.offsetWidth;
		var height=Obj.offsetHeight;
		
		Obj.style.left=((size["width"]-width)/2)+"px";
		Obj.style.top=((size["height"]-height)/2)+"px";

	},
	
	check_browser:function ()
	{
		var name=navigator.appName;
		if(name=='Microsoft Internet Explorer')
		{
			return 'ie';
		}
		else if(name=='Netscape')
		{
			return 'ns';
		}
		else if(name=='Opera')
		{
			return 'or';
		}
	},
	
	creat_navigator:function()
	{
		var count=PMeffect.Total_OBJ.length-1;
		var div;
		var obj_body=document.getElementById("PMeffect-body");
		if(PMeffect.Index>0)
		{
			div=document.createElement("a");
			div.setAttribute("id","PMeffect-previous");
			div.href="javascript:PMeffect.change_content('"+(PMeffect.Index-1)+"')";
			document.getElementsByTagName("body")[0].appendChild(div);
			
			div=document.getElementById("PMeffect-previous");
			div.style.left=(parseInt(obj_body.style.left)-div.offsetWidth)+"px";
			div.style.top=(parseInt(obj_body.style.top)+10)+"px";
			
		}
		
		if(PMeffect.Index<count)
		{
			div=document.createElement("a");
			div.setAttribute("id","PMeffect-next");
			div.href="javascript:PMeffect.change_content('"+(PMeffect.Index+1)+"')";
			document.getElementsByTagName("body")[0].appendChild(div);
			
			div=document.getElementById("PMeffect-next");
			div.style.left=(parseInt(obj_body.style.left)+obj_body.offsetWidth)+"px";
			div.style.top=(parseInt(obj_body.style.top)+10)+"px";
						
		}
		
		PMeffect.fix_screen();
	},
	
	show_content:function(content)
	{
		var present=new Array();
		var maxvalue=new Array();
		var obj_body=document.getElementById("PMeffect-body");
		present["width"]=obj_body.offsetWidth;
		present["height"]=obj_body.offsetHeight;
		

		document.getElementById("PMeffect-body").innerHTML='';
		
		var div=document.createElement("div");
		div.setAttribute("id","PMeffect-content");
		//div.style.padding="10px 10px 10px 10px";
		//div.style.border="1px solid #ccc";
		div.innerHTML=content;
		document.getElementsByTagName("body")[0].appendChild(div);
				
		var obj_content=document.getElementById("PMeffect-content");
		//PMeffect.opacitydisplay("PMeffect-content",0)
		obj_content.style.width=obj_content.offsetWidth+"px";
		obj_content.style.height=obj_content.offsetHeight+"px";
		
		PMeffect.find_center(obj_body);
		
		maxvalue["width"]=obj_content.offsetWidth+PMeffect.Padding_Content;
		maxvalue["height"]=obj_content.offsetHeight+PMeffect.Padding_Content;
		
		obj_body.style.width=present["width"]+"px";
		obj_body.style.height=present["height"]+"px";
		
		maxvalue["difference_width"]=maxvalue["width"]-present["width"];
		maxvalue["difference_height"]=maxvalue["height"]-present["height"];
		
		//obj_worldmap.style.width=0+"px";
		//obj_worldmap.style.height=0+"px";
		
		if(PMeffect.Function_EndScript!=null)
		{
			eval(PMeffect.Function_EndScript);
		}
		
		PMeffect.fix_screen();
		
		PMeffect.change_wh("PMeffect-body",present,maxvalue);
			
	},
	
	search_index:function (id)
	{
		var count=PMeffect.Total_OBJ.length;
		var index,check=true;
		var i=0;
		
		while(i<count&&check)
		{
			if(id==PMeffect.Total_OBJ[i].id)
			{
				index=i;
				check=false;
			}
			i++;
		}
		return index;
	},
	
	loading:function(href)
	{
		var postform;
		
		document.getElementById("PMeffect-body").innerHTML='<span id="PMeffect-loading"></span>';
		var loading=document.getElementById("PMeffect-loading");
		var obj_body=document.getElementById("PMeffect-body");
		loading.style.top=((obj_body.offsetHeight-loading.offsetHeight)/2)+"px";
		loading.style.left=((obj_body.offsetWidth-loading.offsetWidth)/2)+"px";
		PMeffect.opacitydisplay("PMeffect-loading",100);

		
		PMeffect.createXMLHTTP();
		PMeffect.XMLHttp.onreadystatechange=function()
		{
			if(PMeffect.XMLHttp.readyState==4)
			{
				if(PMeffect.XMLHttp.status==200)
				{
					PMeffect.show_content(PMeffect.XMLHttp.responseText);
				}
				else
				{
					alert(PMeffect.XMLHttp.statusText);
				}
			}
		}
		PMeffect.XMLHttp.open("POST",href,true);
		PMeffect.XMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		PMeffect.XMLHttp.send(postform);
	},
	
	fix_screen:function()
	{
		var size=PMeffect.check_sizepage();
		var div=document.getElementById("PMeffect-screen");
		
		var next=document.getElementById("PMeffect-next");
		var previous=document.getElementById("PMeffect-previous");
		var body_width=document.getElementById("PMeffect-body");
		var total=0;
		var check=false;
		
		if(body_width)
		{
			total+=body_width.offsetWidth
		}
		if(next)
		{
			total+=next.offsetWidth;
		}
		if(previous)
		{
			total+=previous.offsetWidth;
		}
		
		if(total>size["width"])
		{
			size["width"]=total;
			check=true;
		}
		
		div.style.width=size["width"]+"px";
		div.style.height=size["height"]+"px";
		
		if(check)
		{
			PMeffect.resize();
		}
	},
	
	createXMLHTTP:function()
	{
		if(window.ActiveXObject)
		{
			PMeffect.XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if(window.XMLHttpRequest)
		{
			PMeffect.XMLHttp=new XMLHttpRequest();
		}
	}
}