var dialog = new Object();

/*///アラートウィンドウ///*/
dialog.show = function(title, msg, propertyObj) {
  var frame = dialog._makeFrame(title, msg);/* ウィンドウ枠を生成 */
  var buttons = dialog._makeButtom(propertyObj); /* ボタンを生成 */
  var btnarea = frame.getElementsByTagName('DIV').item(2); 
  for(var i=0; i<buttons.length; i++) {
    btnarea.appendChild(buttons[i]);/* ボタン領域にボタンを追加 */
  }
  dialog._display(frame); /* ウィンドウ表示 */
};

/*///ウィンドウ削除///*/
dom._clear = function(evt) {
  var frame = document.getElementById('dialog_frame');
  frame.parentNode.removeChild(frame);
  var shadow = document.getElementById('dialog_shadow');
  shadow.parentNode.removeChild(shadow);
};

/*///ウィンドウ表示///*/
dialog._display = function(elm) {
  dialog._makeShadowMask();
  elm.style.visibility = 'hidden';
	
  document.body.appendChild(elm);
  dialog._setPositionCenter(elm);
  elm.style.visibility = 'visible';
};

/*///ウィンドウ枠の組み立て///*/
dialog._makeFrame = function(title, msg) {
  var frame = document.createElement('DIV');
  frame.id = 'dialog_frame';

	var titlebar = document.createElement('DIV');
  titlebar.id = 'dialog_titlebar';
  titlebar.appendChild( document.createTextNode(title) );
  
  var msgarea = document.createElement('DIV');
  msgarea.id = 'dialog_msgarea';
  msgarea.appendChild( document.createTextNode(msg) );
  
  var btnarea = document.createElement('DIV');
  btnarea.id = 'dialog_btnarea';
  
  frame.appendChild(titlebar);
  frame.appendChild(msgarea);
  frame.appendChild(btnarea);
  
  return frame;
};

/*///ボタンを生成///*/
dialog._makeButtom = function(buttonPropertyArray) {
  var buttons = new Array();
	for(var i=0; i<buttonPropertyArray.length; i++) {
		var btn = document.createElement('IMG');
		btn.id = 'dialog_btn_' + i;
		btn.src = "../img/special/btn_dialog_"+ (i+1) + ".jpg";
		btn.className = 'btn';
		btn.style.cursor = 'pointer';
		
		dom.event.addEventListener(btn, 'click', dom._clear);
		var callback = buttonPropertyArray[i].callback
		dom.event.addEventListener(btn, 'click', callback);
		buttons.push(btn);
	}
  return buttons;
};

function documentSize(){
	var doc = new Object();
	doc.x = document.documentElement.scrollWidth || document.body.scrollWidth;
	doc.y = document.documentElement.scrollHeight || document.body.scrollHeight;
	return doc;
}//end documentSize

/*///シャドウレイヤーの生成///*/
dialog._makeShadowMask = function() {
  var shadow = document.createElement('DIV');
  shadow.id = 'dialog_shadow';
  document.body.appendChild(shadow);
  /* IE 6対策*/
  var wsize = documentSize();
  var shadow_width = parseInt(shadow.offsetWidth);
  var shadow_height = parseInt(shadow.offsetHeight);
	shadow.style.width = wsize.x + 'px';
    shadow.style.height = wsize.y + 'px';
  if(shadow_width < wsize.width || shadow_height < wsize.height) {
    
    var shadowResize = function() {
      var new_wsize = documentSize();
      shadow.style.width = new_wsize.x + 'px';
      shadow.style.height = new_wsize.y + 'px';
    };
    dom.event.addEventListener(window, 'resize', shadowResize);
		shadowResize();
  }
}

/*///要素をブラウザー表示領域中央に移動///*/
dialog._setPositionCenter = function(elm) {
  
  var wsize = dom.misc.getWindowSize();
  
  var left = ( wsize.width - elm.offsetWidth ) / 2;
  elm.style.left = parseInt(left) + 'px';
  var top = ( wsize.height - elm.offsetHeight ) / 2 - 50;
  elm.style.top = parseInt(top) + 'px';
};
