/*
======================================================================

adaptLayout.js


author:		Timothy Groves
			desk [at] brandspankingnew.net
version:	1.

tested on:	Safari 2.0 Mac / FF 1.0.6 Mac / Opera 8 Mac
			FF 1 PC / IE 6 PC

history:	28.10.2005	-	created
			18.07.2007  -   adapted (Lee Griffin, UWE)



======================================================================
*/



var adaptLayout = {

	rowsArr : new Array(),
	
	init : function ()
	{
				if (document.getElementById('splitPara')){
		document.getElementById('splitPara').style.display = 'block';
		}
		if ( !document.getElementById )
			return false;
		window.onresize = adaptLayout.setLayout;
		
		adaptLayout.setLayout();
	},
	
	addRow : function (o)
	{
		adaptLayout.rowsArr.push( o );
	},
	
	setLayout : function ()
	{
 	if (document.getElementById('wrapper')) {
		var o, c, cw, tw, rw, i, j, k, e, rows, tmp, vw, n, navw;
		var tagCheck = 0;
		for ( k in adaptLayout.rowsArr ) {
			o = adaptLayout.rowsArr[k];
			

			// get container
			c = rowElement;
			
			//c = document.getElementById( o.container );
			
			// get width of container
			cw = c.offsetWidth-20;
		
			
	
			// get rows
			//
			//
			rows = new Array();
			
			rows[0] = new Array(); // start first row
			rw=0; // init row width
			n = 0;
			for (i=0;i<o.columns.length;i++) {
				// calculate width of col
				tmp = (o.columns[i].fw)  ?  o.columns[i].fw  :  o.columns[i].mw;
				tmp -= 0; // convert to int
				if (rw+tmp < cw) {
					rw+=tmp;
				} else {
					// new row
					rows[rows.length] = new Array();
					rw = tmp;
					n++;
				}
				// add a column to row
				rows[0+n].push( o.columns[i] );
			}
			
			
			// set col widths
			//
			//
			for (i=0;i<rows.length;i++) {
				fww = 0; nfw = 0;
				for (j=0;j<rows[i].length;j++) {
					// get all fixed width cols in row
					if ( rows[i][j].fw ) {
						e = document.getElementById( rows[i][j].id );
						e.style.width = rows[i][j].fw+"px";
						e.style.height = "auto";
						nfw++;
						fww += rows[i][j].fw;
					}
				}
				if (nfw == rows[i].length) { // no variable-width rows available!
					vw = Math.round( cw / nfw );
					for (j=0;j<rows[i].length;j++) {
						e = document.getElementById( rows[i][j].id );
						e.style.width = vw+"px";
						e.style.height = "auto";
					}		
				} else {
					navw = 0;
					//alert(document.getElementById('wrapper').offsetHeight);
					// calculate variable-width col width

					vw = Math.round( ( (cw - fww) / (rows[i].length - nfw) ) - 30 );
					for (j=0;j<rows[i].length;j++) {
						if ( rows[i][j].mw ) { // get all variable width cols in row
							if ( vw > 700) {
								vw=700;	
							}
							navw = 162;
							if ( vw + navw > document.body.clientWidth ){
								vw = document.body.clientWidth - navw - 50;	
							}
							if (vw+30 < rows[i][j].mw) {
								vw = rows[i][j].mw;
							}
								
							if(document.getElementById('wrapper')){
								//alert(document.getElementById('col_one').offsetHeight + document.getElementById('col_two').offsetHeight);
	
								if (document.getElementById('col_one').offsetHeight + document.getElementById('col_two').offsetHeight <= 250) {		
									vw = 700;
									tagCheck = 1;
								}	
								else {
									tagcheck = 0;

}
							}
								e = document.getElementById( rows[i][j].id );
								e.style.width = vw+"px";
								e.style.height = "auto";
								if (rows[i].length > 1) {
									if (document.getElementById('splitPara')) {
										if (document.getElementById('splitPara').style.display == 'none'){
											document.getElementById('slashedPara').innerHTML = document.getElementById('slashedPara').innerHTML.slice(0,(document.getElementById('slashedPara').innerHTML.length-document.getElementById('splitPara').innerHTML.length));
											document.getElementById('splitPara').style.display = 'block';
										}
									}
									if (j == 0) {
										e.style.paddingRight = "20px";
									if(document.getElementById('col_two').offsetHeight > 5 && tagCheck == 0) {
										e.style.borderRight = "1px dotted #990000";
									}
									else {
										e.style.borderRight = "0px";
										e.style.width = 700+"px";
									}
									}
									if (j == 1) {
										if(tagCheck == 1) {
											e.style.paddingLeft = "0px";
										}
									}
								}
								
								else {
									if (document.getElementById('splitPara')) {
										if (document.getElementById('splitPara').style.display == 'block'){
									document.getElementById('slashedPara').innerHTML += " " + document.getElementById('splitPara').innerHTML;
									document.getElementById('splitPara').style.display = 'none';
										}
									}
									e.style.borderRight = "0px";
									e.style.paddingLeft = "0px";
									e.style.paddingRight = "0px";
								}
							}
						}
					
					}
				}
			}

		}

}

	
	};

adaptLayout.addRow(
		{
			container : 	'rows',
			columns : 		new Array (
								{  id : 'col_one',  mw : 500  },
								{  id : 'col_two',  mw : 500  }
							)
		}
		);