
//Get the week day name of a date
//expect date in ISO format
function getWeekDay(dtDate,intAdd){
	var strRetorno;
	intAdd--;
	var DaysOfWeek = new Array(7);
		DaysOfWeek[0] = "Domingo";
		DaysOfWeek[1] = "Segunda-Feira";
		DaysOfWeek[2] = "Terça-Feira";
		DaysOfWeek[3] = "Quarta-Feira";
		DaysOfWeek[4] = "Quinta-Feira";
		DaysOfWeek[5] = "Sexta-Feira";
		DaysOfWeek[6] = "Sábado";
	
	var dt_datetime = eval("new Date("+ toIsoDate(dtDate).replace(/\-/g, ',') +",1)");
	var intValue = dt_datetime.getDay();
	strRetorno = DaysOfWeek[intValue];

	while ( intAdd != 0) {
		intValue++;
		if (intValue==7) intValue=0;
		strRetorno += ", " + DaysOfWeek[intValue];
		intAdd--;
	}

	return strRetorno;
}


function toIsoDate(v, diffMonths) {
	var re = /(\d{2})\/(\d{2})\/(\d{4}|\d{2})(\ \d{2}\:\d{2}(\:\d{2}))?/ig;
	if ( typeof(v) == 'object' )
		str = v.getFullYear() +'-'+ v.getMonth() +'-'+ v.getDate() +' '+ v.getHours() +':'+ v.getMinutes() +':'+ v.getSeconds();
	else
		str = v.replace(re,'$3-$2-$1$4');
	if (diffMonths) {
		m = str.replace(/(\d{4}\-)(\d{2})(-\d{2})/, '$2');
		str =  str.replace('-'+ m +'-', '-'+ ('00'+((m*1)-1)).substr(1,2) +'-');
	}
	return str;
}


//seleciona os checkboxes
//strFrmName - nome do formulario
//strInicio - todos os checkboxes q começarem com esta string
//intLen - o comprimento a ser comparado
function sel(strFrmName, strInicio, intLen, strCom) {
	var state = strCom.checked;
	var frm = strCom.form;
	for(i=0; i<frm.elements.length;i++) {
		thiselm = frm.elements[i];
		if(thiselm.name.substring(0,intLen) == strInicio)
			thiselm.checked = state;
	}
}


//funcoes MM
//Abre janela
function MM_openBrWindow(theURL,winName,features) { //v2.0
	var myWin = window.open(theURL,winName,features);
	myWin.focus();
}

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 MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}
//--------

//Verifica os caracteres restantes(on the fly)
function showCharsLeft(field, maxChars, outputName) {

	objOutput = (outputName ? field.form.elements[outputName] : field.form.elements['output_'+ field.name]);
	typedChars = field.value.length;
	outputValue = maxChars-typedChars;

	if (outputValue < 0) {
		field.style.color = 'red';
		field.value = field.value.substr(0,maxChars);
	} else if (outputValue >= 0) {
		objOutput.value = outputValue;
		if(outputValue > 0)
			field.style.color = 'black';
	}
}


//Controla show e hide de um elemento
var show = 'S';
var hide = 'H';

function showHide(theID, action) {
	var obj = document.all.item(theID);
	var strDsp;
	if (action)
		strDsp = (action == show ? 'block' : 'none');
	else
		strDsp = (document.getElementById(theID).style.display == 'block' ? 'none' : 'block');
	if (obj.length) {
		for (var i=0; i<obj.length; i++)
			obj[i].style.display = strDsp;
	} else 
		obj.style.display = strDsp;

	return ( (strDsp == 'block') ? true : false);
}


//retorna o valor de um radio box
function radioValue(obj) {
	for (i=0; i<obj.length; i++)
		if (obj[i].checked) return obj[i].value;
}



function setDate(fld){
	var ignoreKeys = Array(8,9,13,16,17,35,36,37,39,46);
	str = fld.value.replace(/\D/ig,'');
	if (str) {
		if ( !inArray(ignoreKeys, window.event.keyCode) ) {
			var s1 = str.substr(0,2);
			var s2 = str.substr(2,2);
			var s3 = str.substr(4,4);
			str = s1 +(s1.length==2 ? '/' : '') + s2 + (s2.length==2 ? '/' : '') + s3;
			fld.value = str;
		}
	} else fld.value = '';
}


function inArray(theArray, theValue) {
	for (var i=0; i<theArray.length; i++) {
		if ( theArray[i].toString().toLowerCase() == theValue.toString().toLowerCase() )
			return true;
	}
	return false;
}


function setCEP(fld) {

	var ignoreKeys = Array(8,9,13,16,17,35,36,37,39,46);
	var frm = fld.form;
	var str = fld.value.replace(/\-/g,'');

	if (str) {
		if ( !inArray(ignoreKeys, window.event.keyCode) ) {
			if (str.length == 5)
				str += '-';
			else if (str.length > 5)
				str = str.substr(0,5) +'-'+ str.substr(5,3);
		}
	}
	fld.value = str;
}



function setValues() {
	args = setValues.arguments;
	frm = document.forms[args[0]];
	for (i=1; i<args.length; i=i+2 ) {
		obj = frm.elements[args[i]];
		for (j=0; j<obj.options.length; j++) {
			if (obj.options[j].text == args[i+1]) {
				obj.selectedIndex = j;
				break;
			}
		}
	}
}