var timerlen = 3;
var slideAniLen = 75;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endX = new Array();
var moving = new Array();
var destx = new Array();
var dir = new Array();
var distance = new Array();
var endstate = new Array();
var callback = new Array();

function slideleft(objname, destinationx, state, callbackfunc){
       if(moving[objname])
                return;
        moving[objname] = true;
        dir[objname] = "left";
								destx[objname] = destinationx;
								endstate[objname] = state;
								if (callbackfunc === undefined) callbackfunc = null;
								callback[objname] = callbackfunc;
        startslide(objname);
}

function slideright(objname, destinationx, state, callbackfunc){
        if(moving[objname]) return;

        if(document.getElementById(objname).style.display == "none") return; // cannot slide up something that is already hidden

        moving[objname] = true;
								destx[objname] = destinationx;
        dir[objname] = "right";
								endstate[objname] = state;
								if (callbackfunc === undefined) callbackfunc = null;
								callback[objname] = callbackfunc;
        startslide(objname);
}

function startslide(objname){
        obj[objname] = document.getElementById(objname);

        endX[objname] = destx[objname];
        startTime[objname] = (new Date()).getTime();

        obj[objname].style.display = "block";
								distance[objname] = (parseInt(obj[objname].style.left) - destx[objname]) / slideAniLen;
								if (dir[objname] == 'left') distance[objname] = -1 * distance[objname];

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];
        if (dir[objname] == 'left') {
								  if (parseInt(obj[objname].style.left) < endX[objname]) {
											  endSlide(objname);
										} else {
            var d = Math.round(elapsed / slideAniLen * endX[objname]);
												d = parseInt(obj[objname].style.left) + distance[objname];
												obj[objname].style.left = d + "px";
										}
								} else {
								  if (parseInt(obj[objname].style.left) > endX[objname]) {
											  endSlide(objname);
										} else {
            var d = Math.round(elapsed / slideAniLen * endX[objname]);
												d = parseInt(obj[objname].style.left) - distance[objname];
												obj[objname].style.left = d + "px";
										}
        }

        return;
}

function endSlide(objname){
        clearInterval(timerID[objname]);
        obj[objname].style.left = endX[objname] + "px";
								obj[objname].style.display = endstate[objname];

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endX[objname]);
        delete(obj[objname]);
        delete(dir[objname]);
								delete(distance[objname]);
								delete(endstate[objname]);
								if (callback[objname]) callback[objname]();

        return;
}

function showlayer(objname) {
	 document.getElementById(objname).style.visibility = "visible";
		return false;
}
function hidelayer(objname) {
	 document.getElementById(objname).style.visibility = "hidden";
		return false;
}
function changeElement(objname, element, details) {
	 var o = document.getElementById(objname);
		eval("o."+element+"=function(){"+details+";};");
		return false;
}
function changeMenuLinks(newbizline) {
//alert('changing menu links to '+newbizline);
	 // Change the links in the nav bar to go to a different business line. Makes the nav bar dynamic based on which biz line is selected
	 for (i = 0; document.images.length; i++) {
		  if (newbizline == 'wedding') {
  			 switch (document.images[i].id) {
		  			 case 'nav2': 
				  		  document.images[i].onclick = function() {MM_goToURL('parent','/weddingrates.php?t=wedding');return document.MM_returnValue};
									 break;
		  			 case 'nav3': 
				  		  document.images[i].onclick = function() {MM_goToURL('parent','/equipment.php?t=wedding');return document.MM_returnValue};
									 break;
								case 'nav4':
								  document.images[i].onclick = function() {MM_goToURL('parent','/clients.php?t=wedding');return document.MM_returnValue};
										break;
								case 'nav5':
								  document.images[i].onclick = function() {MM_goToURL('parent','/weddinggallery.php?t=wedding');return document.MM_returnValue};
										break;
								case 'nav6':
								  document.images[i].onclick = function() {MM_goToURL('parent','/privategallery.php?t=wedding');return document.MM_returnValue};
										break;
								case 'nav7':
								  document.images[i].onclick = function() {MM_goToURL('parent','/?t=corp');return document.MM_returnValue};
										break;
								case 'nav8':
								  document.images[i].onclick = function() {MM_goToURL('parent','/about.php?t=wedding');return document.MM_returnValue};
										break;
								case 'nav9':
								  document.images[i].onclick = function() {MM_goToURL('parent','/contact.php?t=wedding');return document.MM_returnValue};
										break;
						}
		  } else {
  			 switch (document.images[i].id) {
		  			 case 'nav2': 
				  		  document.images[i].onclick = function() {MM_goToURL('parent','/corprates.php?t=corp');return document.MM_returnValue};
									 break;
		  			 case 'nav3': 
				  		  document.images[i].onclick = function() {MM_goToURL('parent','/equipment.php?t=corp');return document.MM_returnValue};
									 break;
								case 'nav4':
								  document.images[i].onclick = function() {MM_goToURL('parent','/clients.php?t=corp');return document.MM_returnValue};
										break;
								case 'nav5':
								  document.images[i].onclick = function() {MM_goToURL('parent','/corpgallery.php?t=corp');return document.MM_returnValue};
										break;
								case 'nav6':
								  document.images[i].onclick = function() {MM_goToURL('parent','/privategallery.php?t=corp');return document.MM_returnValue};
										break;
								case 'nav7':
								  document.images[i].onclick = function() {MM_goToURL('parent','/?t=wedding');return document.MM_returnValue};
										break;
								case 'nav8':
								  document.images[i].onclick = function() {MM_goToURL('parent','/about.php?t=corp');return document.MM_returnValue};
										break;
								case 'nav9':
								  document.images[i].onclick = function() {MM_goToURL('parent','/contact.php?t=corp');return document.MM_returnValue};
										break;
						}
				}
		}
		return false;
}