var checkBox = new Array();
var L_strMailboxPlease_Message = "Por favor ingresse o Nome de Usuário.";
var L_strValidMailbox_Message = "O Nome de Usuário contém caracteres inválidos.";
var L_SessionTimedOut_Message = "O tempo da sessão acabou. Se quiser continuar, deve colocá-lo novamente.";


checkBox['article'] = null;
checkBox['call'] = null;
checkBox['link'] = null;
checkBox['file'] = null;
checkBox['vision'] = null;

function sendForm(bAnon) {
    if (!bAnon)
    {
    if (document.logonForm.mailbox.value=="")
    {
        alert(L_strMailboxPlease_Message );
    }
    else if (((document.logonForm.mailbox.value.indexOf("\\") != -1) ||
         (document.logonForm.mailbox.value.indexOf("/") != -1)) ||
         (document.logonForm.mailbox.value.indexOf(";") != -1))
    {
        alert(L_strValidMailbox_Message);
    }
    else
    {
        document.logonForm.submit();
    }
    }
    else
    {
    document.logonForm.mailbox.value="";
    document.logonForm.submit();
    }
}

function openNewWindow(fileName,windowName,theWidth,theHeight) {
    window.open(fileName,windowName,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width="+theWidth+",height="+theHeight)
}

<!-- swap image
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}






function setCurrentPage(b,element,current,currentPage) {

	var f = document.forms[element];

	
	if (element == 'artUser' || element == 'artCoord' || element == 'allArt' ){
		element = 'article';
	}
	/* FIXED task [PSI] Erro na paginação de fotos */
	if (b == 'showAll'){
		if (f.ownerElement.value!=''){
			f.element.value = f.ownerElement.value;
			if (f.element.value == 'call'){
				f.id.value = f.idCallView.value;
			} else {
				f.id.value = f.parentId.value;
			}
			b = 'view';
		}
	}	
/*	if (element == 'article'){
		f.current_article.value = currentPage;
	} else {
		current.value = currentPage;
	}
*/
	if (b == 'beginSearch' ){
		document.forms[element].userPageSetion.value = "userPageSetion";
	}

	current.value = currentPage;
	f.op.value = b;	
	f.submit();
	return;
}
	
function setCount(b,element,total) {
	document.forms[element].op.value = b;
	document.forms[element].count_element.value = total;
	document.forms[element].submit();	
	return;
}

function goUserPage(element) {
	document.forms[element].op.value = 'userPage';
	document.forms[element].submit();	
	return;
}		

function validateFormData (form_obj) {

		var confirmText =  document.formMessages.confirmText.value ;

		if(!IsFormComplete(form_obj)){
				return false;
//	  	} else {
//	   		if (confirm(confirmText)) {
//				submit_data ();
//				return true;
//	   		} else {
//				return false;
//	  		}
		}
}


function IsFormComplete(form_obj){
	var x       = 0;
	var FormOk  = true;
	var message = '';
	
	while ((x < form_obj.elements.length) && (FormOk)){
		message='';
 		if (form_obj.elements[x].title != "" ){
			if (form_obj.elements[x].value == '') 
			{
				if (form_obj.elements[x].type != 'file'){
			        message = document.formMessages.missingField.value +form_obj.elements[x].title +'.';
				} else{
					message = form_obj.elements[x].title ;
				}
				FormOk = false; 
			} else {
				if (form_obj.elements[x].check)  {
					var pattern = new RegExp (form_obj.elements[x].check);
	//					alert(pattern.test(form_obj.elements[x].value));
					if (!pattern.test(form_obj.elements[x].value)){
						message = form_obj.elements[x].title +': '+ document.formMessages.invalidText.value +'.';					
//						message = form_obj.elements[x].title +': '+ document.formMessages.invalidFormat.value +'.';					
						FormOk = false;
					}
				}
			}
		}		
		if (!FormOk){
			alert(message);
        	form_obj.elements[x].focus();
			//form_obj.elements[x].value = '';
		}
        x ++;
    }
	

	if (FormOk){
		message = checkMoreFormInputs (form_obj);
		if (message!=''){
			alert(message);
			FormOk = false;
		}
	}
	return FormOk;
}	

function checkMoreFormInputs (formObj){
	var r = '';

	if (formObj.status){
		if (formObj.status.value=='programming'){
			isDate = isValidDate(formObj.programmingDate);					
			if (!isDate){
				r = formObj.programmingDate[0].label +': '+ document.formMessages.invalidText.value;			
			}
		}		
	}
	if (r!='') return r;

	maxDeadline = '';
	if (formObj.currentDate){ 
		maxDeadline = formObj.currentDate.value;
	}
	if (formObj.programmingDate){	
		date = printDate(formObj.programmingDate);
		if (date!=''){
			isDate = isValidDate(formObj.programmingDate);
			if (isDate){		
				if (formObj.status.value!='programming'){
					formObj.status.value = 'programming';
				}
				isDate = verifyDatePeriod(maxDeadline,date);
			}
			if (isDate){
				formObj.programmingDate[3].value = date;
				maxDeadline = date;
			} else {
				r =  formObj.programmingDate[0].label +': '+document.formMessages.invalidText.value;
				/*
				formObj.programmingDate[0].focus();
	        	formObj.programmingDate[0].select();
				*/
			}
		}
	}
	
	if (r!='') return r;

	if (formObj.expirationDate){
		date = printDate(formObj.expirationDate);
		if (date!=''){
			isDate = isValidDate(formObj.expirationDate);
			if (isDate){		
				isDate = verifyDatePeriod(maxDeadline,date);
			}
			if (isDate){							
				formObj.expirationDate[3].value = date;
			} else {
				r = formObj.expirationDate[0].label +': '+document.formMessages.invalidText.value;          
				/*
				formObj.expirationDate[0].focus();
	        	formObj.expirationDate[0].select();
				*/
			}
		}
	}
	if (r!='') return r;

	if (formObj.body && formObj.link ){
		var ambos = (formObj.body.value!='') && (formObj.link.value!='');
		var nenhum = (formObj.body.value=='') && (formObj.link.value=='');
	
		if (ambos || nenhum){
			r = document.formMessages.BodyOrLink.value;			
		}
	}
	if (r!='') return r;
/*
	if (formObj.file ){	
		if (formObj.file.value ==''){
			r = formObj.file.title +': '+document.formMessages.invalidText.value;			
		}
	}
	if (r!='') return r;
*/
	return r;
}
	

function checkPublicationStatus(elementObj,elementProgrammingDate, elementExpirationDate){

	prog = true;
	exp = true;
	
	switch (elementObj.value){
		case "published":
			prog = false;
		break;
		case "programming":
		break;
		case "unavailable":
		break;
		case "expired":
			prog = false;
			exp = false;
		break;
	}
	enable(elementProgrammingDate,prog,'prg');
	enable(elementExpirationDate,exp,'exp');
}

function enable(elem,flag, nameObject){
//alert(elem.name);
	for (i=0;i<elem.length;i++){
		if (nameObject == 'prg'){
			elem[i].value = '';
		}
		elem[i].disabled = !flag;
	}
}

function checkPassword(password,confirm_password){
	if (password.value != confirm_password.value){
		alert(document.formMessages.confirmPassword.value);
		password.value = '';
		confirm_password.value = '';
		confirm_password.focus();
	}
}



/*function submit_data () {
	var w = window.open ( "", "submitdatawindow", "width=420,height=300,scrollbars=yes");
	
	return true;
}*/



function isValidDate (objDateISO) { 
	var	result_year = objDateISO[2].value;
	var	result_month = objDateISO[1].value;
	var	result_day = objDateISO[0].value;
	var result_date = printDate(objDateISO);
	var error = false;
    var regexpr = "[0-9]";

	if (result_date.length != 8){
		error = true;
	} else {		
		if (result_month == 2) {
			if (result_day == 29) {
			  	if (result_year % 100 == 0 && result_year % 4 != 0) {
					error = true;
			  	} else {
					if (result_year % 100 != 0 && result_year % 4 != 0) {
				   		error = true;
					}	
			  	}	
			} else {
				if (result_day > 29) {
					error = true;	
				}	
			}
		} else {
			if (result_day > 30){
				switch (result_month){
					case '04':
					case '06':
					case '09':
					case '11':
						error = true;
						break;
				}					
			}			
		}
	}
	return (!error);
}		

function verifyDatePeriod (initial_date, last_date) {
	return (parseInt(initial_date.substr(0,8)) < last_date) ;
}	

function printDate(obj) {
	var a = (obj[0].options[obj[0].selectedIndex].value);
	var b = (obj[1].options[obj[1].selectedIndex].value);
	var c = (obj[2].options[obj[2].selectedIndex].value);
	var d = (c + b + a);
	return d;
}
	
function limpa (formName){
	var form_obj = document.forms[formName];
	var x = 0;
	
	while ( x < form_obj.elements.length) {
		if (form_obj.elements[x].type=='text' || form_obj.elements[x].type=='textarea') form_obj.elements[x].value = '';
		x++;
	}		
	return;
}

function getItemsStatus(element,item){
	var selectedItems;

	if (document.forms[element].selectedItems.value == '') document.forms[element].selectedItems.value = 0;
	selectedItems = parseInt(document.forms[element].selectedItems.value);

	if (item.checked) {
		selectedItems = selectedItems + 1;
	} else {
		selectedItems = selectedItems - 1;
	}
	document.forms[element].selectedItems.value = selectedItems;
	status = selectedItems;
	if (status>1) {
		status = 'N';
	}
	return status;
}

function updateButtonStatus(element,item){

	var selectedItems;
	selectedItems = getItemsStatus(element,item);
	if (item.checked == true){
		document.forms[element].solutionCheckBox.value = "checked";
//		alert(document.forms[element].solutionCheckBox.value);
	}
	verifyCheck(element,item);
}

function verifyCheck(formName, thisItem){
	if (thisItem == checkBox[formName]) {
		checkBox[formName].checked = false;
		document.forms[formName].solutionCheckBox.value = "noChecked";
		checkBox[formName] = null;
	} else {
		if (checkBox[formName] != null){
			checkBox[formName].checked = false;
		}
		checkBox[formName] = thisItem;
	}
}


function updateButtons (formElement, selectedItems){
	

	var functions = formElement.menu;
	//var linkFunctions = formElement.menuLink;

	var status;


//alert('switch '+selectedItems);

}

function sortColumn ( element, column,b ){
	document.forms[element].sortedBy.value = column;
	document.forms[element].submit();
//	location.reload();
	setOP(b, element);
	return;
}

function setOP(b,element) {
	if ((b != 'add' && document.forms[element].solutionCheckBox.value == "noChecked") && (b != 'userPage' && b != 'beginSearch')){
	alert('Por favor,selecione algum item...');
//	alert(document.formMessages.CheckSomeThink.value);
	return;
	}

	document.forms[element].target = "";
	document.forms[element].op.value = b;
	if (b == 'userPage' ){
		document.forms[element].expr.value = "";
	}


	if (b == 'sendPassword'){
		if (confirm(document.forms['formMessages'].confirmSendPassword.value) == true){
			document.forms[element].buttomSend.value = b;	
		} else {
			return false;
		}
	}
	document.forms[element].submit();
	
	if (b == 'unlock'){
		document.forms[element].submit();
	}
	if (b == 'unlock' && element == 'callDelete'){
		document.forms[element].submit();
		return history.back();
	
	}
	
	if (b != 'unlock'){
		return ;
	}
}

function fileNavegationReturnArt (action, element, id, recordId){
	document.forms[element].element.value = "article";
	document.forms[element].op.value = action;
	document.forms[element].id.value = id;
	document.forms[element].recordId1.value = recordId;
	document.forms[element].submit();
}

function fileNavegationReturnCall (action, element, id, recordId){
	document.forms[element].element.value = "call";
	document.forms[element].op.value = action;
	document.forms[element].id.value = id;
	document.forms[element].recordId1.value = recordId;
	document.forms[element].submit();
}

function fileNavegationUnlockReturnArt (action, element, id, recordId, unlock){
	document.forms[element].element.value = "article";
	setOP(unlock, element);
	document.forms[element].op.value = action;
	document.forms[element].id.value = id;
	document.forms[element].recordId1.value = recordId;
	document.forms[element].submit();
}


function testa (id, element, action, yy){
//	document.forms[element].expr.value = "" ;		
	document.forms[element].op.value = action;
	document.forms[element].id.value = id;
	if (action != 'preview'){
			document.forms[element].recordId.value = yy;
	} else {
			document.forms[element].target = "_blank";
			document.forms[element].recordPreviewId.value = yy;	
	}
	document.forms[element].submit();	
	return false;
}

	
/* */
function link2out(myLink, myID) {
	history.back();
	window.open(myLink, myID, 'width=800, height=500, scrollbars=yes');
}

function warningDependenceCall(element, functionSel){
	if (element == 'article'){
		if (document.forms[functionSel].dependent.value == 'nulo'){
			if (confirm(document.forms['formMessages'].confirmDelete.value) == false){
				return false;
			} else {
				return true;
			}
			return true;
		} else {
			alert(document.forms['formMessages'].errorConfirmDelete.value);
			return false;
		}
	}
	return true;

return false;
}

function parentRetur()
{
history.back();
}

function setBegin(test){
	 for (var i = 0; i < document.forms.length; i++) {
	 	var f = document.forms[i];
		var flag1 = false;
		var flag2 = false;
	
		for (var j = 0; j < f.elements.length; j++) {
			if (f.name == "call" && f.elements[j].type == "text") flag1 = true;
			if (f.elements[j].type == "checkbox") {
				flag2 = true;
				f.elements[j].checked = false;
			}
		}
		
		if (flag1 == false && flag2 == true) {
			document.forms[i].solutionCheckBox.value = "noChecked";
		}
	 }
 }
 
 function openLink ( urlName ){
	window.open(urlName, "link","top=15,left=0,height=590,width=790,menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes");
	return false;	
}
//-->  
