var BlogParts = new Object();
var type;
var popElem;
BlogParts = function(){
	this.init();     
}

BlogParts.prototype={
	init:function(){
		if (!document.getElementsByTagName){ return; }
		var buttons = document.getElementsByTagName("a");
		for(var i=0,len=buttons.length;i < len;i++){
			var button = buttons[i];
			if(button.getAttribute('id') && button.rel == "createParts"){
			button.onclick = this.popup;
			}
		}
	},
	popup:function(event){
	if(document.getElementById("popup")){return;}
		docbody = document.getElementsByTagName("body")[0];


		overlay = document.createElement("div");
		overlay.style.background = "#000";
		overlay.style.width = "100%";
		var arrayPageSize = getPageSize();
		overlay.style.height =arrayPageSize[1] + "px";
		overlay.style.position = "absolute";
		overlay.style.top = "0px";
		overlay.style.left = "0px";
		if(document.all){
			overlay.style.filter = 'alpha(opacity=80)';
		} else {
			overlay.style.opacity = "0.8";
		}
		docbody.appendChild(overlay);

						
		popElem = document.createElement("div");

		popElem.style.position = "absolute";
		popElem.style.top = "50%";
		popElem.style.left = "50%";
		popElem.id = "popup"
		popElem.style.margin = "-190px 0 0 -150px";
		docbody.appendChild(popElem);

		var input = document.createElement("input");
		input.type = "text";
		input.size = "40";
		input.id = "puturl";
		input.value = "http://";
		popElem.appendChild(input);
		
		var submit = document.createElement("button");
		if(document.all){
			var id = window.event.srcElement.id;
		} else {
			var id = event.target.id;
		}
		type = id;
		submit.onclick = function(){createSource(id)};
		submit.id = "make"
		popElem.appendChild(submit);
		
		var textarea = document.createElement("textarea");
		textarea.id = "blogpartsURL";
		popElem.appendChild(textarea);

		var close = document.createElement("button");
		close.id = "close"
		close.onclick = function(){docbody.removeChild(overlay);docbody.removeChild(popElem);}
		popElem.appendChild(close);

		var dummy = document.createElement("div");
		dummy.id = "dummy"
		docbody.appendChild(dummy);
		
		var buttons = document.getElementsByTagName("button");
		for(var i=0,len=buttons.length;i < len;i++){
			var button = buttons[i];
			button.onmouseover = function(){ this.style.cursor = "pointer"};
		}
	}
}

function createSource(type){

	var puturl = document.getElementById("puturl").value;
	if(puturl.match(/(http):\/\/[!#-9A-~]+\.+[a-z0-9,]/i)){

		var docbody = document.getElementsByTagName("body")[0];
		
		var so = new SWFObject("makeparts.swf", "createpartsswf", "1", "1", "7", "#ffffff");
		so.addVariable("Blogurl", puturl);
		so.addVariable("Bptype", type);
		so.write("dummy");
	} else {
		alert("正しいURLを入力してください。")
	}
}

function InCpmlite(){
	xmlname = type;
	var xmlname = type.indexOf("_");
	bptype = type.substring(xmlname+1,type.length);
	if( bptype == "l"){
		name = "general_large.js";
	} else if (bptype == "s"){
		name = "general_small.js";
	}
	var textarea = document.getElementById("blogpartsURL");
	textarea.value = '<script type="text/javascript" src="http://www.wmg.jp/blogparts/' + name + '?type=' + type + '"></script>';
}
function YouKnow(){
	var textarea = document.getElementById("blogpartsURL");
	textarea.value = "現在サーバーのメンテナンス中により、サービスをご利用できない状態になっています。";
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ 
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { 
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) {
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}


function CreateBlogParts() { myBlogParts = new BlogParts(); }
window.onload = function(){CreateBlogParts()};
