// status messages
window.defaultStatus = "Welcome to Latitude Web Development";
if (document.messages == null) {
  document.messages = new Object();
  document.messages.home = "Latitude Web Development";
  
}

// browser requirement
var ver = parseInt(navigator.appVersion);
//if (ver < 4) window.location.href = ""; 

// browser sniffer
var myBrowser = null;
if(document.all) {
  myBrowser = "IE";
} else if(document.layers) {
  myBrowser = "NN";
} else if(document.getElementById) {
  myBrowser = "DOM";
}


// adjust x coordinate for content layers on home page
function adjustX(xOffset){
	var xPos;
	var centerX = getCenter(self);
 	if((myBrowser=="IE") || (myBrowser=="DOM")){
		var minX = Math.floor(580/2);
		if (centerX < minX) { xPos = minX + xOffset; }
		else { xPos = centerX + xOffset; }
	}
	else if(myBrowser=="NN") {
		var minX = Math.floor(592/2);
		if (centerX < minX) { xPos = minX + xOffset - 8; }
		else { xPos = centerX + xOffset - 8; }
	}
	return xPos;
}

// adjust y coordinate for content layers on home page
function adjustY(yPos) {
	return yPos;
}

// position horizontal menus
function positionHoriz(){
	var centerX = getCenter(self);
 	if(myBrowser=="IE") {
		count=0;
		if (count==0){
			count=1;
			var minX = 580/2;
			if (centerX < minX) centerX = minX;
			//moveLayer('HomeLayer', centerX - 10, horiz_nav_yPos);
			//moveLayer('AboutUsLayer', centerX - 10, horiz_nav_yPos);
			//moveLayer('PortfolioLayer', centerX - 10 horiz_nav_yPos);
			//moveLayer('ServicesLayer', centerX + 10, horiz_nav_yPos);
			//moveLayer('Layer5', centerX + 71, horiz_nav_yPos);
			//moveLayer('Layer6', centerX + 140, horiz_nav_yPos);
		}
		else{
			count=0;
		}
	}
	if((myBrowser=="NN") || (myBrowser=="DOM")) {
		var minX = 592/2;
		if (centerX < minX) centerX = minX;
		//moveLayer('HomeLayer', centerX - 10, horiz_nav_yPos);
		//moveLayer('AboutUsLayer', centerX - 10, horiz_nav_yPos);
		//moveLayer('PortfolioLayer', centerX - 10, horiz_nav_yPos);
		//moveLayer('ServicesLayer', centerX + 10, horiz_nav_yPos);
		//moveLayer('Layer5', centerX + 63, horiz_nav_yPos);
		//moveLayer('Layer6', centerX + 132, horiz_nav_yPos);
	}
}

// position vertical menus
function positionVert(){
	var xPos;
	var centerX = getCenter(self);
 	if(myBrowser=="IE") {
		count=0;
		if (count==0){
			count=1;
			var minX = Math.floor(580/2);
			if (centerX < minX) { xPos = minX + vert_nav_xOffset; }
			else { xPos = centerX + vert_nav_xOffset; }
			//moveLayer('HomeLayer', xPos, 10 + vert_nav_yOffset);
			//moveLayer('AboutUsLayer', xPos, 10 + vert_nav_yOffset);
			//moveLayer('PortfolioLayer', xPos, 10 + vert_nav_yOffset);
			//moveLayer('ServicesLayer', xPos, 10 + vert_nav_yOffset);
			//moveLayer('Layer5', xPos, 130 + vert_nav_yOffset);
			//moveLayer('Layer6', xPos, 150 + vert_nav_yOffset + corporate_yOffset);
		}
		else{
			count=0;
		}
	}
	else if(myBrowser=="NN") {
		var minX = Math.floor(592/2);
		if (centerX < minX) { xPos = minX + vert_nav_xOffset - 8; }
		else { xPos = centerX + vert_nav_xOffset - 8; }
		//moveLayer('HomeLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('AboutUsLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('PortfolioLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('ServicesLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('Layer5', xPos, 136 + vert_nav_yOffset);
		//moveLayer('Layer6', xPos, 156 + vert_nav_yOffset + corporate_yOffset);		
	}
	else if(myBrowser=="DOM") {
		var minX = Math.floor(580/2);
		if (centerX < minX) { xPos = minX + vert_nav_xOffset; }
		else { xPos = centerX + vert_nav_xOffset; }
		//moveLayer('HomeLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('AboutUsLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('PortfolioLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('ServicesLayer', xPos, 10 + vert_nav_yOffset);
		//moveLayer('Layer5', xPos, 132 + vert_nav_yOffset);
		//moveLayer('Layer6', xPos, 151 + vert_nav_yOffset + corporate_yOffset);		
	}
}
// center menu layers, refresh NN4
function handleResize(init) {
  if (init==true) {
    if (myBrowser=="NN") {
      // setup for resize
   	  document.pgWidth=window.innerWidth;
      document.pgHeight=window.innerHeight;
      window.captureEvents(Event.RESIZE);
  	  window.onresize = handleResize;
	  // setup for popups
	  document.captureEvents(Event.MOUSEMOVE);
    }
    else if ((myBrowser=="IE") || (myBrowser=="DOM")) {
	}
  }
  else {
    if (myBrowser=="NN") {
  	  if (window.innerWidth!=document.pgWidth || window.innerHeight!=document.pgHeight) {
	    if (parseInt(navigator.appVersion)==4) { location.reload();	}
	    else {
		  if (window.innerWidth!=document.pgWidth) {
		    if (menuType=='horiz') { positionHoriz(); }
			else if (menuType=='vert') { positionVert(); }
		  }
	    }
	  }
	}
    else if ((myBrowser=="IE") || (myBrowser=="DOM")) {
		    if (menuType=='horiz') { positionHoriz(); }
			else if (menuType=='vert') { positionVert(); }
	}
  }
  document.onmousemove = mouseMove;
}

handleResize(true);

var vert_left_adjust = 0;

var horiz_left_adjust = 0;
var horiz_image_height = 49;
var horiz_nav_yPos = 49;

var imageOn = "";
var objOn = "";
var menuName = "";
var menuType = "vert";



// FLASH DETECTOR
// detect browser
bName = navigator.appName; 
// assign base variables 
flash = "no" 
action = "ns_exec"
if (bName =="Microsoft Internet Explorer") action = "ie_exec"
 // detect plugin for NS or IE(Mac) flash 4 version 
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0); 
if (plugin && parseInt(plugin.description.substring(plugin.description.indexOf(".")-1)) >= 4) flash = "yes"

 // detect flash active-x control for IE Windows');
if (action == "ie_exec") {
	tagFix = '</';
	document.writeln('    <SCRIPT LANGUAGE="VBScript">');
	document.writeln('     on error resume next');
	document.writeln('     If action = "ie_exec" then');
	document.writeln('     	FlashInstalled =(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) ');
	document.writeln('     End If');
	document.writeln('     If FlashInstalled = "True" then');
	document.writeln('     	flash = "yes" ');
	document.writeln('     End If ');
	document.writeln('     ' + tagFix + 'SCRIPT>');
}

var ref = location.search;
if (ref != "" && ref.substring(1,ref.length)=="mac") flash="yes"

//alert("Flash="+flash)

// END FLASH DETECTOR

// get style reference for layer object
function getLayer(ID) {
  if(typeof ID == "string") {
    if(myBrowser == "NN") {
      return(document.layers[ID]);
    } else if(myBrowser == "IE") {
      return(document.all[ID].style);
    } else if(myBrowser == "DOM") {
      return(document.getElementById(ID).style);
    }
  }
  else {
    return ID;
  }
}

// get layer left
function getLayerLeft(layerName) {
  var layerObj = getLayer(layerName);
  return(layerObj.left);
}

// get layer top
function getLayerTop(layerName) {
  var layerObj = getLayer(layerName);
  return(layerObj.top);
}

// get layer width
function getLayerWidth(layerName) {
  var layerObj = getLayer(layerName);
  if(myBrowser == "NN") {
    return(layerObj.clip.width);
  } else if(myBrowser == "IE" || myBrowser == "DOM") {
    return(layerObj.width);
  }
}

// get layer height
function getLayerHeight(layerName) {
  var layerObj = getLayer(layerName);
  if(myBrowser == "NN") {
    return(layerObj.clip.height);
  } else if(myBrowser == "IE" || myBrowser == "DOM") {
    return(layerObj.height);
  }
}

// show layer
function showLayer(layerName) {
	var layerObj = getLayer(layerName);
	if(myBrowser == "NN") {
    	layerObj.visibility='show';
  	} else if (myBrowser == "IE" || myBrowser == "DOM") {
    	layerObj.visibility='visible';
	}
}

// hide layer
function hideLayer(layerName) {
	var layerObj = getLayer(layerName);
	if(myBrowser == "NN") {
    	layerObj.visibility='hide';
  	} else if (myBrowser == "IE" || myBrowser == "DOM") {
    	layerObj.visibility='hidden';
	}
}

// move layer to absolute coordinates
function moveLayer(layerName, xPos, yPos) {
  var layerObj = getLayer(layerName);
  if(myBrowser == "NN") {
    layerObj.moveTo(xPos, yPos);
  } else if(myBrowser == "IE" || myBrowser == "DOM") {
    layerObj.left = xPos + "px";
    layerObj.top = yPos + "px";
  }
}

function mouseMove(e) {
	if ((myBrowser == "NN") || (myBrowser == "DOM")) {
    	menuOff(e.pageX,e.pageY);
  	} else if(myBrowser == "IE") {
    	menuOff(event.x,event.y);
	}
}

function menuOn(layerName, imgName, objName) {
	if(((myBrowser=="NN") || (myBrowser=="IE") || (myBrowser=="DOM")) & document.popLoaded) {
		if (menuName.length) hideLayer(menuName);
		if (imageOn.length) restore(imageOn,objOn);
		if (imgName.length) rollOver(imgName,objName);
		menuName = layerName;
		showLayer(menuName);
		imageOn = imgName;
		objOn = objName;
	}
}

function isOutside(xcord, ycord, left, right, top, bottom) {
	if ((xcord < left)||(xcord > right)||(ycord < top)||(ycord > bottom)) return true;
	else return false;
}

function menuOff(xcord, ycord) {
	var left,right,top,bottom;
	//document.xy.mx.value=xcord;
	//document.xy.my.value=ycord;
	if(menuName.length) {
		left = parseInt(getLayerLeft(menuName));
		right = left + parseInt(getLayerWidth(menuName));
		top = parseInt(getLayerTop(menuName));
		bottom = 32 + top + parseInt(getLayerHeight(menuName));
		//alert(left+','+right+','+top+','+bottom+','+xcord+','+ycord);
		if ((myBrowser == "NN") || (myBrowser == "DOM")) {
			if (isOutside(xcord, ycord, left - vert_left_adjust, right, top, bottom)) { 
				if (imageOn) restore(imageOn,objOn);
				imageOn = "";
				hideLayer(menuName);
				menuName = "";
			}
	  	} else if(myBrowser == "IE") {
			if (isOutside(xcord, ycord, left - vert_left_adjust, right, top - document.body.scrollTop, bottom - document.body.scrollTop)) { 
				if (imageOn) restore(imageOn,objOn);
				imageOn = "";
				hideLayer(menuName);
				menuName = "";
			}
	  	}
	}
}
// preload images
function preloadImages() {
  if (document.images) {
    var imgFiles = preloadImages.arguments;
    if (document.preloadArray == null) document.preloadArray = new Array();
    var arrayIndex = document.preloadArray.length;
    for (arg=0; arg<imgFiles.length; arg++) {
      document.preloadArray[arrayIndex] = new Image();
      document.preloadArray[arrayIndex].src = imgFiles[arg];
      arrayIndex++;
    }
    document.preLoaded = true;
  }
}

// turn on rollover
function rollOver(imgName, objName, layerName) {
  	swap(imgName + '_over.gif', objName, layerName);
    status = eval("document.messages." + objName);
}

// turn off rollover
function restore(imgName, objName, layerName) {
	swap(imgName+'.gif', objName, layerName);
   	status = window.defaultStatus;
}

// change image source
function swap(imgName, objName, layerName){
  if ((document.images) && (document.preLoaded == true)){
    if (layerName && (myBrowser == 'NN')){
       var objStr = 'document.' + layerName + '.document.' + objName;
    }
    else {
       var objStr = 'document.' + objName;
    }
    var obj = eval(objStr);
    obj.src = imgName;
  }
}
// get window height
function getWindowHeight(thisWindow) {
  if(myBrowser == "NN" || myBrowser == "DOM") {
    return(thisWindow.innerHeight);
  } else if(myBrowser == "IE") {
    return(thisWindow.document.body.clientHeight);
  }
}

// get window width
function getWindowWidth(thisWindow) {
  if(myBrowser == "NN" || myBrowser == "DOM") {
    return(thisWindow.innerWidth);
  } else if(myBrowser == "IE") {
    return(thisWindow.document.body.clientWidth);
  }
}

// get window horizontal center
function getCenter(thisWindow) {
  return(Math.floor(getWindowWidth(thisWindow)/2));
}

// open new window
function openWindow(url,w,h){

var winX = Math.floor((screen.width/2)-(w/2));
var winY = 50;

if((myBrowser == "NN")||(myBrowser == "DOM")) {
popupWin = window.open(url, 'Latitude', 'resizable,scrollbars,width=' + w + ',height=' + h + ',screenX=' + winX + ',screenY=' + winY);
} else if(myBrowser == "IE") {
popupWin = window.open(url, 'Latitude', 'resizable,scrollbars,width=' + w + ',height=' + h + ',left=' + winX + ',top=' + winY);
}
popupWin.focus();
}

// open new window for Flash
function openFlash(url,w,h){

var winX = Math.floor((screen.width/2)-(w/2));
var winY = 50;

if((myBrowser == "NN")||(myBrowser == "DOM")) {
popupWin = window.open(url, 'Latitude', 'width=' + w + ',height=' + h + ',screenX=' + winX + ',screenY=' + winY);
} else if(myBrowser == "IE") {

popupWin = window.open(url, 'Latitude', 'width=' + w + ',height=' + h + ',left=' + winX + ',top=' + winY);
}
popupWin.focus();
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

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);

function hide_all() {
MM_showHideLayers('PortfolioLayer','','hide','AboutUsLayer','','hide','ServicesLayer','','hide','HomeLayer','','hide','ContactUsLayer','','hide');
}
function hide_all_ce() {
MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3','','hide');
}