//Shows a popup.
function showPop(file) {
	window.open(file, '', 'width=850,height=600,status=no,scrollbars=yes,resizable');
}

function showPopCustom(file, width, height) {
	window.open(file, '', 'width=' + width + ',height=' + height + ',status=no,scrollbars=yes,resizable');
}

function setOverLeftMenuColor(element){
	element.style.background = "#ecd891";
};
function setOutLeftMenuColor(element){
	element.style.background = "#fbecb9";
};	

//buttons must start with btn
function setButtonMouseOverEffect(){
	var inputs = document.getElementsByTagName("input");
	if(inputs != null){
		for(i = 0; i < inputs.length; i++){
			element = inputs[i];
			if((element.type == "button" || element.type == "submit" || element.type == "reset") && element.id.indexOf('btn') == 0){				
				element.onmouseover = Function("changeCSSClassConditional(this, 'form_button', 'form_button form_buttonHover');"); 
				element.onmouseout = Function("changeCSSClassConditional(this, 'form_button form_buttonHover', 'form_button');");
			}
		}
	}
}

function setHorizontalButtonEvents(formName, elementName, actionDiv, functionsOnClick){
	form = document.getElementById(formName);
	
	showFunctions = "ishowElement('" + actionDiv + "');";
	
	var arDivs = document.getElementsByTagName('div');
	//store all action divs
	var arActions = new Array();
	for (var i = 0; i < arDivs.length; i++) {
		var div = arDivs[i];
		//check if the div starts with act
		if (div.id.indexOf('act') == 0 && div.id.indexOf(actionDiv) == -1) {
			showFunctions += "ihideElement('" + div.id + "');";
		}
	}
	
	for(i = 0; i < form.elements.length; i++){
		element = form.elements[i];
		//add the events
		if(element.name == elementName){
			element.onclick = Function("changeCSSClassElementsByPrefix('frmMenu', 'mnu', 'btnHorMenu');this.className='btnHorMenu btnHorMenuSelected';" + showFunctions + functionsOnClick + ";");
			element.onmouseover = Function("changeCSSClassConditional(this, 'btnHorMenu', 'btnHorMenu btnHorMenuHover');"); 
			element.onmouseout = Function("changeCSSClassConditional(this, 'btnHorMenu btnHorMenuHover', 'btnHorMenu');"); 
			//ie fix
			element.onfocus = Function("this.blur();");
		}
	}		
}

//only updates the css style if the current class is null or equal the class passed as parameter
function changeCSSClassConditional(element, currentClass, newClass){
	classeAtual = element.className;
	currentClassValid = currentClass + ' validation-passed';
	if(currentClass == null || (classeAtual == currentClass) || (classeAtual == currentClassValid)){
		element.className = newClass;
	}else if(classeAtual == currentClassValid){
		element.className = newClass + ' validation-passed';
	}
}
		
//change de css class of all elements that id starts with a specific prefix
function changeCSSClassElementsByPrefix(formName, prefix, cssClass){
	form = document.getElementById(formName);
	for(i = 0; i < form.elements.length; i++){
		if(form.elements[i].name.indexOf(prefix) != -1){
			form.elements[i].className = cssClass;
		}
	}
}

function ihideElement(elementID) {
	var element = document.getElementById(elementID);
	element.style.display = "none";
}

function ishowElement(elementID) {
	var element = document.getElementById(elementID);
	element.style.display = "block";
}

//allows download a file
var downloaderURL = function(url)
{
    var iframe;
    iframe = document.getElementById("hiddenDownloader");
    if (iframe === null)
    {
        iframe = document.createElement('iframe');  
        iframe.id = "hiddenDownloader";
        iframe.style.visibility = 'hidden';
        document.body.appendChild(iframe);
    }
    iframe.src = url;   
}
