var Fonee = function(){
    var layout;
     	 
    return {
        init : function(){	
			document.getElementById('conn').style.display = 'none';
			document.getElementById('enre').style.display = 'none';
			document.getElementById('bonj').style.display = 'none';	
			document.getElementById('deco').style.display = 'none';			

			// initialize state manager, we will use cookies
            Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
		    
			layout = new Ext.BorderLayout(document.body, {
				north: {
					split:false,
					initialSize: 95,
					titlebar: false
				},
				center: {
					titlebar: false,
					autoScroll:true,
					closeOnTab: true,
					tabPosition: 'top',
					alwaysShowTabs: true,
					resizeTabs: true
				}
			});			
			
			layout.beginUpdate();
			layout.add('north', new Ext.ContentPanel('header'));     
			layout.restoreState();
			layout.endUpdate();													
     							
			session_data = new Ext.data.Store({
				proxy: new Ext.data.HttpProxy({url: 'php/action.php?action=getsession'}),
				reader: new Ext.data.JsonReader({},['active','prenom']),
				remoteSort: false
			});		
			
			session_data.on('load', function() {
				if (session_data.getAt(0).data.active == 1) {
					document.getElementById('conn').style.display = 'none';
					document.getElementById('enre').style.display = 'none';
					document.getElementById('bonj').style.display = 'inline';	
					document.getElementById('bonj').innerHTML = 'Bonjour&nbsp;' + session_data.getAt(0).data.prenom + '&nbsp;&nbsp;|';
					document.getElementById('deco').style.display = 'inline';	
					tabs_data = new Ext.data.Store({
						proxy: new Ext.data.HttpProxy({url: 'php/action.php?action=gettabs'}),
						reader: new Ext.data.JsonReader({},['titre','url']),
						remoteSort: false
					});					
					tabs_data.on('load', function() {					
						var i = 0;
						while (tabs_data.getAt(i).data.titre) {
							if (tabs_data.getAt(i).data.titre == 'Accueil') {
								layout.beginUpdate();
								layout.add('center', new Ext.ContentPanel('id_'+tabs_data.getAt(i).data.titre, {fitToFrame:true, closable: false, title:tabs_data.getAt(i).data.titre, autoCreate: {tag: 'iframe', src: tabs_data.getAt(i).data.url, name: 'iframeContent', frameborder: '0'}})); 
								layout.getRegion('center').showPanel('id_Accueil');
								layout.endUpdate();								
							}else{
								layout.beginUpdate();
								layout.add('center', new Ext.ContentPanel('id_'+tabs_data.getAt(i).data.titre, {fitToFrame:true, closable: true, title:tabs_data.getAt(i).data.titre, autoCreate: {tag: 'iframe', src: tabs_data.getAt(i).data.url, name: 'iframeContent', frameborder: '0'}})); 
								layout.getRegion('center').showPanel('id_Accueil');
								layout.endUpdate();							
							}
							i++;
						}
					});
		            // tell the layout not to perform layouts until we're done adding everything     
					tabs_data.load();				
				}else{
					document.getElementById('conn').style.display = 'inline';
					document.getElementById('enre').style.display = 'inline';
					document.getElementById('bonj').style.display = 'none';	
					document.getElementById('deco').style.display = 'none';	

					layout.beginUpdate();
					layout.add('north', new Ext.ContentPanel('header'));            
					layout.add('center', new Ext.ContentPanel('id_Accueil', {fitToFrame:true, closable: false, title:'Ma Page Perso Fonee', autoCreate: {tag: 'iframe', src: 'RSS/index.php', name: 'iframeContent', frameborder: '0'}}));
					layout.add('center', new Ext.ContentPanel('id_Fonee.biz', {fitToFrame:true, closable: false, title:'Boutique', autoCreate: {tag: 'iframe', src: 'http://www.fonee.biz', name: 'iframeContent', frameborder: '0'}}));
					//layout.add('center', new Ext.ContentPanel('id_Blog', {fitToFrame:true, closable: false, title:'Blog', autoCreate: {tag: 'iframe', src: 'http://blog.fonee.fr', name: 'iframeContent', frameborder: '0'}}));   
					//layout.add('center', new Ext.ContentPanel('id_Annonces', {fitToFrame:true, closable: false, title:'Petites Annonces', autoCreate: {tag: 'iframe', src: 'http://www.fonee.fr/annonces/annonces.php', name: 'iframeContent', frameborder: '0'}}));  
					//layout.add('center', new Ext.ContentPanel('id_moobee', {fitToFrame:true, closable: false, title:'Logos - Sonneries', autoCreate: {tag: 'iframe', src: 'http://www.moobee.fr', name: 'iframeContent', frameborder: '0'}}));
					layout.add('center', new Ext.ContentPanel('id_Assistance', {fitToFrame:true, closable: false, title:'Assistance', autoCreate: {tag: 'iframe', src: 'http://assistance.fonee.fr', name: 'iframeContent', frameborder: '0'}}));  
					layout.add('center', new Ext.ContentPanel('id_Partenaires', {fitToFrame:true, closable: false, title:'Partenaires', autoCreate: {tag: 'iframe', src: 'http://www.fonee.info/', name: 'iframeContent', frameborder: '0'}}));         
					layout.add('center', new Ext.ContentPanel('id_Distributeurs', {fitToFrame:true, closable: false, title:'Distributeurs', autoCreate: {tag: 'iframe', src: 'http://www.fonee.net/', name: 'iframeContent', frameborder: '0'}}));         
					layout.getRegion('center').showPanel('id_Accueil');
					layout.endUpdate();							
					
					tabs_data = new Ext.data.Store({
						proxy: new Ext.data.HttpProxy({url: 'php/action.php?action=gettabs'}),
						reader: new Ext.data.JsonReader({},['titre','url']),
						remoteSort: false
					});					
					tabs_data.on('load', function() {
						var j = 0;
						while (tabs_data.getAt(j).data.titre) {
							layout.beginUpdate();
							layout.add('center', new Ext.ContentPanel('id_'+tabs_data.getAt(j).data.titre, {fitToFrame:true, closable: true, title:tabs_data.getAt(j).data.titre, autoCreate: {tag: 'iframe', src: tabs_data.getAt(j).data.url, name: 'iframeContent', frameborder: '0'}})); 
							layout.endUpdate();							
							j++;
						}
					});
		            // tell the layout not to perform layouts until we're done adding everything     
					tabs_data.load();	
						
				}				
			});	

			session_data.load();
							
			var loading = Ext.get('loading');
			var mask = Ext.get('loading-mask');
			mask.setOpacity(.8);
			mask.shift({
				xy:loading.getXY(),
				width:loading.getWidth(),
				height:loading.getHeight(), 
				remove:true,
				duration:1,
				opacity:.3,
				//easing:'bounceOut',
				callback : function(){
					loading.fadeOut({duration:.2,remove:true});
				}
			});
        },

		
		addTabGoogle : function(url){
			layout.beginUpdate();
			layout.add('center', new Ext.ContentPanel(Ext.id(), {fitToFrame:true, closable: true, title:'Google', autoCreate: {tag: 'iframe', src: url, name: 'iframeContent', frameborder: '0'}}));
			layout.endUpdate();				
		},
		
		addTabWiki : function(url){
			layout.beginUpdate();
			layout.add('center', new Ext.ContentPanel(Ext.id(), {fitToFrame:true, closable: true, title:'Wikipédia', autoCreate: {tag: 'iframe', src: url, name: 'iframeContent', frameborder: '0'}}));
			layout.endUpdate();				
		},
		
	    addTab : function(nom){
			Ext.MessageBox.prompt('Ajout d\'onglet', 'Quel nom voulez vous donner au nouvel onglet ?',addOK);
	    }		
	};
	
	function addOK(btn,text){
		if (btn == 'ok' && text != '') {
			layout.beginUpdate();
			layout.add('center', new Ext.ContentPanel('id_' + text, {fitToFrame:true, closable: true, title:text, autoCreate: {tag: 'iframe', src: 'RSS/index.php', name: 'iframeContent', frameborder: '0'}}));
			layout.endUpdate();
		}
	};	
	
	function toto(text){
		window.alert(text);
	};		
}();
Ext.onReady(Fonee.init, Fonee, true);


var tabAdd = function(){
    var dialog, form;
    return{
        Init:function(){
            Ext.QuickTips.init();
            Ext.form.Field.prototype.msgTarget = 'side';
            dialog = new Ext.BasicDialog('addDialogId', {
                autoCreate: true,
                width: 400,
                height: 170,
                modal: true,
                closable:true,
                resizable:false,
                draggable:true,
                collapsible:false,
                title:'Ajout d\'onglet'            
            });
            dialog.body.dom.innerHTML="<div id='addFormId'></div>";
            
            form = new Ext.Form({
                labelAlign: 'top',
                labelWidth: 350,
                buttonAlign: 'right',
                url:'php/addtab.php',
				baseParams:{module:'addtab'}
            });
            form.add(
                new Ext.form.TextField({
                    fieldLabel: 'Titre',
                    name: 'titre',
					allowBlank:false					
                }),        
                new Ext.form.TextField({
                    fieldLabel: 'Lien (uniquement si vous souhaitez ajouter un site en favoris)',
                    name: 'url',
					width: 350,
					allowBlank:true
                })
            );
            form.addButton('Ajouter', function(){
                form.submit({
                    waitMsg:'Ajout en cours...',
                    reset:true,
                    success:tabAdd.Success,                    
                    scope:tabAdd
                });
            }, form);
            form.addButton('Annuler', tabAdd.Close , form);			
            form.render('addFormId');
            dialog.on('show', function(){form.items.item(0).focus();});
            dialog.show(document.body.getElementsByTagName('div')[0]);            
        },
		
		Close: function(){
			dialog.destroy(true);
		},
		
        Success: function(f,a){
			if(a && a.result){
				window.location.replace('index.php');
				dialog.destroy(true);                
            }
        }
		
    };	
}();

var tabAdd2 = function(){
    var dialog, form;
    return{
        Init:function(){
            Ext.QuickTips.init();
            Ext.form.Field.prototype.msgTarget = 'side';
            dialog = new Ext.BasicDialog('addDialogId', {
                autoCreate: true,
                width: 400,
                height: 170,
                modal: true,
                closable:true,
                resizable:false,
                draggable:true,
                collapsible:false,
                title:'Ajout d\'onglet'            
            });
            dialog.body.dom.innerHTML="<div id='addFormId'></div>";
            
            form = new Ext.Form({
                labelAlign: 'top',
                labelWidth: 350,
                buttonAlign: 'right',
                url:'php/addtab.php',
				baseParams:{module:'addtab'}
            });
            form.add(
                new Ext.form.TextField({
                    fieldLabel: 'Titre',
                    name: 'titre',
					allowBlank:false					
                }),        
                new Ext.form.TextField({
                    fieldLabel: 'Lien',
                    name: 'url',
					width: 350,
					allowBlank:false
                })
            );
            form.addButton('Ajouter', function(){
                form.submit({
                    waitMsg:'Ajout en cours...',
                    reset:true,
                    success:tabAdd.Success,                    
                    scope:tabAdd
                });
            }, form);
            form.addButton('Annuler', tabAdd.Close , form);			
            form.render('addFormId');
            dialog.on('show', function(){form.items.item(0).focus();});
            dialog.show(document.body.getElementsByTagName('div')[0]);            
        },
		
		Close: function(){
			dialog.destroy(true);
		},
		
        Success: function(f,a){
			if(a && a.result){
				window.location.replace('index.php');
				dialog.destroy(true);                
            }
        }
		
    };	
}();

var Login = function(){
    var dialog, form;
    return{
        Init:function(){
            Ext.QuickTips.init();
            Ext.form.Field.prototype.msgTarget = 'side';
            dialog = new Ext.BasicDialog('loginDialogId', {
                autoCreate: true,
                width: 300,
                height: 130,
                modal: true,
                closable:true,
                resizable:false,
                draggable:true,
                collapsible:false,
                title:'Connexion'            
            });
            dialog.body.dom.innerHTML="<div id='loginFormId'></div>";
            
            form = new Ext.Form({
                labelAlign: 'right',
                labelWidth: 100,
                buttonAlign: 'right',
                url:'php/login.php',
				baseParams:{module:'login'}
            });
            form.add(
                new Ext.form.TextField({
                    fieldLabel: 'E-mail',
                    name: 'user',
					allowBlank:false,
					vtype:'email'
					
                }),        
                new Ext.form.TextField({
                    fieldLabel: 'Mot de passe',
                    name: 'pass',
					allowBlank:false,
                    defaultAutoCreate : {tag: "input", type: "password", size: "20", autocomplete: "off"}
                })
            );
            form.addButton('Se connecter', function(){
                form.submit({
                    waitMsg:'Connexion en cours...',
                    reset:true,
                    success:Login.Success,                    
                    scope:Login
                });
            }, form);
            form.addButton('Annuler', Login.Close , form);			
            form.render('loginFormId');
            dialog.on('show', function(){form.items.item(0).focus();});
            dialog.show(document.body.getElementsByTagName('div')[0]);            
        },
		
		Close: function(){
			dialog.destroy(true);
		},
		
        Success: function(f,a){
			if(a && a.result){
				window.location.replace('index.php');
				dialog.destroy(true);                
            }
        }
		
    };	
}();

var Subs = function(){
    var dialog, form;
    return{
        Init:function(){
            Ext.QuickTips.init();
            Ext.form.Field.prototype.msgTarget = 'side';
            dialog = new Ext.BasicDialog('subsDialogId', {
                autoCreate: true,
                width: 500,
                height: 302,
                modal: true,
                closable:true,
                resizable:false,
                draggable:true,
                collapsible:false,
                title:'Enregistrement'            
            });
            dialog.body.dom.innerHTML="<div id='subsFormId' style='font-family:Verdana;font-size:12px;padding-right:5px;'><p align='justify'>Cette inscription va vous permettre de personnaliser votre page fonee.fr. Dès l'inscription terminée, vous pouvez tout modifier : ajouter des onglets, déplacer les modules, ajouter vos propres flux RSS, changer les paramètres de chaque module, etc. Vos modifications sont sauvegardées en temps réel et vous retrouverez votre page personnalisée à votre prochaine visite.</p><br><p align='center'><b>Inscrivez-vous, c'est gratuit et rapide !</b></p><br></div>";
			
						
			form = new Ext.Form({
                labelAlign: 'right',
                labelWidth: 150,
                buttonAlign: 'right',
                url:'php/subs.php',
				baseParams:{module:'subs'}
            });
			
            form.add( 
                new Ext.form.TextField({
                    fieldLabel: 'E-mail',
                    name: 'user',
					allowBlank:false,
					vtype:'email'					
                }),        
                new Ext.form.TextField({
                    fieldLabel: 'Mot de passe',
                    name: 'pass',
					allowBlank:false,
                    defaultAutoCreate : {tag: "input", type: "password", size: "20", autocomplete: "off"}
                }),
                new Ext.form.TextField({
                    fieldLabel: 'Mot de passe (vérification)',
                    name: 'pass2',
					allowBlank:false,
                    defaultAutoCreate : {tag: "input", type: "password", size: "20", autocomplete: "off"}
                }),
                new Ext.form.TextField({
                    fieldLabel: 'Prénom',
                    name: 'prenom',
					allowBlank:false
					
                })   				
            );
            form.addButton('Enregistrer', function(){
                form.submit({
                    waitMsg:'Connexion en cours...',
                    reset:true,
                    success:Subs.Success,                    
                    scope:Subs
                });
            }, form);
            form.addButton('Annuler', Subs.Close , form);			
            form.render('subsFormId');
            dialog.on('show', function(){form.items.item(0).focus();});
            dialog.show(document.body.getElementsByTagName('div')[0]);            
        },
		
		Close: function(){
			dialog.destroy(true);
		},
		
        Success: function(f,a){
			if(a && a.result){
				window.location.replace('index.php');
				dialog.destroy(true);   
            }
        }
    };	
}();