/* ===============================================================
 * Form Validation
 *  
 *  Abstract       :  
 *
 *  Filename       : 
 *  Creation Date  : 
 *  Author         : Carl C. Balshaw
 *  
 *  Code Status    : Draft Development
 *  
 *  Revisions      :
 *  14 Oct 2009  - first version
 * 
 * ---------------------------------------------------------------
 *  Notes:
 *    This is a....
 *
 *
 * ---------------------------------------------------------------
 * (c) Copyright 2010, Rivington Computer Services Ltd.
 * =============================================================== */
function SubmitForm(formname) {
	document.getElementById(formname).submit();
}

function ShowPage(url)
{
	document.url=url;
}


/* ===============================================================
 * Image Fader
 *
 *
 * =============================================================== */

function SetOpacity(objImage,intOpacity)
{
  objImage.style.filter = 'alpha(opacity=' + intOpacity + ')';
  objImage.style.MozOpacity = intOpacity/100;
  objImage.style.opacity = intOpacity/100;
}

function ChangeOpacity(id,msDuration,msStart,fromO,toO)
{
  var element=document.getElementById(id);
  var opacity = element.style.opacity * 100;
  var msNow = (new Date()).getTime();
  opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
  if (opacity<0) 
    SetOpacity(element,0)
  else if (opacity>100)
    SetOpacity(element,100)
  else
  {
    SetOpacity(element,opacity);
    element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",1);
  }
}

function getElementChild(pParent)
{
	var lResult;
	var lChild=pParent.firstChild;
	while (lChild!=pParent.lastChild) {
		if (lChild.nodeType==1) lResult=lChild;
		lChild=lChild.nextSibling;
	}
	return lResult;
}

function FadeInImage(id,img)
{
  var a=document.getElementById(id);
  var b=a.parentNode;
  
  if (b.nodeName=="A") {
  	b=b.parentNode;
  }

  b.style.backgroundImage = 'url(' + a.src + ')';
  b.style.backgroundRepeat = 'no-repeat';
  
  SetOpacity(a,0);
  a.src = img;
  
  var t0 = (new Date()).getTime();
  if (a.timer) clearTimeout(a.timer);
  ChangeOpacity(id,500,t0,0,100);
}

/* ===============================================================
 * Image Preloader
 *
 *
 * =============================================================== */

var PreloaderCount = 0;
var Preloader = new Array();

function PreloadImage(ImageSource) {
	
	PreloaderCount++;
	Preloader[PreloaderCount] = new Image(16,16);
	Preloader[PreloaderCount].src = ImageSource;
	
}

function PreloadImages(PhotoArray) {
	
	for(var a=0;a<PhotoArray.length;a++){
		PreloadImage(PhotoArray[a]);
	}

}


/* ===============================================================
 * Slideshow
 *
 *
 * =============================================================== */
function Slideshow(imageID,PhotoArray) {
	this.Photos  = PhotoArray;
	this.ImageID = imageID;
	this.CurrentImage=0;
	this.NumberOfImages=PhotoArray.length;
	
	for(var a=0;a<PhotoArray.length;a++){
		PreloadImage(PhotoArray[a]);
	}
	
	window.setInterval(function () {
		
		mySlideshow.CurrentImage++;
		
		if (mySlideshow.CurrentImage>=mySlideshow.NumberOfImages) {
			mySlideshow.CurrentImage = 0;
		}
		
		FadeInImage(mySlideshow.ImageID,mySlideshow.Photos[mySlideshow.CurrentImage]);

	},10000);
}


/* ===============================================================
 * Form Validation
 *
 *
 * =============================================================== */

gFrmRes = true;

function SubmitForm(formname) {
	document.getElementById(formname).submit();
}

function ValidateForm(pForm) {
	
	gFrmRes = true;
	gFrmMsg = "";
	
	Validation(pForm);
	
	if (gFrmRes==false) {
		alert("You must enter...\n"+gFrmMsg);
		return(false);
	} else {
		return(true);
	}
}
function Required(sField,pTitle) {
	pField=document.getElementById(sField);
	with (pField) {
		if (value==null||value==""||pField.style.color  != 'black') {
			gFrmRes=false;
			gFrmMsg=gFrmMsg+"* "+pTitle+"\n";
		}
		
	}
}
