/**
* @author pviojo
*/
Function.prototype.closure = function(scope){
return (function(fn,scope){
return function(o){
return fn.call(scope,o);
}
}(this,scope))
}
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };
/**
* @author pviojo
*/
var Listener = new Class({
suscribe:function(e,fn,scope){
if (!this.listenersEv){
this.listenersEv={};
}
if (!this.listenersEv[e]){
this.listenersEv[e]=[];
}
this.listenersEv[e].push({fn:fn,scope:scope});
},
fire:function(e, data){
if (data == undefined){
data = null;
}
if (this.listenersEv && this.listenersEv[e]){
var lst = this.listenersEv[e];
var n = lst.length;
for (var i = 0; i < n; i++){
if (lst[i].fn && lst[i].scope){
lst[i].fn.call( lst[i].scope, data );
}
}
}
}
});
/**
* @author pviojo
*/
var ListenerObj = {
suscribe:function(e,fn,scope){
if (!this.listenersEv){
this.listenersEv={};
}
if (!this.listenersEv[e]){
this.listenersEv[e]=[];
}
this.listenersEv[e].push({fn:fn,scope:scope});
},
fire:function(e, data){
if (data == undefined){
data = null;
}
if (this.listenersEv && this.listenersEv[e]){
var lst = this.listenersEv[e];
var n = lst.length;
for (var i = 0; i < n; i++){
if (lst[i].fn && lst[i].scope){
lst[i].fn.call( lst[i].scope, data );
}
}
}
}
};
/**
* Funcionalidades comunes a todos los controladores:
* - Multiples Páginas
*
* @param {Object}
* id
*/
var CommonController = Listener.extend({
selectedPage:"Home",
showLoading:function(){
$.blockUI();
},
hideLoading:function(){
$.unblockUI();
},
hidePage:function(id){
if ($(this.mainContainer+" .page"+id).length > 0) {
$(this.mainContainer+" .page"+this.selectedPage).hide();
this.selectedPage = null;
}
},
showPage:function(id) {
if ($(this.mainContainer+" .page"+id).length > 0) {
if(this.selectedPage && this.selectedPage!=id){
$(this.mainContainer+" .page"+this.selectedPage).hide()
}
if (!this.selectedPage || this.selectedPage!=id){
$(this.mainContainer+" .page"+id).show()
this.selectedPage = id;
}
}
},
createPage:function(id){
if ($(this.mainContainer+" .page"+id).length==0){
$(this.mainContainer).append('
');
}
return this.getPage(id);
},
getPage:function(id){
return $(this.mainContainer+" .page"+id);
}
})
var ObjectUI = {
loadDeclarativeOptions:function(obj){
aux={};
for(i in this.settings){
if (obj.getAttribute && obj.getAttribute(i)){
aux[i] = obj.getAttribute(i).trim();
if (parseFloat(aux[i])){
aux[i] = parseFloat(aux[i]);
}
if(aux[i]=="false"){
aux[i] = false;
}
if(aux[i]=="true"){
aux[i] = true;
}
}
}
return aux;
}
}
var processTemplate=function(template,item){
var re = new RegExp("\{[^\}]*\}","gim")
var tokens=template.match(re);
for (var i = 0; i < tokens.length; i++){
if (typeof(tokens[i])=="string" && tokens[i]!=template){
var token=tokens[i].replace("{","").replace("}","");
var a = token.split(".");
baseItem = item;
for (var j = 0; j < a.length; j++){
if (baseItem[a[j]]){
baseItem=baseItem[a[j]];
} else {
baseItem="";
break;
}
}
template = template.replace(tokens[i],baseItem);
}
}
return template;
}
if (svweb == undefined){
var svweb = {};
}
package = function() {
var a=arguments;
var o=null;
var i, j, d;
for (i=0; i(1000*Logger.limit.time)) || (Logger._msgsToLog[i].length>=Logger.limit.n)){
Logger._sendToServer();
}
},
_sendToServer:function(){
Logger._lastLoggedTime = (new Date().getTime());
$.ajax(
{
type:"POST",
url:Logger.logUrl,
data:Logger._msgsToLog,
scope:this,
global:false,
success:function(o){
}
}
)
Logger._msgsToLog = {};
}
}
package("controllers.common");
svweb.controllers.common.MultiActionController = CommonController.extend({
initialize:function(options){
this.serviceParamName = "_action";
this._initialize(options);
this.selectedPage=StringUtils.capitalize(options.method);
},
/*
* Must be implemented
*/
_initialize:function(options){},
load:function(options){
var pageName = StringUtils.capitalize(options.method);
var targetUrl;
if (options.url){
var targetUrl = options.url;
} else {
var targetUrl = this.url+"?" + this.serviceParamName + "=" + options.method;
}
var type = "POST";
if (options.type){
type = options.type;
}
this.showLoading(),
$.ajax(
{
type:type,
url:targetUrl,
data:options.data || {},
scope:this,
expects:".page"+pageName,
success:function(o){
$('#JT').remove();
var page = this.scope.createPage(pageName)
page.html(this.scope.getExpected(o, this.expects));
this.scope.showPage(pageName);
// this.scope._initialize({method:StringUtils.uncapitalize(pageName)});
this.scope._initialize({method:StringUtils.uncapitalize(pageName), flagCambioPlan:options.flagCambioPlan});
},
complete:function(r,s){
this.scope.hideLoading();
}
}
)
},
getExpected:function(o,expects,includeRoot){
var obj = $("#tmp");
obj[0].innerHTML=o;
var html = $(expects,obj);
if (!includeRoot && html.length>0){
html = html.children()
}
obj.empty();
return html;
}
});
/**
* Parse an uri returning an URI object
*
* @param {String}
* uri String
* @return {URI} URI Object
*/
var parseUri = function (source) { var o = parseUri.options, value = o.parser[o.strictMode ? "strict" : "loose"].exec(source); for (var i = 0, uri = {}; i < 14; i++) { uri[o.key[i]] = value[i] || ""; } uri[o.q.name] = {}; uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { if ($1) uri[o.q.name][$1] = $2; }); return uri; }; parseUri.options = { strictMode: false, key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], q: { name: "queryKey", parser: /(?=.)&?([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ } };
/**
* String Utils functions
*
*/
var StringUtils = {
/**
* Capitalize an string
*
* @param {String}
* str
* @return {String}
*/
capitalize:function(str){
if (str.length>0){
return str.substring(0,1).toUpperCase()+str.substring(1);
}
return str;
},
/**
* UnCapitalize an string
*
* @param {String}
* str
* @return {String}
*/
uncapitalize:function(str){
if (str.length>0){
return str.substring(0,1).toLowerCase()+str.substring(1);
}
return str;
},
/**
* Converts an lower_case_underscore_separated to CamelCase
*
* @param {String}
* str
* @return {String}
*/
camelize:function(str){
var tokens = str.split(/_/);
var aux="";
for(var i=0;i 0){
var selOption = $("option:eq(0)",obj);
obj.empty();
if (selOption){
obj.append(selOption);
} else {
if (options.useDefault){
obj.append('');
}
}
if (options.data){
for (var i = 0; i < options.data.length; i++) {
obj.append('');
}
}
}
$(obj)[0].selectedIndex = 0;
}
}
var startLoadingComponent = function (options){
if (options.obj && $(options.obj).length>0 && $(".cmp_loading",$(options.obj).parent()).length==0){
$(options.obj).after('
');
}
}
var endLoadingComponent = function (options){
if (options.obj && $(options.obj).length>0){
$(".cmp_loading",$(options.obj).parent()).remove();
}
}
/**
* Compara dos objetos
*/
var equals = function(a,b){
if (!a || !b){
return false;
}
for(i in a){
if (a[i]){
if (!b[i] || b[i]!=a[i]){
return false;
}
}
}
for(i in b){
if (b[i]){
if (!a[i] || b[i]!=a[i]){
return false;
}
}
}
return true;
}
function getCenter(sel){
return {
top:parseInt((($(window).height()-$(sel).height())/2)+$(window).scrollTop()),
left:parseInt((($(window).width()-$(sel).width())/2)+$(window).scrollLeft())+10
};
}
function setCenter(sel){
var pos = getCenter(sel);
$(sel).css({top:pos.top,left:pos.left});
};
/*
* Marca un hit en la pgina actual -- Corrección al código certifica pviojo
* 2007-11-06
*/
function customTagCertifica(cnt, iSiteId, sPath)
{
$(cnt).html('
')
}
/**
* Carga un combobox
*/
function loadSelect(obj, data){
if ($(obj).length > 0){
var selOption = $("option:eq(0)", obj);
$(obj).empty();
if (selOption){
$(obj).append(selOption);
}
for (var i = 0; i < data.length; i++) {
$(obj).append('');
}
$(obj)[0].selectedIndex = 0;
if ($(obj).attr("onLoadValue")){
$(obj).val($(obj).attr("onLoadValue"));
$(obj).attr("onLoadValue",null);
}
}
}
/**
* Determina si un objeto es un array
*/
function isArray(testObject) {
return testObject && !(testObject.propertyIsEnumerable('length')) && typeof testObject === 'object' && typeof testObject.length === 'number';
}
function formatMoney(strValue, useDec, moneyChar){
if (moneyChar==undefined){
moneyChar = "$";
}
if (useDec) {
return _formatCurrency2Dec(strValue,".",moneyChar);
}
return _formatCurrency(strValue,".",moneyChar);
}
function _formatCurrency(strValue,thousandsSep,moneyChar)
{
if(thousandsSep==undefined){
thousandsSep = ".";
}
strValue = strValue.toString().replace(".","").replace(",",".");
dblValue = parseFloat(strValue);
var k=Math.pow(10,0);
blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
dblValue = Math.floor(dblValue*k+0.50000000001);
dblValue = Math.floor(dblValue/k).toString();
for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+thousandsSep+
dblValue.substring(dblValue.length-(4*i+3));
return (((moneyChar)?moneyChar:'')+((blnSign)?'':'-')+ dblValue);
}
function _formatCurrency2Dec(strValue,thousandsSep,moneyChar)
{
if(thousandsSep==undefined){
thousandsSep = ".";
}
strValue = strValue.toString().replace(".","").replace(",",".");
dblValue = parseFloat(strValue);
var k=Math.pow(10,2);
blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
dblValue = Math.floor(dblValue*k+0.50000000001);
intCents = dblValue%k;
strCents = intCents.toString();
dblValue = Math.floor(dblValue/k).toString();
if(intCents<10)
strCents = "0" + strCents;
for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+thousandsSep+
dblValue.substring(dblValue.length-(4*i+3));
if (dblValue == "0") { dblValue = "" };
return (((moneyChar)?moneyChar:'')+((blnSign)?'':'-')+ dblValue + ',' + strCents);
}
function replaceAll(Source,stringToFind,stringToReplace){
var temp = Source;
var index = temp.indexOf(stringToFind);
while(index != -1){
temp = temp.replace(stringToFind,stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
}
function convertirUnicode(string)
{
string=replaceAll(string,'á','\u00E1');
string=replaceAll(string,'Á','\u00C1');
string=replaceAll(string,'é','\u00E9');
string=replaceAll(string,'É','\u00C9');
string=replaceAll(string,'í','\u00ED');
string=replaceAll(string,'Í','\u00CD');
string=replaceAll(string,'ó','\u00F3');
string=replaceAll(string,'Ó','\u00D3');
string=replaceAll(string,'ú','\u00FA');
string=replaceAll(string,'Ú','\u00DA');
string=replaceAll(string,'ñ','\u00F1');
string=replaceAll(string,'Ñ','\u00D1');
return string;
}
function eliminarDivContratarServicioPrincipal()
{
$(".pageContratarSPpaso1").remove();
$(".pageContratarSPpaso2").remove();
$(".pageContratarSPpaso3").remove();
$(".pageContratarSPpaso4").remove();
$(".pageContratarSPpaso5").remove();
$(".pageContratarSPpaso6").remove();
$(".pageContratarSPpaso7").remove();
$(".pageContratarSPpaso8").remove();
$(".pageContratarSPpaso9").remove();
}
function eliminarDivOtroDomicilio()
{
$(".pageOtroDomicilio01").remove();
$(".pageOtroDomicilio02").remove();
$(".pageOtroDomicilio03").remove();
$(".pageOtroDomicilio04").remove();
$(".pageOtroDomicilio05").remove();
$(".pageOtroDomicilio06").remove();
$(".pageOtroDomicilio07").remove();
$(".pageOtroDomicilio08").remove();
$(".pageOtroDomicilio09").remove();
$(".pageOtroDomicilio10").remove();
$(".pageOtroDomicilio11").remove();
}
function eliminarDivCambioDePlan()
{
$(".pageCambiarPlan01").remove();
$(".pageCambiarPlan02").remove();
$(".pageCambiarPlan03").remove();
$(".pageCambiarPlan04").remove();
$(".pageCambiarPlan05").remove();
$(".pageCambiarPlan06").remove();
$(".pageCambiarPlan07").remove();
}
function eliminarDivDboxMasCanales()
{
$(".pageContratarDboxPaso1").remove();
$(".pageContratarDboxPaso2").remove();
$(".pageContratarDboxPaso3").remove();
$(".pageContratarDboxPaso4").remove();
$(".pageContratarDboxPaso5").remove();
$(".pageContratarDboxPaso6").remove();
}
UTF8 = {
encode: function(s){
for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
);
return s.join("");
},
decode: function(s){
for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
((a = s[i][c](0)) & 0x80) &&
(s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
);
return s.join("");
}
}
function validarRutTipoDocumento( Objeto )
{
var tmpstr = "";
var intlargo = Objeto.value
if(String(Objeto.value).lastIndexOf("-") == -1)
{
return false;
}
if (intlargo.length> 0)
{
crut = Objeto.value
largo = crut.length;
if ( largo <2 )
{
//alert('rut inválido')
//Objeto.focus()
return false;
}
for ( i=0; i 2 )
rut = crut.substring(0, largo - 1);
else
rut = crut.charAt(0);
dv = crut.charAt(largo-1);
if ( rut == null || dv == null )
return 0;
var dvr = '0';
suma = 0;
mul = 2;
for (i= rut.length-1 ; i>= 0; i--)
{
suma = suma + rut.charAt(i) * mul;
if (mul == 7)
mul = 2;
else
mul++;
}
res = suma % 11;
if (res==1)
dvr = 'k';
else if (res==0)
dvr = '0';
else
{
dvi = 11-res;
dvr = dvi + "";
}
if ( dvr != dv.toLowerCase() )
{
//alert('El Rut Ingreso es Invalido')
//Objeto.focus()
return false;
}
//alert('El Rut Ingresado es Correcto!')
return true;
}
}
;