/* version 2.0.5*/
//global variables
var wms = new Array();
var wms_layer_count = 0;
//list of all wms-objects
function add_wms(
			wms_id,
			wms_version,
			wms_title,
			wms_abstract,
			wms_getmap,
			wms_getfeatureinfo,
			wms_getlegendurl,
			wms_filter,
			gui_wms_mapformat,
			gui_wms_featureinfoformat,
			gui_wms_exceptionformat,
			gui_wms_epsg,
			gui_wms_visible){
					wms[wms.length] = new wms_const( 
					wms_id,
					wms_version,
					wms_title,
					wms_abstract,
					wms_getmap,
					wms_getfeatureinfo,
					wms_getlegendurl,
					wms_filter,
					gui_wms_mapformat,
					gui_wms_featureinfoformat,
					gui_wms_exceptionformat,
					gui_wms_epsg,
					gui_wms_visible);
					wms_layer[wms.length - 1] = new Array();
}
//the wms constructor
function wms_const(  
			wms_id,
			wms_version,
			wms_title,
			wms_abstract,
			wms_getmap,
			wms_getfeatureinfo,
         wms_getlegendurl,
			wms_filter,
			gui_wms_mapformat,
			gui_wms_featureinfoformat,
			gui_wms_exceptionformat,
			gui_wms_epsg,
			gui_wms_visible){
   
	this.wms_id = wms_id;
	this.wms_version = wms_version;
	this.wms_title = wms_title;
	this.wms_abstract = wms_abstract;
	this.wms_getmap = wms_getmap;
	this.wms_getfeatureinfo = wms_getfeatureinfo;
	this.wms_getlegendurl = wms_getlegendurl;
	this.wms_filter = wms_filter;
	this.data_type = new Array();
	this.data_format = new Array();
	this.objLayer = new Array();
	this.gui_wms_mapformat = gui_wms_mapformat;
	this.gui_wms_featureinfoformat = gui_wms_featureinfoformat;
	this.gui_wms_exceptionformat = gui_wms_exceptionformat;
	this.gui_wms_epsg = gui_wms_epsg;
	this.gui_wms_visible = gui_wms_visible;
	this.gui_epsg = new Array();
	this.gui_minx = new Array();
	this.gui_miny = new Array();
	this.gui_maxx = new Array();
	this.gui_maxy = new Array();
}
function wms_add_data_type_format(datatype,dataformat){
	wms[wms.length-1].data_type[wms[wms.length-1].data_type.length] = datatype;
	wms[wms.length-1].data_format[wms[wms.length-1].data_format.length] = dataformat;
}
function wms_addSRS(epsg,minx,miny,maxx,maxy){
	wms[wms.length-1].gui_epsg[wms[wms.length-1].gui_epsg.length] = epsg;
	wms[wms.length-1].gui_minx[wms[wms.length-1].gui_minx.length] = minx;
	wms[wms.length-1].gui_miny[wms[wms.length-1].gui_miny.length] = miny;
	wms[wms.length-1].gui_maxx[wms[wms.length-1].gui_maxx.length] = maxx;
	wms[wms.length-1].gui_maxy[wms[wms.length-1].gui_maxy.length] = maxy;
}
function wms_addLayerStyle(styleName, styleTitle, count, layerCount){
	wms[wms.length-1].objLayer[layerCount].layer_style[count] = new Array();
	wms[wms.length-1].objLayer[layerCount].layer_style[count]["name"] = styleName;
	wms[wms.length-1].objLayer[layerCount].layer_style[count]["title"] = styleTitle;
}

//layer
function wms_add_layer(
			layer_parent,
			layer_name,
			layer_title,
			layer_pos,
			layer_queryable,
			layer_minscale,
			layer_maxscale,
			gui_layer_wms_id,
			gui_layer_status,
			gui_layer_selectable,
			gui_layer_visible,
			gui_layer_queryable,
			gui_layer_querylayer,
			gui_layer_minscale,
			gui_layer_maxscale){
                      
	wms[wms.length-1].objLayer[wms[wms.length-1].objLayer.length] = new wms_layer(
											layer_parent,
											layer_name,
											layer_title,
											layer_pos,
											layer_queryable,
											layer_minscale,
											layer_maxscale,
											gui_layer_wms_id,
											gui_layer_status,
											gui_layer_selectable,
											gui_layer_visible,
											gui_layer_queryable,
											gui_layer_querylayer,
											gui_layer_minscale,
											gui_layer_maxscale );
//alert(layer_parent + " , " +layer_name + " , " +layer_title + " , " +layer_pos + " , " +layer_queryable + " , " +layer_minscale + " , " +layer_maxscale + " , " +gui_layer_wms_id + " , " +gui_layer_status+" , "+gui_layer_selectable + " , " +gui_layer_visible + " , " +gui_layer_queryable + " , " +gui_layer_querylayer );
}
function wms_layer(
			layer_parent,
			layer_name,
			layer_title,
			layer_pos,
			layer_queryable,
			layer_minscale,
			layer_maxscale,
			gui_layer_wms_id,
			gui_layer_status,
			gui_layer_selectable,
			gui_layer_visible,
			gui_layer_queryable,
			gui_layer_querylayer,
			gui_layer_minscale,
			gui_layer_maxscale){
	this.layer_id = wms_layer_count;
	this.layer_parent = layer_parent;
	this.layer_name = layer_name;
	this.layer_title = layer_title;
	this.layer_pos = layer_pos;
	this.layer_queryable = layer_queryable;
	this.layer_minscale = layer_minscale;
	this.layer_maxscale = layer_maxscale;
	this.layer_epsg = new Array();
	this.gui_layer_wms_id = gui_layer_wms_id;
	this.gui_layer_status = gui_layer_status;
	this.gui_layer_selectable = gui_layer_selectable;
	this.gui_layer_visible = gui_layer_visible;
	this.gui_layer_queryable = gui_layer_queryable;
	this.gui_layer_querylayer = gui_layer_querylayer;
	this.gui_layer_minscale = gui_layer_minscale;
	this.gui_layer_maxscale = gui_layer_maxscale;
	this.layer_style = new Array();
	wms_layer_count++; 
}


