function IconGroup(path,iconType,displayname,namePrefix,startIndex,offset,includeDeClutteredIcons,extension)
{ 
	this.path= path; 
	this.iconType =iconType; 
	this.displayname=displayname;
	this.namePrefix =namePrefix; 
	this.startIndex =startIndex;
	this.offset =offset; 
	this.includeDeClutteredIcons =includeDeClutteredIcons; 
	this.extension =extension; 
} 
function view() 
{ 			 
	 with (this) document.write('path :' + path+'<br> '); 
	 with (this) document.write('iconType :' + iconType+'<br> '); 
	 with (this) document.write('displayname :' + displayname+'<br>'); 
	 with (this) document.write('namePrefix :' + namePrefix+'<br>'); 
	 with (this) document.write('startIndex :' + startIndex+'<br>'); 
	 with (this) document.write('offset :' + offsetIndex+'<br>'); 
	 with (this) document.write('includeDeClutteredIcons :' +includeDeClutteredIcons+'<br>'); 
	 with (this) document.write('extension :' + extension+'<br>'); 
} 
function formIconName() 
{ 
	 var name =''; 
	 with (this) name =path ; 
	 alert(name); 
	 return name; 
} 
function isNegative(num){
	 if (parseInt(num) < 0)
			return true;
			return false;
}
/* call this method to get the rows in table row format. */ 
function getRows() 
{ 
			
	 separatorChar = "/";
	 if (this.path != "")
	 { 
		 imagepath = this.path + separatorChar + this.namePrefix;
		 var columnData = "";
		 var rowData = "";
		 //check if there is a valid range.
		 if (!isNegative(this.startIndex) && !isNegative(this.offset)){
				//Loop and find all the images
				var indx = 0;
				
				for (indx = parseInt(this.startIndex);indx <(parseInt(this.startIndex) + parseInt(this.offset));indx++){
						var commonpath= imagepath + this.delimiter +indx;
						var finalpath = commonpath + this.extension;
						if (this.displayname === ""){
							 label = indx;
						}else{
							 label = this.displayname + this.delimiter +indx;	
						}
						columnData = createColumn(label) + createImageColumn(finalpath);
						if (this.includeDeClutteredIcons){
							 var declutterdImgPath = commonpath + this.delimiter +"only" + this.extension;
							 columnData = columnData + createImageColumn(declutterdImgPath);
						}
						if (rowData == ""){
							 rowData = createRow(columnData);
						}else{
							 rowData = rowData + createRow(columnData);	
						}
					}
		 }else{
				//No index. Just attach	 			
				finalpath = imagepath + this.extension;
				columnData = createColumn(this.displayname) + createImageColumn(finalpath);
				if (this.includeDeClutteredIcons){
					 declutterdImgPath = imagepath + this.delimiter +"only" +this.extension;
					 columnData = columnData + createImageColumn(declutterdImgPath);								 
				}
				rowData = createRow(columnData);							
		 }
		 return rowData;
	 }else{
		alert('Path not given');
	 } 
				 
} 
function createTable(data){
	 var table = "<table><tr><th colspan=2>Icon label</th><th colspan=2>Icon (used when decluttering is disabled)</th><th colspan=2>Icon (used when decluttered offset is given)</th></tr><tbody>"+data+"</tbody></table>";
	 return table;
}

function create2ColTable(data){
	 var table = "<table><tr><th colspan=2>Icon label</th><th colspan=2>Icon</th><tr><tbody>"+data+"</tbody></table>";
	 return table;
}

function createRow(data){
	 var record = "<TR>"+data+"</TR>"
	 return record;
}
function createColumn(data){
	 var col = "<TD colspan=2>&nbsp;"+data+"</TD>"
	 return col;
}
function createImageColumn(data){
	 var col = "<TD colspan=2>&nbsp;<IMG src=" + data + "></TD>"
	 return col;
}
function getSelectedIconType() {
	var e = document.getElementById("poicolorindxgrp");
	var iconType = e.options[e.selectedIndex].value;
	showPoiIcons(iconType);
}
IconGroup.prototype.view=view;
IconGroup.prototype.getRows=getRows;
IconGroup.prototype.delimiter='-'; 


function showPoiIcons(iconType) {
    var html = '';

	var rows;
	if( iconType === 'poiindxgrp' ) {
		var poiindxgrp = new IconGroup('/staticmap/cdn/print','poi','','poi',1,150,true,'.png');
		rows = poiindxgrp.getRows();
	}
	else if(iconType === 'poicolorgrp' ) {

		var poibluegrp=new IconGroup('/staticmap/cdn/print','poi','blue','poi-blue',-1,-1,true,'.png');
		var poigreengrp=new IconGroup('/staticmap/cdn/print','poi','green','poi-green',-1,-1,true,'.png');
		var poiorangegrp=new IconGroup('/staticmap/cdn/print','poi','orange','poi-orange',-1,-1,true,'.png');
		var poipurplegrp=new IconGroup('/staticmap/cdn/print','poi','purple','poi-purple',-1,-1,true,'.png');
		var poiwhitegrp=new IconGroup('/staticmap/cdn/print','poi','white','poi-white',-1,-1,true,'.png');
		var poiyellowgrp=new IconGroup('/staticmap/cdn/print','poi','yellow','poi-yellow',-1,-1,true,'.png');

		rows = poibluegrp.getRows();
		rows += poigreengrp.getRows();
		rows += poiorangegrp.getRows();
		rows += poipurplegrp.getRows();
		rows += poiwhitegrp.getRows();
		rows += poiyellowgrp.getRows();
	}
	else if(iconType === 'poisupercolorgrp' ) {
		var poibluesupergrp=new IconGroup('/staticmap/cdn/print','poi','blue-s','poi-blue-s',-1,-1,true,'.png');
		var poigreensupergrp=new IconGroup('/staticmap/cdn/print','poi','green-s','poi-green-s',-1,-1,true,'.png');
		var poiorangesupergrp=new IconGroup('/staticmap/cdn/print','poi','orange-s','poi-orange-s',-1,-1,true,'.png');
		var poipurplesupergrp=new IconGroup('/staticmap/cdn/print','poi','purple-s','poi-purple-s',-1,-1,true,'.png');
		var poiwhitesupergrp=new IconGroup('/staticmap/cdn/print','poi','white-s','poi-white-s',-1,-1,true,'.png');
		var poiyellowsupergrp=new IconGroup('/staticmap/cdn/print','poi','yellow-s','poi-yellow-s',-1,-1,true,'.png');
		rows = poibluesupergrp.getRows();
		rows += poigreensupergrp.getRows();
		rows += poiorangesupergrp.getRows();
		rows += poipurplesupergrp.getRows();
		rows += poiwhitesupergrp.getRows();
		rows += poiyellowsupergrp.getRows();

	}
	else if(iconType === 'poibluecolorindxgrp' ) {
		var poibluecolorindxgrp = new IconGroup('/staticmap/cdn/print','poi','blue','poi-blue',0,151,true,'.png');
		rows = poibluecolorindxgrp.getRows();
	}
	else if(iconType === 'poigreencolorindxgrp' ) {
		var poigreencolorindxgrp = new IconGroup('/staticmap/cdn/print','poi','green','poi-green',0,151,true,'.png');
		rows = poigreencolorindxgrp.getRows();

	}
	else if(iconType === 'poiorangecolorindxgrp' ) {
		var poiorangecolorindxgrp = new IconGroup('/staticmap/cdn/print','poi','orange','poi-orange',0,151,true,'.png');
		rows = poiorangecolorindxgrp.getRows();
	}
	else if(iconType === 'poipurplecolorindxgrp' ) {
		var poipurplecolorindxgrp = new IconGroup('/staticmap/cdn/print','poi','purple','poi-purple',0,151,true,'.png');
		rows = poipurplecolorindxgrp.getRows();
	}
	else if(iconType === 'poiwhitecolorindxgrp' ) {
		var poiwhitecolorindxgrp = new IconGroup('/staticmap/cdn/print','poi','white','poi-white',0,151,true,'.png');
		rows = poiwhitecolorindxgrp.getRows();
	}
	else if(iconType === 'poiyellowcolorindxgrp' ) {
		var poiyellowcolorindxgrp = new IconGroup('/staticmap/cdn/print','poi','yellow','poi-yellow',0,151,true,'.png');
		rows = poiyellowcolorindxgrp.getRows();
	}

	htmlStr=createTable(rows);
	var el = document.getElementById('poisicons_container');
	el.innerHTML = htmlStr;
}


function getStopIcons() {
    var html = '';
	var rows;
	var stopa = new IconGroup('/staticmap/cdn/print','stop','a','stop-a',-1,-1,false,'.png');
	var stopb = new IconGroup('/staticmap/cdn/print','stop','b','stop-b',-1,-1,false,'.png');
	var stopc = new IconGroup('/staticmap/cdn/print','stop','c','stop-c',-1,-1,false,'.png');
	var stopd = new IconGroup('/staticmap/cdn/print','stop','d','stop-d',-1,-1,false,'.png');
	var stope = new IconGroup('/staticmap/cdn/print','stop','e','stop-e',-1,-1,false,'.png');
	var stopf = new IconGroup('/staticmap/cdn/print','stop','f','stop-f',-1,-1,false,'.png');
	var stopg = new IconGroup('/staticmap/cdn/print','stop','g','stop-g',-1,-1,false,'.png');
	var stoph = new IconGroup('/staticmap/cdn/print','stop','h','stop-h',-1,-1,false,'.png');
	var stopi = new IconGroup('/staticmap/cdn/print','stop','i','stop-i',-1,-1,false,'.png');
	var stopj = new IconGroup('/staticmap/cdn/print','stop','j','stop-j',-1,-1,false,'.png');


	rows = stopa.getRows();
	rows += stopb.getRows();
	rows += stopc.getRows();
	rows += stopd.getRows();
	rows += stope.getRows();
	rows += stopf.getRows();
	rows += stopg.getRows();
	rows += stoph.getRows();
	rows += stopi.getRows();
	rows += stopj.getRows();

	htmlStr=create2ColTable(rows);
	return htmlStr;
}
function showStopIcons() {
    var htmlStr = '';

	htmlStr=getStopIcons()

	var el = document.getElementById('stopsicons_container');
	el.innerHTML = htmlStr;

}

function showStopIconsForPoi() {
    var htmlStr = '';

	htmlStr=getStopIcons();

	var el = document.getElementById('poisicons_container2');
	el.innerHTML = htmlStr;

}
