
var Dialog = {};
Dialog.Box = Class.create();
Object.extend(Dialog.Box.prototype, {
  initialize: function(id) {
    this.createOverlay();
	
    this.dialog_box = $(id);

    this.dialog_box.show = this.show.bind(this);
    this.dialog_box.hide = this.hide.bind(this);

    this.parent_element = this.dialog_box.parentNode;

    //var e_dims = Element.getDimensions(this.dialog_box);
    //var b_dims = Element.getDimensions(this.overlay);
    //this.dialog_box.style.left = ((b_dims.width/2) - (e_dims.width/2)) + 'px';
   // this.dialog_box.style.top = '12px';
  },

  createOverlay: function() {
    if($('dialog_overlay')) {
      this.overlay = $('dialog_overlay');
    } else {
		
      this.overlay = document.createElement('div');
      this.overlay.id = 'dialog_overlay';
      Object.extend(this.overlay.style, {
      	position: 'absolute',
      	top: 0,
      	left: 0,
      	zIndex: 90,
      	width: '100%',
      	backgroundColor: '#000',
      	display: 'none'
      });
      document.body.insertBefore(this.overlay, document.body.childNodes[0]);
    }
  },

  moveDialogBox: function(where) {

    if(where == 'back')
      this.dialog_box = this.parent_element.appendChild(this.dialog_box);
    else
      this.dialog_box = this.overlay.parentNode.insertBefore(this.dialog_box, this.overlay);
  },

  show: function() {

  
  if (navigator.appName == "Microsoft Internet Explorer"){
	this.overlay.style.height = 0;
  } else {
	this.overlay.style.height = document.body.getHeight()+'px';
  }
  
  
   // 
  //  this.moveDialogBox('out');
    this.overlay.onclick = this.hide.bind(this);
    new Effect.Appear(this.overlay, {duration: 0.1, from: 0.0, to: 0.7});
	this.dialog_box.style.zindex =  this.overlay.style.zindex+1;
    this.dialog_box.style.display = 'block';
  },

  hide: function() {
    new Effect.Fade(this.overlay, {duration: 0.1});
    this.dialog_box.style.display = 'none';
    //this.moveDialogBox('back');
    $A(this.dialog_box.getElementsByTagName('input')).each(function(e){if(e.type!='submit')e.value=''});
  }
});
window.onload = function() {
	
}

function showFeedback() {
	//var cvr = document.getElementById("cover")
	var dlg = document.getElementById('feedback')
	
	
	 var arrayPageSize = this.getPageSize();
     $('overlay').setStyle({ width: arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });

     new Effect.Appear(this.overlay, { duration: 0.8, from: 0.0, to:  0.8 });
		

}
function closeFeedback() {
	var cvr = document.getElementById("cover")
	var dlg = document.getElementById('feedback')
	cvr.style.display = "none"
	dlg.style.display = "none"
	document.body.style.overflowY = "scroll"
}
function getMetatags (name) {
  var metaElements =  document.getElementsByTagName('meta');

  for (var i = 0; i < metaElements.length; i++)
    if (metaElements[i].name == name){
		return metaElements[i].content;
	}
}

	function articleShare(site) {
    var title = getMetatags('description');
    var description = getMetatags('description');
	var popUpUrl = location.href;
	//var popUpUrl = "http://www.nysun.com/foreign/mccain-and-obama-call-for-mugabes-ouster/80651/";
	switch (site) {
	case "newsvine":
		var keywords = getMetatags('keywords');
		postPopUp('http://www.newsvine.com/_wine/save?ver=2&popoff=1&t=' + keywords + '&e=' + description + '&h=' + title + '&u=' + popUpUrl, 'newsvine', 'toolbar=0,status=0,height=445,width=650,scrollbars=yes,resizable=yes');
		break;
	case "facebook":
		postPopUp('http://www.facebook.com/sharer.php?u=' + popUpUrl + '&t=' + title, 'facebook', 'toolbar=0,status=0,height=436,width=646,scrollbars=yes,resizable=yes');
		break;
	case "digg":
		var topic = "";
		postPopUp('http://digg.com/remote-submit?phase=2&url=' + popUpUrl + '&title=' + title + '&bodytext=' + description, 'digg', 'toolbar=0,status=0,height=450,width=650,scrollbars=yes,resizable=yes');
		break;
	case "delicious":
		postPopUp('http://del.icio.us/post?v=4&partner=nyt&noui&jump=close&url=' + popUpUrl + '&title=' + title + '&bodytext=' + description, 'delicious', 'toolbar=0,status=0,height=400,width=700,scrollbars=yes,resizable=no');
		break;			
	
	}
}
function postPopUp(url, name, params) {
	var win = window.open(url, name, params);
}
function addPostItem(parentElement, style, post_link, text) {
	if( document.createElement ){
		if( typeof(window.shareToolsExcludeList)!='undefined'
		    && typeof(window.shareToolsExcludeList[style])!='undefined' ) {
		    return;
		}
		var postItem = document.createElement("LI");
		postItem.className = style;
		
		var itemLink = document.createElement("A");
		itemLink.setAttribute("href", post_link);
		itemLink.innerHTML = text;

		postItem.appendChild(itemLink);
		parentElement.appendChild(postItem);
	}
}

function hideNow(){
		obj = document.getElementById('share');
		obj.style.display="none";
		clearTimeout(delayhide);
}

var delayhide;
function hideMenu() {
	 obj = document.getElementById('share');
	 delayhide=setTimeout("hideNow()",500);
}



function is_child_of(parent, child) {
			if( child != null ) {			
				while( child.parentNode ) {
					if( (child = child.parentNode) == parent ) {
						return true;
					}
				}
			}
			return false;
		}
		function fixOnMouseOut(element, event, JavaScript_code) {
			var current_mouse_target = null;
			if( event.toElement ) {				
				current_mouse_target 			 = event.toElement;
			} else if( event.relatedTarget ) {				
				current_mouse_target 			 = event.relatedTarget;
			}
			if( !is_child_of(element, current_mouse_target) && element != current_mouse_target ) {
				eval(JavaScript_code);
			}
		}
		