/*
	common js library
	Contact:
	Marc Pomeroy
	marc@soulfuric.com
	m.pomeroy@traxsource.com
*/

// image preload:
function preload_images() {
	var path = 'img/';
	var images = new Array(
		'cg_coat_banner.png'
	);
	
	document.imageArray = new Array(images.length);
	for(var i=0; i<images.length; i++) {
		document.imageArray[i] = new Image;
		document.imageArray[i].src = path+images[i];
	}
}

preload_images();

// Read text size toggle
function toggleReadSize() {
	var div  = document.getElementById("read");
	var txt = document.getElementById("sizetext");
	var state = document.getElementById("sizestate");
	
	//alert(state.value);
	if (state.value == "sm") {
		div.style.fontSize = "1.5em";
		txt.innerHTML = "Reduce Text";
		state.value = "lg";
	} else {
		div.style.fontSize = "10pt";
		txt.innerHTML = "Enlarge Text";
		state.value = "sm";
	}
}


// create a window:
function WindowCreate(script, win_name, width, height)
{
  wFeatures = 'width='+width+',height='+height+',copyhistory=0,directories=0,location=0,menubar=0,resizable=-1,scrollbars=-1,status=0,toolbar=0';
	temp_win = open(script, win_name, wFeatures);
	temp_win.focus();
}


// floating boc lib
function libDiv(id) {
  this.obj    = document.getElementById(id) || undefined;
  this.mode   = document.compatMode == 'CSS1Compat' ? true : false;
  this.width  = this.obj ? this.obj.clientWidth : 0;
  this.height = this.obj ? this.obj.clientHeight : 0;

  this.reInit = function() {
    this.width  = this.obj ? this.obj.clientWidth : 0;
    this.height = this.obj ? this.obj.clientHeight : 0;
  }

  this.Move = function(position, id, offsetX, offsetY) {
    var posX = 0;
    var posY = 0;
    if (this.obj) {
      switch (position) {
        case 'center':
        if (this.mode) {
          posX = (document.body.parentNode.clientWidth - this.width) / 2;
          posY = (document.body.parentNode.clientHeight - this.height) / 2 + this.getScrollY();
        } else {
          posX = (document.body.clientWidth - this.width) / 2;
          posY = (document.body.clientHeight - this.height) / 2 + this.getScrollY();
        }
        break;

        case 'attach':
        if (id != undefined && (obj = document.getElementById(id))) {
          posX = this.findPosX(obj);
          posY = this.findPosY(obj);
        }
        break;
      }
      posX += offsetX || 0;
      posY += offsetY || 0;
      this.obj.style.left = posX + 'px';
      this.obj.style.top  = posY + 'px';
    }
  }

  this.findPosX = function(obj) {
    var left = 0;
    if (obj.offsetParent) {
      while (obj.offsetParent) {
        left += obj.offsetLeft
        obj = obj.offsetParent;
      }
    } else if (obj.x)
      left += obj.x;
    return left;
  }

  this.findPosY = function(obj) {
    var top = 0;
    if (obj.offsetParent) {
      while (obj.offsetParent) {
        top += obj.offsetTop
        obj = obj.offsetParent;
      }
    } else if (obj.y)
      top += obj.y;
    return top;
  }

  this.getScrollY = function() {
    var scrollY = 0;
    if (this.mode && document.body.parentNode.scrollTop) {
      scrollY += document.body.parentNode.scrollTop;
    } else if (!this.mode && document.body.scrollTop) {
      scrollY += document.body.scrollTop;
    } else if (window.scrollY) {
      scrollY += window.scrollY;
    } else if (window.pageYOffset) {
      scrollY += window.pageYOffset;
    }
    return scrollY;
  }

  this.Show = function() {
    if (this.obj) this.obj.style.visibility = 'visible';
  }

  this.Hide = function() {
    if (this.obj) this.obj.style.visibility = 'hidden';
  }
}


// show video
function showvid(vidcont, content) {
  var showbox = document.getElementById(vidcont);
  var contbox = document.getElementById(content);
  
  showbox.innerHTML = contbox.innerHTML;
  showbox.style.display = "block"; // do first
  
  var boxx = new libDiv(vidcont);
  boxx.Move('center',undefined,0,-60);
  boxx.Show();
}

function closevid(vidcont) {
  var showbox = document.getElementById(vidcont);
  
  showbox.innerHTML = "";
  showbox.style.display = "none";
  
  var boxx = new libDiv(vidcont);
  boxx.Hide();
}


// validate email (Thanks Rolly!):
function ValidateEmail(email)
{
  var fEmailOK = true;
  var num = 0;

  for (var i = 0; i < email.length; ++i) {
    var ch = email.charAt(i);
    if (ch == "@") {
      num = num + 1;
    }
  }
  if (num != "1")
    return false;

  var num2 = 0;
  for (var i = 0; i<email.length; ++i) {
    var ch = email.substring(i,i+2);
    if ((ch == "..")||(ch == ".@")||(ch == "@.")) {
      return false;
    }
  }
  if (email.length < 4)
    return false;
  else if (email.lastIndexOf(' ') != -1)
    return false;
  else if ((email.substring(0,1) == ".")||(email.substring(0,1) == "@")) {
    return false;
  }
  else if (email.lastIndexOf('\'') != -1)
    return false;
  else if ((i = email.lastIndexOf('@')) == -1)
    return false;
  else { // Get substring
    var tail = email.substring(i+1, email.length);
    if (tail.length < 3)
      return false;
    else if ((i = tail.lastIndexOf('.')) == -1)
      return false;
    else {
      var tailend = tail.substring(i+1, tail.length);
      if (tailend.length == 0)
        return false;
    }
  }
  return true;
}


