
/*********************************************************************** 
*Global Javascript Functions File
*Created by Saba Kazemi for F&K Delvotec, Inc.
*© 2002 F&K Delvotec, Inc.
***********************************************************************/ 

//Fade Effect
//<!-- (* Another free JavaScript © from JavaScript-FX.com *) -->
if(!window.JSFX)
	JSFX=new Object();

JSFX.FadeImageRunning    = false;
JSFX.FadeImageMinOpacity = 40;
JSFX.FadeImageAutoUp	 = 10;
JSFX.FadeImageAutoDown   = 10;
JSFX.FadeImageSavedOver  = null;
JSFX.FadeImageSavedOut   = null;
document.write('<STYLE TYPE="text/css">.imageFader{ position:relative; filter:alpha(opacity='+JSFX.FadeImageMinOpacity+'); -moz-opacity:'+JSFX.FadeImageMinOpacity/101+'}</STYLE>');
//Function    : actionOnMouseOver
JSFX.fadeImage_actionOnMouseOver = function(e)
{
	srcElement=e ? e.target : event.srcElement;
	
	if(srcElement.className && srcElement.className=="imageFader")
		JSFX.fadeUp(srcElement);

	/*** If the document already had an onMouseOver handler, call it ***/
	if(JSFX.FadeImageSavedOver != null)
		JSFX.FadeImageSavedOver(e);
}

//Function    : actionOnMouseOut

JSFX.fadeImage_actionOnMouseOut = function(e)
{
	srcElement=e ? e.target : event.srcElement;

	if(srcElement.className && srcElement.className=="imageFader")
		JSFX.fadeDown(srcElement);
	
	/*** If the document already had an onMouseOut handler, call it ***/
	if(JSFX.FadeImageSavedOut != null)
		JSFX.FadeImageSavedOut(e);
}
/*******************************************************************
* Function    :	fadeImageAuto
*
* Parameters  :	minOpacity	- Minimum opacity to fade down to.
*			stepUp	- fade up speed 	- larger = faster.
*			stepDown 	- fade down speed	- larger = faster.
*****************************************************************/
JSFX.fadeImageAuto = function(minOpacity, stepUp, stepDown)
{
	if(minOpacity)
		JSFX.FadeImageMinOpacity = minOpacity;
	if(stepUp)
		JSFX.FadeImageAutoUp	= stepUp;
	if(stepDown)
		JSFX.FadeImageAutoDown	= stepDown;

	/*** Save the original document mouseOver/Out events ***/
	JSFX.FadeImageSavedOver = document.onmouseover;
	JSFX.FadeImageSavedOut  = document.onmouseout;

	document.onmouseover	= JSFX.fadeImage_actionOnMouseOver ;
	document.onmouseout	= JSFX.fadeImage_actionOnMouseOut ;
	JSFX.setMinOpacity(JSFX.FadeImageMinOpacity);
}
/*******************************************************************
* Function    : setMinOpacity
*
* Description : sets the minimum opacity for all fading images from
*			the default of 40 to the passed value.
*****************************************************************/
JSFX.setMinOpacity = function(minOpacity)
{
	if(document.layers) return;

	for(i=0 ; i<document.images.length ; i++)
	{
		var img = document.images[i];
		if(img.className=="imageFader")
		{
			if(img.filters)
				img.filters.alpha.opacity = JSFX.FadeImageMinOpacity;
			else
				img.style.MozOpacity = JSFX.FadeImageMinOpacity/101;
		}
	}
}
/*******************************************************************
* Function    : fadeUpImg
*
* Description : Finds the image in the document and calls JSFX.fadeUp
*****************************************************************/
JSFX.fadeUpImg = function(imgName, step)
{
	if(document.layers || window.opera)
		return;

	img = document.images[imgName];
	if(img)
		JSFX.fadeUp(img, step);
}
/*******************************************************************
*
* Function    : fadeUp
*
* Description : This function is based on the turn_on() function
*		      of animate2.js (animated rollovers from www.roy.whittle.com).
*		      Each fading image object is given a state. 
*			OnMouseOver the state is switched depending on the current state.
*			Current state -> Switch to
*			===========================
*			null		->	OFF.
*			OFF		->	FADE_UP
*			FADE_DOWN	->	FADE_UP
*			FADE_UP_DOWN->	FADE_UP
*****************************************************************/
JSFX.fadeUp = function(img, step)
{

	if(img)
	{
		if(!step) step=JSFX.FadeImageAutoUp;

		if(img.fade == null)
		{
			img.fade = new Object();
			img.fade.state	 = "OFF";
			img.fade.upStep	 = step;
			img.fade.downStep  = step;
			img.fade.minOpacity  = JSFX.FadeImageMinOpacity;
			img.fade.index = img.fade.minOpacity;
			
		}
		if(img.fade.state == "OFF")
		{
			img.fade.upStep  = step;
			img.fade.state = "FADE_UP";
			JSFX.startImageFading();
		}
		else if( img.fade.state == "FADE_UP_DOWN"
			|| img.fade.state == "FADE_DOWN")
		{
			img.fade.upStep  = step;
			img.fade.state = "FADE_UP";
		}
	}
}
/*******************************************************************
* Function    : fadeDownImg
*
* Description : Finds the image in the document and calls JSFX.fadeDown
*****************************************************************/
JSFX.fadeDownImg = function(imgName, step)
{
	if(document.layers || window.opera)
		return;

	img = document.images[imgName];
	if(img)
		JSFX.fadeDown(img, step);
}
/*******************************************************************
*
* Function    : fadeDown
*
* Description : This function is based on the turn_off function
*		      of animate2.js (animated rollovers from www.roy.whittle.com).
*		      Each zoom object is given a state. 
*			OnMouseOut the state is switched depending on the current state.
*			Current state -> Switch to
*			===========================
*			ON		->	FADE_DOWN.
*			FADE_UP	->	FADE_UP_DOWN.
*****************************************************************/
JSFX.fadeDown = function(img, step)
{
	if(img)
	{
		if(!step) step=JSFX.FadeImageAutoDown;

		if(img.fade.state=="ON")
		{
			img.fade.downStep  = step;
			img.fade.state="FADE_DOWN";
			JSFX.startImageFading();
		}
		else if(img.fade.state == "FADE_UP")
		{
			img.fade.downStep  = step;
			img.fade.state="FADE_UP_DOWN";
		}
	}
}
/*******************************************************************
*
* Function    : startImageFading
*
* Description : This function is based on the start_animating() function
*	        	of animate2.js (animated rollovers from www.roy.whittle.com).
*			If the timer is not currently running, it is started.
*			Only 1 timer is used for all objects
*****************************************************************/
JSFX.startImageFading = function()
{
	if(!JSFX.FadeImageRunning)
		JSFX.FadeImageAnimation();
}

/*******************************************************************
*
* Function    : FadeImageAnimation
*
* Description : This function is based on the Animate function
*		    of animate2.js (animated rollovers from www.roy.whittle.com).
*		    Each object has a state. This function
*		    modifies each object and (possibly) changes its state.
*****************************************************************/
JSFX.FadeImageAnimation = function()
{
	JSFX.FadeImageRunning = false;
	for(i=0 ; i<document.images.length ; i++)
	{
		var img = document.images[i];
		if(img.fade)
		{
			if(img.fade.state == "FADE_UP")
			{
				img.fade.index+=img.fade.upStep;
				if(img.fade.index > 100)
					img.fade.index = 100;

				if(img.filters)
					img.filters.alpha.opacity = img.fade.index;
				else
					img.style.MozOpacity = img.fade.index/101;

				if(img.fade.index == 100)
					img.fade.state="ON";
				else
					JSFX.FadeImageRunning = true;
			}
			else if(img.fade.state == "FADE_UP_DOWN")
			{
				img.fade.index+=img.fade.upStep;
				if(img.fade.index > 100)
					img.fade.index = 100;

				if(img.filters)
					img.filters.alpha.opacity = img.fade.index;
				else
					img.style.MozOpacity = img.fade.index/101;
	
				if(img.fade.index == 100)
					img.fade.state="FADE_DOWN";
				JSFX.FadeImageRunning = true;
			}
			else if(img.fade.state == "FADE_DOWN")
			{
				img.fade.index-=img.fade.downStep;
				if(img.fade.index < img.fade.minOpacity)
					img.fade.index = img.fade.minOpacity;

				if(img.filters)
					img.filters.alpha.opacity = img.fade.index;
				else
					img.style.MozOpacity = img.fade.index/101;

				if(img.fade.index == img.fade.minOpacity)
					img.fade.state="OFF";
				else
					JSFX.FadeImageRunning = true;
			}
		}
	}
	/*** Check to see if we need to animate any more frames. ***/
	if(JSFX.FadeImageRunning)
		setTimeout("JSFX.FadeImageAnimation()", 40);
}

// Status Bar Message
function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

// Date function
function doClock(){ // By Paul Davis - www.kaosweaver.com

  var t=new Date(),a=doClock.arguments,str="",i,a1,lang="1";

  var month=new Array('January','Jan', 'February','Feb', 'March','Mar', 'April','Apr', 'May','May', 'June','Jun', 'July','Jul', 'August','Aug', 'September','Sep', 'October','Oct', 'November','Nov', 'December','Dec');

  var tday= new Array('Sunday','Sun','Monday','Mon', 'Tuesday','Tue', 'Wednesday','Wed','Thursday','Thr','Friday','Fri','Saturday','Sat');

  for(i=0;i<a.length;i++) {a1=a[i].charAt(1);switch (a[i].charAt(0)) {

  case "M":if  ((Number(a1)==3) && ((t.getMonth()+1)<10)) str+="0";

  str+=(Number(a1)>1)?t.getMonth()+1:month[t.getMonth()*2+Number(a1)];break;

  case "D": if ((Number(a1)==1) && (t.getDate()<10)) str+="0";str+=t.getDate();break;

  case "Y": str+=(a1=='0')?t.getFullYear():t.getFullYear().toString().substring(2);break;

  case "W":str+=tday[t.getDay()*2+Number(a1)];break; default: str+=unescape(a[i]);}}return str;

}

//Window Relsizing functions
/*function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

var agt = navigator.userAgent.toLowerCase();

function nsReload() { window.location.reload(); }

function resizeReload() {

	if (window.opera||(agt.indexOf("konqueror")!=-1)) {
		var newBW=window.innerWidth;
		var newBH=window.innerHeight;
		if(newBW==oldBW&&newBH==oldBH){ setTimeout("resizeReload()",100); }
		else { window.location.reload(); }
		}

	else if (document.layers) {
		if (agt.indexOf("win")!=-1) { setTimeout("window.onresize=nsReload", 500); }
		else { window.onresize=nsReload; }
		}

	}

if(window.opera||(agt.indexOf("konqueror")!=-1)){
	var oldBW=window.innerWidth;
	var oldBH=window.innerHeight;
	resizeReload();
	}
else if (document.layers) { resizeReload(); }
else { window.onresize=new Function("window.location.reload()"); }

*/
//Browser Client Sniffer
//Thanks to © Brothercake at www.Brothercake .com
var exclude=true;var agt=navigator.userAgent.toLowerCase();
var ie=false;var ie4=false;var ie5=false;var op5=false;var op6=false;var kde=false;
if(typeof document.all!="undefined"&&(agt.indexOf('msie')!=-1)) {
ie=true; ie4=true; exclude=false;
if(agt.indexOf('msie 4')==-1){ie5=true;ie4=false;}
if(agt.indexOf('opera')!=-1){ie=false;ie4=false;ie5=false;op5=true;}
}
var ns6=false;var mz7=false;
if(typeof document.getElementById!="undefined"&&!ie) {
ns6=true;exclude=false;
if(agt.indexOf('netscape6')==-1) {mz7=true;}
if(typeof window.opera!="undefined") {
mz7=false;ns6=false;op5=true;
if((agt.indexOf("opera 6")!=-1)||(agt.indexOf("opera/6")!=-1)){op6=true;op5=false;}
}
else if (agt.indexOf('gecko')==-1) { mz7=false; exclude=true; }
}
if(agt.indexOf('opera 4')!=-1) { op5=false; mz7=false; exclude=true; }
var ns4=false;
if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)&&!ie&&!op5&&!op6&&!ns6&&!mz7) {
ns4=true;exclude=false;
}
if(agt.indexOf('webtv')!=-1) { ie=false; ie4=false; exclude=true; }
if((agt.indexOf('opera')!=-1)&&ns6&&exclude){ns6=false;}
var lnx=true; var win=false; var mac=false;
if(agt.indexOf('win')!=-1) { lnx=false; win=true; }
if(agt.indexOf('mac')!=-1) { lnx=false; mac=true; }
if(navigator.vendor){if(navigator.vendor=="KDE") {
ie=false;ie4=false;ie5=false;mz7=false;
kde=true;ns6=true;ns4=false;exclude=false;
var thisKDE=agt;
var splitKDE=thisKDE.split("konqueror/");
var aKDE=splitKDE[1].split("; ");
var KDEn=parseFloat(aKDE[0]);
if(KDEn<2.2){exclude=true;ns6=false;kde=false;}
}}


//Language Selection Menu
// 
if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}

function getElementbyClass_footer(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
ccollect[inc++]=alltags[i]
}
}

function contractcontent_footer(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}

function expandcontent_footer(cid){
if (typeof ccollect!="undefined"){
contractcontent_footer(cid)
document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
selectedItem=cid+"|"+document.getElementById(cid).style.display
}
}

function do_onload_footer(){
getElementbyClass_footer("switchcontent")
}

if (window.addEventListener)
window.addEventListener("load", do_onload_footer, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload_footer)
else if (document.getElementById)
window.onload=do_onload_footer


function toggle(object) {
  if (document.getElementById) {
    if (document.getElementById(object).style.visibility == 'visible')
      document.getElementById(object).style.visibility = 'hidden';
    else
      document.getElementById(object).style.visibility = 'visible';
  }

  else if (document.layers && document.layers[object] != null) {
    if (document.layers[object].visibility == 'visible' ||
        document.layers[object].visibility == 'show' )
      document.layers[object].visibility = 'hidden';
    else
      document.layers[object].visibility = 'visible';
  }

  else if (document.all) {
    if (document.all[object].style.visibility == 'visible')
      document.all[object].style.visibility = 'hidden';
    else
      document.all[object].style.visibility = 'visible';
  }

  return false;
}

//Disable the Submit Button
function disable() {
	document.languageform.langbutton.disabled = true;
//	document.languageform.remember.disabled = true;
}

function enable() {
	document.languageform.langbutton.disabled = false;
//	document.languageform.remember.disabled = false;
}

function nochoice()	{
			
	if (document.form1.setver.value == "")
	{
	window.open('http://www.fkdelvotecusa.com/','content','','');
	}
	
}



// Preaload Images
// simplePreload( '01.gif', '02.gif' ); 
function simplePreload()
{ 
  var args = simplePreload.arguments;
  document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++)
  {
    document.imageArray[i] = new Image;
    document.imageArray[i].src = args[i];
  }
}
