function calculateOffset(field, attr) {
	//solo para I.E. y cuando son posiciones absolutas
	var offset = 0;
	while(field) {
		offset += field[attr];
		field = field.offsetParent;
	}
	return offset;
}

function SetErrorFieldArray(ElemArr,ErrorArr,wAlerts){
	if (typeof(ErrorArr)=="string"){
		var strdat=ErrorArr;
		ErrorArr=new Array(ElemArr.length);
		for (var i=0;i<ElemArr.length;i++)
		  ErrorArr[i]=strdat;
	}
	
	for (var i=0;i<ElemArr.length;i++){
		if (i==0)
		  try{document.getElementById(ElemArr[i]).focus();}catch (e){};
		if (wAlerts)
		  SetErrorField(ElemArr[i],ErrorArr[i],wAlerts)
		else
		  SetErrorField(ElemArr[i],ErrorArr[i]);
	}
}

function SetStdFieldArray(ElemArr){
	for (var i=0;i<ElemArr.length;i++)
		SetstdField(ElemArr[i]);
}

function SetErrorField(strId,strError){
	var elem; 
	if (strId.type)
  	  elem =strId;
	else
	  elem = document.getElementById(strId);
	  
//    elem.className += " ErrorField";
	if (strError!=""){	
		if (SetErrorField.arguments.length==2){	//si hay mas de 2 argumentos, se muestra como alert.
            elem.className += " ErrorField";
			var errorElem=document.getElementById("error_"+elem.id);
			if (errorElem==null){        	
			  errorElem=document.createElement("span");
			  errorElem.id="error_"+elem.id;
			  errorElem.className="errorDesc";						
			}
			errorElem.innerHTML="&nbsp;"+strError;
			elem.parentNode.appendChild(errorElem);
		}else
			alert(strError);			
	}	
/*	if (SetErrorField.arguments.length!=3)
		setTimeout("SetstdField('"+elem.id+"'); setTimeout(\"SetErrorField('"+elem.id+"','"+strError+"',false);\",300)",300)
    else{
		if (SetErrorField.arguments[2]==true)
    	    setTimeout("SetstdField('"+elem.id+"'); setTimeout(\"SetErrorField('"+elem.id+"','"+strError+"',false);\",300)",300);
	} */ 
}

function SetstdField(strId){
	var elem; 
	if (strId.type)
  	  elem =strId
	else
	  elem = document.getElementById(strId);

	while (elem.className.indexOf('ErrorField')!=-1)  
  	  elem.className = elem.className.replace(/ ErrorField/,"");
	  
	if (document.getElementById("error_"+elem.id)){
		  document.getElementById("error_"+elem.id).innerHTML="";
	}
	 
}