﻿//-----------------------------------------------------------------
// geral.js (gravar como utf-8)
//
// funções auxiliares em javascript
//
// copyright (c) 2003 Ponto.C - Desenv. Sistemas de Informação, Lda 
//-----------------------------------------------------------------

//Converte código em HTML para caracteres
//Inverso do HTMLEncode

function SPW_HTMLDecode(strIn)
{  
  var strFrom  = new Array;
  var strTo    = new Array;
  strFrom[0] = /&#199;/g;             strTo[0] = "Ç";
  strFrom[1] = /&#200;/g;             strTo[1] = "È";
  strFrom[2] = /&#201;/g;			  strTo[2] = "É";
  strFrom[3] = /&#202;/g;             strTo[3] = "Ê";
  strFrom[4] = /&#203;/g;			  strTo[4] = "Ë";
  strFrom[5] = /&#204;/g;			  strTo[5] = "Ì";
  strFrom[6] = /&#205;/g;			  strTo[6] = "Í";
  strFrom[7] = /&#206;/g;			  strTo[7] = "Î";
  strFrom[8] = /&#207;/g;			  strTo[8] = "Ï";
  strFrom[9] = /&#210;/g;			  strTo[9] = "Ò";
  strFrom[10] = /&#211;/g;			  strTo[10] = "Ó";
  strFrom[11] = /&#212;/g;			  strTo[11] = "Ô";
  strFrom[12] = /&#213;/g;			  strTo[12] = "Õ";
  strFrom[13] = /&#214;/g;			  strTo[13] = "Ö";
  strFrom[14] = /&#217;/g;			  strTo[14] = "Ù";
  strFrom[15] = /&#218;/g;			  strTo[15] = "Ú";
  strFrom[16] = /&#219;/g;			  strTo[16] = "Û";
  strFrom[17] = /&#220;/g;			  strTo[17] = "Ü";
  strFrom[18] = /&#224;/g;			  strTo[18] = "à";
  strFrom[19] = /&#225;/g;			  strTo[19] = "á";
  strFrom[20] = /&#226;/g;			  strTo[20] = "â";
  strFrom[21] = /&#227;/g;			  strTo[21] = "ã";
  strFrom[22] = /&#228;/g;			  strTo[22] = "ä";
  strFrom[23] = /&#231;/g;			  strTo[23] = "ç";
  strFrom[24] = /&#232;/g;			  strTo[24] = "è";
  strFrom[25] = /&#233;/g;			  strTo[25] = "é";
  strFrom[26] = /&#234;/g;			  strTo[26] = "ê";
  strFrom[27] = /&#235;/g;			  strTo[27] = "ë";
  strFrom[28] = /&#236;/g;			  strTo[28] = "ì";
  strFrom[29] = /&#237;/g;			  strTo[29] = "í";
  strFrom[30] = /&#238;/g;			  strTo[30] = "î";
  strFrom[31] = /&#239;/g;			  strTo[31] = "ï";
  strFrom[32] = /&#241;/g;			  strTo[32] = "ñ";
  strFrom[33] = /&#242;/g;			  strTo[33] = "ò";
  strFrom[34] = /&#243;/g;			  strTo[34] = "ó";
  strFrom[35] = /&#244;/g;			  strTo[35] = "ô";
  strFrom[36] = /&#245;/g;			  strTo[36] = "õ";
  strFrom[37] = /&#246;/g;			  strTo[37] = "ö";
  strFrom[38] = /&#249;/g;			  strTo[38] = "ù";
  strFrom[39] = /&#250;/g;			  strTo[39] = "ú";
  strFrom[40] = /&#251;/g;			  strTo[40] = "û";
  strFrom[41] = /&#38;/g;			  strTo[41] = "&";
  strFrom[42] = /&amp;/g;			  strTo[42] = "&";
  strFrom[43] = /&#47;/g;			  strTo[43] = "/";
  strFrom[44] = /&#186;/g;			  strTo[44] = "º";
  
  strFrom[45] = /&lt;/g;			  strTo[45] = "<";
  strFrom[46] = /&gt;/g;			  strTo[46] = ">";
  strFrom[47] = /&quot;/g;			  strTo[47] = "\""; //aspas
  strFrom[48] = /&#170;/g;			  strTo[48] = "ª";
  strFrom[49] = /&#216;/g;			  strTo[49] = "Ø";
  strFrom[50] = /&#192;/g;			  strTo[50] = "À";
  strFrom[51] = /&#193;/g;			  strTo[51] = "Á";
  
  strFrom[52] = /&#171;/g;			  strTo[52] = "«";
  strFrom[53] = /&#187;/g;			  strTo[53] = "»";
  strFrom[54] = /&#163;/g;			  strTo[54] = "£";
  strFrom[55] = /&#167;/g;			  strTo[55] = "§";
  strFrom[56] = /&#8364;/g;			  strTo[56] = "€";
  
  strFrom[57] = /&#194;/g;			  strTo[57] = "Â";
  strFrom[58] = /&#195;/g;			  strTo[58] = "Ã";
  strFrom[59] = /&#209;/g;			  strTo[59] = "Ñ";

  strFrom[60] = /&#176;/g;			  strTo[60] = "°";
  strFrom[61] = /&#177;/g;			  strTo[61] = "±";
  strFrom[62] = /&#188;/g;			  strTo[62] = "¼";
  strFrom[63] = /&#189;/g;			  strTo[63] = "½";
  strFrom[64] = /&#190;/g;			  strTo[64] = "¾";
  strFrom[65] = /&#180;/g;			  strTo[65] = ""; // plica não colocamos... vai a vazio

  var iMax = strFrom.length;
  var i;
  var strOut = strIn;
  var strT;

  for(i = 0; i < iMax; i++){
     strOut = strOut.replace(strFrom[i], strTo[i]);
  }
  return strOut;
}

//Função para importar dados para construir select
//O parâmetro de entrada GuardaSelecionado serve para guardar a 1ª opção do select
//durante a sua construção e é um boolean (parâmetro opcional)

function SPW_CallExport(Form,InputText,ISelect,urlSite,GuardaSelecionado)
{	
	var Input = eval("document." + Form + "." + InputText);
	var Select = eval("document." + Form + "." + ISelect);
	var DescCampo = Input.value;
		
	//Não pode ser vazio
	if (!DescCampo=="") 
	{	//caracteres inválidos		
		if (!caracteres_inv(DescCampo,"'&+%\"")) 
 		{
			alert("O campo para pesquisa não pode conter o(s) caracter(es) ', &, +, % e \" .");
			Input.focus();
			return (false);
		}
		
		urlSite = urlSite.toString();
		
		var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
		if (ultmChar == "&" || ultmChar == "?")
		{	var sURL = urlSite + InputText + "=" + DescCampo;
		}else
		{	var sURL = urlSite + "&" + InputText + "=" + DescCampo;
		}
		
		oXMLHTTP.open("POST",sURL,false);

		oXMLHTTP.send('');
	
		var mArray = new Array();
		var mArrayId = new Array();
		var j = 0;
		var aux = "";

		aux = oXMLHTTP.responseText
		aux = SPW_HTMLDecode(aux);
		//alert(aux.substr(3500));
		//alert(aux);
	
		if (!aux == "")
		{	
			
			if(GuardaSelecionado)
			{	
				if (aux == "0")
				{	alert("Não existe mais nenhum contacto com a designação " + DescCampo + ".");
					Input.focus();
					return (false);
			
				}else if (aux == "1")
				{	alert("Foram encontrados mais de 1000 registos. \nEspecífique melhor a designação do contacto que pretende de forma a trazer menos registos.");
					Input.focus();
					return (false);
			
				}else		
				{	
					mArray = aux.toString().split(",");
			
					for (j = 0; j < mArray.length; j++)
					{	
						mArrayId = mArray[j].toString().split("|");
						opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
						Select.options[j+1] = eval(opt);				
						mArrayId = "";
					}
				}
			}else
			{
				if (aux == "0")
				{	alert("Não existe nenhum contacto com a designação " + DescCampo + ". \nVerifique o nome introduzido.");
					Input.focus();
					return (false);
			
				}else if (aux == "1")
				{	alert("Foram encontrados mais de 1000 registos. \nEspecífique melhor a designação do contacto que pretende de forma a trazer menos registos.");
					Input.focus();
					return (false);
			
				}else		
				{	
					Select.options.length = 0;
					mArray = aux.toString().split(",");
			
					for (j = 0; j < mArray.length; j++)
					{	
						mArrayId = mArray[j].toString().split("|");
						opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
						Select.options[j] = eval(opt);				
						mArrayId = "";
					}
				}
			}
		}
	}
}

//-- Função para selects multisize. Passa as opções de um select para outro e vice-versa sem o submit do form.
//-- Begin
function SelectMultiSize(Ligado,Desligado,InputHydden,aux,NomeForm) {
var valor = new Array();

	var SelectLigado = eval("document."+ NomeForm + "." + Ligado);
	var SelectNaoLigado = eval("document."+ NomeForm + "." + Desligado);
	
	var len = SelectLigado.length;	
	for(var i = 0; i < SelectNaoLigado.length; i++) 
	{	if ((SelectNaoLigado.options[i] != null) && (SelectNaoLigado.options[i].selected)) 
		{	var found = false;
			for(var count = 0; count < len; count++) 
			{	if (SelectLigado.options[count] != null) 
				{	//if (SelectNaoLigado.options[i].text == SelectLigado.options[count].text) {
					if (SelectNaoLigado.options[i].value == SelectLigado.options[count].value) {
						found = true;
						break;
					}
				}
			}
			if (found != true) 
			{	SelectLigado.options[len] = new Option(SelectNaoLigado.options[i].text,SelectNaoLigado.options[i].value); 
				//adiconado pelo Nuno em 2004-05-07 -----------------------------------
					//alert(SelectNaoLigado.options[i].id);
					SelectLigado.options[len].id = SelectNaoLigado.options[i].id;
				//---------------------------------------------------------------------
				len++;
			}
		}
	}			
	
	var leng = SelectNaoLigado.options.length;
	for(var i = (leng-1); i >= 0; i--) 
	{	if ((SelectNaoLigado.options[i] != null) && (SelectNaoLigado.options[i].selected == true)) 
		{	SelectNaoLigado.options[i] = null;
	    }
	}
	
	if (aux == "0" ){
		var len	= SelectLigado.length;
		for(var i = 0; i < len; i++){
			valor[i] = SelectLigado.options[i].value;
		}
	}else{
		var len	= SelectNaoLigado.length;
		for(var i = 0; i < len; i++){
			valor[i] = SelectNaoLigado.options[i].value;
		}
	}
	
	if(eval("document."+ NomeForm + "." + InputHydden)){
		eval("document."+ NomeForm + "." + InputHydden).value = valor;
	}
}
// End -->

//Função para importar dados para construir select
function SPW_ExportAtributos(Form,IdTipoDoc,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "IdTipoDoc=" + IdTipoDoc;
	else
		var sURL = urlSite + "&IdTipoDoc=" + IdTipoDoc;
			
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
		
	aux = oXMLHTTP.responseText;	
	aux = SPW_HTMLDecode(aux);
			
	if (aux != "" && aux != 0)
	{	
		Select.options.length = 1;
		mArray = aux.toString().split(",");
				
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[2] +"','"+ mArrayId[0] +"|"+ mArrayId[1] +"')";
			Select.options[j+1] = eval(opt);				
			mArrayId = "";
		}
	}
}

//Função para importar dados para construir select
function SPW_ExportNodos(Form,IdNivel,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "IdNivel=" + IdNivel;
	else
		var sURL = urlSite + "&IdNivel=" + IdNivel;
			
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
		
	aux = oXMLHTTP.responseText;	
	aux = SPW_HTMLDecode(aux);
		
	if (aux != "" && aux != 0)
	{	
		Select.options.length = 1;
		mArray = aux.toString().split(",");
				
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
			Select.options[j+1] = eval(opt);				
			mArrayId = "";
		}
	}
	else
		Select.options.length = 1;
}

//Função para verificar se existe um código
function SPW_ViCodigo(Codigo,urlSite)
{			
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "Codigo=" + Codigo;
	else
		var sURL = urlSite + "&Codigo=" + Codigo;
			
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var RES = "";
		
	RES = oXMLHTTP.responseText;	
	RES = SPW_HTMLDecode(RES);
		
	if (RES == "True")
		return (1);
	else
		return (0);
}

function SPW_ExportTiposAtributo(Form,val,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "s=" + val;
	else
		var sURL = urlSite + "&s=" + val;
	
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
	
	aux = oXMLHTTP.responseText;	
	aux = SPW_HTMLDecode(aux);
		
	if (aux != "" && aux != 0)
	{	
		Select.options.length = 0;
		mArray = aux.toString().split(",");
				
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
			Select.options[j] = eval(opt);				
			mArrayId = "";
		}
	}
	else
		Select.options.length = 0;
}

//Função para importar dados para construir select
function SPW_ExportMetas(Form,strIdsObjs,strIdsMetasAssoc,ISelect,urlSite)

{
	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "strIdsObjs=" + strIdsObjs + "&strIdsMetasAssoc=" + strIdsMetasAssoc;
	else
		var sURL = urlSite + "&strIdsObjs=" + strIdsObjs + "&strIdsMetasAssoc=" + strIdsMetasAssoc;
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
		
	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
			
	if (aux != "" && aux != 0)
	{	
		Select.options.length = 0;
		mArray = aux.toString().split("|;|");
				
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
			Select.options[j] = eval(opt);				
			Select.options[j].id = mArrayId[2];			
			mArrayId = "";
		}
	}
	else
		Select.options.length = 0;
}

//Função para importar dados para construir select
function SPW_ExportPerigos(Form,strIdsGrupos,strIdsPerigosAssoc,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "strIdsGrupos=" + strIdsGrupos + "&strIdsPerigosAssoc=" + strIdsPerigosAssoc;
	else
		var sURL = urlSite + "&strIdsGrupos=" + strIdsGrupos + "&strIdsPerigosAssoc=" + strIdsPerigosAssoc;
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
	
	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open()
	//document.write(aux)
	
	//alert(aux)
	
	if (aux != "" && aux != 0)
	{	
		Select.options.length = 0;
		mArray = aux.toString().split("|;|");
		
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
			Select.options[j] = eval(opt);				
			Select.options[j].id = mArrayId[2];
						
			mArrayId = "";
		}
	}
	else
		Select.options.length = 0;
	
}

//Função para importar dados para construir select
function SPW_ExportRiscos(Form,strIdsPerigos,strIdsRiscosAssoc,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "strIdsPerigos=" + strIdsPerigos + "&strIdsRiscosAssoc=" + strIdsRiscosAssoc;
	else
		var sURL = urlSite + "&strIdsPerigos=" + strIdsPerigos + "&strIdsRiscosAssoc=" + strIdsRiscosAssoc;
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
	
	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open()
	//document.write(aux)
	
	//alert(aux)
	
	if (aux != "" && aux != 0)
	{	
		Select.options.length = 0;
		mArray = aux.toString().split("|;|");
				
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
			Select.options[j] = eval(opt);				
			Select.options[j].id = mArrayId[2];			
			mArrayId = "";
		}
	}
	else
		Select.options.length = 0;
}
//FunÃ§Ã£o para importar dados para construir select
function SPW_ExportColabs(Form,CodPF,ISelect,OSelect,urlSite)
{	
	var SelectO = eval("document." + Form + "." + OSelect);
	var SelectI = eval("document." + Form + "." + ISelect);
	
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "CodPF=" + CodPF
	else
		var sURL = urlSite + "&CodPF=" + CodPF
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArrayA = new Array();
	var mArrayIdA = new Array();

	var mArrayNA = new Array();
	var mArrayIdNA = new Array();
	var j = 0;
	var aux = "";
		
	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open();
	//document.write(CodPF);
	

	var auxA="";
	var auxNA="";
	

	aux=aux.toString().split("#@#");

	auxA=aux[0]; //associados
	auxNA=aux[1]; //nÃ£o associados
	
	//document.write(auxNA);
	
	//alert(auxa)
	
	//Colaboradores associados Ã  acÃ§Ã£o do Plano
	if (auxA != "" && auxA != 0)
	{	
		SelectO.options.length = 0;
		mArrayA = auxA.toString().split("|;|");
		
		for (j = 0; j < mArrayA.length; j++)
		{	
			mArrayIdA = mArrayA[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayIdA[1] +"','"+ mArrayIdA[0] +"')";
			SelectO.options[j] = eval(opt);	
			SelectO.options[j].id = mArrayIdA[2];
						
			mArrayIdA = "";
		}
	}
	else
		SelectO.options.length = 0;


	
	//Colaboradores nÃ£o associados Ã  acÃ§Ã£o do Plano
	if (auxNA != "" && auxNA != 0)
	{	
		SelectI.options.length = 0;
		mArrayNA = auxNA.toString().split("|;|");
		
		for (j = 0; j < mArrayNA.length; j++)
		{	
			mArrayIdNA = mArrayNA[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayIdNA[1] +"','"+ mArrayIdNA[0] +"')";
			SelectI.options[j] = eval(opt);	
			SelectI.options[j].id = mArrayIdNA[2];
						
			mArrayIdNA = "";
		}
	}
	else
		SelectI.options.length = 0;

	
}


//Esta função permite buscar código pronto para colocar no innerHTML
//de um objecto
function SPW_ExportCodigo(urlSite)
{	
	urlSite = urlSite.toString();
			
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	oXMLHTTP.open("POST",urlSite,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
		
	aux = oXMLHTTP.responseText;	
	aux = SPW_HTMLDecode(aux);
		
	if (aux != "" && aux != 0)	
		return(aux);
	else
		return("");
}

//Abre PopUp
function SPW_OpenPopUp(url,Nome,sFeatures,w,h)
{
	if (sFeatures == ""){
		sFeatures ='top=200,';
		sFeatures +='left=200,';
		sFeatures +='scrollbars=yes,';
		sFeatures +='resizable=no,';
	}
	sFeatures +='height='+ h +',';
	sFeatures +='width='+ w;
	//sFeatures +=',directories=1';		########NOTA: Esta linha deve ser descomentada se for para a EXTRUSAL!!!
	newwin=window.open (url, Nome,sFeatures);
	if (newwin){
	    if (!newwin.opener)
		    newwin.opener=self;

	    if(parseInt(navigator.appVersion) >= 4)
		    newwin.window.focus();
	}
}

//Abre Janela Modal
function SPW_showModalDialog(url,Arguments,sFeatures,w,h)
{
    if (navigator.appName != "Microsoft Internet Explorer")	 
    {   
	    SPW_OpenPopUp(url,'popup','',w,h);
	    return false;
	}

	//abre uma janela modal no url indicado
	if (sFeatures == ""){			
		sFeatures  = " center=yes;"; //centrado na janela mãe
		sFeatures += " dialogHide:no;";
		sFeatures += " edge:'sunken';";//{ sunken | raised }
		sFeatures += " help:no;";
		sFeatures += " resizable:no;";						
		sFeatures += " status:no;";
		sFeatures += " scroll:no;";
		sFeatures += " unadorned:no;";	
	}
	
	sFeatures += " dialogHeight: "+h+"px;"; 
	sFeatures += " dialogWidth: "+w+"px;";
	
	window.showModalDialog (url, window, sFeatures);
	
}

//Permite preencher um SelectBox com dados vindos por XMLHTTP
function SPW_Import(inpDestino,PageUrl)
{	
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	oXMLHTTP.open("POST",PageUrl,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
	
	aux = oXMLHTTP.responseText;	
	//document.writeln(aux);	
		
	aux = SPW_HTMLDecode(aux);
	
	if (aux != "" && aux != 0)
	{	
		inpDestino.options.length = 1;				
		mArray = aux.toString().split("|;|");				
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");			
			opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
			inpDestino.options[j+1] = eval(opt);					
			mArrayId = "";
		}
	}
	else
		inpDestino.options.length = 1;
		
}
//Permite preencher um ListBox com dados vindos por XMLHTTP
function SPW_ImportListBox(inpDestino,PageUrl)
{	
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	oXMLHTTP.open("POST",PageUrl,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
	
	aux = oXMLHTTP.responseText;	
	//document.writeln(aux);	
	aux = SPW_HTMLDecode(aux);
			
	if (aux != "" && aux != 0)
	{	
		inpDestino.options.length = 0;				
		mArray = aux.toString().split("|;|");				
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");			
			opt = "new Option" + "('"+ mArrayId[1] + " " + mArrayId[2] +"','"+ mArrayId[0] +"')";
			inpDestino.options[j] = eval(opt);					
			mArrayId = "";
		}
	}
	else
		inpDestino.options.length = 0;
}
//Permite preencher um SelectBox com dados vindos por XMLHTTP
//Preenche tb os Atributos MaxNumTarefas e Responsavel.
function SPW_ImportServicos(inpDestino,PageUrl)
{	
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	oXMLHTTP.open("POST",PageUrl,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";
	
	aux = oXMLHTTP.responseText;	
	aux = SPW_HTMLDecode(aux);
		
	if (aux != "" && aux != 0)
	{	
		inpDestino.options.length = 1;
		mArray = aux.toString().split("|;|");
					
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");			
			opt = "new Option" + "('"+ mArrayId[1] +"','"+ mArrayId[0] +"')";
			inpDestino.options[j+1] = eval(opt);
			inpDestino.options[j+1].MaxNumTarefas = mArrayId[2]; 
			inpDestino.options[j+1].Responsavel = mArrayId[3];
								
			mArrayId = "";
		}
	}
	else
		inpDestino.options.length = 1;
}

//Função para importar dados para construir select
function SPW_ExportParametros(Form,revisao,seccao,plano,peca,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "Revisao=" + revisao + "&Seccao=" + seccao + "&Plano=" + plano + "&Peca=" + peca;
	else
		var sURL = urlSite + "&Revisao=" + revisao + "&Seccao=" + seccao + "&Plano=" + plano + "&Peca=" + peca;
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";

	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open()
	//document.write(aux)
	
	//document.write(aux)
	
	if (aux != "" && aux != 0)
	{	
		Select.options.length = 0;
		mArray = aux.toString().split("|;|");
		
		for (j = 0; j < mArray.length; j++)
		{	
			mArrayId = mArray[j].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[2] + " / " + mArrayId[1] +"','"+ mArrayId[0] +"')";
			Select.options[j] = eval(opt);				
			Select.options[j].id = mArrayId[2];
						
			mArrayId = "";
		}
	}
	else
		Select.options.length = 0;
	
}

//Função para importar o valor máximo de crédito entre as causas
function SPW_ExportCredito(Form,causas,contacto,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);

	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "Causas=" + causas + "&Contacto=" + contacto;
	else
		var sURL = urlSite + "&Causas=" + causas + "&Contacto=" + contacto;
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var aux = "";

	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open()
	//document.write(aux)
	
	Select.value = aux;
}

//Função para importar dados para construir select
function SPW_ExportLotes(Form,ordemFAB,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "OrdemFAB=" + ordemFAB;
	else
		var sURL = urlSite + "&OrdemFAB=" + ordemFAB;
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";

	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open()
	//document.write(aux)
	
	if (aux != "" && aux != 0)
	{	
		mArray = aux.toString().split("|;|");
		for (j = 1; j <= mArray.length; j++)
		{	
			mArrayId = mArray[j-1].toString().split("|");
			opt = "new Option" + "('"+ mArrayId[0] + " - " + mArrayId[1] +"','"+ mArray[j-1].toString() +"')";
			Select.options[j] = eval(opt);
			Select.options[j].id = mArray[j-1].toString();
			mArrayId = "";
		}
	}
}

//Função para importar dados para construir select
function SPW_ExportOrdemFAB(Form,peca,ISelect,urlSite)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "Peca=" + peca;
	else
		var sURL = urlSite + "&Peca=" + peca;
				
	oXMLHTTP.open("POST",sURL,false);

	oXMLHTTP.send('');
	
	var mArray = new Array();
	var j = 0;
	var aux = "";

	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open()
	//document.write(aux)
	
	if (aux != "" && aux != 0)
	{	
		mArray = aux.toString().split("|;|");
		for (j = 1; j <= mArray.length; j++)
		{	
			opt = "new Option" + "('"+ mArray[j-1].toString() +"','"+ mArray[j-1].toString() +"')";
			Select.options[j] = eval(opt);
			Select.options[j].id = mArray[j-1].toString();
		}
	}
}

//Função para importar dados para construir select
function SPW_ExportCotas(Form,peca,ISelect,urlSite,LoteFab)
{	
	var Select = eval("document." + Form + "." + ISelect);
		
	urlSite = urlSite.toString();
		
	var ultmChar = urlSite.charAt(urlSite.length-1);
				
if (navigator.appName == "Microsoft Internet Explorer"){
	var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}else{
	var oXMLHTTP = new XMLHttpRequest();
}
		
	if (ultmChar == "&" || ultmChar == "?")
		var sURL = urlSite + "Peca=" + peca + "&LoteFab=" + LoteFab;
	else
		var sURL = urlSite + "&Peca=" + peca + "&LoteFab=" + LoteFab;
				
	oXMLHTTP.open("POST",sURL,false);
	
	oXMLHTTP.send('');
	
	var mArray = new Array();
	var mArrayId = new Array();
	var j = 0;
	var aux = "";

	aux = oXMLHTTP.responseText;		
	aux = SPW_HTMLDecode(aux);
	
	//se der erro descomentar estas linhas para ver o erro
	//document.open()
	//document.write(aux)
	
	if (aux != "" && aux != 0)
	{	
		mArray = aux.toString().split("|;|");
		for (j = 1; j <= mArray.length; j++)
		{	
			mArrayId = mArray[j-1].toString().split("|");
			
			if (eval("document." + Form + ".NumPeca").value == "")
			{	eval("document." + Form + ".NumPeca").value = mArrayId[2];	
			}

			opt = "new Option" + "('"+ mArrayId[1].toString() +"','"+ mArrayId[0] +"')";
			Select.options[j] = eval(opt);
			Select.options[j].id = mArray[j-1].toString();
			mArrayId = "";
			
			
		}
	}
}

//Faz o check/unched para todos os checks de um form
//que tenham no id "i_chkUnic"
//onclick="JavaScript:SPW_CheckAll('frmAdi')"
function SPW_CheckAll(oForm)
{		
	//crio o objecto oForm
	var oForm = eval("document." + oForm);
	//verifico se o elemento checkAll está checked ou unchecked
	if (oForm('i_chkAll'))
		var tocheck = oForm('i_chkAll').checked 
	//buscar numero de checks "i_chkUnic"
	if (oForm('i_chkUnic'))
		var len = oForm.i_chkUnic.length
		
	//se o len != undefined :
	//1º verifico se existe o objecto i_chkUnic
	//2º check unicamnete um
	if (!Number(len)){
		if (oForm('i_chkUnic'))
			oForm('i_chkUnic').checked = tocheck;
	}		
	
	//se existirem mais de 500 elementos no form
	//pergunto se pretende mesmo assim checkar 
	//ou check unicamente 500
	if (len > 500) 
	{
		var msg= "Devido à existência de muitos registos a operação que escolheu poderá demorar algum tempo."
		  msg += "\nDeseja continuar?"
		if (!confirm(msg)){
			oForm('i_chkAll').checked = !tocheck;
			return;			
		}
	}
	
	//percorro todos os elementos do form 
	//verifico se são os que me interessão(checks)
	//se forem então igualo o seu valor de check ao do check all
	for (i=0; i<len; i++) 
		oForm.i_chkUnic[i].checked = tocheck; 
	
	return; 
}

//Verifica se estão todos checked e faz o check no checkAll
//caso contrario faz o unchecked do checkAll
//que tenha no id "i_chkAll"
//onclick="JavaScript:SPW_CheckUnit('frmAdi',this)"
function SPW_CheckUnit(oForm,oElem)
{	 	
	//crio o objecto oForm
	var oForm = eval("document." + oForm);
	//buscar numero de checks "i_chkUnic"
	if (oForm('i_chkUnic'))
		var length = oForm.i_chkUnic.length
	//verifico se o elemento onde cliquei está checked ou unchecked
	var ischeck = oElem.checked;
	
	//se estiver unchecked então uncheck o checkAll
	if (!ischeck){
		oForm('i_chkAll').checked = ischeck;
		return;
	}
	
	//se o length != undefined :
	//1º verifico se existe o objecto i_chkUnic
	//2º check unicamnete um
	if (!Number(length)){
		if (oForm('i_chkAll'))
			oForm('i_chkAll').checked = ischeck;
	}	
	
	//percorro todos os elementos do form 
	//se estiver checked vou verificar se estão todos
	//se estiverem todos então faço o check do checkAll
	else{
		for (var i=0; i<length; i++) 
		{ 
			if (oForm.i_chkUnic[i].checked)
				tocheck = oForm.i_chkUnic[i].checked;
			else					
				return;
				
		} 
		oForm('i_chkAll').checked = true;
	}
	
	return; 
}

//Limpa espaços
function SPW_Limpa_Espacos(checkStr)
{	
	var i;
	
	for (i = 0; i  < checkStr.length; i++)
	{
		checkStr = checkStr.replace(/ /g,'');
		//alert(checkStr);
	}
	
	return checkStr;
}

//SPW_EliminaRegisto
//mostra uma página tipo modal para perguntar se quere eliminar o registo.
function SPW_EliminaRegisto(urlDel){
    var url = "../dialogos/showmsgdel.asp?urlDel=" + escape(urlDel);
	
	var iW=350; var iH=150; var R='no'; var S='no';
	var SC='no'; var T='no'; var TB='no'; 
	var TOP='250'; var LEFT='200';
	var sF="";
	
	sF+=iW?'width='+iW+',':'';
	sF+=iH?'height='+iH+',':'';
	sF+=R?'resizable='+R+',':'';
	sF+=S?'status='+S+',':'';
	sF+=SC?'scrollbars='+SC+',':'';
	sF+=T?'titlebar='+T+',':'';
	sF+=TB?'toolbar='+TB+',':'';
	sF+=TB?'menubar='+TB+',':'';
	sF+=TOP?'top='+TOP+',':'';
	sF+=LEFT?'left='+LEFT+',':'';
	//sF+=',directories=1';			########NOTA: Esta linha deve ser descomentada se for para a EXTRUSAL!!!
	
	window.open(url,'DELETE',sF).focus();
}

//Funcao de eliminação com msg personalizada
function SPW_EliminaRegistoMSG(urlDel,msg){
	var url = "../dialogos/showmsgdel.asp?urlDel="+ escape(urlDel) +"&msg="+msg;
	
	var iW=350; var iH=150; var R='no'; var S='no';
	var SC='no'; var T='no'; var TB='no'; 
	var TOP='250'; var LEFT='200';
	var sF="";
	
	sF+=iW?'width='+iW+',':'';
	sF+=iH?'height='+iH+',':'';
	sF+=R?'resizable='+R+',':'';
	sF+=S?'status='+S+',':'';
	sF+=SC?'scrollbars='+SC+',':'';
	sF+=T?'titlebar='+T+',':'';
	sF+=TB?'toolbar='+TB+',':'';
	sF+=TB?'menubar='+TB+',':'';
	sF+=TOP?'top='+TOP+',':'';
	sF+=LEFT?'left='+LEFT+',':'';
	//sF+=',directories=1';			########NOTA: Esta linha deve ser descomentada se for para a EXTRUSAL!!!
	
	window.open(url,'DELETE',sF).focus();
}

//Funcao de confirmação de uma determinada acção com msg personalizada
function SPW_ConfirmAction(urlTo,msg){    
	var url = "../dialogos/showmsg.asp?urlTo="+ escape(urlTo) +"&msg="+msg;
	
	var iW=350; var iH=150; var R='no'; var S='no';
	var SC='no'; var T='no'; var TB='no'; 
	var TOP='250'; var LEFT='200';
	var sF="";
	
	sF+=iW?'width='+iW+',':'';
	sF+=iH?'height='+iH+',':'';
	sF+=R?'resizable='+R+',':'';
	sF+=S?'status='+S+',':'';
	sF+=SC?'scrollbars='+SC+',':'';
	sF+=T?'titlebar='+T+',':'';
	sF+=TB?'toolbar='+TB+',':'';
	sF+=TB?'menubar='+TB+',':'';
	sF+=TOP?'top='+TOP+',':'';
	sF+=LEFT?'left='+LEFT+',':'';
	//sF+=',directories=1';			########NOTA: Esta linha deve ser descomentada se for para a EXTRUSAL!!!
	
	window.open(url,'Confirm',sF).focus();
}

//SPW_EquipamentoConforme
//mostra uma página tipo modal para perguntar se quer eliminar o registo.
function SPW_EquipamentoConforme(urlAltera,urlNaoAltera){
	var url = "../dialogos/showmsgequipconforme.asp?urlAltera="+ escape(urlAltera) +"&urlNaoAltera="+ escape(urlNaoAltera);
	
	var iW=350; var iH=150; var R='no'; var S='no';
	var SC='no'; var T='no'; var TB='no'; 
	var TOP='250'; var LEFT='200';
	var sF="";
	
	sF+=iW?'width='+iW+',':'';
	sF+=iH?'height='+iH+',':'';
	sF+=R?'resizable='+R+',':'';
	sF+=S?'status='+S+',':'';
	sF+=SC?'scrollbars='+SC+',':'';
	sF+=T?'titlebar='+T+',':'';
	sF+=TB?'toolbar='+TB+',':'';
	sF+=TB?'menubar='+TB+',':'';
	sF+=TOP?'top='+TOP+',':'';
	sF+=LEFT?'left='+LEFT+',':'';
	sF+=',directories=1';
	
	window.open(url,'CONFIRMAÇÃO',sF).focus();
}


//SPW_doSubmitDel
//permite redireccionar a página para realizar o eliminar caso o utilizador tenha clickado em aceitar
function SPW_doSubmitDel(url){ 
    window.location.href = unescape(url);
}

// Função para introduzir o focus
// alterada por NS em 2007.05.07
function SPW_DaFocus(campo){
	//var camp = eval("document.getElementById('"+campo+"')");
	//camp.focus();
	
	if (campo == '[object]')
	{
		if (campo.focus)
		{
			try	{
				campo.focus();
			}
			catch(ex)
			{}
		}
	}
	else
	{
		var eElem = document.getElementById(campo);	
		if (eElem){ 
			if (eElem.focus)
			{
				try	{
					eElem.focus();
				}
				catch(ex)
				{}
			}		
		}
	}	
}
// Função que permite diminuir o numero de rows de um textarea
function SPW_TextAreaMinus(eElemID)
{
	var eElem = document.getElementById(eElemID);	
	if (eElem)
	{
		if (eElem.type == "textarea")
		{
			var r = eElem.rows;
			if (r==1) 
				r = 1
			else
				r --;
			eElem.rows = r;
		}
	}
}
// Função que permite aumentar o numero de rows de um textarea
function SPW_TextAreaPlus(eElemID)
{
	var eElem = document.getElementById(eElemID);		
	if (eElem)
	{
		if (eElem.type == "textarea")
		{
			eElem.rows ++;
		}
	}
}

// Adiciona thePad à esquerda do theItem tantas vezes como o minSize
// var strAux = SPW_LeftPad("12",3,"0")
// strAux ==> "012"
function SPW_LeftPad(theItem,minSize,thePad)
{
    newItem = new String(theItem);
	while (newItem.length < minSize) {
		newItem = thePad + newItem;
	}
	return newItem;
}


//funções para determinar o X e Y de um elemento, funciona em IE e FireFox
function SPW_GetAbsX(elt) { return (elt.x) ? elt.x : SPW_GetAbsPos(elt,"Left");}
function SPW_GetAbsY(elt) { return (elt.y) ? elt.y : SPW_GetAbsPos(elt,"Top");}
function SPW_GetAbsPos(elt,which) 
{
    iPos = 0;
    while (elt != null) {
        iPos += elt["offset" + which];
        elt = elt.offsetParent;
    }
    return iPos;
} 
function SPW_GetDocumentWidth()
{
    if (document.body.scrollWidth)
        return document.body.scrollWidth;
        
    var w = document.documentElement.offsetWidth;
    if (window.scrollMaxX)
        w += window.scrollMaxX;
    
    return w;
}
function SPW_GetDocumentHeight()
{    
    if (document.body.scrollHeight)
        return document.body.scrollHeight;
        
    return document.documentElement.offsetHeight; 
}
// *********************************************************************

// esconde um div
function SPW_HideDiv(divID)
{
    var div = document.getElementById(divID);
    if (div) div.style.display= "none";
}
// mostra um div
function SPW_ShowDiv(divID)
{
    var div = document.getElementById(divID);
    if (div) div.style.display= "block";
}

// Permite preencher inputs do form e de seguida fazer o submit
function SPW_SubmitForm(eElemsID,eElemsValue,frmID,action,reset)
{  
	var _frmElem = document.getElementById(frmID);
	if (_frmElem) {
				
		if (reset) {
			_frmElem.reset();
		}
		
	    if (eElemsID != null)
	    {
	        for (var i = 0; i < eElemsID.length; i++) {				
				var _eElem = document.getElementById(eElemsID[i]);
				if (_eElem) {		
					if (_eElem.type == 'select-one') {
						_eElem.value = eElemsValue[i];
						if (_eElem.value == ''){
							opt = "new Option" + "('"+ _eElem.options[0].text + "','" + eElemsValue[i] +"')";
						    _eElem.options[0] = eval(opt);
							_eElem.selectedIndex = 0;
							//alert(_eElem.options[0].value);
						}
					}
					else {
						_eElem.value = eElemsValue[i];
						//alert(_eElem.name + " . " + _eElem.value);
					}
				}
	        }
	    }
            
        if (action != "" && action != undefined)
        {
            _frmElem.action = action;
        }
        _frmElem.submit();        
    }
}
