
ns4 = (document.layers)? true:false
ns6 = (!document.all && document.getElementById)? true:false
ie4 = (document.all)? true:false


function logi_PageLeft(img) {
	if (img){
  var x, obj;
  if (ns4) {
    if (img.container != null)
      return img.container.pageX + img.x;
    else
      return img.x;
  }
  if (ie4||ns6) { 
    x = 0;
    obj = img;
    while (obj.offsetParent != null) {
      x += obj.offsetLeft;
      obj = obj.offsetParent;
    }
    x += obj.offsetLeft;
    return x;
  }
  }
  else {return 0}
}

function logi_PageTop(img) {
	if (img){
  var y, obj;
  if (ns4) {
    if (img.container != null)
      return img.container.pageY + img.y;
    else
      return img.y;
  }
  if (ie4||ns6) {
    y = 0;
    obj = img;
    while (obj.offsetParent != null) {
      y += obj.offsetTop;
      obj = obj.offsetParent;
    }
    y += obj.offsetTop;
    return y;
  }
  }
  else {return 0}
}


// 

function logi_location(){

 	
	temptop = logi_PageTop(document.images['singlepixelgif']);
	templeft = logi_PageLeft(document.images['singlepixelgif']);


	if (ns4) {
		for (i=0;i<pages.length;i++){
			document.layers[pages[i][2]].top=temptop;
			document.layers[pages[i][2]].left=templeft;
			document.layers[pages[i][2]].visibility='hide';
		}
		document.layers[pages[0][2]].visibility='show';
	}
	if (ie4) {
		for (i=0;i<pages.length;i++){
			try{
				document.all[pages[i][2]].style.top=temptop;
				document.all[pages[i][2]].style.left=templeft;
				document.all[pages[i][2]].style.clip='rect(0,0,0,0)';
			}
			catch(err){
				alert('Error Loading  Page' + pages[i][2])
			}
		}
		document.all[pages[0][2]].style.visibility='visible';
		document.all[pages[0][2]].style.clip='rect(-10,10000,10000,-10)';
	}
	if (ns6){
		for (i=0;i<pages.length;i++){
			document.getElementById(pages[i][2]).style.top=-100000;
			document.getElementById(pages[i][2]).style.left=-100000;
			document.getElementById(pages[i][2]).style.visibility='hidden';
		}
			document.getElementById(pages[0][2]).style.top=temptop;
			document.getElementById(pages[0][2]).style.left=templeft;
		document.getElementById(pages[0][2]).style.visibility='visible';
	}
	
	
	
}


// 

function logi_visited(step,page){
	if (ns6){var logi_main=document.getElementsByName('logi_hidden_form')[0]}
	else {var logi_main = document.logi_hidden_form}
	var laststep='no';
	if (step=='submit'){submitform();}
	else if (step=='conditional'){
		for (i=0;i<pages.length;i++){
			if (pages[i][2]==page){var pageid=pages[i][0]}
			}
			lfcondition(pageid,page);
			}
	else {
		if (step=='next'){
			var newnumber=0;
			for (i=0;i<pages.length;i++){
				if (pages[i][2]==page){
					if (pages.length==i+1){laststep='yes'}
					else{newnumber=pages[i+1][0]}
				}
			}
			newnumber=parseFloat(newnumber);
			visitedpages[visitedpages.length]=newnumber;
		}
		else if (step=='back'){
			if (visitedpages.length==1){
				for (i=0;i<pages.length;i++){
					if (pages[i][2]==page){var placeholder=i}
				}
				if (placeholder==0){placeholder=1}
				visitedpages[visitedpages.length]=pages[placeholder-1][0];
			}
			else {visitedpages.length=visitedpages.length-1}
		}

		else {
			var validDigit=/^[\d]*$/;
			if (validDigit.test(step)==false){logi_visited('next',page)}
			else {visitedpages[visitedpages.length]=parseFloat(step)}
		}
		for (i=0;i<pages.length;i++){
			if (pages[i][0]==visitedpages[visitedpages.length-1]){var showobj=pages[i][2]}
		}
		if (laststep=='yes'){logi_visited('submit',pages[pages.length-1][2])}
		else {swap(page,showobj)}
	}
}




function logi_back(page){logi_visited('back',page)}

function swap(hideobj,showobj) {
	hidenon(hideobj)
	shownon(showobj)
	window.scroll(0,0);
	if (urlfields.lflocationname){
		firePipeMsg('mpageNav',logiform.Hid.getValue(),urlfields.lflocationname);
	}
	
}

function shownon(showobj) {

	if (ns4) 
		{
		document.layers[showobj].visibility = "show"; 
		document.layers[showobj].display = "inline";
		}
	if (ie4) 
		{
		document.all[showobj].style.visibility = "visible";
		document.all[showobj].style.clip='rect(-10,100000,100000,-10)';
		document.all[showobj].style.display='inline';
		}
	if (ns6){
		document.getElementById(showobj).style.top=temptop;
		document.getElementById(showobj).style.left=templeft;
		document.getElementById(showobj).style.visibility = "visible"
		document.getElementById(showobj).style.display = "inline"
	}
}

function hidenon(hideobj) {

	if (ns4) 
		{
		document.layers[hideobj].visibility = "hide";
		document.layers[hideobj].display = "none";
		}
	if (ie4) 
		{
		document.all[hideobj].style.visibility = "hidden";
		document.all[hideobj].style.display = "none";
		document.all[hideobj].style.clip='rect(0,0,0,0)';
		}
	if (ns6)
		{
		// Move hidden layers off screen, because NS6 displays hidden form elements through the layers.
		document.getElementById(hideobj).style.top=-100000;
		document.getElementById(hideobj).style.left=-100000;
		document.getElementById(hideobj).style.visibility = "hidden";
		document.getElementById(hideobj).style.display = "none";	
		}
}



 

function logi_errorCheck(page){
	// check for any errors and also dump all of the current page/forms variables into the hidden form
	var lfform="logiform_"+page.toLowerCase()+"";
	// dump vars to hidden form (this has been replaced with the mirrorto function defined per field)
	logiform.setFields(eval(lfform+".getFields()"),false,false);
	
	//alert('logiform.calculationfield = ' + logiform.calculationfield.getValue());
	
	eval(lfform+".validate()");
	if (eval(lfform+"._queue.errors.length") <= 0){
		var step='';
		for (i=0;i<pages.length;i++){
			if (pages[i][2]==page){
				if (pages[i][3]=='conditional'){step='conditional'}
				else if (pages[i][3]=='submit'){step='submit'}
				else if (pages[i][3]=='next'){step='next'}
				else {step=pages[i][3]}
			}
		}
		
		logi_visited(step,page)
	}
}

