﻿// JScript Common Function
function stripNonNumeric( str ) {
      str += '';
      var rgx = /^\d|\.|-$/;
      var out = '';
      for( var i = 0; i < str.length; i++ ) {
        if( rgx.test( str.charAt(i) ) ){
          if( !( ( str.charAt(i) == '.' && out.indexOf( '.' ) != -1 ) ||
                 ( str.charAt(i) == '-' && out.length != 0 ) ) ){
            out += str.charAt(i);
          }
        }
      }
      return out;
    }

    function num2money(n_value) {
      // validate input
      if (isNaN(Number(n_value)))
      return 'ERROR';

      // save the sign
      var b_negative = Boolean(n_value < 0);
      n_value = Math.abs(n_value);

      // round to 1/100 precision, add ending zeroes if needed
      var s_result = String(Math.round(n_value*1e2)%1e2 + '00').substring(0,2);

      // separate all orders
      var b_first = true;
      var s_subresult;
      while (n_value > 1) {
      s_subresult = (n_value >= 1e3 ? '00' : '') + Math.floor(n_value%1e3);
      s_result = s_subresult.slice(-3) + (b_first ? '.' : ',') + s_result;
      b_first = false;
      n_value = n_value/1e3;
      }
      // add at least one integer digit
      if (b_first)
      s_result = '0.' + s_result;

      // apply formatting and return
      return b_negative
      ? '(&euro; ' + s_result + ')'
      : '&euro; ' + s_result;
    }   
    
    function prepare_inputbox(selector, default_string, search_term, activated, disabled) {
      // quale dovrebbe essere il testo di default dell'etichetta?
      var default_term = 'search...'
      if (default_string && default_string != '') {
        default_term = default_string;
      }
      
      // impostare l'etichetta di testo o il valore di default, o la stringa di ricerca
      if (search_term != '') {
        $(selector).val(search_term);
      } else {
        $(selector).val(default_term);
      }
      
      //impostare effetti su inputbox
      $(selector).focus(function(e){
	      $(this).addClass("active");
      });
      $(selector).blur(function(e){
	      $(this).removeClass("active");
      });
      
      //impostare il focus quando documento è pronto?
      if (activated) {
        $(selector).focus();
      }
      
      //impostare il disabled se richiesto
      if (disabled) {
        $(selector).attr("disabled", true); 
      }
      
      //mostra / nascondi testo predefinito, se necessario
      $(selector).focus(function(){
	      if($(this).attr("value") == default_term) $(this).attr("value", "");
      });
      $(selector).blur(function(){
	      if($(this).attr("value") == "") $(this).attr("value", default_term);
      });
    }
    
    function openPrivacy() {      
      $('#dialog').dialog('open');     
    } 
    
    function onLoadCommonFunctions() {      
      $('#flash').hide();
    } 
    
    function onCloseCommonFunctions() {      
      $('#flash').show();
      $('#dialog').dialog('close');
      $('#dialog').dialog().remove();
    } 
    
    function LogOut() {      
      var params = "action=logout";
      jQuery.ajax({
        url: "/ajax-login.aspx?" + params,
        async: false,
        cache: false,
        dataType: "html",
        success: function(html) {
          receiveDataLogOut(html);
        }        
      });
    }  
    
    function receiveDataLogOut(html) {
      var output = "<div id='message' title='Gecam S.r.l. - Area Cliente'><p class='testo' style='text-align:left;'>" + html + "<\/p><\/div>";
      $('#aspnetForm').after($(output));
      $('#message').dialog({
	      bgiframe: true,
	      autoOpen: true,
	      modal: true,
	      height: 200,
	      width: 200,
	      position:  'center',	
	      buttons: {
	       Ok: function() {
		       location.reload();
		       $(this).dialog('destroy');
	       }
	      },  
        open:function(event, ui){
          onLoadCommonFunctions();
          var windowWidth = document.documentElement.clientWidth;
          var windowHeight = document.documentElement.clientHeight;
          var popupHeight = $(".ui-dialog").height();
          var popupWidth = $(".ui-dialog").width();
          $(".ui-dialog").css({
            "position": "absolute",
            "top": windowHeight/2-popupHeight/2,
            "left": windowWidth/2-popupWidth/2
          });
        }
      });      
    }
