

function IsNumericKey(event)
{
    if (!event)
        event = window.event;

    key = event.keyCode;        
    
    if (navigator.appName == "Microsoft Internet Explorer")               
    {    	     	
		if (key==0)
	   		key = event.which; 
	    if (event.shiftKey)
	   	{
		    if (key==9)
		    { 
		        return true;
		    }
		    else
			   return false;		   
	    }
	    else
	    {
	    	if (!event.ctrlKey && !event.altKey)    
		    {       
			    if ((key>47 && key<58) || (key>95 && key<106) || (key>=37 && key<=40) || key==9 || key==8 || key==46)
			    { 
			        return true;
			    }
			    else
				   return false;
		    }
		    else
		        return false;
	    }        
    }
    else    
    {        
    	if (key==0)
	    {
	     	if(event.which != 46)
	     	{
	       		key = event.which;       		
	       	}
	    } 

	    if (event.shiftKey)
	   	{	   	
	   		if (key==9) 
		    {
		       	 return true;
		    }
		    else
		    {
			     event.returnValue = false;
			 	 return false;	 	 	  
            }
	       
	   	}
	   	else
	   	{
	        if (!event.ctrlKey && !event.altKey)
	        {    
			    if ((key>47 && key<58) || (key>=37 && key<=40) || (key>=96 && key<=105) || key==9 || key==8 || key==46) 
			    {
			       	 return true;
			    }
			    else
			    {
				     event.returnValue = false;
				 	 return false;	 	 	  
	            }
	       }
	       else
	       {
			     event.returnValue = false;
			 	 return false;	 	 	  	       
		   }
	   }
	}    
}

function DateMask(formName, fieldName, event)
{
    if (event.keyCode)
		var key = event.keyCode;
    else
	    var key = event.which;
    vr = document.forms[formName].elements[fieldName].value;    
	vr = vr.replace('.','');
	vr = vr.replace('/','');
	vr = vr.replace('/','');
	size = vr.length + 1;

	//8=backspace, 9=tab, 46=delete, 127=delete, 37-40=arrow keys 
	if (key!=9 && key!=8 && key!=46 && (key<37 || key>40))		
	{
	   if (size == 3)
	      document.forms[formName].elements[fieldName].value = vr.substr(0, size-1) + '/' + vr.substr(size-1, size);
	   if (size > 3 && size < 5 )
	      document.forms[formName].elements[fieldName].value = vr.substr(0, size-2) + '/' + vr.substr(size-2, size); 
	   if (size >= 5 && size < 10 ) 
	      document.forms[formName].elements[fieldName].value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4); 
	}	    
	return true; 
}

function HoraMask(formName, fieldName, event)
{
    if (event.keyCode)
		var key = event.keyCode;
    else
	    var key = event.which;
    vr = document.forms[formName].elements[fieldName].value; 
	vr = vr.replace(':','');
	size = vr.length + 1;

	//8=backspace, 9=tab, 46=delete, 127=delete, 37-40=arrow keys 
	if (key!=9 && key!=8 && key!=46 && (key<37 || key>40))		
	{
	   if (size == 3)
	      document.forms[formName].elements[fieldName].value = vr.substr(0, size-1) + ':' + vr.substr(size-1, size);
	   if (size > 3 && size < 5 )
	      document.forms[formName].elements[fieldName].value = vr.substr(0, size-2) + ':' + vr.substr(size-2, size); 
	}	    
	return true; 
}


function extractNumbers(s)
{
	var r = '';
	
	for(i = 0 ; i < s.length ; i++)
	{
	   if (!isNaN(s.charAt(i)))
	       r = r + s.charAt(i);
    }
    return r;
}

function TesteExtra(formName, fieldName,event)
{
	document.forms[formName].elements[fieldName].style.background='#dbeaf5';
}

function NumericValidate(formName, fieldName,decimalHouses,maxlength,showSeparators,event)
{	
	if(decimalHouses != 0)
		showSeparators = true;
	value = document.forms[formName].elements[fieldName].value;
	if(value == '')
		return;
	vr = value;
    vr = vr.replace(",", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
	if(vr.length == maxlength && showSeparators)
	{
		return;
	}	
	if(!showSeparators)
	{
		var reValue = /^\d+$/;
		var flag = reValue.test(value);
		if(!flag)
		{
			alert("Valor inválido! Somente é permitido valores numéricos!");
			document.forms[formName].elements[fieldName].value = '';
			return;
		}
		return;
	}
	else
	{
		if(decimalHouses == 0)
		{
			var reValue = /^(\d+|\d{1,3}(\.\d{3})+)$/;
			var flag = reValue.test(value);
			if(!flag)
			{
				alert("Valor inválido! Formato incorreto!");
				document.forms[formName].elements[fieldName].value = '';
				return;
			}
			return;
		}
		else
		{	
			var reValue = /^(\d+|\d{1,3}(\.\d{3})+)\,\d+$/;
			var flag = reValue.test(value);
			if(!flag)
			{
				alert("Valor inválido! Formato incorreto!");
				document.forms[formName].elements[fieldName].value = '';
				return;
			}
			return;
		}
	}
}     

function NumericMask(formName, fieldName,decimalHouses,maxlength,showSeparators,event)
{     	
	if(decimalHouses != 0)
		 showSeparators = true;
    if (event.keyCode==9 || (event.keyCode>=37 && event.keyCode<=40))
       return true;
          
	value = document.forms[formName].elements[fieldName].value;
	vr = value;
    vr = vr.replace(",", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
	if(vr.length == maxlength && showSeparators)
	{
		alert("Valor inválido! Ultrapassa o valor máximo!");
		document.forms[formName].elements[fieldName].value = '';
		return true;
	}
	value = extractNumbers(value);
	if(showSeparators)
	{
		var temp = value;
		for(i = 0 ; i < value.length-1 ; i++)
		{
		   if (value.charAt(i) == 0) 
		   		temp = temp.substr(1);
		   else 
		   		break;
		}		
		value = temp;
	}	
	
    	
	if ((value.length) < decimalHouses)
	{
		var integer = value.substring(0, (value.length) - decimalHouses);
        var integer = 0;
	    var dec = value.substring((value.length) - decimalHouses, value.length);	
	    if (event.keyCode==8)
	    {	    	
	        if (decimalHouses!=0)
	        {
				var integer = value.substring(0, (value.length) - decimalHouses);
				var dec = value.substring((value.length) - decimalHouses, value.length);
				if(dec == 0)
				{
					dec = '';
				}      				
			}
			else
			{
			    var integer=value.substring(0, value.length);
			    var dec='';
			}		    
	    }
	    if (event.keyCode==8)
	    	{  		    		
	    		if(value != '' && dec != '')
	    		{
	    			while((dec.length) < decimalHouses)
					{
					    dec = '0' + dec;
					}
	    		}
	    		else
	    		{
	    			dec = '';
	    		}
	    			
	    	}
		if (event.keyCode!=9 && event.keyCode!=8)
		{			
			while((dec.length) < decimalHouses)
			{
			    dec = '0' + dec;
			}						
	    }
    }
    else if (decimalHouses != 0)
    {
    	var integer = value.substring(0, (value.length) - decimalHouses);
		var dec = value.substring((value.length) - decimalHouses, value.length);
    }
    else 
    {
		var integer = value.substring(0, (value.length+1) - decimalHouses);
		var dec = value.substring((value.length+1) - decimalHouses, value.length);
    }	
    if (showSeparators)
    {	
	   temp = '';
	   for (i = integer.length ; i >= 0 ; i = i - 3)
	       temp = integer.substring(i - 3 , i) + '.' + temp;
	   if (temp.substring(0, 1) == '.') 
	   		temp = temp.substr(1);
	   temp = temp.substring(0, temp.length-1);	
	   integer = temp;
    }
    if (decimalHouses!=0 && integer=='' && dec!='')
    {
       integer='0';
    }    
    if(value != '')
    {   	
		if(decimalHouses == 0)
		{
			document.forms[formName].elements[fieldName].value = integer;						
		}
		else
		{ 		
			if(dec != '')	
				document.forms[formName].elements[fieldName].value = integer + ',' + dec;
			else
				document.forms[formName].elements[fieldName].value = '';
		}
	}
	else
	{
		document.forms[formName].elements[fieldName].value = '';
	}
}

function isNUMB(c) 
{ 
	if((cx=c.indexOf(","))!=-1) 
  	{ 
  		c = c.substring(0,cx)+"."+c.substring(cx+1); 
  	} 
 	if((parseFloat(c) / c != 1)) 
  	{ 
  		if(parseFloat(c) * c == 0) 
   		{ 
   			return(1); 
   		} 
  		else 
   		{ 
   			return(0); 
   		} 
  	} 
 	else 
  	{ 
  		return(1); 
  	} 
} 

function LIMP(c) 
{ 
 	while((cx=c.indexOf("-"))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf("/"))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf(","))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf("."))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf("("))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf(")"))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf(" "))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	return(c); 
} 


function LimpaDescricao(formName, fieldName,event)
{
	if (!event)
        event = window.event;

     key = event.keyCode;        
     if (key==0)
        key = event.which;
        
    if (navigator.appName == "Microsoft Internet Explorer")               
    {
	    if (!event.shiftKey && !event.ctrlKey && !event.altKey)    
	    {       
		    if ((key>47 && key<58) || (key>95 && key<106) || key==8 || key==46) 
		    {       
				document.forms[formName].elements[fieldName].value = '';
		       	return true;
		    }
		    else
			   return false;
	    }
	    else
	        return false;        
    }
    else    
    {    
            if (!event.shiftKey && !event.ctrlKey && !event.altKey)
            {        
			    if ((key>47 && key<58) || (key>95 && key<106) || key==8 || key==46) 
			    {       
					document.forms[formName].elements[fieldName].value = '';
			       	return true;			       
			    }
			    else
			    {
				     event.returnValue = false;
				 	 return false;	 	 	  
	            }
	       }
	       else
	       {
			     event.returnValue = false;
			 	 return false;	 	 	  	       
	       }
    }
}

 function openWin() {
    /*  acceptable input:
     *  p=[page],
         *  w=[width],
         *  h=[height],
         *  s=[scrollbars],
         *  r=[resizable],
         *  n=[window name],
         *  c=[confirm message],
         *  st=[status]
     */
    var p;
    var w = 750;
    var h = 630;
    var s = 'yes';
    var r = 'no';
    var n = 'helpWin';
    var c = "The new page will load in the main browser window,\nwhich will appear in front of this one.\nWould you like to close this window now?";
    var st = 'no';

    var arr = openWin.arguments;
    for (i=0; i < arr.length; i++) {
        equalpos = arr[i].indexOf('=');
        leftside = arr[i].substr(0,equalpos);
        rightside = arr[i].substr(equalpos+1);
        if (!rightside) continue;
        eval(leftside + "='" + rightside + "'");
    }

    if (!p || p.substr(0,3)=='_T=') {
        p = '/help/index.php' + ((p) ? '?' + p : '');
    }

    if (window.opener && !window.opener.closed) {
        window.opener.location.href = p;
        window.opener.focus();
        if (c) {
            if (confirm(c)) self.close();
        }
        return;
    } else if (n=='#') {
        self.location.href = p;
        return;
    } else {
        myHelp = window.open(p,n,'width=' + w + ',height=' + h +
                                 ',scrollbars=' + s + ',resizable=' + r +
                                 ',status=' + st);
        myHelp.focus();
    }
    }

    function openHelp(page)
    {
        if (page) {
            openWin('p=' + page);
        } else {
            openWin();
        }
    }
    
function checkFriendsNumber() {


    tf = document.frmSendsms;
    if (tf.mobileGroup[0].checked == true) {
        tf.friendMobileNumberText.disabled = true;
        tf.friendMobileNumberText.value    = tf.myMobile.value;
    } else {
        tf.friendMobileNumberText.value    = '';
        tf.friendMobileNumberText.disabled = false;
        tf.friendMobileNumberText.focus();
    }
}

  function checkLength(maxlen) {
            
        tf    = document.frmSendsms;
        count = maxlen - tf.messageText.value.length;
        if (count < 0) {
            alert('The message is too long');
            tf.messageText.value = tf.messageText.value.substring(0,maxlen);
            tf.textcount.value   = maxlen - tf.messageText.value.length;
        } else {
            tf.textcount.value   = count;
        }
        return;
    }
	    