window.onerror = null;
var topMargin = 0;
var leftMargin = 0;
var slideTime = 1500;
var PopInLay = 'PubLayer';

var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;

function CentrerLayer(LayWidth,LayHeight){
  if (ie4){
    topMargin = (document.body.clientHeight/2) - (LayHeight/2) - 10;
	leftMargin = (document.body.clientWidth) - (LayWidth);
  }else{
    topMargin = (window.innerHeight/2) - (LayHeight/2) - 10;
	leftMargin = (window.innerWidth) - (LayWidth);
  }
}

function hidelayer(PopInLay){
  if (ie4) {document.all[PopInLay].style.visibility = 'hidden';}
  if (ns4) {document.layers[PopInLay].visibility = 'hide';}
  if (ns6) {document.getElementById([PopInLay]).style.display = 'none';}
}

function showlayer(PopInLay) {
  if (ie4) {document.all[PopInLay].style.visibility = 'visible';}
  if (ns4) {document.layers[PopInLay].visibility = 'show';}
  if (ns6) {document.getElementById([PopInLay]).style.display = 'block';}
}

function layerObject(id,left){
  if (ns6){
    this.obj = document.getElementById(id).style;
    this.obj.left = left;
    return this.obj;
  }
  else if(ie4){
    this.obj = document.all[id].style;
    this.obj.left = left;
    return this.obj;
  }
    else if(ns4){
    this.obj = document.layers[id];
    this.obj.left = left;
    return this.obj;
  }
}

function layerSetup(){
  floatLyr = new layerObject(PopInLay,leftMargin);
  window.setInterval("main()", 10)
}

function floatObject(){
  if (ns4 || ns6){
    findHt = window.innerHeight;
  }
  else if(ie4){
    findHt = document.body.clientHeight;
  }
}

function main(){
  if (ns4){
    this.currentY = document.layers[PopInLay].top;
    this.scrollTop = window.pageYOffset;
    mainTrigger();
  }
    else if(ns6){
    this.currentY = parseInt(document.getElementById(PopInLay).style.top);
    this.scrollTop = scrollY;
    mainTrigger();
  }
  else if(ie4){
    this.currentY = document.all[PopInLay].style.pixelTop;
    this.scrollTop = document.body.scrollTop;
    mainTrigger();
  }
}

function mainTrigger(){
  var newTargetY = this.scrollTop + this.topMargin;
  if ( this.currentY != newTargetY ){
    if ( newTargetY != this.targetY ){
      this.targetY = newTargetY;
      floatStart();
    }
    animator();
  }
}

function floatStart(){
  var now = new Date();
  this.A = this.targetY - this.currentY;
  this.B = Math.PI / ( 2 * this.slideTime );
  this.C = now.getTime();
  if (Math.abs(this.A) > this.findHt){
    this.D = this.A > 0 ? this.targetY - this.findHt : this.targetY + this.findHt;
    this.A = this.A > 0 ? this.findHt : -this.findHt;
  }
  else{
    this.D = this.currentY;
  }
}

function animator(){
  var now = new Date();
  var newY = this.A * Math.sin( this.B * ( now.getTime() - this.C ) ) + this.D;
  newY = Math.round(newY);
  if (( this.A > 0 && newY > this.currentY ) || ( this.A < 0 && newY < this.currentY )){
    if ( ie4 )document.all[PopInLay].style.pixelTop = newY;
    if ( ns4 )document.layers[PopInLay].top = newY;
    if ( ns6 )document.getElementById(PopInLay).style.top = newY + "px";
  }
}

function start(){
  layerSetup();
  floatObject();
}
