/********************************************************************
* Biblioteca de funções em javascript do SmartCRM                   *
********************************************************************/
/********************************************************************
* Redimensiona o iframe para o tamanho do arquivo carregado dentro  *
* o iframe fica sem scroll                                          *
********************************************************************/
function resizeIframe (body) {
	h = self.document.body.scrollHeight;
	w = self.document.body.scrollWidth;
	self.resizeTo(w,h);
	moveToBegin();
}
function resizePopup () {
	h = document.body.scrollHeight;
	w = document.body.scrollWidth;
	self.resizeTo((w), (h + 30));
	lft = (screen.availWidth - w)/2;
	tp  = (screen.availHeight - h)/2;
	self.moveTo(lft, tp);
	self.focus();
}
/********************************************************************
* Quando muda de página ele carrega e move para o início            *
********************************************************************/
function moveToBegin() {
	top.window.scrollTo(0,0);
}
/********************************************************************
* INFORMA AO XP QUAL O PROXIMO ESTADO DO WIZARD                     *
********************************************************************/
function setNextStage(stage){
	form1.NEXT_PASS.value = "PASS_" + stage;
}
/********************************************************************
* DELETA UM ENVIO DO EMAIL MKT					                    *
********************************************************************/
function delEnvio(path, emmaId){
	if (confirm('Se você apagar esse envio seus dados não poderão ser recuperados.\nTem certeza que deseja continuar?')) {
		document.location.href  = path + '/main.php?PAGE_MAIN=del_envio.php&PAGE_RIGHT=right.php&MODULE=emailmkt&SECTION=envio&BEHAVIOR=xp&EMMA_ID='+emmaId+'&MY_EMAILMKT_TYPE=ALL';
	}
}
/********************************************************************
* Função para fazer submit de formulários				            *
********************************************************************/
function doSubmit(action) {
	if (action == 'adicionar') {
		document.forms[0].acao.value = 'adicionar';
		document.forms[0].submit();		
		
	} else if (action == 'remover') {
		
		document.forms[0].acao.value = 'remover';
		document.forms[0].submit();
	}
	
}
/********************************************************************
* Muda a cor da aba selecionada e mostra o menu                     *
********************************************************************/
function menuCRM(sheet) {
	MENU_COLOR_OVER		=	'#327EE5';
	MENU_COLOR_NORMAL	=	'';
	alert(sheet.id);
	
}
/********************************************************************
* Vai para a próxima aba do wizard                                  *
********************************************************************/
function showSheet(sheet1, sheet2) {
	document.getElementById(sheet1).style.display = 'none';
	document.getElementById(sheet2).style.display = 'block';
	moveToBegin();
}
/********************************************************************
* Verifica se tem que mostrar a aba ou não	                        *
********************************************************************/
function showSheetOne(sheet1) {
	//alert(document.getElementById(sheet1).style.display);
	
	if (document.getElementById(sheet1).style.display == 'none'){
		document.getElementById(sheet1).style.display = 'block';
	} else {
	
		document.getElementById(sheet1).style.display = 'none';
	}		
}
/********************************************************************
* Mostra o conteudo que está escondido                              *
********************************************************************/
function showQuestions(sheet, myLink) {
	//alert(sheet);
	//alert(document.getElementById(myLink));
	bt = document.getElementById(myLink);
	
	if (document.getElementById(sheet).style.display == 'none') {
		
		bt.innerHTML = '[-]';
		document.getElementById(sheet).style.display = 'block';	
	} else {
		bt.innerHTML = '[+]';
		document.getElementById(sheet).style.display = 'none';
	}
}
/*********************************************************************
* Oculta o td passado por parâmetro. Se já estiver oculto ele mostra *
*********************************************************************/
function showHideRightColumn() {
	myColumn	= document.getElementById('tdRight');
	voidColumn	= document.getElementById('tdVoid');
	mainColumn1	= document.getElementById('tdMain');
	mainColumn2	= document.getElementById('tdMain2');
	if (mainColumn1.className != 'mainBig') {
		myColumn.style.display		= 'none';
		voidColumn.style.display	= 'block';
		mainColumn1.className		= 'mainBig';
		mainColumn2.className		= 'mainBig';
	} else {
		myColumn.style.display		= 'block';
		voidColumn.style.display	= 'none';
		mainColumn1.className		= 'mainSmall';
		mainColumn2.className		= 'mainSmall';
	}
}
/********************************************************************
* Abre uma janela do tamanho passado por parâmetro                  *
********************************************************************/
function openPopup(fileName, windowName, w, h, boxstatus, boxscroll) {
	mypop = window.open(fileName, windowName, 'width='+w+', height='+h+',scrollbars='+boxscroll+',status='+boxstatus);
	lft = (screen.availWidth - w)/2;
	tp  = (screen.availHeight - h)/2;
	mypop.moveTo(lft, tp);
	mypop.focus();
	keepOpener(mypop, 0);
}
/******************************************************************
* Recarrega o opener da janela
******************************************************************/
var myWin;
var pid;
function keepOpener(oWindow, pDone) {
	myWin = oWindow;
	if ( oWindow && !oWindow.closed ) {
		if ( !pid ) {
			pid = window.setInterval('keepOpener(myWin, true);', 500);
		} else if ( !oWindow.opener ) {
			oWindow.opener = self;
		}
	} else if ( oWindow.closed && pid ) {
		window.clearInterval(pid);
	}
}
/********************************************************************
* Mostra o conteudo da div			                                *
********************************************************************/
function showMySurveys(panel) {
	if (document.getElementById(panel).style.display == 'none')	{
		document.getElementById(panel).style.display = 'block';
	} else {
		document.getElementById(panel).style.display = 'none';
	}
}
/********************************************************************
* Muda a cor do TD para fazer  efeito do Over                       *
********************************************************************/
function overTD (td) {
	td.className = 'perguntas_box2_over';
	td.style.cursor = 'hand';
}
function outTD (td) {
	td.className = 'perguntas_box2';
	td.style.cursor = 'pointer';
}
/********************************************************************
* Oculta todos as tabelas de opcoes e mostra o da opção selecionada *
********************************************************************/
function showTable (table) {
	
	i=0;
	x = eval('document.forms[0].'+table.name);
	
	for (i=0; i < x.length ; i++)
		document.getElementById('table'+x[i].value).style.display = 'none';
	document.getElementById('table'+table.value).style.display = 'block';
}
/********************************************************************
* Funções para gerenciar options de um select                       *
********************************************************************/
var newOptionsCount = 0;
function addOption (myForm, myInput, myList) {
	if (document.getElementById(myInput).value == ''){		
		alert('Você não pode inserir uma opção em branco!');
		return false;
	}
	myInput = document.getElementById(myInput);
	myList	= document.getElementById(myList);
	
	if (myInput.value) {
		createOption(myList, myInput.value, myInput.value);
		myInput.value = '';
	}
	
	try	{
		img		= myForm.img.value;
		tdImg	= document.getElementById('imgList');
		tdHTML	= tdImg.innerHTML;
		if (tdHTML.length / img.length < 7)
			tdImg.innerHTML += img;
	} catch (img) {
		
	}
	myInput.focus();
}
// Deleta o option
function deleteOption (myForm, myInput, myList) {
	if (document.getElementById(myList).value == ''){
		alert('Você precisa selecionar pelo menos uma opção!');
		return false;
	}
	myList	= document.getElementById(myList);
	myList.options[myList.selectedIndex] = null;	
	
	
	try	{
		img		= myForm.img.value;
		tdImg	= document.getElementById('imgList');		
		if (myList.length < 7)
			tdImg.innerHTML	= tdImg.innerHTML.substr(img.length +2);
	} catch (img) {
	}
}
//Cria uma nova opção para um select
function createOption(obj, optValue, optText) {
	newOptionsCount++;
	var opt = document.createElement('option');
	opt.value = 'new'+newOptionsCount+'_'+optValue;
	opt.innerText = optText;
	obj.appendChild(opt);
	return opt;
}
//adiciona a palavra quando o enter é pressionado
function addOptionByEnter (myForm, myInput, myList) {
	myInput2 = document.getElementById(myInput);
	if (event.keyCode == 13) {
		addOption(myForm, myInput, myList);
	}
	btsub = document.getElementById('btsub');
	myForm.resposta.focus();
}
/********************************************************************
* Muda a cor de fundo do minhas pesquisas                           *
********************************************************************/
function mySurveysOver (tr) {
	tr.style.backgroundColor = '#0069CD';
	tr.style.cursor = 'hand';
}
function mySurveysOut (tr) {
	tr.style.backgroundColor = '';
	tr.style.cursor = 'pointer';
}
/********************************************************************
* Valida formulario de esquecimento de senha                        *
********************************************************************/
function validateEsqSenha(myForm) {
	return validaForm(myForm.name,'user|isnull|Usuario');
}
/********************************************************************
* Retorna o valor de um radio                                       *
********************************************************************/
function getRadioValue(field) {
	for (var i=0; i<field.length;i++){
		if (field[i].checked){
			return field[i].value;
		}
	}
	return false
}
/********************************************************************
* Valida a questão aberta                                           *
********************************************************************/
function validateOpen(myForm) {	
	type = getRadioValue(myForm.content);
	
	if (myForm.maxchars.value && myForm.minchars.value && type != 'date') {
		switch (type) {
			case 'freetext':
					minName = 'minchars';
					maxName = 'maxchars';
					break;
			case 'email':
					minName = 'minemail';
					maxName = 'maxemail';
					break;
			case 'number':
					minName = 'minnumber';
					maxName = 'maxnumber';
					break;
			case 'url':
					minName = 'minurl';
					maxName = 'maxurl';
					break;			
		}
		validate = 'question|isnull|Pergunta,'+ maxName +'|greater|'+ minName +'|'+ type;
	} else {
	
		validate = 'question|isnull|Pergunta';
	
	}		
	return validaForm(myForm.name,validate);
}
/********************************************************************
* Valida o form genérico                                            *
********************************************************************/
function validateVoid(myForm) {
	return true;
}
/********************************************************************
* Valida o layout da survey                                         *
********************************************************************/
function validateLayout(myForm) {
	return validaForm(myForm.name,'layo_id|isnull|Estilo');
}
/********************************************************************
* Valida a questão dicotomica                                       *
********************************************************************/
function validateDicotomic(myForm) {
	return validaForm(myForm.name,'question|isnull|Pergunta,opt1|isnull|Respostas Possíveis,opt2|isnull|Respostas Possíveis');
}
/********************************************************************
* Valida a questão dicotomica                                       *
********************************************************************/
function validateRate(myForm) {
	return validaForm(myForm.name,'question|isnull|Pergunta,min|isnull|Menor valor,max|isnull|Maior valor');
}
/********************************************************************
* Faz a validação quando vai deletar uma section                    *
********************************************************************/
function validateDelSection(myForm) {
	return validaForm(myForm.name,'OPT|isnull|Opção');
}
/********************************************************************
* Valida a section                                                  *
********************************************************************/
function validateSection(myForm) {
	return validaForm(myForm.name,'title|isnull|Titulo');
}
/********************************************************************
* Valida a questão objetiva                                         *
********************************************************************/
function validateObjective(myForm) {
	if	(validaForm(myForm.name,'question|isnull|Pergunta')) {
		selectLen = myForm.lista.length;
		if (selectLen > 0) {
			for (i=0;i< selectLen  ; i++) {
				myForm.lista.options[i].selected = true;
			}
			return true;
		} else {
			alert("Você deve cadastrar pelo menos uma resposta");
			return false;
		}
	}
}
/********************************************************************
* Função genérica que chama a validacao de cada popup               *
* a função que ela vai chamar ela busca no campo hidden 'validade'  *
********************************************************************/
function validateForm() {
	try
	{
		myForm = document.forms[0];
		if (myForm.validate.value) {
			eval('valForm='+myForm.validate.value+'(myForm);');
			if (valForm) {
				myForm.submit();
			}
		} else {
			self.close();
		}
	}
	catch (e)
	{
		alert(e.description);
		self.close();
	}
}
/********************************************************************
* Essa função oculta todos os iframes do smartcrm e mostra somente  *
* o iframe passado por parametro                                    *
********************************************************************/
function showModule (module, url) {
	myModules = new Array;
	myModules[0]	= 'survey';
	myModules[1]	= 'cadastrobase';
	for (i=0;i<myModules.length ;i++) {
		top.document.getElementById(myModules[i]).style.display = 'none';
	}
	atual = top.document.getElementById(module);
	atual.style.display = 'block';
	loadPage(url);
}
function loadPage (url) {
	if (top.frames[1].document.location.href == 'about:blank' || top.frames[1].document.location.href != url) {
		top.frames[1].document.location.href = url;
	}
}
/********************************************************************
* Essa função oculta todos os divs do menu smartcrm e mostra somente*
* o div passado por parametro                                       *
********************************************************************/
function showHideCRMMenu(menu) {
	myMenu = new Array;
	myMenu[0]	= 'operacional';
	myMenu[1]	= 'colaborativo';
	myMenu[2]	= 'analitico';
	myMenu[3]	= 'configuracoes';
	// Oculta todos
	for (i=0;i<myMenu.length ;i++) {
		top.document.getElementById(myMenu[i]).style.display = 'none';
	}
	// Mostra o menu que foi passado por parametro
	showMenu = top.document.getElementById(menu);
	showMenu.style.display = 'block';
}
/********************************************************************
* Vai para a próxima aba                                            *
********************************************************************/
function showHideSheet(sheet1, sheet2) {
	document.getElementById(sheet1).style.display = 'none';
	document.getElementById(sheet2).style.display = 'block';
}
/********************************************************************
* Dessassocia os grupos e person associados                         *
********************************************************************/
function unlinkPersonAndGroup(smt_base_url, delete_all) {
	myForm = document.frames[1].document.forms[0];
	myForm.PAGE_MAIN.value = "remove_person.php";
	myForm.target = 'errorParticipants';
	if (delete_all == 'DELETE_ALL'){
		myForm.DELETE_ALL.value = 'TRUE';
	}
	myForm.submit();
}
/************************************************************************
*	Descrição: seta o combo de navegacao com a página passada como parâmetro *
************************************************************************/
function navigate(page) {
	var oSel = document.getElementById('_pageControlList');
	var oHidden = document.getElementById('_pageControlHidden');
	var frm = oSel.form;
	if ( oSel.options[oSel.selectedIndex].value != page ) {
		for (var i=0; i<oSel.options.length; i++) {
			if ( oSel.options[i].value == page ) {
				oSel.selectedIndex = i;
				break;
			}
		}
	}
	oHidden.value = page;
	frm.submit();
}

function showPersonLoad() {
	x = document.getElementById('searchform');
	y = document.getElementById('carregando');
	x.style.display = 'none';
	y.style.display = 'block';
}
function showParticipantLoad() {
	x = document.getElementById('search');
	
	x.style.display = 'block';
	
}
function showQuestionLoad() {
	x = document.getElementById('search');
	y = document.getElementById('carregando');
	x.style.display = 'none';
	y.style.display = 'block';
}
/********************************************************************
* Dessassocia os grupos e person associados                         *
********************************************************************/
function showHideInteractionMenu(menu) {
	myMenu = new Array;
	myMenu[0]	= 'interac';
	myMenu[1]	= 'dados';
	myMenu[2]	= 'outras';
	// Oculta todos
	for (i=0;i<myMenu.length ;i++) {
		top.document.getElementById(myMenu[i]).style.display = 'none';
		top.document.getElementById(myMenu[i]+'div').style.display = 'none';
	}
	// Mostra o menu que foi passado por parametro
	showMenu = top.document.getElementById(menu);
	showMenu.style.display = 'block';
	showDiv = top.document.getElementById(menu+'div');
	showDiv.style.display = 'block';
}
/********************************************************************
* Dessassocia os grupos e person associados                         *
********************************************************************/
function showHidePersonMenu(menu) {
	myMenu = new Array;
	myMenu[0]	= 'pessoas';
	myMenu[1]	= 'dados';
	// Oculta todos
	for (i=0;i<myMenu.length ;i++) {
		top.document.getElementById(myMenu[i]).style.display = 'none';
		top.document.getElementById(myMenu[i]+'div').style.display = 'none';
	}
	// Mostra o menu que foi passado por parametro
	showMenu = top.document.getElementById(menu);
	showMenu.style.display = 'block';
	showDiv = top.document.getElementById(menu+'div');
	showDiv.style.display = 'block';
}
/********************************************************************
* Pega o label da option selecionada para edita-la                  *
********************************************************************/
function editOption(SMT_BASE_URL, SMT_BASE_DIR, mySelect) {		
	label = mySelect.options[mySelect.options.selectedIndex].text;
	key   = mySelect.options[mySelect.options.selectedIndex].value;
	id	  = mySelect.options.selectedIndex;	
	openPopup(SMT_BASE_URL+"/main.php?PAGE_MAIN=edit_option.php&SECTION=questions&MODULE=core&BEHAVIOR=popup&DIR=SMARTCRM&TITLE=Opção de Resposta&TITLE_IMG=img_tit_opcao.gif&OPT_LABEL="+label+"&OPT_KEY="+key+"&OPT_ID="+id, 'option', 400, 150);
}
/********************************************************************
* Descrição: Validação do popUp de perguntas
********************************************************************/
function hasAnswerQuestion (count, id) {
	if (count > 0){
		if (confirm('Esta pergunta já foi respondida.\nSe você excluir a pergunta, todas as respostas dadas serão excluídas.\nDeseja Continuar?')) {
			document.form1.QUES_ID.value = id;
			document.form1.PAGE_MAIN.value='delete_question.php';
			document.form1.BEHAVIOR.value='xp';
			document.form1.submit();
		}
	} else {
		document.form1.QUES_ID.value = id;
		document.form1.PAGE_MAIN.value='delete_question.php';
		document.form1.BEHAVIOR.value='xp';
		document.form1.submit();
	
	}
}
/********************************************************************
* Verifica se a pergunta já tem resposta		                    *
********************************************************************/
function hasAnswer(SMT_BASE_URL, SURV_ID, QUEG_ID, EDIT, FROM, count) {
	if (FROM){
		FROM = 'BASIC_INFORMATION';
	} else {
		FROM = 'QUESTIONAIRE';
	}
	if (count > 0) {
		if (confirm('Esta pergunta já foi respondida.\nDeseja Continuar?')){
			document.location.href = SMT_BASE_URL+'/main.php?MODULE=core&SECTION=questions&PAGE_MAIN=del_question.php&BEHAVIOR=xp&SURV_ID='+SURV_ID+'&QUEG_ID='+QUEG_ID+'&EDIT=TRUE&FROM='+FROM;
		} else {
			
			return false;
		}
	} else {
	
		document.location.href = SMT_BASE_URL+'/main.php?MODULE=core&SECTION=questions&PAGE_MAIN=del_question.php&BEHAVIOR=xp&SURV_ID='+SURV_ID+'&QUEG_ID='+QUEG_ID+'&EDIT=TRUE&FROM='+FROM;
	
	}
}
/********************************************************************
* Deixa a primeira div da lista visible e o resto hide              *
********************************************************************/
function showHideSheetGeneric(sheetList, bTop) {
	myMenu = new Array;
	myMenu = sheetList.split(",");
	// Oculta todos
	for (i=0;i<myMenu.length ;i++) {
		var obj;
		if (bTop){
			obj = top.document.getElementById(trim(myMenu[i]));
		} else {
			obj = document.getElementById(trim(myMenu[i]));
		}
		if (typeof(obj)=='object')
			obj.style.display = 'none';
	}
	// Mostra o menu que foi passado por parametro
	if (bTop){
		showMenu = top.document.getElementById(myMenu[0]);
	} else {
		showMenu = document.getElementById(myMenu[0]);
	}
	showMenu.style.display = 'block';
}
/************************************************************************************************
*  Trim																							*
************************************************************************************************/
function trim (str) {
	return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

/************************************************************************************************
*  Marca todos os checkbox de um form															*
************************************************************************************************/
function checkUncheckAll (myForm, smt_base_img) {
	x = document.getElementById(myForm);
	myDiv1 = document.getElementById('divcheck1');
	myDiv2 = document.getElementById('divcheck2');
	/*
	if (myDiv.innerText == ' Desmarcar Todos'){
		myDiv.innerHTML = '<img src="'+smt_base_img+'/img_marcar.gif" border="0" align="absmiddle">&nbsp;Marcar Todos';
		xaction = false;
	} else {
		myDiv.innerHTML = '<img src="'+smt_base_img+'/img_desmarcar.gif" border="0" align="absmiddle">&nbsp;Desmarcar Todos';
		xaction  = true;
	}
	*/
	
	if (myDiv1.style.display == 'block'){
		myDiv1.style.display='none';
		myDiv2.style.display='block';
		xaction = true;
	} else {
		myDiv1.style.display='block';
		myDiv2.style.display='none';
		xaction = false;
	}
	for(i=0; i < x.elements.length; i++) {
		if (x.elements[i].type)	{
			if (x.elements[i].type == 'checkbox'){
				x.elements[i].checked = xaction;
			}
		}
	}
}
function deletePersonMSG (SMT_BASE_URL, msg, delete_all) {
	if (confirm(msg)){
		f = document.getElementById('formresult');
		f.PAGE_MAIN.value = 'delete_person.php';
		f.BEHAVIOR.value = 'xp';
		if (delete_all)	{
			f.DELETE_ALL.value = 'TRUE';
		}
		f.submit();
	}
}
function deleteAllPersonMSG (SMT_BASE_URL) {
	if (confirm('Tem certeza?')){
		f = document.getElementById('formresult');
		f.action = SMT_BASE_URL+'/modules/core/section/person/delete_all_person.php';
		f.submit();
	}
}


var arrFields = new Array();
var arrValues = new Array();

/************************************************************************************************
*  limpa os campos de ordenação																	*
*  Autor: Eduardo Franciosi																		*
*  Data/Hora: 30/09/2003																		*
************************************************************************************************/
function clearFields(fieldName){
	myForm = document.forms[0];	
	arr = document.getElementsByName(fieldName)
	for (i = 0; i < arr.length ; i++){
		arr[i].value = '';
	}
	position = arrSearch(arrFields,fieldName);
	arrValues[position] = 0;
}
/*************************************************************
*************************************************************/

function setIndex(field){
		if (!field.value) {
			position = arrSearch(arrFields,field.name)
			if(position == -1) {
				
				arrFields[arrFields.length] = field.name;
				position = arrSearch(arrFields,field.name)
				arrValues[position] = 0;

				arr = document.getElementsByName(field.name)
				for (i = 0; i < arr.length ; i++){
					if(arr[i].value > arrValues[position]){
						arrValues[position]	= arr[i].value;
					} 
				}

			}
			arrValues[position] = ++arrValues[position];
			field.value = arrValues[position];
			field.blur();
		}
}

function verifyIndex(field){
	re = /^\d{1,2}$/ig;
	if (field.value) {
		if ( !field.value.match(re) )
			field.value = index;
		if (field.value > index)
			index = field.value * 1;
		if (field.value < index)
			index = index-1;
		position = arrSearch(arrFields,field.name)
		arrValues[position] = field.value*1;
	} else {
		position = arrSearch(arrFields,field.name)
		arrFields[position] = '';
		arrValues[position] = 0;
	}
}
//retorna a posicao de determinado valor em um Array ou -1, caso nao exista
function arrSearch(vet,value) {
	for(j=0; j<vet.length; j++) {
		if(vet[j] == value)
			return j;
	}
	return -1;
}

// Essa funcao nao funciona corretamente
// Finaliza com arrValues defeituoso
function autoArrange(frm) {
	if ( !frm ) {
		frm = document.forms[0];
	}
	strAux = arrValues.join(';');
	arrAux = strAux.split(';');
	arrAux.sort();
	arrNewFields = new Array();
	arrNewValues = new Array();
	arrNewFields[0] = 'none';
	arrNewValues[0] = '0';
	var j=0;
	for(i=1; i<arrAux.length; i++) {
		if(arrAux[i]!=0) {
			j++;
			position = arrSearch(arrValues,arrAux[i]);
			arrNewFields[i] = arrFields[position];
			arrNewValues[i] = j;
			objField = frm.elements[arrFields[position]];
			objField.value = j;
		}
	}
	arrFields = arrNewFields;
	arrValues = arrNewValues;
	index=j;
}

/************************************************************************************************
*  Troca o action e grava um hidden																*
************************************************************************************************/
function addPerson (SMT_BASE_DIR, add_all) {
	top.frames['associate'].document.forms[0].PAGE_MAIN.value = 'add_person.php';
	if (add_all) {
		top.frames['associate'].document.forms[0].add_all.value = 'TRUE';
	}
	
	top.frames['associate'].document.forms[0].submit();
}
/************************************************************************************************
*  faz o envio do form de desassociar todas pessoas de uma organization							*
************************************************************************************************/
function unlinkPerson(SMT_BASE_URL){
	document.formListPerson.action				= SMT_BASE_URL+'/modules/core/organization/unlink_person.php';
	document.formListPerson.UNLINK_ALL.value	= 'TRUE';	
	document.formListPerson.submit();
}
/************************************************************************************************
*  faz o envio do form de associar todas pessoas com uma organization							*
************************************************************************************************/
function linkPersonOrganization(SMT_BASE_URL){
	document.formresult.action				= SMT_BASE_URL+'/modules/core/organization/associate_person.php';
	document.formresult.ASSOCIATE_ALL.value	= 'TRUE';	
	document.formresult.submit();
}
/************************************************************************************************
*  faz o envio do form para apagar todas questões retornadas de uma pesquisa					*
************************************************************************************************/
function deleteQuestion(SMT_BASE_URL){
	document.form1.PAGE_MAIN.value		= 'delete_question.php';
	document.form1.DELETE_ALL.value		= 'TRUE';	
	document.form1.submit();
}
/************************************************************************************************
*  Apaga a survey selecionada																	*
************************************************************************************************/
function deleteSurvey(SMT_BASE_URL, id){
	if (confirm('Deseja realmente deletar esta pesquisa?')) {
		document.location.href = SMT_BASE_URL+'/modules/survey/section/questionaire/delete_survey.php?SURV_ID='+id;
	} else {
		top.document.location.reload();
	}
}
/************************************************************************************************
*  faz o envio do form de associar todas pessoas com um grupo									*
************************************************************************************************/
function linkPersonGroup(SMT_BASE_URL){
	document.form1.PAGE_MAIN.value		= 'add_person_to_group.php';
	document.form1.ASSOCIATE_ALL.value	= 'TRUE';
	document.form1.BEHAVIOR.value		= 'xp';
	document.form1.submit();
}
/************************************************************************************************
*  faz o envio do form de associar todas pessoas com um grupo									*
************************************************************************************************/
function deletePersonGroupMSG (SMT_BASE_URL, msg, delete_all) {
	if (confirm(msg)){
		f = document.getElementById('form1');
		f.PAGE_MAIN.value	= 'delete_person_group.php';
		f.BEHAVIOR.value	= 'xp';
		f.target			= '_top';
		if (delete_all)	{
			f.DELETE_ALL.value = 'TRUE';
		}
		f.submit();
	}
}
/************************************************************************************************
*  faz o envio do form de resultados de organizações											*
************************************************************************************************/
function deleteOrganization(SMT_BASE_URL){
	document.formRes.action				= SMT_BASE_URL+'/modules/core/organization/deletar.php';
	document.formRes.DELETE_ALL.value	= 'TRUE';	
	document.formRes.submit();
}
/************************************************************************************************
*  faz o envio do form de resultados de grupos de interação										*
************************************************************************************************/
function deleteInteractionGroup(SMT_BASE_URL){
	document.form1.action				= SMT_BASE_URL+'/modules/core/interaction/deletar.php';
	document.form1.DELETE_ALL.value		= 'TRUE';	
	document.form1.submit();
}
/************************************************************************************************
*  faz o envio do form de agentes																*
************************************************************************************************/
function deleteAllAgent(SMT_BASE_URL, DELETE_ALL){
	if (DELETE_ALL == 'true'){
		msg = 'Deseja apagar todos os agentes deste grupo?';
	} else {
		msg = 'Deseja apagar os agentes selecionados?';
	}
	if (confirm(msg)){
		document.form1.PAGE_MAIN.value		= 'delete_agent.php';
		document.form1.BEHAVIOR.value		= 'xp';
		if (DELETE_ALL == 'true'){
			document.form1.DELETE_ALL.value		= 'TRUE';
		}
		document.form1.submit();
	}
}
/************************************************************************************************
*  faz o envio do form de agentes																*
************************************************************************************************/
function deleteAgentGroup(SMT_BASE_URL, DELETE_ALL){
	if (DELETE_ALL == 'true'){
		msg = 'Deseja apagar todos os grupos?';
	} else {
		msg = 'Deseja apagar os grupos selecionados?';
	}
	if (confirm(msg)){
	
		document.formInsert.PAGE_MAIN.value		= 'delete_agent_group.php';
		document.formInsert.BEHAVIOR.value		= 'xp';
		document.formInsert.target				= '_top';
		if (DELETE_ALL){
			document.formInsert.DELETE_ALL.value	= 'TRUE';
		}
		document.formInsert.submit();
	}
}
/************************************************************************************************
*  faz o envio do form de desassociar todas pessoas de um grupo									*
************************************************************************************************/
function unlinkPersonGroup(SMT_BASE_URL, unlink){
	document.formDel.PAGE_MAIN.value		= 'delete_associate_person_group.php';
	document.formDel.BEHAVIOR.value			= 'xp';
	if (unlink){
		document.formDel.UNLINK_ALL.value	= 'TRUE';
	}
	document.formDel.submit();
}
function changeInteraction (sel) {
	document.forms[1].INTT_ID.value = sel.options[sel.options.selectedIndex].value;
}
/*
Valida a importação
*/
function checkImport (myForm) {
	marcouImport = false;
	selQuestion = true;
	keyImport = false;
	for(i=0; i < myForm.elements.length; i++) {
		if (myForm.elements[i].type == 'checkbox' && myForm.elements[i].name.substring(0, 6) == 'import') {
			if (myForm.elements[i].checked == true) {
				marcouImport = true;
				id = parseInt(myForm.elements[i].name.substring(myForm.elements[i].name.lastIndexOf('_')+1, myForm.elements[i].name.length));
				if (trim(document.getElementById('ques_'+id).innerText) == '')	{
					selQuestion = false;
				}
			//break;
			}
		}
		
		/*
		Comentado por Guilherme R. em 6/7/2004 -> a validação mudou!
		*/ 
		if (myForm.elements[i].type == 'text' && myForm.elements[i].name.substring(0, 3) == 'key') {
			if (myForm.elements[i].value == 'Y') {
				keyImport = true;
				break;
			}
		}
		
	}

	/*
	var keySelect = myForm.elements["key_col_"+coluna].value;
	if(keySelect == "Y"){
		keyImport = true;
	} */


	if (!marcouImport){
		alert('Para continuar você deve escolher ao menos um campo para importar.');
	} else if (!keyImport){
		//alert('Você deve escolher ao menos um campo como Identificador. Assim você garante que as pessoas não serão duplicadas em sua base.');
		alert('Você deve importar um campo e-mail para ser usado como chave no sistema.\nAssim você garante que as pessoas não serão duplicadas em sua base.');
	} else if (!selQuestion){
		alert('Você deve informar qual a pergunta no SmartCRM refere-se ao campo a ser importado.');
	} else {
		for(i=0; i < myForm.elements.length; i++) {
			if (myForm.elements[i].type == 'checkbox') {
				myForm.elements[i].disabled = false;
			}
		}
	}
	return (marcouImport && selQuestion && keyImport);
}
// Se houver ele mostra o layer que faz o waiting...
function showInteractionWait() {
	x = document.getElementById('wait');
	x.style.display = 'block';
}
/********************************************************************
* Muda os styles do layout de uma pesquisa	                        *
********************************************************************/
function changeStyle(style) {
	myTd		= document.getElementById('title');
	myTd2		= document.getElementById('question1');
	myTd3		= document.getElementById('question2');
	arrColor	= style.options[style.selectedIndex].value.split('_');
	myTd.style.backgroundColor = arrColor[1];
	myTd2.style.backgroundColor = arrColor[1];
	myTd3.style.backgroundColor = arrColor[1];
	myTd.style.color = arrColor[2];
	myTd2.style.color = arrColor[2];
	myTd3.style.color = arrColor[2];
	//alert(arrColor[1]);
}
// Retorna uma string com os ids de um de um campo tipo PERS_ID[]
function getValues(checks) {
	var listField = '';
	if ( checks.length ) {
		for (i=0; i< checks.length ;i++) {
			if (checks[i].checked == true) {
				listField += (listField ? ',' : '') + checks[i].value;
			}
		}
	} else {
		listField = (checks.checked  ? checks.value : '');
	}
	return listField;
}

function associatePersonGroup() {
	fr	= document.formresult;
	
	for (i=0; i< fr.associate.length ;i++) {
		if (fr.associate[i].checked == true) {
			fValue = fr.associate[i].value;
			break;
		}
	}
   
	person = getValues(fr.elements['PERS_ID[]']);

	if (fValue == 'add_selected') {
		fr.PAGE_MAIN.value		= 'add_group_associate.php';
		fr.GROUP_NAME.value		= fr.group_name.value;
		fr.GROUP_ACTION.value	= 'NEW';
		fr.PERS_ID.value			= person;
		fr.associate.value		= 'add_selected';
		fr.submit();
	}
	document.location.reload();
}

function confirmDelete(){
	fr	= document.formresult;
	person = getValues(fr.elements['PERS_ID[]']);
	action = getValues(fr.elements['associate']);
	option = getValues(fr.elements['OPT']);
	module = fr.elements['MODULE'].value;
	section = fr.elements['SECTION'].value;
//	alert('js group_id_associate ='+fr.elements['group_id_associate'].value);
//	alert('js group_id_desassociate ='+fr.elements['group_id_desassociate'].value);

	if (action == 'add_selected' && person == '') {
		switch (option) {
			case 'new'			: alert('Você deve selecionar pelo menos uma pessoa para confirmar a criação do grupo.');
								  break;
			case 'select'		: alert('Você deve selecionar pelo menos uma pessoa para confirmar a associação no grupo.');
								  break;
			case 'delete_group'	: alert('Você deve selecionar pelo menos uma pessoa para confirmar a desassociação.');
								  break;
			case 'delete'		: alert('Você deve selecionar pelo menos uma pessoa para confirmar a exclusão.');
								  break;
			case 'mail'			: alert('Você deve selecionar pelo menos uma pessoa para confirmar o não recebimento de e-mail.');
								  break;
		}
		return false;
	}
	if (confirm('Deseja continuar?')) {

		fr.PAGE_MAIN.value		= 'add_group_associate.php';
		fr.SECTION.value		= section;
		fr.MODULE.value			= module;
		fr.BEHAVIOR.value		= 'popup';
		fr.PERS_ID.value			= person;
		fr.associate.value		= action;
		fr.target				= 'iframeHide';
		associatePersonGroup();
//		fr.submit();
	}
}



function showMsg() {
	f	= document.criar;
	option = getValues(f.elements['OPT']);
	switch (option) {
		case 'new'			: alert('Grupo criado com sucesso.');
							  break;
		case 'select'		: alert('Pessoas associadas com sucesso.');
							  break;
		case 'delete_group'	: alert('Pessoas desassociadas com sucesso.');
							  break;
		case 'delete'		: alert('Pessoas excluídas com sucesso.');
							  break;
		case 'mail'			: alert('Pessoas atualizadas com sucesso.');
							  break;
	}
}
function associatePersonGroupParticipant() {
	f	= document.form1;
	for (i=0; i< f.associate.length ;i++) {
		if (f.associate[i].checked == true) {
			fValue = f.associate[i].value;
			break;
		}
	}
}
function confirmDeleteParticipant(module){
	f	= document.form1;
//	f	= document.formresult;
	person		= getValues(f.elements['PERS_ID[]']);
	action		= getValues(f.elements['associate']);
	option		= getValues(f.elements['OPT']);
	module		= f.elements['MODULE'].value;
	section		= f.elements['SECTION'].value;
//	alert('module= '+module+' section='+section);
	if (action == 'add_selected' && person == '') {
		switch (option) {
			case 'new'	  :	alert('Você deve selecionar pelo menos uma pessoa para confirmar a criação do grupo.');
							break;
			case 'select' :	alert('Você deve selecionar pelo menos uma pessoa para confirmar a associação no grupo.');
					break;
			case 'mail'	  :	alert('Você deve selecionar pelo menos uma pessoa para confirmar o não recebimento de e-mail.');
							break;
			case 'resend' :	alert('Você deve selecionar pelo menos uma pessoa para confirmar o reenvio do e-mail de convite.');
							break;

		}
		return false;
	}
	if (confirm('Deseja continuar?')) {
		associatePersonGroupParticipant();
		f.PAGE_MAIN.value		= 'add_group_associate.php';
		f.SECTION.value			= section;
		f.MODULE.value			= module;
		f.BEHAVIOR.value		= 'popup';
		f.PERS_ID.value			= person;
		f.associate.value		= action;
		f.target				= 'iframeHide';
		f.submit();
	}
}

function showMsgParticipant(opt) {
	
	switch (opt) {
		case 'new'	  : alert('Grupo criado com sucesso.');
						break;
		case 'select' : alert('Pessoas associadas com sucesso.');
						break;
		case 'mail'	  : alert('Pessoas atualizadas com sucesso.');
						break;
	}
	//document.location.reload();
}
//----------------------------------------------------------
//
//----------------------------------------------------------
	function verifySurvey(SMT_BASE_URL, appl_id){
		if (!appl_id) {
			alert('Você precisa criar uma pesquisa, inserir as perguntas e participantes antes de ativá-la.');
			return false;
		} else {
			document.location.href = SMT_BASE_URL + '/main.php?PASS=PASS_4&PAGE_MAIN=active_survey.php&PAGE_RIGHT=right.php&MODULE=survey&SECTION=survey&BEHAVIOR=xp&APPL_ID='+appl_id+'&MY_SURVEY_TYPE=ALL';
		}
	}
//----------------------------------------------------------
//
//----------------------------------------------------------
	function verifyEmailMkt(SMT_BASE_URL, emma_id){
		if (!emma_id) {
			alert('Você precisa criar uma pesquisa, inserir as perguntas e participantes antes de ativá-la.');
			return false;
		} else {
			document.location.href = SMT_BASE_URL + '/main.php?PASS=PASS_5&PAGE_MAIN=envio_passo5.php&PAGE_RIGHT=right.php&MODULE=emailmkt&SECTION=envio&EMMA_ID='+emma_id+'&MY_EMAILMKT_TYPE=ALL';
		}
		
	
	}

//----------------------------------------------------------
//
//----------------------------------------------------------
function saveFilter(){
	fr = document.frmSeg;
	fr.target			= '';
	fr.PAGE_MAIN.value	= 'segmentation_filter_xp.php';
	fr.BEHAVIOR.value	= 'xp';
	fr.ACTION_TYPE.value= 'SAVE';
	fr.FILT_NAME.value  = document.frmSegMenu.FILT_NAME.value;
	fr.submit();
}
function checkSegmentationMenu() {
	var fr = document.frmSegMenu;
	var option = getRadioValue(fr.ACTION_TYPE);
	if (!option) {
		alert("Selecione uma opção para continuar.");	
	} else {	
		if (option == 'SAVE')	{
			if (fr.FILT_NAME.value) {
				saveFilter();
			} else {
				alert("Informe um nome para o filtro antes de salvá-lo!");
			}
		} else if (option == 'LOAD') {
			if (!fr.FILT_ID.value) {
				alert("Selecione o filtro que deseja carregar.");
			} else {
				fr.submit();
			}
		} else {
			fr.submit();
		}
	}
}
/*****************************************************************************/
function reloadSection() {
	f = document.forms[0];
	f.PAGE_MAIN.value = 'ordenate_question.php';
	f.BEHAVIOR.value = 'popup';
	f.submit();
}
/*********************************************************************
*	Autor: Carlos Eduardo Maciel
*	Descrição: formata uma data em formato ISO YYYY-MM-DD
*********************************************************************/
function toISODate(strDate) {
	var reBR =  /^(\d{2})\/(\d{2})\/(\d{4})(\s\d{2}\:\d{2})?$/;
	var reISO = /^\d{4}\-\d{2}\-\d{2}(\s\d{2}\:\d{2})?$/;
	if ( strDate.match(reBR) ) {
		return strDate.replace(reBR, '$3-$2-$1$4');
	} else if ( strDate.match(reISO) ) {
		return strDate;
	} else {
		return '';
	}
}
/*********************************************************************
*	Descrição: diferenca entre duas datas
*********************************************************************/
function dateDiff(dType, dt1, dt2) { //dt1 e dt2 em formato 'YYYY-MM-DD'
	var second	= 1000;
	var minute	= second * 60;
	var hour	= minute* 60;
	var day		= hour * 24;
	var week	= day * 7;
	var year	= day * 365;
	var dt = new Date;
	var strToday= dt.getFullYear() +'-'+ (dt.getMonth()+1) +'-'+ dt.getDate();
	var strNow	= strToday +' '+ dt.getHours() +':'+ dt.getMinutes();
	// Cria datas UTC
	//====================================================
	dt1 = (dt1 == 'now' ? strNow : (dt1 == 'today' ? strToday  : dt1));
	dt2 = (dt2 == 'now' ? strNow : (dt2 == 'today' ? strToday  : dt2));
	dt1 = eval('Date.UTC('+ dt1.replace(/[\-\:\ ]/g,',') +', 3)');
	dt2 = eval('Date.UTC('+ dt2.replace(/[\-\:\ ]/g,',') +', 3)');
	//subtrai
	tDiff = dt1 - dt2;
	switch (dType.toLowerCase()) {
		case 's':
			div = second;
			break;
		case 'n':
			div = minute;
			break;
		case 'h':
			div = hour;
			break;
		case 'd':
			div = day;
			break;
		case 'w':
			div = week;
			break;
	}
	r = Math.floor(tDiff / div);
	return(r);
}
//----------------------------------------------------------
//
//----------------------------------------------------------
function setFormDate(dt, field, fieldHour, fieldMin ) {
	d = (dt.getDate() < 10 ? '0' + dt.getDate() : dt.getDate());
	m = (dt.getMonth() < 9 ? '0' + (dt.getMonth()+1) : (dt.getMonth()+1));
	var strToday =  d + '/' + m + '/' + dt.getFullYear() ;
	
	field.value = strToday;
	fieldHour.selectedIndex = (dt.getHours()+1)%24;
	fieldMin.selectedIndex = parseInt(dt.getMinutes()/30);
}
//----------------------------------------------------------
//    FUNÇÃO PARA TROCA DE ABAS
//----------------------------------------------------------
function changeSheet(sheetName, activeSheet) {
	var hasSheets= true;
	var i=0;
	while (hasSheets) {
		try {
			i++;
			document.getElementById(sheetName + 'sheet' +i).className = 'inactiveSheet';
			document.getElementById(sheetName + 'sheetLink' +i).className = 'inactiveLink';
		} catch (e) {
			hasSheets = false;
		}
	}
	document.getElementById(sheetName + 'sheet' +activeSheet).className = 'activeSheet';
	document.getElementById(sheetName + 'sheetLink' +activeSheet).className = 'activeLink';
}
// Submete a pesquisa selecionada para sua respectiva capa
function selectSurvey(SMT_BASE_URL, field) {
	if (!isNaN(field)){
		var SURV_ID = field;
	} else {
		var SURV_ID = field.value;
	}
//	document.location.href = SMT_BASE_URL + '/main.php?MODULE=survey&SECTION=home&PAGE_MAIN=select_survey.php&SURV_ID=' + SURV_ID;
	document.location.href = SMT_BASE_URL + '/main.php?MODULE=survey&SECTION=home&PAGE_RIGHT=right.php&PAGE_MAIN=main.php&SURV_ID=' + SURV_ID;
   }
// Submete a pesquisa selecionada para sua respectiva capa
function selectEnvio(SMT_BASE_URL, field) {
	if (!isNaN(field)){
		var EMMA_ID = field;
	} else {
		var EMMA_ID = field.value;
	}
	document.location.href = SMT_BASE_URL + '/main.php?MODULE=emailmkt&SECTION=home&PAGE_MAIN=main.php&PAGE_RIGHT=right.php&EMMA_ID=' + EMMA_ID;
}


// Verifica em qual gráfico está e sobe um nível
// Usado no relatório de clicks

function getUpChart(MODE){

	var frm = document.form1;

	switch (MODE){

		case 'YEAR'	 :	frm.MONTH.value = '';
						frm.DAY.value = ''
						break;

		case 'MONTH' :	frm.DAY.value = '';
						break;

	}

	frm.submit();

}


// Verifica em qual gráfico está e vai pro próximo
// Usado no relatório de clicks

function getNextChart(YEAR, MONTH, DAY){

	var frm		= document.form1;
	var YEAR	= YEAR	* 1;
	var MONTH	= MONTH * 1;
	var DAY		= DAY	* 1;

	if (frm.MONTH.value){

		if (frm.DAY.value){
			frm.DAY.value	= (DAY.length < 2 ? '0'+DAY.toString() : DAY);
			frm.MONTH.value	= (MONTH.length < 2 ? '0'+MONTH.toString() : MONTH);
			frm.YEAR.value	= YEAR;

		} else {

			MONTH += 1;

			if (MONTH > 12){
				YEAR += 1;
				frm.YEAR.value = YEAR;
				frm.MONTH.value = '01';
			} else {			
				frm.MONTH.value = (MONTH.length < 2 ? '0'+MONTH.toString() : MONTH);
			}
		}

	} else {

		YEAR += 1;
		frm.YEAR.value = YEAR;
	}

	frm.submit();

}

// Verifica em qual gráfico está e vai pro anterior
// Usado no relatório de clicks

function getAntChart(YEAR, MONTH, DAY){

	var frm		= document.form1;
	var YEAR	= YEAR	* 1;
	var MONTH	= MONTH * 1;
	var DAY		= DAY	* 1;


	if (frm.MONTH.value){

		if (frm.DAY.value){

			frm.DAY.value	= (DAY.length < 2 ? '0'+DAY.toString() : DAY);
			frm.MONTH.value	= (MONTH.length < 2 ? '0'+MONTH.toString() : MONTH);
			frm.YEAR.value	= YEAR;

		} else {

			if (MONTH == 12){
				frm.YEAR.value = YEAR;
				frm.MONTH.value = '12';
			} else {			
				frm.MONTH.value = (MONTH.length < 2 ? '0'+MONTH.toString() : MONTH);			
			}

		}

	} else {

		frm.YEAR.value = YEAR;
	}

	frm.submit();

}

	
	function displayAssociateAll(display){
		tr = window.document.getElementById("tr_all");
		tr.style.display = display;
	}

	function checkSelectAssociate(value){
		chk = window.document.getElementById("add_selected_label");
		chk.checked = value;
	}
