PageSourceSearch

https://www.just4jumps.com/cp/resources/js/basic_template.js

js just4jumps.com collected 2026-10-05 05:44:51 UTC 7,256 bytes, 191 lines download raw bytes

1function parse_basic_js_template(routput_tpl,rvars_tpl) {
2    var rvars = rvars_tpl;
3    var routput = routput_tpl.trim();
4
5    // Parse Embedded Templates
6	for(var k in rvars) {
7	    if(typeof(rvars[k])=="object") {
8	        var routparts = routput.split("<tpl-" + k + ">");
9	        var new_routput = routparts[0];
10	        for(var r=1; r<routparts.length; r++) {
11	            var rinnerparts = routparts[r].split("</tpl-" + k + ">");
12	            if(rinnerparts.length > 1) {
13	                var rinner_tpl = rinnerparts[0];
14	                for(var x in rvars[k]) {
15	                    var rinner_vars = rvars[k][x];
16	                    
17						//if(!('index' in rinner_vars)) {
18						//	rinner_vars['index'] = x;
19						//}
20	                    
21	                    if(typeof(rinner_vars)=="object") {
22    	                    new_routput += parse_basic_js_template(rinner_tpl,rinner_vars);
23	                    } else {
24	                        var rpckeys = get_basic_js_template_var_keys(k,rinner_vars);
25	                        for(kk in rpckeys) {
26                        		var regex = new RegExp("\\[" + kk + "\\]", "g");
27    	                        new_routput += rinner_tpl.replace(regex,rpckeys[kk]);//rinner_vars);
28	                        }
29	                    }
30	                }
31	                new_routput += rinnerparts[1];
32	            }
33	        }
34	        routput = new_routput;
35	    }
36	}
37    
38    // Parse Conditional Displays
39	var routparts = routput.split('<display:');
40	var new_routput = routparts[0];
41	for(var r=1; r<routparts.length; r++) {
42	    var rdisep = routparts[r].indexOf('>');
43	    var rdisplayvar = routparts[r].substring(0,rdisep);
44	    var rdisplaystr = routparts[r].substring(rdisep + 1);
45	    var rinnerparts = rdisplaystr.split("</display>");
46	    if(rinnerparts.length > 1) {
47	        var rifyes = rinnerparts[0];
48	        var rifno = "";
49	        var relseparts = rinnerparts[0].split("<else>");
50	        if(relseparts.length > 1) {
51	            rifyes = relseparts[0];
52	            rifno = relseparts[1];
53	        }
54	        var relseparts = rifyes.split("<else:");
55	        var rifyes = relseparts[0];
56	        
57	        if(parse_basic_js_template_condition(rdisplayvar,rvars)) {
58	            new_routput += rifyes;
59	        } else {
60	            var relse_condition_found = false;
61    	        for(var s=1; s<relseparts.length; s++) {
62    	            if(!relse_condition_found) {
63        	            var relsesep = relseparts[s].indexOf('>');
64        	            var relsedisplayvar = relseparts[s].substring(0,relsesep);
65        	            var relsedisplaystr = relseparts[s].substring(relsesep + 1);
66            	        if(parse_basic_js_template_condition(relsedisplayvar,rvars)) {
67            	            rifno = relsedisplaystr;
68            	        }
69    	            }
70    	        }
71	            new_routput += rifno;
72	        }
73	        new_routput += rinnerparts[1];
74	    }
75	}
76	routput = new_routput;
77	
78	if(typeof current_foldername != "undefined") {
79    	routput = routput.replace(/\[folder\]/ig,current_foldername);
80	}
81	
82	var find_terms = new Array();
83	var term_parts = routput.split("[term:");
84	for(var t=1; t<term_parts.length; t++) {
85	    var inner_term_parts = term_parts[t].split("]");
86	    if(inner_term_parts.length > 1) {
87	        var inner_term_str = inner_term_parts[0];
88	        if(inner_term_str.length < 40) {
89	            find_terms.push(inner_term_str);
90	        }
91	    }
92	}
93	for(var t=0; t<find_terms.length; t++) {
94		var regex = new RegExp("\\[term\:" + find_terms[t] + "\\]", "g");
95	    routput = routput.replace(regex,rterm(find_terms[t]));
96	}
97	if(typeof erstouchstart_method=="function") {
98	    if(erstouchstart_method()=="ontouchstart") {
99    	    var regex = new RegExp(" onclick\\=\\'", "g");
100	        var new_click_code = " ontouchstart='basic_tpl_start_element_touch(this,event)' ontouchend='if(!basic_tpl_allow_element_touch(this,event)) return; ";
101    	    routput = routput.replace(regex,new_click_code);
102	    } else {
103    	    var regex = new RegExp(" onclick\\=", "g");
104	        var new_click_code = " " + erstouchstart_method() + "=";
105    	    routput = routput.replace(regex,new_click_code);
106	    }
107	}
108	
109	// Parse Regular String Variables
110	for(var k in rvars) {
111	    if(typeof(rvars[k])!="object") {
112            var rpckeys = get_basic_js_template_var_keys(k,rvars[k]);
113            for(kk in rpckeys) {
114        		var regex = new RegExp("\\[" + kk + "\\]", "g");
115        		routput = routput.replace(regex,rpckeys[kk]);//rvars[k]);
116            }
117	    }
118	}
119	return routput;
120}
121
122tpl_touch_obj_scrollTop = 0;
123tpl_touch_obj_top = 0;
124tpl_touch_pos_left = 0;
125tpl_touch_pos_top = 0;
126function basic_tpl_start_element_touch(elem_obj,event) {
127    event.stopPropagation();
128    tpl_touch_obj_scrollTop = document.body.scrollTop;
129    tpl_touch_obj_top = getObjPosition(elem_obj,'top');
130    tpl_touch_pos_left = event.pageX;
131    tpl_touch_pos_top = event.pageY;
132}
133function basic_tpl_allow_element_touch(elem_obj,event) {
134	var scrollTop_diff = Math.abs(document.body.scrollTop - tpl_touch_obj_scrollTop) * 1;
135	var objTop_diff = Math.abs(getObjPosition(elem_obj,'top') - tpl_touch_obj_top) * 1;
136	var posLeft_diff = Math.abs(event.pageX - tpl_touch_pos_left) * 1;
137	var posTop_diff = Math.abs(event.pageY - tpl_touch_pos_top) * 1; 
138	if(scrollTop_diff < 2 && objTop_diff < 2 && posLeft_diff < 2 && posTop_diff < 2) {
139        return true;
140	} else {
141	    return false;
142	}
143}
144function parse_basic_js_template_condition(rdisplayvar,rvars) {
145    var rdisplayvar_parts = rdisplayvar.split('=');
146    if(rdisplayvar_parts.length==2) {
147        rdisplayvar_k = rdisplayvar_parts[0];
148        rdisplayvar_v = rdisplayvar_parts[1];
149        
150        if(rdisplayvar_k in rvars && rvars[rdisplayvar_k]==rdisplayvar_v) {
151            return true;
152        }
153        else {
154            return false;
155        }
156    }
157    else if((rdisplayvar in rvars && rvars[rdisplayvar]!="") || (typeof current_foldername != "undefined" && current_foldername==rdisplayvar && rdisplayvar.length >= 3)) {
158        return true;
159    } else {
160        return false;
161    }
162}
163function get_basic_js_template_var_keys(k,rinner_vars) {
164    var varkeys = new Array();
165    varkeys[k] = rinner_vars;
166    if(typeof rinner_vars != "undefined") {
167        if(k.indexOf('cost') > -1 || k.indexOf('price') > -1 || k.indexOf('amount') > -1) {
168            varkeys['format:' + k] = display_money(rinner_vars);
169        } else if(k.indexOf('picture') > -1 || k.indexOf('image') > -1) {
170            varkeys['format:' + k] = display_picture_path(rinner_vars);
171        } else if(k.indexOf('time') > -1) {
172            varkeys['format:' + k] = display_time(rinner_vars.replace(/\:/ig,''));
173        }
174    }
175    return varkeys;
176}
177function basic_display_time(d_tstr) {
178    return display_time(d_tstr.replace(/\:/ig,''));
179}
180function display_money(num) {
181    if(num + '' == "" || num * 1 == "NaN") return ""; 
182	var p = parseFloat(num).toFixed(2).split(".");
183	return "$" + p[0].split("").reverse().reduce(function(acc, num, i, orig) {
184		return  num + (i && !(i % 3) ? "," : "") + acc;
185	}, "") + "." + p[1];
186}
187function display_picture_path(pstr) {
188    if(pstr=="") return "/cp/resources/images/items/med/no_picture.png";
189    else return pstr;
190}
191

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.