window.size = function(){
  var w = 0;
  var h = 0;
  //IE
  if(!window.innerWidth){
    //strict mode
    if(!(document.documentElement.clientWidth == 0)){
      w = document.documentElement.clientWidth;
      h = document.documentElement.clientHeight;
    }else{//quirks mode
      w = document.body.clientWidth;
      h = document.body.clientHeight;
    }
  }else{//w3c
    w = window.innerWidth;
    h = window.innerHeight;
  }
  return {width:w,height:h};
}

window.center = function(){
  var hWnd = (arguments[0] != null) ? arguments[0] : {width:0,height:0};
  var _x = 0;
  var _y = 0;
  var offsetX = 0;
  var offsetY = 0;
  //IE
  if(!window.pageYOffset){//strict mode
    if(!(document.documentElement.scrollTop == 0)){
      offsetY = document.documentElement.scrollTop;
      offsetX = document.documentElement.scrollLeft;
    }else{//quirks mode
      offsetY = document.body.scrollTop;
      offsetX = document.body.scrollLeft;
    }
  }else{//w3c
    offsetX = window.pageXOffset;
    offsetY = window.pageYOffset;
  }
  _x = ((this.size().width-hWnd.width)/2)+offsetX;
  _y = ((this.size().height-hWnd.height)/2)+offsetY;
  return{x:_x,y:_y};
}

// Browser safe opacity handling function
function setOpacity(Element, value ) {
  document.getElementById(Element).style.opacity = value / 10;
  document.getElementById(Element).style.filter = 'alpha(opacity=' + value * 10 + ')';
}

function fadeInPopup(Element) {
  for( var i = 0 ; i <= 100 ; i++ )
    setTimeout( 'setOpacity("'+Element+'",' + (i / 10) + ')' , 8 * i );
}

function fadeOutPopup(Element) {
  for( var i = 0 ; i <= 100 ; i++ )
    setTimeout( 'setOpacity("'+Element+'",' + (10 - i / 10) + ')' , 8 * i );

  setTimeout('ClosePopup("'+Element+'")', 800 );
}

function ClosePopup(Element) {
  document.getElementById(Element).style.display = "none"
}

function OpenPopup(Element, src, url, Size, autoclose) {
  var ElementObj = document.getElementById(Element);
  var objFrame= ElementObj.getElementsByTagName("*");
  for( var i = 0 ; i < objFrame.length ; i++ ){
    if(objFrame[i].name == src){
      objFrame = objFrame[i];
      break;
    }
  }
  objFrame.src = url;
  //DivOpenPopup(Element);
  //setOpacity(Element, 100 );
  document.getElementById(Element).style.display="block";
  if(typeof(Size) != 'undefined'){
    ElementObj.style.width = Size.width;
    ElementObj.style.height = Size.height;
  }
  centerH(Element);
  //adjust by -4 px
  document.getElementById(Element).style.left=parseInt(document.getElementById(Element).style.left)-4+"px";
  //centerV(Element);
  if(typeof(autoclose) != 'undefined') window.setTimeout('fadeOutPopup("'+Element+'")',autoclose);
}
function AutoPopup(Element,src,url,time) {
  OpenPopup(Element,src,url);
  window.setTimeout('fadeOutPopup("'+Element+'")',time);
}
function DivOpenPopup(Element) {
  setOpacity(Element, 0 );
  document.getElementById(Element).style.display="block";
  fadeInPopup(Element);
}
function DivAutoPopup(Element,time) {
  DivOpenPopup(Element);
  window.setTimeout('fadeOutPopup("'+Element+'")',time);
}
function DivAutoPopupFadeOut(Element,time) {
  document.getElementById(Element).style.display="block";
  //setOpacity(Element, 100 );
  window.setTimeout('fadeOutPopup("'+Element+'")',time);
}

function center(Element){
  var hWnd = document.getElementById(Element).style;
  var x = 0;
  var y = 0;
  var offsetX = 0;
  var offsetY = 0;
  //IE
  if(!window.pageYOffset){//strict mode
    if(!(document.documentElement.scrollTop == 0)){
      offsetY = document.documentElement.scrollTop;
      offsetX = document.documentElement.scrollLeft;
    }else{//quirks mode
      offsetY = document.body.scrollTop;
      offsetX = document.body.scrollLeft;
    }
  }else{//w3c
    offsetX = window.pageXOffset;
    offsetY = window.pageYOffset;
  }
  y = ((this.size().height-parseInt(hWnd.height))/2)+offsetY
  x = ((this.size().width-parseInt(hWnd.width))/2)+offsetX;
  hWnd.left=x+"px";
  hWnd.top=y+"px";
}

function centerH(Element){
  var hWnd = document.getElementById(Element).style;
  var x = 0;
  var offsetX = 0;
  //IE
  if(!window.pageYOffset){//strict mode
    if(!(document.documentElement.scrollTop == 0)){
      offsetX = document.documentElement.scrollLeft;
    }else{//quirks mode
      offsetX = document.body.scrollLeft;
    }
  }else{//w3c
    offsetX = window.pageXOffset;
  }
  if(typeof(left) == 'undefined'){
    x = ((this.size().width-parseInt(hWnd.width))/2)+offsetX;
  }else{
    x = left;
  }
  hWnd.left=x+"px";
}
function centerV(Element){
  var hWnd = document.getElementById(Element).style;
  var y = 0;
  var offsetY = 0;
  //IE
  if(!window.pageYOffset){//strict mode
    if(!(document.documentElement.scrollTop == 0)){
      offsetY = document.documentElement.scrollTop;
    }else{//quirks mode
      offsetY = document.body.scrollTop;
    }
  }else{//w3c
    offsetY = window.pageYOffset;
  }
  if(typeof(top) == 'undefined' || top==0){
    y = ((this.size().height-parseInt(hWnd.height))/2)+offsetY
  }else{
    y = top
  }
  hWnd.top=y+"px";
}

function Size(height, width){
  var temp = document.createElement("div");
  temp.style.width = width+"px";
  temp.style.height = height+"px";
  return temp.style;
}

//Movable
var ie = document.all;
var nn6 = document.getElementById &&! document.all;
var isdrag = false;
var x, y;
var dobj;

function movemouse( e ) {
	if( isdrag ) {
	  dobj.style.left = (nn6 ? tx + e.clientX - x : tx + event.clientX - x)+"px";
	  dobj.style.top  = (nn6 ? ty + e.clientY - y : ty + event.clientY - y)+"px";
	  return false;
	}
}
function selectmouse( e ) {
	var fobj       = nn6 ? e.target : event.srcElement;
	while (fobj.tagName != "HTML" && fobj.tagName != "BODY" && fobj.className != "dragable") {
		fobj = nn6 ? fobj.parentNode : fobj.parentElement;
	}

	if (fobj.className=="dragable") {
		isdrag = true;
		dobj = fobj.parentNode;
		tx = parseInt(dobj.style.left+0);
		ty = parseInt(dobj.style.top+0);
		x = nn6 ? e.clientX : event.clientX;
		y = nn6 ? e.clientY : event.clientY;
		document.onmousemove=movemouse;
		return false;
	}
}
document.onmousedown=selectmouse;
document.onmouseup=new Function("isdrag=false");

