15 var freeModel = Class.create();
16 freeModel.prototype = {
17 initialize :
function()
20 this.bindFreeMethodCutoffCostRelation();
22 bindFreeMethodCutoffCostRelation :
function(parentId)
26 var freeMethodElements = $$(
'#'+parentId+
' .free-method');
28 var freeMethodElements = $$(
'.free-method');
30 for(var i=0;i<freeMethodElements.length; i++) {
31 Event.observe(freeMethodElements[i],
'change', this.checkFreeMethod.bind(
this));
32 this.initFreeMethod(freeMethodElements[i]);
35 initFreeMethod :
function(element)
37 var freeMethodElement = element;
39 if (freeMethodElement && freeMethodElement.id) {
40 var cutoffElement = $(freeMethodElement.id.replace(/free_method/,
'cutoff_cost'));
42 if (freeMethodElement.value ==
'') {
43 cutoffElement.disabled =
true;
45 cutoffElement.disabled =
false;
50 checkFreeMethod :
function(event)
52 var freeMethodElement = Event.element(event);
53 if (freeMethodElement && freeMethodElement.id) {
54 var cutoffElement = $(freeMethodElement.id.replace(/free_method/,
'cutoff_cost'));
56 if (freeMethodElement.value ==
'') {
57 cutoffElement.disabled =
true;
59 cutoffElement.disabled =
false;
66 freeMethod =
new freeModel();
68 var originModel = Class.create();
69 originModel.prototype = {
70 initialize :
function()
73 this.loader =
new varienLoader(
true);
74 this.regionsUrl =
"<?= /* @escapeNotVerified */ $block->getUrl('directory/json/countryRegion') ?>";
76 this.bindCountryRegionRelation();
78 bindCountryRegionRelation :
function(parentId)
82 var countryElements = $$(
'#'+parentId+
' .countries');
84 var countryElements = $$(
'.countries');
86 for(var i=0; i<countryElements.size(); i++) {
87 Event.observe(countryElements[i],
'change', this.reloadRegionField.bind(
this));
88 this.initRegionField(countryElements[i]);
89 if ($(countryElements[i].
id+
'_inherit')) {
90 Event.observe($(countryElements[i].
id+
'_inherit'),
'change', this.enableRegionZip.bind(
this));
94 enableRegionZip :
function(event)
97 var countryElement = Event.element(event);
98 if (countryElement && countryElement.id && !countryElement.checked) {
99 var regionElement = $(countryElement.id.replace(/country_id/,
'region_id'));
100 var zipElement = $(countryElement.id.replace(/country_id/,
'postcode'));
101 if (regionElement && regionElement.checked) {
102 regionElement.click();
104 if (zipElement && zipElement.checked) {
109 initRegionField :
function(element)
111 var countryElement = element;
112 if (countryElement && countryElement.id) {
113 var regionElement = $(countryElement.id.replace(/country_id/,
'region_id'));
115 this.regionElement = regionElement;
116 if (countryElement.value.length) {
117 var url = this.regionsUrl+
'parent/'+countryElement.value;
118 this.loader.load(url, {}, this.refreshRegionField.bind(
this));
120 this.clearRegionField(this.regionElement.disabled);
125 reloadRegionField :
function(event)
128 var countryElement = Event.element(event);
129 if (countryElement && countryElement.id) {
130 var regionElement = $(countryElement.id.replace(/country_id/,
'region_id'));
132 this.regionElement = regionElement;
133 if (countryElement.value.length) {
134 var url = this.regionsUrl+
'parent/'+countryElement.value;
135 this.loader.load(url, {}, this.refreshRegionField.bind(
this));
137 this.clearRegionField(this.regionElement.disabled);
142 refreshRegionField :
function(serverResponse)
144 if (serverResponse) {
145 var data = eval(
'(' + serverResponse +
')');
146 var
value = this.regionElement.value;
147 var disabled = this.regionElement.disabled;
149 var html =
'<select name="'+this.regionElement.name+
'" id="'+this.regionElement.id+
'" class="required-entry select" title="'+this.regionElement.title+
'"'+(disabled?
" disabled":
"")+
'>';
150 for (var i in data) {
152 html+=
'<option value="'+data[i].value+
'"';
153 if (this.regionElement.value && (
this.regionElement.value == data[i].value ||
this.regionElement.value == data[i].label)) {
156 html+=
'>'+data[i].label+
'<\/option>';
161 var parentNode = this.regionElement.parentNode;
162 var regionElementId = this.regionElement.id;
163 parentNode.innerHTML = html;
164 this.regionElement = $(regionElementId);
165 }
else if (this.reload) {
166 this.clearRegionField(disabled);
170 clearRegionField:
function(disabled) {
171 var html =
'<input type="text" name="' + this.regionElement.name +
'" id="' + this.regionElement.id +
'" class="input-text" title="' + this.regionElement.title +
'"' + (disabled ?
" disabled" :
"") +
'>';
172 var parentNode = this.regionElement.parentNode;
173 var regionElementId = this.regionElement.id;
174 parentNode.innerHTML = html;
175 this.regionElement = $(regionElementId);
179 originAddress =
new originModel();
181 var perPageModel = Class.create();
183 perPageModel.prototype = {
184 initialize :
function()
186 this.listModeElement = $(
'catalog_frontend_list_mode');
187 if (this.listModeElement) {
188 this.gridValuesElement = $(
'catalog_frontend_grid_per_page_values');
189 this.listValuesElement = $(
'catalog_frontend_list_per_page_values');
190 this.listElement = $(
'catalog_frontend_list_per_page');
191 this.gridElement = $(
'catalog_frontend_grid_per_page');
193 this.gridOptions = [];
194 this.listOptions = [];
196 this.refreshPerPageSelect();
197 this.bindListModeChange();
200 bindListModeChange :
function()
202 Event.observe(this.listModeElement,
'change', this.refreshPerPageSelect.bind(
this));
204 refreshPerPageSelect :
function()
206 if (this.listModeElement.value !=
'') {
207 if (this.listModeElement.value ==
'grid') {
208 this.listElement.up(1).hide();
209 this.listValuesElement.up(1).hide();
211 this.gridElement.up(1).show();
212 this.gridValuesElement.up(1).show();
213 }
else if (this.listModeElement.value ==
'grid-list' ||
this.listModeElement.value ==
'list-grid') {
214 this.listElement.up(1).show();
215 this.listValuesElement.up(1).show();
217 this.gridElement.up(1).show();
218 this.gridValuesElement.up(1).show();
219 }
else if (this.listModeElement.value ==
'list') {
220 this.listElement.up(1).show();
221 this.listValuesElement.up(1).show();
223 this.gridElement.up(1).hide();
224 this.gridValuesElement.up(1).hide();
230 perPageSelect =
new perPageModel();
232 function showHint() {
233 $$(
'.hint').each(
function(element){
234 Event.observe(element,
'mouseover',
function(){
235 element.down().show()
237 Event.observe(element,
'mouseout',
function(){
238 element.down().hide()
243 Event.observe(window,
'load', showHint);
$block setTitle( 'CMS Block Title') -> setIdentifier('fixture_block') ->setContent('< h1 >Fixture Block Title</h1 >< a href=" store url</a><p> Config value