var allpanels = Array();

var MyScript = function(){
	if(isDefined('console')) console.log( "MyScript" );
	
	//var lp=G.createElement('div',{attributes:{id:"search_panel"}});
	//var dp=G.createElement('div',{attributes:{id:"data_panel"}});
	//var ip=G.createElement('div',{attributes:{id:"info_panel"}});
	
	//$('sidepanels').appendChild(lp);
	//$('sidepanels').appendChild(dp);
	//$('sidepanels').appendChild(ip);
	var store = new G.DataStoreLoc({id: 'locstore'});
	store.init();
	
	var terrainstore = new G.DataStoreLocTerrain({id: 'terrainstore'});
	terrainstore.init();
	
	var searchpanel = new G.SearchLocPanel();
	searchpanel.init({id:'search_panel',container:'sidepanels',style:'width:274px;height:474px;background:#eeeeee;display:none', store: store, terrainstore: terrainstore});
	
	var infopanel = new G.InfosLocPanel();
	infopanel.init({id:'info_panel',container:'sidepanels',style:'width:274px;height:474px;background:#eeeeee;display:none;'});
	
	var statspanel = new G.StatsLocPanel();
	statspanel.init({id:'data_panel',container:'sidepanels',style:'width:274px;height:474px;background:#eeeeee;display:none'});
	
	//G.setStyle($('search_panel'),"width:274px;height:474px;background:#eeeeee;display:none");
	//G.setStyle($('data_panel'),"width:274px;height:474px;background:#eeeeee;display:none");
	//G.setStyle($('info_panel'),"width:274px;height:474px;background:#eeeeee;display:none");
	
	allpanels = ['search_panel', 'data_panel', 'info_panel'];
	if(isDefined('console')) console.log(G.BrowserDetect.browser );
	if(isDefined('console')) console.log(G.BrowserDetect.version );
	if(isDefined('console')) console.log(G.BrowserDetect.OS );
	showpanel('search_panel');
	var config = {mapdiv:'map',baselayer: 'google',extent: new OpenLayers.Bounds(-72.55, 45.7, -72.45, 45.95),store: store, terrainstore: terrainstore};
	var gismap = new G.GisMap();
	gismap.init(config);
	gismap.addSectors();
	gismap.addStatsLayer();
	
	searchpanel.addListener("zoomtosector", OpenLayers.Function.bind(gismap.zoomToSector, gismap));
	searchpanel.addListener("newsearch", OpenLayers.Function.bind(gismap.unselectFeature, gismap));
	searchpanel.addListener("viewbusiness", OpenLayers.Function.bind(gismap.viewBusiness, gismap));
	gismap.addListener("zoomtolocal", OpenLayers.Function.bind(infopanel.refresh, infopanel));
	gismap.addListener("featureselected", OpenLayers.Function.bind(statspanel.sendFeature, statspanel));
	gismap.addListener("featureunselected", OpenLayers.Function.bind(statspanel.resetFeature, statspanel));
	
	gismap.addCircuLayer();
	
	var toolbar = new G.GisToolbar({gismap: gismap, div: 'toolmap'});
	toolbar.init();
	
	var gridloc = new G.GridLoc({id:'gridloc',container:'bottomcontainer',style:'width:940px;height:300px;float:left;overflow:auto;display:none',store: store});
	gridloc.init();
	
	var gridlocterrain = new G.GridLocTerrain({id:'gridlocterrain',container:'bottomcontainer',style:'width:940px;height:300px;float:left;overflow:auto;display:none',store: terrainstore});
	gridlocterrain.init();
	
	gismap.addListener("featureunselected", OpenLayers.Function.bind(gridloc.resetSelection, gridloc));
	gismap.addListener("featureunselected", OpenLayers.Function.bind(gridlocterrain.resetSelection, gridlocterrain));
	//store.refresh();
	if(isDefined('console')) console.log( "end MyScript" );
	
	patch();
	
	displaywarning();
	displayhelp();
	displaywebcmd();
};

var init = function(){
	if(isDefined('console')) console.log( "init" );
	G.require("gis.utils.BrowserDetect");
    G.require("gis.effects.base");
    G.require("gis.gui.Panel");
    G.require("gis.lang.gui.fr");
	G.require("gis.yv.GisMap");
	G.require("gis.yv.SearchLocPanel");
	G.require("gis.yv.DataStoreLoc");
	G.require("gis.yv.DataStoreLocTerrain");
	G.require("gis.yv.GridLoc");
	G.require("gis.yv.GridLocTerrain");
	G.require("gis.yv.GisToolbar");
	G.require("gis.yv.InfosLocPanel");
	G.require("gis.yv.GisSpatialAnalyser");
	G.require("gis.yv.StatsLocPanel");
    Gis.init(MyScript);
	//console.log( G );
	if(isDefined('console')) console.log( "end init" );
	
};

var showpanel = function(id){

	$(id).style['display'] = 'block';
	
	G.setClass($(id + '_title'),'titletabpanelactive');
};

var hidepanel = function(id){
	$(id).style['display'] = 'none';
	G.setClass($(id + '_title'),'titletabpanelinactive');
};

var focusOn = function(id){
	for(var j=0; j<allpanels.length; j++){
		hidepanel(allpanels[j]);
	}
	showpanel(id);
};

var displaywebcmd = function(){
	var cp=G.createElement('div',{attributes:{id:'webcmd_panel'}});
		$('webcmd' ).appendChild(cp);
		$('webcmd_panel' ).innerHTML = "<img id='print_cmd' title='Imprimer' src='images/print.png' height='18px'></img> <img id='main_help_cmd' title='Aide' src='images/help-browser-icon.png' height='18px'></img>";
		G.setStyle($('webcmd_panel'),"text-align:right;background: #ffffff");
		G.Event.addListener(G.ele('print_cmd'),"click",function(){window.print();});
		G.Event.addListener(G.ele('main_help_cmd'),"click",function(){G.setStyle($('help'),"display:block");G.setStyle($('warning'),"display:none");});

};

var displaywarning = function(){
	var cp=G.createElement('div',{attributes:{id:'warning_container'}});
		$('warning' ).appendChild(cp);
	var cp=G.createElement('div',{attributes:{id:'warning_cmd'}});
		$('warning_container' ).appendChild(cp);
		$('warning_cmd' ).innerHTML = "<img id='warning_cmd_close' title='Fermer' src='images/close.png' height='16px'></img>";
		var cp=G.createElement('div',{attributes:{id:'warning_content'}});
		$('warning_container' ).appendChild(cp);
		$('warning_content' ).innerHTML = "<img src='images/warning.png' align='left' height='40px'></img>Les donn&eacute;es cartographiques de la Ville de Drummondville apparaissant sur le site sont des versions administratives et ne constituent pas la version officielle desdits documents. Cette carte interactive de la Ville de Drummondville ainsi que tous les textes et graphiques qui s'y rattachent sont fournis &agrave; titre de renseignements g&eacute;n&eacute;raux. Ils ne constituent en aucun cas un document l&eacute;gal.<br> La Ville de Drummondville et le Commissariat au commerce ne peuvent &ecirc;tre tenus responsables de tout dommage pouvant d&eacute;couler d'&eacute;ventuelles divergences entre les documents pr&eacute;sent&eacute;s sur ce site et les documents officiels. Toute reproduction par quelque proc&eacute;d&eacute; que ce soit et toute communication au public par t&eacute;l&eacute;communication sont strictement interdite sans l'autorisation du Commissariat au commerce. En acc&eacute;dant &agrave; ce site, vous acceptez les conditions et limitations &eacute;num&eacute;r&eacute;es ici haut.";
		
		G.setStyle($('warning_cmd'),"text-align:right;background: #339900");
		G.setStyle($('warning_content'),"text-align:left;padding:5px 5px");
		G.setStyle($('warning_container'),"margin:5px 5px 5px 5px;border: 1px solid #C0BDB9;float:left; background: #ccff99");
		G.setStyle($('warning'),"display:block");
		G.Event.addListener(G.ele('warning_cmd_close'),"click",function(){G.setStyle($('warning'),"display:none")});
};

var displayhelp = function(){
var cp=G.createElement('div',{attributes:{id:'help_container'}});
		$('help' ).appendChild(cp);
	var cp=G.createElement('div',{attributes:{id:'help_cmd'}});
		$('help_container' ).appendChild(cp);
		$('help_cmd' ).innerHTML = "<img id='help_cmd_close' title='Fermer' src='images/close.png' height='16px'></img>";
		var cp=G.createElement('div',{attributes:{id:'help_content'}});
		$('help_container' ).appendChild(cp);
		$('help_content' ).innerHTML = "<img src='images/help-browser-icon.png' align='left' height='20px'></img>Vous pouvez faire une recherche de locaux vacants, de terrains vacants ou de commerces existants dans la MRC de Drummond. Déterminez vos critères de recherches (secteur, rue, type, etc.)  et appuyez sur soumettre. Cliquez sur le pointeur jaune désiré à quelques reprises pour qu’il devienne bleu et par la suite, cliquez sur l’onglet infos pour visualiser les informations du local. Vous pouvez aussi avoir beaucoup de statistiques en lien avec un local ou un commerce dans l’onglet stats. Pour imprimer une fiche, cliquez sur l’image de l’imprimante.  Pour plus d’informations, consultez Yanick Pétrin au 819-472-6705 ou par courriel : ypetrin@ville.drummondville.qc.ca.";
		
		G.setStyle($('help_cmd'),"text-align:right;background: #339900");
		G.setStyle($('help_content'),"text-align:left;padding:5px 5px");
		G.setStyle($('help_container'),"margin:5px 5px 5px 5px;border: 1px solid #C0BDB9;float:left; background: #ccff99");
		G.setStyle($('help'),"display:none");
		
		G.Event.addListener(G.ele('help_cmd_close'),"click",function(){G.setStyle($('help'),"display:none")});
};

var patch = function(){



Gis.prototype.setClass=function(ele,className){
    var _u=(G.BrowserDetect.browser == 'Explorer' && G.BrowserDetect.version < 8)?"className":"class";//Tres importante c'est line!!'
    
    if(ele instanceof Array)  for(var y=0; y < ele.length; y++) ele[y].setAttribute(_u,className);
    else if(ele.length>=0)  for(var i=0; i < ele.length; i++)  ele.item(i).setAttribute(_u,className);
    else ele.setAttribute(_u,className);
    return this;
}

G.debug=false;

};