function showAdvancedSearch(phpScriptName)
{
	document.form1.request_made_adv_search.value = "true";
	document.form1.action = phpScriptName;
	document.form1.submit();

}

function my_submit()
{
	if (!show_help) {

		if (document.form1.search_exp.value == "") {
			alert(document.form1.message.value);
			return false;
		} else {
			document.form1.task.value = "show_magazines";

			myRegExp = /\|task=[^\|]+\|/;
			oldString = document.form1.xml.value;
			newString = oldString.replace(myRegExp, "|task=show_magazines|");

			document.form1.xml.value = newString;
			document.form1.xsl.value = "xsl/titles.xsl";

			return true;
		}
	} else {
		url = document.form1.help_file.value;
		window.open(url, 'info', 'scrollbars=yes, width=300, height=350');
		show_help = false;
		return false;
	}
}

function my_submit_paging(from, form_name)
{

		form_name.from.value = from;

		form_name.submit();
}

function my_submit2()
{
	var num_of_subject_selected = 0;
	var indexed_in_not_selected = "";
	var indexed_in_yes_selected = "";
	
	
	var the_indexed_in_total_displayed = document.form1.indexed_in_total_displayed.value;

	
	
	if (the_indexed_in_total_displayed != null ) {
		for (i=1; i <= the_indexed_in_total_displayed; i++) {
			indexed_in_array_index = "indexed_in_" + i;
			if (document.form1.elements[indexed_in_array_index] != null && !(document.form1.elements[indexed_in_array_index].checked) )
			{
				indexed_in_not_selected += "|" + document.form1.elements[indexed_in_array_index].value;
			} else {
				indexed_in_yes_selected += "|" + document.form1.elements[indexed_in_array_index].value;
			}
		}

		document.form1.indexed_in_not_selected.value = indexed_in_not_selected;
		document.form1.indexed_in_yes_selected.value = indexed_in_yes_selected;
	} else {
		alert("Error on function my_submit2() at indexed_in_total_displayed");
	}

	if (the_subjects != null) {
		for (i=0; i<the_subjects.length; i++) {
			if (the_subjects.options[i].selected) {

				num_of_subject_selected++;
			}
		}

	}

	if (num_of_subject_selected > 50) {
		alert("Desculpe, sua seleção ultrapassa o valor de 50 opções (" + num_of_subject_selected + " opções selecionadas). Por favor, queira reduzi-la.");
		return false;
	} else {
		return true;
	}
}

function my_submit_admin(form_name)
{
	if (form_name.user.value == "") {
		alert("Preencha o campo de usuário!");
		return false;
	} else {
		if (form_name.password.value == "") {
			alert("Preencha o campo da senha!");
			return false;
		} else {
			return true;
		}
	}
}

function postHref ( href )
{
	var hrefParameters = href.substring(href.indexOf('?')+1);
	var splitedHref = hrefParameters.split("&");
	var qtt = splitedHref.length;
	var splitedHidden = new Array();
	var hiddenName = "";
	var hiddenValue = "";
	var submitForm = document.formHref;
	
	for ( var i = 0; i < qtt; i++ ) {
		splitedHidden = splitedHref[i].split("=");
		hiddenName = splitedHidden[0];
		splitedHidden[0] = "";
		hiddenValue = splitedHidden.join("=");

		submitForm.elements[i].name = hiddenName;
		submitForm.elements[i].value = hiddenValue.substring(1);
	}
	submitForm.submit();
}

function validate(lang)
{
	var f = document.form1;

	var theSearchExp = f.search_exp.value.toLowerCase();

	var invalidStartingOperator = /^\s*(AND|OR)\s+/i;					// Impede que o AND e o OR apareçam no início da expressão
	var invalidEndingOperator = /\s+(AND|OR|NOT)\s*$/i;					// Impede que a expressão termine com um operador booleano
	var onlyOperators = /^\s*(AND|OR|NOT)(\s+(AND|OR|NOT))*\s*$/i;		// Impede que a expressão seja composta apenas por operadores booleanos
	var noOperand = /\s+(AND|OR|NOT)\s+(AND|OR)\s+/i;					// Impede as seguintes combinações AND AND, AND OR, OR AND, OR OR, NOT AND e NOT OR

	var notOperand = /\s+NOT\s+NOT\s+/i;								// Impede NOT NOT

			
	if (theSearchExp.search(invalidStartingOperator) >= 0 
	    || theSearchExp.search(invalidEndingOperator) >= 0
		|| theSearchExp.search(onlyOperators) >= 0
	    || theSearchExp.search(noOperand) >= 0
	    || theSearchExp.search(notOperand) >= 0
    ) {
		alert("Invalid use of boolean operators");

		return false;
	}
	
	var replaceNot = /\s+NOT\s+/i;
	var replacement1 = " and not ";
	var replaceNotBack = /\s+(AND|OR)\s+AND\s+NOT\s+/i;
	var replacement2 = " $1 not ";
	
	theSearchExp = theSearchExp.replace(replaceNot, replacement1).replace(replaceNotBack, replacement2);
	
	insertDefaultOperator();
	
	return true;
}


function insertDefaultOperator()
{
	var s = document.form1.search_exp;
	var str = s.value.toLowerCase();

	var quotedExpressions = str.match(/("[^"]*")/g);

	if (quotedExpressions) {
		for (var i = 0; i < quotedExpressions.length; i++) {
			var qexp = quotedExpressions[i];
			var pos = str.indexOf(qexp);
			
			str = str.slice(0, pos) + "\%~~\%" + str.slice(pos + qexp.length);
		}	
	}
	
	var patterns = [ /^\s+/, /\s+$/, /\s+/g, / AND (AND|OR|NOT) AND /ig, /^NOT AND /i, / NOT AND /ig, / AND /g, / OR /g, /^NOT /, / NOT /g ];
	var replacements = [ "", "", " and ", " $1 ", "not ", " not ", " and ", " or ", "not ", " not " ];

	for (var i = 0; i < patterns.length; i++) {
		str = str.replace(patterns[i], replacements[i]);
	}	

	if (quotedExpressions) {
		for (var i = 0; i < quotedExpressions.length; i++) {
			str = str.replace(/%~~%/, quotedExpressions[i]);
		}	
	}

	s.value = str;
}

function MM_showhideLayers()
{ 
        var i,p,v,obj,args=MM_showhideLayers.arguments;
                for (i=0; i<(args.length-2); i+=3)
                        if ((obj=MM_findObj(args[i]))!=null)
                        {
                                v=args[i+2];
                                if (obj.style) {
                                        obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v;
                                }
                                obj.display=v;
                        }
}

function MM_findObj(n, d)
{ //v4.01
        var p,i,x; if(!d) d=document;
        if ((p=n.indexOf("?"))>0&&parent.frames.length) {
            d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
        }

        if(!(x=d[n])&&d.all){
            x=d.all[n];
        }

        for (i=0;!x&&i<d.forms.length;i++)
                x=d.forms[i][n];
                for(i=0;!x&&d.layers&&i<d.layers.length;i++)
                        x=MM_findObj(n,d.layers[i].document);
                if(!x && d.getElementById)
                        x=d.getElementById(n);
        return x;
}


function searchArticle(index_range, title, issn)
{
	var year   = document.formSearchArticle.year.value;
	var href   = "http://bases.bireme.br/cgi-bin/wxislind.exe/iah/online/?IsisScript=iah/iah.xis&lang=p&nextAction=lnk&";
	var expression = "";
	
	if ( index_range.indexOf('LILACS') >= 0) {
		var volume = document.formSearchArticle.volume.value;
		var facic  = document.formSearchArticle.facic.value;

		href += "base=LILACS&exprSearch=";
		
		expression = title;
		if (year != '') {
			expression += "/" + year;
			if (volume != '') {
				expression += "," + volume;
				if (facic != '') {
					expression += "(" + facic + ")";
				} else {
					expression += "$";
				}					
			}
		}			
		if (facic != '') {
			expression = '"' + expression + '"';
		}
		
		href += expression + "&indexSearch=TA";
		
	} else {
		if ( year == '' | year > 1996 ) {
			href += "base=MEDLINE";			
		} else {
			href += "base=MEDLINE_1966-1996";
		}		
		href += "&exprSearch=" + issn + "&indexSearch=IS";
		if (year != '') {
			href += "&conectSearch=AND&exprSearch=" + year + "&indexSearch=PD";		
		}	
		href += "&label=" + title;
		if (year != '') {
		 	href += "/" + year;
		} 
		
	}
	
	var janela = window.open(href,'article', 'width=795,height=570,resizable=yes,toolbar=yes,location=no,menubar=no,scrollbars=yes,status=no');
	janela.focus()
		
	return true;
}

function print_preview()
{
    var janela;
    if ( document.forms.form2 ) {
        var input = document.createElement('input');
        input.type = 'hidden';
        input.name = 'print_version'
        input.value = 'true';
        document.forms.form2.appendChild(input);
        document.forms.form2.target = 'impressao';
        janela = window.open('about:blank','impressao','width=795,height=570,resizable=yes,toolbar=yes,scrollbars=yes,status=no');
        document.forms.form2.submit();
    } else {
        janela = window.open(document.location.href+'&print_version=true','impressao','width=795,height=570,resizable=yes,toolbar=yes,scrollbars=yes,status=no');
    }
    janela.focus();
    return false;
}
