document.onkeyup = validate;

function validate(e) {

	var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;

   if (code==13) {
		 if (document.activeElement.id=="url") {
			 document.getElementById('btn').click();
		 }
		 if (document.activeElement.id=="url_criar") {
			 document.getElementById('btn_criar').click();
       }
   }


}	
	

Ext.onReady(function() {
	
	Ext.MessageBox.buttonText = {
 		ok : "OK",
 		cancel : "Cancelar",
 		yes : "Sim",
 		no : "N&atilde;o"
	};	
	

   if (Ext.get('url')) { 
	Ext.get('url').on('keyup',function(e,t){
   	url = document.getElementById('url').value;
		var state = (url.match(new RegExp(/^[A-Za-z0-9]+$/) )) ? true : false;
   	if (url=="") { state=true;}
   	if (state==true) {
      	document.getElementById('erros_text').innerHTML="";
      	document.getElementById('erros').style.display="none";
   	}
   	else {
      	document.getElementById('erros').className = 'yellow';
      	document.getElementById('erros_img').className = 'erros_img_yellow';
      	document.getElementById('erros_text').innerHTML="O site n&atilde;o pode ter caracteres especiais.";
      	document.getElementById('erros').style.display="block";
   	}

   });
   }

	if (Ext.get('url_criar')) {
   Ext.get('url_criar').on('keyup',function(e,t){
   	var url_criar = "";
   	url_criar = document.getElementById('url_criar').value;
   	var state = (url_criar.match(new RegExp(/^[A-Za-z0-9]+$/) )) ? true : false;
   	if (url_criar=="") { state=true;}
   		if (state==true) {
      		document.getElementById('erros_criar_text').innerHTML="";
      		document.getElementById('erros_criar').style.display="none";
   		}
   	else {
      	document.getElementById('erros_criar').className = 'yellow';
      	document.getElementById('erros_criar_img').className = 'erros_img_yellow';
      	document.getElementById('erros_criar_text').innerHTML="O site n&atilde;o pode ter caracteres especiais.";
      	document.getElementById('erros_criar').style.display="block";
   	}

   });
   }




   Ext.select('button').on('click',function(){
      opcoes(this.getAttribute('btn'), this.getAttribute('dialogId'), this.getAttribute('dialogUrl'));
   });

	Ext.select('img[id=img_sapo]').on('click',function(){
			url = 'screencast.php';
         var win_browser = new Ext.Window({
           id:'sapo_screencast'
          ,title:'Screencast'
          ,layout:'fit'
          ,width:630
          ,height:601
          ,closable:true
          ,border:false
          ,resizable:false
          ,maximizable: true
          ,items:[{
               id:'sapo_creencast_cont',
               html: '<iframe src="' + url + '" width="100%" height="100%" frameborder=0>'
           }]
         });

         win_browser.show();
         win_browser.center();

	});

   function opcoes(btn,id,url) {
      switch(btn)
         {
         case "ver_mobile":
           vermobile("simulador.php?id="+id);
           break;
         case "ver":
           ver(url);
           break;
         case "editar":
           editar(id);
           break;
         case "apagar":
           apagar(id);
           break;
			case "verificar":
           verificar();
           break;
         case "criar":
			  if (document.getElementById('agree_tos').checked) {
             criar();
			  }
			  else {

            Ext.Msg.show({
                   title:'Mensagem'
                  ,msg:'<br>Tem de confirmar os <b>termos de utiliza&ccedil;&atilde;o</b>.'
                  ,modal:true
                  ,icon:Ext.Msg.WARNING
                  ,buttons:Ext.Msg.OK
            });

			  }
           break;
      }
   }


   function ver(url) {
      w=800
      h=600
      if (window.screen) {
         w = window.screen.availWidth;
         h = window.screen.availHeight;
      }
      window.open(url,'mywindow','width='+w+',height='+h+',top=0,left=0,status=yes,menubar=yes,scrollbars=yes,resizable=yes,toolbar=yes');
   }

	function vermobile(url) {
         var win_browser = new Ext.Window({
           id:'sapo_images_browser_fotos'
          ,title:'SAPO Mobile'
          ,layout:'fit'
          ,width:350
          ,height:480
          ,closable:true
          ,border:false
          ,resizable:false
          ,maximizable: true
          ,items:[{
               id:'sapo_image_browser_cont',
               html: '<iframe src="' + url + '" width="100%" height="100%" frameborder=0>'
           }]
         });

         win_browser.show();
         win_browser.center();

	}

   function editar(id) {
      var redirect = '/editar.php?id=' + id;
      window.location = redirect;
   }

   function apagar(id) {

      Ext.MessageBox.confirm('Confirmar', 'Tem a certeza que quer apagar este site?', function(btn){
         if (btn == 'yes') {
            var conn = new Ext.data.Connection();
            conn.request({
                url: 'ajax/ajax.deleteSite.php',
                method: 'POST',
                params: {"siteID": id},
                success: function(responseObject) {
                    if (responseObject.responseText='1') {
                     var redirect = '/sites.php';
                     window.location = redirect;
                    }
                    else {
                     Ext.Msg.alert('Mensagem', 'Ocorreu um erro n&atilde;o &eacute; possivel apagar este site' );
                    }
                },
                 failure: function() {
                     Ext.Msg.alert('Mensagem', 'Servi&ccedil;o indispon&iacute;vel temporariamente');
                 }
            })
         }
         else{
         }
      });

   }

   function verificar() {
      url = document.getElementById('url').value;
      var state = (url.match(new RegExp(/^[A-Za-z0-9]+$/) )) ? true : false;

      if (state) {
         url = "http://" + document.getElementById('url').value + ".sites.sapo.mz" ;
         url = url.toLowerCase();
         var conn = new Ext.data.Connection();
         conn.request({
             url: 'ajax/ajax.verifySite.php',
             method: 'GET',
             params: {"url": url},
             success: function(responseObject) {
               verificar_handler(responseObject);
             }
         });
      }
   }

   function verificar_handler(responseObject) {
      var obj = Ext.util.JSON.decode(responseObject.responseText);
      res = obj.estado;

      if (res=="notlogged") {
         loginSites._checkPrevAuth();
      }
      else {
         if (res=="true") {
            document.getElementById('erros').className = 'green';
            document.getElementById('erros_img').className = 'erros_img_green';
            document.getElementById('erros').style.display = 'block';
            document.getElementById('erros_text').innerHTML = "O endere&ccedil;o est&aacute; dispon&iacute;vel";
         }
         else {
				document.getElementById('erros').className = 'yellow';
            document.getElementById('erros_img').className = 'erros_img_yellow';
				document.getElementById('erros').style.display = 'block';
            document.getElementById('erros_text').innerHTML = "O endere&ccedil;o que pretende j&aacute; se encontra registado";
         }
      }
   }


   function criar() {
      url = document.getElementById('url_criar').value;
      var state = (url.match(new RegExp(/^[A-Za-z0-9]+$/) )) ? true : false;

      if (state) {
         url = "http://" + document.getElementById('url_criar').value + ".sites.sapo.mz" ;
         url = url.toLowerCase();
         var conn = new Ext.data.Connection();
         conn.request({
             url: 'ajax/ajax.createSite.php',
             method: 'GET',
             params: {"url": url},
             success: function(responseObject) {
               criar_handler(responseObject);
             }
         });
      }
   }

   function criar_handler(responseObject) {
      var obj = Ext.util.JSON.decode(responseObject.responseText);
      res = obj.estado;

      if (res=="notlogged") {
         loginSites._checkPrevAuth();
      }
      else {
         if (res=="true") {

				function msg_publicar() {
               var redirect = '/sites.php';
               window.location = redirect;
            }


				Ext.Msg.show({
                   title:'Sucesso'
                  ,msg:'O Site foi criado!'
                  ,modal:true
                  ,icon:Ext.Msg.INFO
                  ,buttons:Ext.Msg.OK
                  ,fn: msg_publicar
            });
				

         }
         else {
		      document.getElementById('erros_criar').className = 'yellow';
      		document.getElementById('erros_criar_img').className = 'erros_img_yellow';
      		document.getElementById('erros_criar_text').innerHTML="O endere&ccedil;o que pretende j&aacute; se encontra registado";
      		document.getElementById('erros_criar').style.display="block";
         }
      }
   }


 
    
 

}); // eo function onReady





