function vsmpoll_setvote(pollid,optid,busymsg){
	var objid = document.getElementById('pollopt'+pollid);
	objid.value = optid;
	vsmpoll_submit(pollid,busymsg,1,0)
}

function vsmpoll_submit(pollid,busymsg,voted,show){
	var fo= document.getElementById('frm_'+pollid);
	fo.s.value=show;
	o=false;r=o;
	for(i=0;i<fo.length;i++){
		if (fo[i].type=='radio'){
			r=true;
			if(fo[i].checked)o=true;
		}
	}
	if(r&&!o)alert('Debe seleccionar una de las opciones de la encuesta');
	else {
		document.getElementById('o_'+pollid).style.display='none';
		document.getElementById('b_'+pollid).style.display = '';
		document.getElementById('b_'+pollid).innerHTML=busymsg;
		vsmAjaxForm(fo, 'vsmpoll_voteok(\''+pollid+'\','+voted+','+show+')', 'alert');
	}
}

function vsmpoll_voteok(result,pollid,voted,show){
	document.getElementById('b_'+pollid).style.display='none';
	var e = (voted||show) ? 'r_' : 'o_';
	document.getElementById(e+pollid).style.display='';
	document.getElementById(e+pollid).innerHTML = result;
}

function vsmsearch_submit(searchid) {
	var frm=document.getElementById('frm'+searchid);
	if(!frm.q.value) {alert('No se ingresó el término para la búsqueda.'); return false;}
	if(frm.q.value.length < 4) {alert('El término de la búsqueda debe tener al menos 4 caracteres.'); return false;}
	if(frm.action.indexOf('/portal/ajax/vsmsearch.vnc') != -1) {
		document.getElementById('f_'+searchid).style.display = '';
		document.getElementById('b_'+searchid).style.display = '';
		document.getElementById('r_'+searchid).style.display = 'none';
		vsmAjaxForm(frm,'vsmsearch_ok(\''+searchid+'\')','alert');
	} else {
		frm.submit();
	}
	return false;
}

function vsmsearch_ok(response, searchid) {
//	var formpanel=document.getElementById('f_'+searchid);
	var busypanel=document.getElementById('b_'+searchid);
	var resultpanel=document.getElementById('r_'+searchid);
//	formpanel.style.display = '';
	busypanel.style.display = 'none';
	resultpanel.innerHTML = response;
	resultpanel.style.display = '';
}

/*
function makeArray() {
    for (i = 0; i<makeArray.arguments.length; i++)
         this[i + 1] = makeArray.arguments[i];
}
*/

function vsmCalendar(objid, year, month, day, firstdate, lastdate, selectedYear, selectedMonth) {

	if(selectedYear == undefined || selectedMonth== undefined) {
	 	selectedYear = year;
		selectedMonth = month;
	}
	date = new Date(selectedYear,selectedMonth-1,1);
	today = new Date();
	var startDay  = date.getDay();
	var months = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
	var daysinmonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if (((selectedYear % 4 == 0) && (selectedYear % 100 != 0)) || (selectedYear % 400 == 0)) daysinmonth[2] = 29;
	var nDays = daysinmonth[selectedMonth-1];
	output = "";
	prevyear = selectedYear;
	prevmonth= selectedMonth-1;
	if (prevmonth==0) {
		prevmonth=12;
		prevyear=prevyear-1;
	}
	nextyear = selectedYear;
	nextmonth = selectedMonth+1;
	if (nextmonth==13) {
	 	nextmonth=1;
		nextyear+=1;
 	}
	if(!objid) objid = 'vsmcal_'+Math.round(Math.random(100000));
	output += '<div class="month">'+ months[selectedMonth-1] + "&nbsp;" + selectedYear + '</div>';
	output += '<div class="previous" onClick="javascript:vsmCalendar(\''+objid+'\','+year+','+month+','+day+',\''+firstdate+'\',\''+lastdate+'\','+prevyear+','+prevmonth+')"></div>';
	output += '<div class="next" onClick="javascript:vsmCalendar(\''+objid+'\','+year+','+month+','+day+',\''+firstdate+'\',\''+lastdate+'\','+nextyear+','+nextmonth+')"></div>';
	output += '<table border=0 cellspacing=1 cellpadding=0>';
	output += "<tr>";
	output += '<td class="dow">Dom</td>';
	output += '<td class="dow">Lun</td>';
	output += '<td class="dow">Mar</td>';
	output += '<td class="dow">Mie</td>';
	output += '<td class="dow">Jue</td>';
	output += '<td class="dow">Vie</td>';
	output += '<td class="dow">Sáb</td>';
	output += "</tr>";
	output += "<tr>";
	column = 0;
	for (i=0; i<startDay; i++) {
		output += '<td class="noday">&nbsp;</td>';
		column++;
	}
	height=0;
	for (i=1; i<=nDays; i++) {
		if ((selectedYear==year) && (selectedMonth == month) && (i==day)) {istoday = true;} else {istoday = false;}
		linkdate = selectedYear+"/";
		linkdate+= (selectedMonth < 10) ? '0' + selectedMonth : selectedMonth;
		linkdate+= "/";
		linkdate+= (i < 10) ? '0' + i : i;
	    if(dateinrange(linkdate,firstdate,lastdate)) {
			if(istoday) {
			   	output += '<td class="today"><a href="/">'+i+'</a></td>';
			} else {
				output += '<td class="day"><a href="/'+linkdate+'/">'+i+'</a></td>';
			}
		} else {
		   output += '<td class="disabled">'+i+'</td>';
		}
	   column++;
	   if (column == 7) {
			height +=1;
			output += "</tr><tr>"; 
			column = 0;
	   }
	}
	for (i=0; i<7-column; i++) {
		output += '<td class="noday">&nbsp;</td>';
	}
	if (height<5) {
		output += "</tr><tr>";
		for (i=0; i<7; i++) {
			output += '<td class="noday">&nbsp;</td>';
		}
	}
	output += "</tr></table>";
	document.getElementById(objid).innerHTML = output;
}

function dateinrange(checkdate, firstdate, lastdate) {
	// Controla si la fecha pasada está entre firstdate (yyyy/mm/dd) y el día de hoy
/*	var today = new Date();
	var dd = today.getDate();
	var mm = today.getMonth()+1;//January is 0!
	var yyyy = today.getFullYear();
	if(dd<10){dd='0'+dd}
	if(mm<10){mm='0'+mm}
	var lastdate = yyyy+'/'+mm+'/'+dd;*/
	firstdate = firstdate.replace('-','/');
	lastdate = lastdate.replace('-','/');
	if(firstdate && checkdate < firstdate) return false;
	if(lastdate && checkdate > lastdate) return false;
	return true;
}

function vplOpacity(obj, opacity) {
 	opacity = (opacity == 100)?99.999:opacity;
	obj.style.filter = "alpha(opacity="+opacity+")";
  	obj.style.opacity = (opacity/100);
  	obj.style.MozOpacity = (opacity/100);
  	obj.style.KHTMLOpacity = (opacity/100);
}

function vplFadeIn(objid, finalopacity, value) {
	// finalopacity es opcional (default=100), value es interno.
	if(!finalopacity) finalopacity = 100;
	var obj = document.getElementById(objid);
	if(obj) {
		if(value == undefined) {
			obj.style.display = '';
			value = 0;
		}
		if(value > finalopacity) value = finalopacity;
		vplOpacity(obj, value);
		if(value < finalopacity) {
			setTimeout("vplFadeIn('"+objid+"','"+finalopacity+"',"+(value+20)+")", 50);
		}
	}
}

function vplFadeOut(objid, startopacity, value) {
	// startopacity es opcional (default=100), value es interno.
	if(!startopacity) startopacity = 100;
	var obj = document.getElementById(objid);
	if(obj) {
		if(value == undefined) {
			obj.style.display = '';
			value = startopacity;
		}
		if(value < 0) value = 0;
		vplOpacity(obj, value);
		if(value > 0) {
			setTimeout("vplFadeOut('"+objid+"','"+startopacity+"',"+(value-20)+")", 50);
		} else {
			obj.style.display = 'none';
		}
	}
}