var w3academicoform;
var w3academicopropriedade;

function callbackOpenWindowInsertPath(optionvalue,optionlabel){
	addOptionToSelect(form[w3academicopropriedade],optionlabel,optionvalue);
	setTimeout('selecionarOpcao(\''+w3academicopropriedade+'\',\''+optionvalue+'\')', 300);	
}

function openWindowInsertPath(url,form,propriedade){
	w3academicoform = form;
	w3academicopropriedade = propriedade;
		
	window.open(url+"?ACAO=criar&inselectone=true",'w3academico','width=' + (window.document.body.clientWidth) + ', height=' + (window.document.body.clientHeight) + ', top=50, left=0, resizable, scrollbars');
}

function selecionarOpcao(comboInsertPath,valueToFind){
	var combo =  form[comboInsertPath];
	var i;	
	var options = combo.options;
	
	for (i=0;i<combo.length;i++){
		if(options[i].value==valueToFind) {
			combo.selectedIndex = i;
			break;
		}			
	}
	
	w3academicoform = null;
	w3academicopropriedade = null;
}

function addOptionToSelect(select, text, value) {
 	var optionElm = document.createElement('option');
 	var optionText = document.createTextNode(text);
 	if (value!='' && value!=null) optionElm.value = value;
 	return select.appendChild(optionElm.appendChild(optionText).parentNode)		
 }
		
/**
 * Função utilizada como callback de janelas que foram criadas com o objectivo
 * de selecionar algum bean.
 * Possui as informações necessárias para a janela saber como deve preencher o
 * formuário que a chamou
 */
function selecionarCallbackObject(valueInput, labelInput, valueType){
    this.valueInput = valueInput;
	this.labelInput = labelInput;
	this.valueType  = valueType;
}

function imprimirVoltar(){
	if(top.cadastrar){
		document.write("<input type='button' value='Voltar' onclick='refreshPai()'>");
	}
}

function refreshPai() {
	//top.opener.document.forms[0].ACAO.value = top.cadastrar;
	//alert(top.opener.document.forms[0].ACAO.value);
	top.opener.document.forms[0].submit();
	top.close();
}

/**
 * Imprime o botão selecionar onde for necessário
 * O botão selecionar só é impresso onde a classe for da hierarquia da classe que pediu para selecionar
 */
function imprimirSelecionar(listaClasses, valor, label){
	if(top.selecionarCallback){
		//document.write("dd");
		var ok = true;
		for(i in listaClasses){
			var clazz = listaClasses[i];
			if(clazz == top.selecionarCallback.valueType){
				ok = true;
			}
		}
		if(ok){
			//document.write("<a href=\"javascript:alert('Info: valor="+valor+" label="+label+"')\">info</a>&nbsp;");
			document.write("<a href=\"javascript:selecionar('"+valor+"','"+label+"')\">selecionar</a>&nbsp;");				
		}
		//DEBUG ----- código abaixo é debug descomente se nao aparecer o botao selecionar
		//else {
		//	alert('A classe \n'+listaClasses[0]+' \nnão é a mesma ou uma subclasse de \n'+top.selecionarCallback.valueType);
		//}
	}
}

/**
 *
 */
function selecionar(valor, label){
	alert('teste')
	if(top.selecionarCallback){
		var callback = top.selecionarCallback;
		alert('teste');
		alert(callback);
		callback.valueInput.value = valor;
		callback.labelInput.value = label;
		top.close();
	}
}
	function selecionar(valor, label, forcombo){
			var isNN = navigator.appName.indexOf("Netscape")!= -1;
			if(top.selecionarCallback){
				if(forcombo){
				
					var callback = top.selecionarCallback;
					var callbackcallback = callback.callback;
					var onchangeFunction = callback.valueInput.onchange;
					//callback.valueInput.value = valor;
					//alert(callback.valueInput.name);
					
					//var combo = callback.valueInput;
					//var options = combo.options;
					//var op = new Option(label, valor, false, true);
					//var isNN = navigator.appName.indexOf("Netscape")!= -1;
					//if(isNN){
					//	options.add(op);
					//} else {
						callbackcallback(label, valor);
					//}
						
					//options[options.length++].text = label;
					
					
					//combo.value = valor;
					
					if(onchangeFunction){
						onchangeFunction();
					}

					if(isNN){
						setTimeout('top.close()', 500);
					} else {
						top.close();					
					}					
				} else {

					var callback = top.selecionarCallback;
					var callbackcallback = callback.callback;
					var onchangeFunction = callback.labelInput.onchange;
					callback.valueInput.value = valor;
					callback.labelInput.value = label;

					if(callbackcallback){
						callbackcallback(label,valor);
					}
							
					if(onchangeFunction){
						onchangeFunction();
						//alert(onchangeFunction);
					}
					callback.button.style.display = 'none';
					callback.buttonUnselect.style.display = '';
					
					if(isNN){
						setTimeout('top.close()', 500);
					} else {
						top.close();					
					}

				}
				
			}

		}
		
/*Remove os caractes do word!*/		
var arr_find_word = [
		String.fromCharCode(8220), //“
		String.fromCharCode(8221), //”
		String.fromCharCode(8216), //‘
		String.fromCharCode(8217), //‘
		String.fromCharCode(8211), //–
		String.fromCharCode(8212), //—
		String.fromCharCode(189), //½
		String.fromCharCode(188), //¼
		String.fromCharCode(190), //¾
		String.fromCharCode(169), //©
		String.fromCharCode(174), //®
		String.fromCharCode(8230) //…
];
	
var arr_replace_word = [
		'"',
		'"',
		"'",
		"'",
		"-",
		"--",
		"1/2",
		"1/4",
		"3/4",
		"(C)",
		"(R)",
		"..."
	];



function replaceFromInput(input_string){		

	for ( var i=0; i<this.arr_find_word.length; i++ ) {
		var regex = new RegExp(this.arr_find_word[i], "gi");
		input_string = input_string.replace(regex, this.arr_replace_word[i]);
		
	}
	
	return input_string
	
}


/* Tiny MCE */
		
function TinyMCE_Save(editor_id, content, node)
{
	base_url = tinyMCE.settings['document_base_url'];
	var vHTML = content;
	if (true == true){
		vHTML = tinyMCE.regexpReplace(vHTML, 'href\s*=\s*"?'+base_url+'', 'href="', 'gi');
		vHTML = tinyMCE.regexpReplace(vHTML, 'src\s*=\s*"?'+base_url+'', 'src="', 'gi');
		vHTML = tinyMCE.regexpReplace(vHTML, 'mce_real_src\s*=\s*"?', '', 'gi');
		vHTML = tinyMCE.regexpReplace(vHTML, 'mce_real_href\s*=\s*"?', '', 'gi');
		vHTML = replaceFromInput(vHTML);
	}
	return vHTML;
}