var dom;
	var dom2;
	
	var item1name;
	var item2name;
	var editorialLink;
	var finishHeight;
	var upDelta = 20;
	var downDelta = 10;
	var menuDelta = 3;
	var controlDelta = 3;
	
	var positionArray;
	var arrayFilled = false;
	
	var itemArray;
	
	var area1Name = "pane1";
	var area2Name = "pane2";
	var area3Name = "pane3";
	var area4Name = "pane4";
	var areaHomeName = "paneHome";
	var areaMenuName = "paneMenu";
	var areaControlName = "transitionPane";
	
	var currentHeight = -660;
	var bottomHeight = 50;
	var topHeight = -660
	
	var currentHeight2 = -960;
	var bottomHeight2 = 50;
	var topHeight2 = -960
	
	var currentHeight3 = -660;
	var bottomHeight3 = 50;
	var topHeight3 = -660
	
	var currentHeight4 = -660;
	var bottomHeight4 = 50;
	var topHeight4 = -660
	
	var currentHeightHome = 50;
	var bottomHeightHome = 50;
	var topHeightHome = -660
	
	var currentHeightMenu = 150;
	var bottomHeightMenu = 170;
	var topHeightMenu = 80
	
	var currentHeightControl = -130;
	var bottomHeightControl = 0;
	var topHeightControl = -130
	
	var currentpage;
	var leftPage;
	var rightPage;
	
	var transition_control = 1;
	var control_direction = "up";
	
	$timerId = 0;
	$timerId2 = 0;

	function changeHeight(item) {
		
		if(!this.arrayFilled) {
			init();
		}
		
		if(item == this.areaControlName) {
			this.itemArray = 6;
			if(this.control_direction == "up") {
				this.control_direction = "down";
			}else{
				this.control_direction = "up";
			}
			
			if($timerId2 == 0) {
				$timerId2 = setInterval('this.animateControl()', 25);
			}
		}else{
		
			switch(item) {
			
				case this.area1Name:
					this.itemArray = 0;
					break;
				case this.area2Name:
					this.itemArray = 1;
					break;
				case this.area3Name:
					this.itemArray = 2;
					break;
				case this.area4Name:
					this.itemArray = 3;
					break;
				case this.areaHomeName:
					this.itemArray = 4;
					break;
				case this.areaMenuName:
					this.itemArray = 5;
					break;
			}
			
			if($timerId == 0) {
				$timerId = setInterval('this.animateHeight()', 25);
			}
		}
		
		return false;
	}
	
	function animateHeight() {
		$done1 = false;
		$done2 = false;
		$done3 = false;
		$done4 = false;
		$doneHome = false;
		$doneMenu = false;
		
		if(this.transition_control == 1) {
			$acentionDelta = this.upDelta;
			$declinationDelta = this.downDelta;
		}else{
			$acentionDelta = 10000;
			$declinationDelta = 10000;
		}
		
		if(this.itemArray == 0) {
			if(this.positionArray[0][0] != this.positionArray[0][1]) {
				this.positionArray[0][0] += $declinationDelta;
				if(this.positionArray[0][0] > this.positionArray[0][1]) {
					this.positionArray[0][0] = this.positionArray[0][1];
				}
				setStyleById(this.area1Name,"top",this.positionArray[0][0] + "px");
			}else{
				$done1 = true;
			}
		}else{
			if(this.positionArray[0][0] != this.positionArray[0][2]) {
				this.positionArray[0][0] -= $acentionDelta;
				if(this.positionArray[0][0] < this.positionArray[0][2]) {
					this.positionArray[0][0] = this.positionArray[0][2];
				}
				setStyleById(this.area1Name,"top",this.positionArray[0][0] + "px");
			}else{
				$done1 = true;
			}
		}
		//*************************
		if(this.itemArray == 1) {
			if(this.positionArray[1][0] != this.positionArray[1][1]) {
				this.positionArray[1][0] += $declinationDelta;
				if(this.positionArray[1][0] > this.positionArray[1][1]) {
					this.positionArray[1][0] = this.positionArray[1][1];
				}
				setStyleById(this.area2Name,"top",this.positionArray[1][0] + "px");
			}else{
				$done2 = true;
			}
		}else{
			if(this.positionArray[1][0] != this.positionArray[1][2]) {
				this.positionArray[1][0] -= $acentionDelta;
				if(this.positionArray[1][0] < this.positionArray[1][2]) {
					this.positionArray[1][0] = this.positionArray[1][2];
				}
				setStyleById(this.area2Name,"top",this.positionArray[1][0] + "px");
			}else{
				$done2 = true;
			}
		}
		//*************************
		if(this.itemArray == 2) {
			if(this.positionArray[2][0] != this.positionArray[0][1]) {
				this.positionArray[2][0] += $declinationDelta;
				if(this.positionArray[2][0] > this.positionArray[0][1]) {
					this.positionArray[2][0] = this.positionArray[0][1];
				}
				setStyleById(this.area3Name,"top",this.positionArray[2][0] + "px");
			}else{
				$done3 = true;
			}
		}else{
			if(this.positionArray[2][0] != this.positionArray[2][2]) {
				this.positionArray[2][0] -= $acentionDelta;
				if(this.positionArray[2][0] < this.positionArray[2][2]) {
					this.positionArray[2][0] = this.positionArray[2][2];
				}
				setStyleById(this.area3Name,"top",this.positionArray[2][0] + "px");
			}else{
				$done3 = true;
			}
		}
		//*************************
		if(this.itemArray == 3) {
			if(this.positionArray[3][0] != this.positionArray[0][1]) {
				this.positionArray[3][0] += $declinationDelta;
				if(this.positionArray[3][0] > this.positionArray[0][1]) {
					this.positionArray[3][0] = this.positionArray[0][1];
				}
				setStyleById(this.area4Name,"top",this.positionArray[3][0] + "px");
			}else{
				$done4 = true;
			}
		}else{
			if(this.positionArray[3][0] != this.positionArray[3][2]) {
				this.positionArray[3][0] -= $acentionDelta;
				if(this.positionArray[3][0] < this.positionArray[3][2]) {
					this.positionArray[3][0] = this.positionArray[3][2];
				}
				setStyleById(this.area4Name,"top",this.positionArray[3][0] + "px");
			}else{
				$done4 = true;
			}
		}
		//*************************
		if(this.itemArray == 4) {
			if(this.positionArray[4][0] != this.positionArray[0][1]) {
				this.positionArray[4][0] += $declinationDelta;
				if(this.positionArray[4][0] > this.positionArray[0][1]) {
					this.positionArray[4][0] = this.positionArray[0][1];
				}
				setStyleById(this.areaHomeName,"top",this.positionArray[4][0] + "px");
			}else{
				$doneHome = true;
			}
		}else{
			if(this.positionArray[4][0] != this.positionArray[4][2]) {
				this.positionArray[4][0] -= $acentionDelta;
				if(this.positionArray[4][0] < this.positionArray[4][2]) {
					this.positionArray[4][0] = this.positionArray[4][2];
				}
				setStyleById(this.areaHomeName,"top",this.positionArray[4][0] + "px");
			}else{
				$doneHome = true;
			}
		}
		//*************************
		if(this.itemArray == 4) {
			if(this.positionArray[5][0] != this.positionArray[5][1]) {
				this.positionArray[5][0] += this.menuDelta;
				if(this.positionArray[5][0] > this.positionArray[5][1]) {
					this.positionArray[5][0] = this.positionArray[5][1];
				}
				setStyleById(this.areaMenuName,"top",this.positionArray[5][0] + "px");
			}else{
				$doneMenu = true;
			}
		}else{
			if(this.positionArray[5][0] != this.positionArray[5][2]) {
				this.positionArray[5][0] -= this.menuDelta;
				if(this.positionArray[5][0] < this.positionArray[5][2]) {
					this.positionArray[5][0] = this.positionArray[5][2];
				}
				setStyleById(this.areaMenuName,"top",this.positionArray[5][0] + "px");
			}else{
				$doneMenu = true;
			}
		}
		//*************************
		if(this.itemArray == 6) {
			if(this.positionArray[6][0] != this.positionArray[6][1]) {
				this.positionArray[6][0] += this.controlDelta;
				if(this.positionArray[6][0] > this.positionArray[6][1]) {
					this.positionArray[6][0] = this.positionArray[6][1];
				}
				setStyleById(this.areaControlName,"top",this.positionArray[6][0] + "px");
			}else{
				$doneControl = true;
			}
		}else{
			if(this.positionArray[6][0] != this.positionArray[6][2]) {
				this.positionArray[6][0] -= this.controlDelta;
				if(this.positionArray[6][0] < this.positionArray[6][2]) {
					this.positionArray[6][0] = this.positionArray[6][2];
				}
				setStyleById(this.areaControlName,"top",this.positionArray[6][0] + "px");
			}else{
				$doneControl = true;
			}
		}
		//*************************
		
		if($done1 && $done2 && $done3 && $done4 && $doneHome && $doneMenu) {
			
			clearInterval($timerId);
			$timerId = 0;
			//alert($timerId);
		}
	}
	
	function animateControl() {
		$doneControl = false;
		
		//*************************
		if(this.control_direction == "down") {
			if(this.positionArray[6][0] != this.positionArray[6][1]) {
				this.positionArray[6][0] += this.controlDelta;
				if(this.positionArray[6][0] > this.positionArray[6][1]) {
					this.positionArray[6][0] = this.positionArray[6][1];
				}
				setStyleById(this.areaControlName,"top",this.positionArray[6][0] + "px");
			}else{
				$doneControl = true;
			}
		}else{
			if(this.positionArray[6][0] != this.positionArray[6][2]) {
				this.positionArray[6][0] -= this.controlDelta;
				if(this.positionArray[6][0] < this.positionArray[6][2]) {
					this.positionArray[6][0] = this.positionArray[6][2];
				}
				setStyleById(this.areaControlName,"top",this.positionArray[6][0] + "px");
			}else{
				$doneControl = true;
			}
		}
		//*************************
		
		if($doneControl) {
			
			clearInterval($timerId2);
			$timerId2 = 0;
			//alert($timerId);
		}
	}
	
	function init() {
		this.positionArray = new Array();
		this.positionArray[0] = new Array();
		this.positionArray[1] = new Array();
		this.positionArray[2] = new Array();
		this.positionArray[3] = new Array();
		this.positionArray[4] = new Array();
		this.positionArray[5] = new Array();
		this.positionArray[6] = new Array();
		
		this.positionArray[0][0] = this.currentHeight;
		this.positionArray[0][1] = this.bottomHeight;
		this.positionArray[0][2] = this.topHeight;
		
		this.positionArray[1][0] = this.currentHeight2;
		this.positionArray[1][1] = this.bottomHeight2;
		this.positionArray[1][2] = this.topHeight2;
		
		this.positionArray[2][0] = this.currentHeight3;
		this.positionArray[2][1] = this.bottomHeight3;
		this.positionArray[2][2] = this.topHeight3;
		
		this.positionArray[3][0] = this.currentHeight4;
		this.positionArray[3][1] = this.bottomHeight4;
		this.positionArray[3][2] = this.topHeight4;
		
		this.positionArray[4][0] = this.currentHeightHome;
		this.positionArray[4][1] = this.bottomHeightHome;
		this.positionArray[4][2] = this.topHeightHome;
		
		this.positionArray[5][0] = this.currentHeightMenu;
		this.positionArray[5][1] = this.bottomHeightMenu;
		this.positionArray[5][2] = this.topHeightMenu;
		
		this.positionArray[6][0] = this.currentHeightControl;
		this.positionArray[6][1] = this.bottomHeightControl;
		this.positionArray[6][2] = this.topHeightControl;
		
		this.arrayFilled = true;
	}
	
	function transitionControl() {
		if(document.Tform.Tcheckbox.checked == true) {
			this.transition_control = 1;
		}else{
			this.transition_control = 0;
		}
		this.control_direction = "up";
		if($timerId2 == 0) {
			$timerId2 = setInterval('this.animateControl()', 25);
		}
	}

// Copyright © 2001 by Apple Computer, Inc., All Rights Reserved.
//
// You may incorporate this Apple sample code into your own code
// without restriction. This Apple sample code has been provided "AS IS"
// and the responsibility for its operation is yours. You may redistribute
// this code, but you are not permitted to redistribute it as
// "Apple sample code" after having made changes.

// ugly workaround for missing support for selectorText in Netscape6/Mozilla
// call onLoad() or before you need to do anything you would have otherwise used
// selectorText for.
var ugly_selectorText_workaround_flag = false;
var allStyleRules;
// code developed using the following workaround (CVS v1.15) as an example.
// http://lxr.mozilla.org/seamonkey/source/extensions/xmlterm/ui/content/XMLTermCommands.js
function ugly_selectorText_workaround() {
        if((navigator.userAgent.indexOf("Gecko") == -1) ||
           (ugly_selectorText_workaround_flag)) {
                return; // we've already been here or shouldn't be here
        }
        var styleElements = document.getElementsByTagName("style");
        
        for(var i = 0; i < styleElements.length; i++) {
                var styleText = styleElements[i].firstChild.data;
                // this should be using match(/\b[\w-.]+(?=\s*\{)/g but ?= causes an
                // error in IE5, so we include the open brace and then strip it
                allStyleRules = styleText.match(/\b[\w-.]+(\s*\{)/g);
        }
		//if(styleElements.length != 0) {
			for(var i = 0; i < allStyleRules.length; i++) {
					// probably insufficient for people who like random gobs of 
					// whitespace in their styles
					allStyleRules[i] = allStyleRules[i].substr(0, (allStyleRules[i].length - 2));
			}
		//}
        ugly_selectorText_workaround_flag = true;
}


// setStyleById: given an element id, style property and 
// value, apply the style.
// args:
//  i - element id
//  p - property
//  v - value
//
function setStyleById(i, p, v) {
        var n = document.getElementById(i);
        n.style[p] = v;
}

// getStyleById: given an element ID and style property
// return the current setting for that property, or null.
// args:
//  i - element id
//  p - property
function getStyleById(i, p) {
        var n = document.getElementById(i);
        var s = eval("n.style." + p);

        // try inline
        if((s != "") && (s != null)) {
                return s;
        }

        // try currentStyle
        if(n.currentStyle) {
                var s = eval("n.currentStyle." + p);
                if((s != "") && (s != null)) {
                        return s;
                }
        }
        
        // try styleSheets
        var sheets = document.styleSheets;
        if(sheets.length > 0) {
                // loop over each sheet
                for(var x = 0; x < sheets.length; x++) {
                        // grab stylesheet rules
                        var rules = sheets[x].cssRules;
                        if(rules.length > 0) {
                                // check each rule
                                for(var y = 0; y < rules.length; y++) {
                                        var z = rules[y].style;
                                        // selectorText broken in NS 6/Mozilla: see
                                        // http://bugzilla.mozilla.org/show_bug.cgi?id=51944
                                        ugly_selectorText_workaround();
                                        if(allStyleRules) {
                                                if(allStyleRules[y] == i) {
                                                        return z[p];
                                                }                       
                                        } else {
                                                // use the native selectorText and style stuff
                                                if(((z[p] != "") && (z[p] != null)) ||
                                                   (rules[y].selectorText == i)) {
                                                        return z[p];
                                                }
                                        }
                                }
                        }
                }
        }
        return null;
}

// setStyleByClass: given an element type and a class selector,
// style property and value, apply the style.
// args:
//  t - type of tag to check for (e.g., SPAN)
//  c - class name
//  p - CSS property
//  v - value
var ie = (document.all) ? true : false;

function setStyleByClass(t,c,p,v){
        var elements;
        if(t == '*') {
                // '*' not supported by IE/Win 5.5 and below
                elements = (ie) ? document.all : document.getElementsByTagName('*');
        } else {
                elements = document.getElementsByTagName(t);
        }
        for(var i = 0; i < elements.length; i++){
                var node = elements.item(i);
                for(var j = 0; j < node.attributes.length; j++) {
                        if(node.attributes.item(j).nodeName == 'class') {
                                if(node.attributes.item(j).nodeValue == c) {
                                        eval('node.style.' + p + " = '" +v + "'");
                                }
                        }
                }
        }
}

// getStyleByClass: given an element type, a class selector and a property,
// return the value of the property for that element type.
// args:
//  t - element type
//  c - class identifier
//  p - CSS property
function getStyleByClass(t, c, p) {
        // first loop over elements, because if they've been modified they
        // will contain style data more recent than that in the stylesheet
        var elements;
        if(t == '*') {
                // '*' not supported by IE/Win 5.5 and below
                elements = (ie) ? document.all : document.getElementsByTagName('*');
        } else {
                elements = document.getElementsByTagName(t);
        }
        for(var i = 0; i < elements.length; i++){
                var node = elements.item(i);
                for(var j = 0; j < node.attributes.length; j++) {
                        if(node.attributes.item(j).nodeName == 'class') {
                                if(node.attributes.item(j).nodeValue == c) {
                                        var theStyle = eval('node.style.' + p);
                                        if((theStyle != "") && (theStyle != null)) {
                                                return theStyle;
                                        }
                                }
                        }
                }               
        }
        // if we got here it's because we didn't find anything
        // try styleSheets
        var sheets = document.styleSheets;
        if(sheets.length > 0) {
                // loop over each sheet
                for(var x = 0; x < sheets.length; x++) {
                        // grab stylesheet rules
                        var rules = sheets[x].cssRules;
                        if(rules.length > 0) {
                                // check each rule
                                for(var y = 0; y < rules.length; y++) {
                                        var z = rules[y].style;
                                        // selectorText broken in NS 6/Mozilla: see
                                        // http://bugzilla.mozilla.org/show_bug.cgi?id=51944
                                        ugly_selectorText_workaround();
                                        if(allStyleRules) {
                                                if((allStyleRules[y] == c) ||
                                                   (allStyleRules[y] == (t + "." + c))) {
                                                        return z[p];
                                                }                       
                                        } else {
                                                // use the native selectorText and style stuff
                                                if(((z[p] != "") && (z[p] != null)) &&
                                                   ((rules[y].selectorText == c) ||
                                                    (rules[y].selectorText == (t + "." + c)))) {
                                                        return z[p];
                                                }
                                        }
                                }
                        }
                }
        }

        return null;
}

// setStyleByTag: given an element type, style property and 
// value, and whether the property should override inline styles or
// just global stylesheet preferences, apply the style.
// args:
//  e - element type or id
//  p - property
//  v - value
//  g - boolean 0: modify global only; 1: modify all elements in document
function setStyleByTag(e, p, v, g) {
        if(g) {
                var elements = document.getElementsByTagName(e);
                for(var i = 0; i < elements.length; i++) {
                        elements.item(i).style[p] = v;
                }
        } else {
                var sheets = document.styleSheets;
                if(sheets.length > 0) {
                        for(var i = 0; i < sheets.length; i++) {
                                var rules = sheets[i].cssRules;
                                if(rules.length > 0) {
                                        for(var j = 0; j < rules.length; j++) {
                                                var s = rules[j].style;
                                                // selectorText broken in NS 6/Mozilla: see
                                                // http://bugzilla.mozilla.org/show_bug.cgi?id=51944
                                                ugly_selectorText_workaround();
                                                if(allStyleRules) {
                                                        if(allStyleRules[j] == e) {
                                                                s[p] = v;
                                                        }                       
                                                } else {
                                                        // use the native selectorText and style stuff
                                                        if(((s[p] != "") && (s[p] != null)) &&
                                                           (rules[j].selectorText == e)) {
                                                                s[p] = v;
                                                        }
                                                }

                                        }
                                }
                        }
                }
        }
}

// getStyleByTag: given an element type and style property, return
// the property's value
// args:
//  e - element type
//  p - property
function getStyleByTag(e, p) {
        var sheets = document.styleSheets;
        if(sheets.length > 0) {
                for(var i = 0; i < sheets.length; i++) {
                        var rules = sheets[i].cssRules;
                        if(rules.length > 0) {
                                for(var j = 0; j < rules.length; j++) {
                                        var s = rules[j].style;
                                        // selectorText broken in NS 6/Mozilla: see
                                        // http://bugzilla.mozilla.org/show_bug.cgi?id=51944
                                        ugly_selectorText_workaround();
                                        if(allStyleRules) {
                                                if(allStyleRules[j] == e) {
                                                        return s[p];
                                                }                       
                                        } else {
                                                // use the native selectorText and style stuff
                                                if(((s[p] != "") && (s[p] != null)) &&
                                                   (rules[j].selectorText == e)) {
                                                        return s[p];
                                                }
                                        }

                                }
                        }
                }
        }

        // if we don't find any style sheets, return the value for the first
        // element of this type we encounter without a CLASS or STYLE attribute
        var elements = document.getElementsByTagName(e);
        var sawClassOrStyleAttribute = false;
        for(var i = 0; i < elements.length; i++) {
                var node = elements.item(i);
                for(var j = 0; j < node.attributes.length; j++) {
                        if((node.attributes.item(j).nodeName == 'class') ||
                           (node.attributes.item(j).nodeName == 'style')){
                           sawClassOrStyleAttribute = true;
                        }
                }
                if(! sawClassOrStyleAttribute) {
                        return elements.item(i).style[p];
                }
        }
}
