﻿var newwindow;
function popupmeasures(url,iHeight,iWidth)
{
	newwindow=window.open(url,'name','height=' + iHeight + ',width=' + iWidth + ',scrollbars=1');
	if (window.focus) {newwindow.focus()}
}
function popupwindow(url)
{
	newwindow=window.open(url,'name','height=400,width=200');
	if (window.focus) {newwindow.focus()}
}



//Função que avalia se uma data é válida ou não
function ValidaDatas(oSrc, args)
{ 
	var indataemissao=args.Value; 
	
	if (indataemissao)
	{
		var rx = new RegExp("^\\d{4}-\\d{1,2}-\\d{1,2}","g");
		var matches = rx.exec(indataemissao);
		
		if(matches != null && indataemissao == matches[0])	
		{
			var sdate = indataemissao.split("-");
			var year= Math.abs(sdate[0]);
			if((year < 1900)||(year>2100)){
				args.IsValid = false;
				return;
			}
			indataemissao = (Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2]))
			
			var chkDate=new Date(Date.parse(indataemissao)) 
			var cmpDate=(chkDate.getDate())+"/"+(chkDate.getMonth()+1)+"/"+(chkDate.getFullYear()) 
			var indataemissao2=(Math.abs(sdate[2]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[0])) 
			
			if (indataemissao2!=cmpDate)
			{ 
				args.IsValid = false;
				return;
			} 			
		}
		else
		{
			args.IsValid = false;
			return;
		}
	}
}

//Função que avalia se uma data é válida ou não e se é inferior ou igual há data actual
function ValidaDatasNaoAceitaDatasFuturas(oSrc, args)
{ 
	var indataemissao=args.Value; 
	
	if (indataemissao)
	{
		var rx = new RegExp("^\\d{4}-\\d{1,2}-\\d{1,2}","g");
		var matches = rx.exec(indataemissao);

		if(matches != null && indataemissao == matches[0])	
		{
			var sdate = indataemissao.split("-");
			var year= Math.abs(sdate[0]);
			if((year < 1900)||(year>2100)){
				args.IsValid = false;
				return;
			}
			indataemissao = (Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2]))
			
			var chkDate=new Date(Date.parse(indataemissao)) 
			var cmpDate=(chkDate.getDate())+"/"+(chkDate.getMonth()+1)+"/"+(chkDate.getFullYear()) 
			var indataemissao2=(Math.abs(sdate[2]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[0])) 
			
			if (indataemissao2!=cmpDate)
			{ 
				args.IsValid = false;
				return;
			} 
			else  
			{
				if(new Date(Date.parse(indataemissao))>new Date())
				{
					args.IsValid = false;
					return;
				}				
				else  
				{
					args.IsValid = true;
					return;
				}
			}
		}
		else
		{
			args.IsValid = false;
			return;
		}
	}
}

//Função que avalia se uma data é válida ou não e se é superior ou igual há data actual
function ValidaDatasNaoAceitaDatasPassadas(oSrc, args)
{ 
	var indataemissao=args.Value;
	
	if (indataemissao)
	{
		var rx = new RegExp("^\\d{4}-\\d{1,2}-\\d{1,2}","g");
		var matches = rx.exec(indataemissao);
		
		if(matches != null && indataemissao == matches[0])	
		{
			var sdate = indataemissao.split("-");
			var year= Math.abs(sdate[0]);
			if((year < 1900)||(year>2100)){
				args.IsValid = false;
				return;
			}
			indataemissao = (Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2]))
			
			var chkDate=new Date(Date.parse(indataemissao)) 
			var cmpDate=(chkDate.getDate())+"/"+(chkDate.getMonth()+1)+"/"+(chkDate.getFullYear()) 
			var indataemissao2=(Math.abs(sdate[2]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[0])) 
			var newDate= new Date();
			var currentDate = (newDate.getDate())+"/"+(newDate.getMonth()+1)+"/"+(newDate.getFullYear()) 
			if (indataemissao2!=cmpDate)
			{ 
				args.IsValid = false;
				return;
			} 
			else  
			{
				if(new Date(Date.parse(indataemissao))< currentDate)
				{
					args.IsValid = false;
					return;
				}				
				else  
				{
					args.IsValid = true;
					return;
				}
			}
		}
		else
		{
			args.IsValid = false;
			return;
		}
	}
}


function SetUniqueRadioButton(nameregex, current)
{

   re = new RegExp(nameregex);
   for(i = 0; i < document.forms[0].elements.length; i++)
   {
      elm = document.forms[0].elements[i];
      if (elm.type == 'radio')
      {
         if (re.test(elm.name))
         {
            elm.checked = false;
         }
      }
   }
   current.checked = true;
}


