// Ancho y alto por defecto de las encuestas.
var _width=365;
var _height=420;


// Esta función es usada para lanzar la 
// encuesta.
 
// Debe ser usada sólo por sistemas que
// usan canales protegidos por encriptación
// de antecedentes. (Sistemas basados en ASP
// o ASP.Net).
  
// Parámetros:
//  url:	Es obligatorio. Corresponde al url (absoluto o 
//       	relativo) de la página que encripta los 
//       	antecedentes antes de enviarlos al Sistema de 
//       	Encuesta.
//  debug:  Es opcional. true si la encuesta se presenta en
//			modo debug (No recomendado). false en caso contrario.
//			El valor por defecto es false.
  		
//  Ejemplos del uso de esta función:
  	
//  	Lanza una encuesta usando el encriptador de antecedentes para
//  	sistemas basados en ASP.
  	
//  	lanzarEncuesta('survey-pivot.asp');
  	
//  	Lanza una encuesta usando el encriptador de antecedentes para
//  	sistemas basados en ASP, el cual se encuentra en el directorio
//  	padre de la página que invoca la encuesta.
  	
//  	lanzarEncuesta('../survey-pivot.asp');
function lanzarEncuesta(url) {
	var popup=newWindow(url,"encuesta",_width,_height,'yes');
	popup.focus();	
}

//Crea una nueva ventana pop-up
function newWindow(page, name, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'status=1,height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable';
	return window.open(page, name, winprops);
}

//Modifica el tamaño actual de la ventana.
function resize(w,h) {
	if(w > 0 || h > 0) {
		var wth=(w < 0)?_width:w;
		var hth=(h < 0)?_height:h;
		
		window.resizeTo(wth,hth);
		var winl = (screen.width - wth) / 2;
		var wint = (screen.height - hth) / 2;
		window.moveTo(winl,wint);
	}
}

// Esta función notifica al opener que la encuesta
// ha sido respondida a satisfacción.
// Recibe los siguientes parámetros:
// numberOfQuerys: El número de preguntas que contenía la encuesta.
// numberOfQuerysWithData: El número de preguntas que fueron respondidas.
// modificatedQueryCount: El número de preguntas que efectivamente fueron modificadas.
// url: El url al que debe dirigirse una vez que el feedback sea informado.
function feedback(numberOfQuerys,numberOfQuerysWithData,modificatedQueryCount,url) {
	var w=window.opener;
	
	if(w!=null && typeof(w)!='undefined' && (typeof(w.feedbackEncuesta)=="object" || typeof(w.feedbackEncuesta)=="function")) {
		w.feedbackEncuesta(numberOfQuerys,numberOfQuerysWithData,modificatedQueryCount);
	}
	
	if(url!=null && typeof(url)!='undefined') {
		window.location.href=url;
		window.focus();
	} else {
		window.close();
	}
}


// Lanza una encuesta desde la herramienta masiva por defecto.
function lanzarEncuestaMasiva(url) {
	var popup=newWindow(url,"massivePopup",_width,_height,'yes');
	popup.focus();	
}

function prepareRut(value) {
	var newValue="";
	
	for(var i=0;i < value.length;i++) {
		if(isDigit(value.charAt(i)) || value.charAt(i).toUpperCase()=='K')
			newValue+=value.charAt(i);
	}
	
	if(newValue.length > 0) {
		newValue=newValue.substring(0,newValue.length-1);
	}
	
	return newValue;
}

function prepareLocal(value) {
	var newValue=value;
	
	for(var i=newValue.length;i < 3;i++) {
		newValue="0" + newValue;
	}
	
	return newValue.substring(0,3);
}
