var defLeft = 0;
var defTop = 0;

function setDIVProp(objName,propName,theValue)
{
   obj = MM_findObj(objName);
   var value;
   if (obj && obj.style) {
	   propName = 'style.' + propName;
   } else
   if (obj && obj.clip) {
	   if (propName == 'width' || propName == 'height') {
		   propName = 'clip.' + propName;
    	}
	}

   MM_changeProp(objName,'',propName,theValue);
}

function getDIVProp(objName,propName)
{
	var value = null;
	var obj = MM_findObj(objName);

	newObjName=objName;
	newPropName=propName;
	if (obj && obj.style) {
		newPropName = 'style.' + propName;
	}

	value = eval('obj.'+newPropName);

	if (value == null || value == "") {
		if (document.ids) {
		   newObjName = 'document.ids.' + objName;
		} else
		if (document.styleSheets) {
			ruleName = '#' + objName;
			styleSheetIndex = 0;
			ruleIndex = 0;

			for(index = 0; index < document.styleSheets.length; index++) {
				if (document.styleSheets[index] != null) {
					if (document.styleSheets[index].cssRules == null) {
						for(index1 = 0; index1 < document.styleSheets[index].rules.length; index1++) {
							selectorText = document.styleSheets[index].rules[index1].selectorText; 
							if (selectorText.indexOf(ruleName) >= 0) {
							   newObjName = 'document.styleSheets[' + index + '].rules[' + index1 + ']';
							   break;
							}
						}
					} else {
						for(index1 = 0; document.styleSheets[index].cssRules[index1] != null; index1++) {
							selectorText = document.styleSheets[index].cssRules[index1].selectorText; 
							if (selectorText.indexOf(ruleName) >= 0) {
							   newObjName = 'document.styleSheets[' + index + '].cssRules[' + index1 + ']';
							   break;
							}
						}
					}
				}
			}
		}
		value = eval(newObjName+'.'+newPropName);
	}

	return value;
}

function getIntDIVProp(objName,propName)
{
    textValue = getDIVProp(objName,propName);
	stripIndex = textValue.indexOf("p");
	if (stripIndex == -1) {
		stripIndex = textValue.indexOf("%");
	}
	if (stripIndex > 0) {
		textValue = textValue.substring(0,stripIndex);
		value = parseInt(textValue);
	} else {
		value = 0;
	}
	
    return value;
}

function moveDIV(objName,leftOffset,topOffset)
{
  setDIVProp(objName,'left',(getIntDIVProp(objName,'left')+leftOffset));
  setDIVProp(objName,'top',(getIntDIVProp(objName,'top')+topOffset));
}

function resizeDIV(objName,width,height)
{
  setDIVProp(objName,'width',width);
  setDIVProp(objName,'height',height);
}

function positionDIV(objName,left,top)
{
  setDIVProp(objName,'left',left);
  setDIVProp(objName,'top',top);
}

var savedLayers = null;
var numSavedLayers = 0;

function registerLayers() 
{
    var args=registerLayers.arguments;

	if (savedLayers == null) {
		savedLayers = new Array();
		numSavedLayers = 0;
	}
     	 	 
	for (index=0; index<args.length; index++) 
	{
		savedLayer = new Object();
		savedLayer.name = args[index];
		
		savedLayer.left    = getIntDIVProp(savedLayer.name,'left');
		savedLayer.width   = getIntDIVProp(savedLayer.name,'width');
		savedLayer.top     = getIntDIVProp(savedLayer.name,'top');
		savedLayer.height  = getIntDIVProp(savedLayer.name,'height');
		
		savedLayer.actualLeft    = getIntDIVProp(savedLayer.name,'left');
		savedLayer.actualWidth   = getIntDIVProp(savedLayer.name,'width');
		savedLayer.actualTop     = getIntDIVProp(savedLayer.name,'top');
		savedLayer.actualHeight  = getIntDIVProp(savedLayer.name,'height');
		
		savedLayers[numSavedLayers] = savedLayer;
		numSavedLayers = numSavedLayers + 1;
    }
}

function getSavedLayer(savedLayerName)
{
     for(index = 0; index < numSavedLayers; index++) {
	     if (savedLayers[index].name == savedLayerName) {
		     savedLayer = savedLayers[index];
			 break;	
		 }
	 }

	 return savedLayer;
}

function topStretchDIV(objName,pageWidth)
{
    var screenWidth = getWindowWidth();

	savedLayer = getSavedLayer(objName);
	
	positionDIV(objName,0,0);
	resizeDIV(objName,screenWidth,savedLayer.height);
		
	savedLayer.actualLeft    = getIntDIVProp(savedLayer.name,'left');
	savedLayer.actualWidth   = getIntDIVProp(savedLayer.name,'width');
	savedLayer.actualTop     = getIntDIVProp(savedLayer.name,'top');
	savedLayer.actualHeight  = getIntDIVProp(savedLayer.name,'height');
}

function bottomStretchDIV(objName,pageWidth,pageHeight)
{
    var screenWidth = getWindowWidth();
    var screenHeight = getWindowHeight();

	savedLayer = getSavedLayer(objName);
	if (screenHeight > pageHeight) {
		positionDIV(objName,0,screenHeight - savedLayer.height - 1);
	}
	resizeDIV(objName,screenWidth,savedLayer.height);
		
	savedLayer.actualLeft    = getIntDIVProp(savedLayer.name,'left');
	savedLayer.actualWidth   = getIntDIVProp(savedLayer.name,'width');
	savedLayer.actualTop     = getIntDIVProp(savedLayer.name,'top');
	savedLayer.actualHeight  = getIntDIVProp(savedLayer.name,'height');
}


function stretchBetweenDIVs(stretchObjName,topObjName,bottomObjName)
{
    var screenWidth = getWindowWidth();
    var screenHeight = getWindowHeight();
    var savedLayer,savedTopLayer,savedBottomLayer;
	
	savedStretchLayer = getSavedLayer(stretchObjName);
	savedTopLayer = getSavedLayer(topObjName);
	savedBottomLayer = getSavedLayer(bottomObjName);

	topLayerBottom = savedTopLayer.actualTop + savedTopLayer.actualHeight-1;
	bottomLayerTop = savedBottomLayer.actualTop;

	positionDIV(stretchObjName,savedStretchLayer.actualLeft,topLayerBottom+1);
	resizeDIV(stretchObjName,savedStretchLayer.actualWidth,bottomLayerTop-topLayerBottom-1);
		
	savedStretchLayer.actualLeft    = getIntDIVProp(savedStretchLayer.name,'left');
	savedStretchLayer.actualWidth   = getIntDIVProp(savedStretchLayer.name,'width');
	savedStretchLayer.actualTop     = getIntDIVProp(savedStretchLayer.name,'top');
	savedStretchLayer.actualHeight  = getIntDIVProp(savedStretchLayer.name,'height');
}


function rightAlignDIV(objName,pageWidth)
{
    var screenWidth = getWindowWidth();

	savedLayer = getSavedLayer(objName);
	
	if (screenWidth > pageWidth) {
		positionDIV(objName,screenWidth+savedLayer.left-pageWidth,savedLayer.top);
	}
		
	savedLayer.actualLeft    = getIntDIVProp(savedLayer.name,'left');
	savedLayer.actualWidth   = getIntDIVProp(savedLayer.name,'width');
	savedLayer.actualTop     = getIntDIVProp(savedLayer.name,'top');
	savedLayer.actualHeight  = getIntDIVProp(savedLayer.name,'height');
}

function bottomAlignDIV(objName,pageHeight)
{
    var screenHeight = getWindowHeight();

	savedLayer = getSavedLayer(objName);
	if (screenHeight > pageHeight) {
		positionDIV(objName,savedLayer.left,screenHeight+savedLayer.top-pageHeight);
	}
		
	savedLayer.actualLeft    = getIntDIVProp(savedLayer.name,'left');
	savedLayer.actualWidth   = getIntDIVProp(savedLayer.name,'width');
	savedLayer.actualTop     = getIntDIVProp(savedLayer.name,'top');
	savedLayer.actualHeight  = getIntDIVProp(savedLayer.name,'height');
}
