var maxgridln = 5;
function drawsizegrid(dims){
	var out = '';
	var grid = new Array();
	var i=0;
	var j=dims;
	var k=0;
	var label;
	var warn;
	var oldwarn;
	var warn2=0;
	var oldwarn2=0;
	out+='<table cellspacing="0" cellpadding="0" border="0">';
	// iterate through the descriptors and if they are too long, stick them on the end
	// initialize grid

	for(i=dims; i<sizegrid.length; i++){
		label = sizegrid[i -dims];
		sizegrid[i]=sizegrid[i].replace(/([.]*)[#]*$/, "$1");
		grid[i-dims]=(label+'#'+sizegrid[i]).split('#');
	}

	// fix grid element lengths
	for(i=0; i<j; i++){
		if(grid[i].length > maxgridln+2){ // + 2 due to the label being attached
			//		if(gridIndex > maxgridln+2){ // + 2 due to the label being attached
			var namearray = Array(grid[i][0]);
			grid[j]=namearray.concat(grid[i].slice(maxgridln+1,grid[i].length)); // move the rest to the end!
			//grid.push('');
			grid[i]=grid[i].slice(0,maxgridln+1); // slice the former
			j=j+1;	// update the size of the grid
			warn2=1;
		} else warn2=0;
		
		oldwarn2=warn2;
	}
	
	// there may be some rows to shunt
	var rc = 0
	var move = Array();
	if(grid.length % 2 == 1){ 
		var maxlen = grid[0].length;
		for(i=1; i<grid.length; i++){
			if(grid[i].length>=maxlen){
				maxlen = grid[i].length;
			} else {
				
				for(j=0;j<grid.length;j++){
					if(grid[i][0]==grid[j][0]){
						rc++;
					}
				}
				if(rc==1){
					move[move.length] = grid[i];
					grid[i]='';
				}
			}
		}
	}
	var moddims = dims;
	var skipped = 0;
	if(move.length>0){
		for(i=0;i<move.length;i++){
			grid[grid.length]=move[i];
			moddims = dims-1;
		}
	}
	
	// Draw the grid
	for(i=0; i<grid.length; i++){
		if(grid[i]!=''){
			out+='<tr><td class="small">'+grid[i][0]+'</td>';
			for(j=1; j<grid[i].length; j++){
				out+='<td class="small" align="center">&nbsp;'+grid[i][j]+'&nbsp;</td>';
			}
			out+='</tr>';
			if(i>0 && grid[i][0]!=grid[i-1][0]){
				if((i-skipped)%moddims==(moddims-1)){
					out+='<tr><td colspan="'+(dims+1)+'"><img src="/images/spacer.gif" width="1" height="5"/></td></tr>';
				}
			}
		} else {
			skipped++;
		}
	}
	out+='</table>';
	return out;
}

function doPrint(style){
	var style = style.replace(/([^\d\w]*)/g,'');
	var w = window.open('http://our-catalogue.com/proxy.php?p='+style+'&ref='+code+'&print', 'print_'+style, 'width=670,height=412,menubar=yes,resizable=yes,status=no,toolbar=yes,scrollbars=yes', 'false');
	w.focus();
}
function doEmailPrint(style){
	// for print btn on email views!
	var style = style.replace(/([^\d\w]*)/g,'');
	var w = window.open('http://our-catalogue.com/print.php?p='+style+'&ref='+code+'&print', 'print_'+style, 'width=670,height=412,menubar=yes,resizable=yes,status=no,toolbar=yes,scrollbars=yes', 'false');
	w.focus();
}

var pricedata;
function showPrice(){
	if(typeof(window['cfore'] ) == "undefined") {
		cfore = 'FFFFFF';
	}
	if(online=='true'){
		var notes_chk="";
		if(pricedata!=undefined && pricedata.length>0){
			cols = pricecols.length;
			out = '<div style="margin-top:10px; margin-bottom:10px"><table bgcolor="#'+cback+'" cellpadding="0" cellspacing="1" border="0">';
			for(var i=0; i<pricedata.length; i++){
				var notes = pricedata[i][0];
				var rout = '';
				if(notes_chk!=notes){
					if(notes_chk!=""){
						out+='</table></td></tr></table>';
					}
					
					out+='<br><table bgcolor="#'+cback+'" cellpadding="0" cellspacing="1" border="0"><tr><td style="color:#ffffff; height:19px; padding-left:4px;" valign="middle"><b>'+notes+'</b></td></tr><tr><td bgcolor="#'+cfore+'"><table cellpadding="2" cellspacing="0" border="0" id="printprices" bgcolor="'+cfore+'">';
					
					var isJustNote = true;  // no further data so dont show the headers or collumns and add a seperator
					for(var j=1; j<pricedata[i].length; j++){
						if(pricedata[i][j]!=''){
							isJustNote = false; // unless data is present!
							break;
						}
					}
					if(!isJustNote){
						rout='<tr>';
						for(var j=2; j<cols; j++){
							rout+='<td valign="middle"><b>'+pricecols[j]+'</b></td>';
						}
						rout=rout+'</tr>';		
					}
				}
				notes_chk = notes;
				if(!isJustNote){
					rout+='<tr>';
					var is_data = false;
					for(var j=1; j<cols-1; j++){
						if(pricedata[i][j]!=undefined){
							is_data = true;
							// if the column is just a number - then central align it
							if(pricedata[i][j].match("£")==null){
								rout+='<td align="center">'+(pricedata[i][j]!=undefined?pricedata[i][j]:'N/A')+'</td>';
							} else {
								rout+='<td>'+(pricedata[i][j]!=undefined?pricedata[i][j]:'N/A')+'</td>';
							}
						
							
						}
						
					}
					rout=rout+'</tr>';
				}
				if(is_data){
					out+=rout;
				}
			}
			out+='</table></td></tr></table></div>';
		} else {
			out='<div id="pricebox" style="margin-top:10px; margin-bottom:10px"><table bgcolor="#'+cback+'" cellpadding="0" cellspacing="1" border="0"><tr><td style="color:#ffffff; height:19px; padding-left:4px;" valign="middle"><b>PRICE</b></td></tr><tr><td bgcolor="#'+cfore+'"><table cellpadding="2" cellspacing="0" border="0" id="printprices" bgcolor="#'+cfore+'">';
			out+='<tr><td valign="top">Price on application.</td></tr>';
			out+='</table></td></tr></table></div>';
		}
		return out;
	}
}
