var varienTabs=new Class.create();varienTabs.prototype={initialize:function(containerId,destElementId,activeTabId,shadowTabs){this.containerId=containerId;this.destElementId=destElementId;this.activeTab=null;this.tabOnClick=this.tabMouseClick.bindAsEventListener(this);this.tabs=$$('#'+this.containerId+' li a.tab-item-link');this.hideAllTabsContent();for(var tab=0;tab');win.document.close();Event.observe(win,'load',function(){var img=win.document.getElementById('image_preview');win.resizeTo(img.width+40,img.height+80)});}} function toggleValueElements(checkbox,container,excludedElements,checked){if(container&&checkbox){var ignoredElements=[checkbox];if(typeof excludedElements!='undefined'){if(Object.prototype.toString.call(excludedElements)!='[object Array]'){excludedElements=[excludedElements];} for(var i=0;i=0;i--){if(!headers[i].hasClassName('skip-header')){this.header=headers[i];break;}} if(!this.header){return;} this.headerOffset=Element.cumulativeOffset(this.header)[1];var buttons=$$('.content-buttons')[0];if(buttons){Element.insert(buttons,{before:'
'});buttons.placeholder=buttons.previous('.content-buttons-placeholder');buttons.remove();buttons.placeholder.appendChild(buttons);this.headerOffset=Element.cumulativeOffset(buttons)[1];} this.headerCopy=$(document.createElement('div'));this.headerCopy.appendChild(this.header.cloneNode(true));document.body.insertBefore(this.headerCopy,document.body.lastChild) this.headerCopy.addClassName('content-header-floating');var placeholder=this.headerCopy.down('.content-buttons-placeholder');if(placeholder){placeholder.remove();}},ready:function(){return(this.compatible&&this.header&&this.headerCopy&&this.headerCopy.parentNode)?true:false;},updateForScroll:function(){if(!this.ready()){return;} var s;if(self.pageYOffset){s=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){s=document.documentElement.scrollTop;}else if(document.body){s=document.body.scrollTop;} if(s>this.headerOffset){this.showFloatingToolbar();}else{this.showNormalToolbar();}},showNormalToolbar:function(){if(!this.ready()){return;} var buttons=$$('.content-buttons')[0];if(buttons&&buttons.oldParent&&buttons.oldParent!=buttons.parentNode){buttons.remove();buttons.oldParent.insertBefore(buttons,buttons.oldBefore);} this.headerCopy.style.display='none';},showFloatingToolbar:function(){if(!this.ready()){return;} var buttons=$$('.content-buttons')[0];if(buttons){if(!buttons.oldParent){buttons.oldParent=buttons.parentNode;buttons.oldBefore=buttons.previous();} if(buttons.oldParent==buttons.parentNode){if(buttons.placeholder){var dimensions=buttons.placeholder.getDimensions() buttons.placeholder.style.width=dimensions.width+'px';buttons.placeholder.style.height=dimensions.height+'px';} var target=this.headerCopy.down('div');if(target){buttons.hide();buttons.remove();target.appendChild(buttons);buttons.show();}}} this.headerCopy.style.display='block';},startOnLoad:function(){if(!this.compatible){return;} if(!this.funcOnWindowLoad){this.funcOnWindowLoad=this.start.bind(this);} Event.observe(window,'load',this.funcOnWindowLoad);},removeOnLoad:function(){if(!this.funcOnWindowLoad){return;} Event.stopObserving(window,'load',this.funcOnWindowLoad);},start:function(){if(!this.compatible){return;} this.reset();this.startListening();},stop:function(){this.stopListening();this.removeOnLoad();this.showNormalToolbar();},startListening:function(){if(this.eventsAdded){return;} if(!this.funcUpdateForViewport){this.funcUpdateForViewport=this.updateForScroll.bind(this);} Event.observe(window,'scroll',this.funcUpdateForViewport);Event.observe(window,'resize',this.funcUpdateForViewport);this.eventsAdded=true;},stopListening:function(){if(!this.eventsAdded){return;} Event.stopObserving(window,'scroll',this.funcUpdateForViewport);Event.stopObserving(window,'resize',this.funcUpdateForViewport);this.eventsAdded=false;}} function updateTopButtonToolbarToggle() {toolbarToggle.reset();} function createTopButtonToolbarToggle() {toolbarToggle.createToolbar();} function floatingTopButtonToolbarToggle() {toolbarToggle.updateForScroll();} toolbarToggle.startOnLoad();var Cookie={all:function(){var pairs=document.cookie.split(';');var cookies={};pairs.each(function(item,index){var pair=item.strip().split('=');cookies[unescape(pair[0])]=unescape(pair[1]);});return cookies;},read:function(cookieName){var cookies=this.all();if(cookies[cookieName]){return cookies[cookieName];} return null;},write:function(cookieName,cookieValue,cookieLifeTime){var expires='';if(cookieLifeTime){var date=new Date();date.setTime(date.getTime()+(cookieLifeTime*1000));expires='; expires='+date.toGMTString();} var urlPath='/'+BASE_URL.split('/').slice(3).join('/');document.cookie=escape(cookieName)+"="+escape(cookieValue)+expires+"; path="+urlPath;},clear:function(cookieName){this.write(cookieName,'',-1);}};var Fieldset={cookiePrefix:'fh-',applyCollapse:function(containerId){if($(containerId+'-state')){collapsed=$(containerId+'-state').value==1?0:1;}else{collapsed=$(containerId+'-head').collapsed;} if(collapsed==1||collapsed===undefined){$(containerId+'-head').removeClassName('open');$(containerId).hide();}else{$(containerId+'-head').addClassName('open');$(containerId).show();}},toggleCollapse:function(containerId,saveThroughAjax){if($(containerId+'-state')){collapsed=$(containerId+'-state').value==1?0:1;}else{collapsed=$(containerId+'-head').collapsed;} if(collapsed==1||collapsed===undefined){if($(containerId+'-state')){$(containerId+'-state').value=1;} $(containerId+'-head').collapsed=0;}else{if($(containerId+'-state')){$(containerId+'-state').value=0;} $(containerId+'-head').collapsed=1;} this.applyCollapse(containerId);if(typeof saveThroughAjax!="undefined"){this.saveState(saveThroughAjax,{container:containerId,value:$(containerId+'-state').value});}},addToPrefix:function(value){this.cookiePrefix+=value+'-';},saveState:function(url,parameters){new Ajax.Request(url,{method:'get',parameters:Object.toQueryString(parameters),loaderArea:false});}};var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=Base64._utf8_encode(input);while(i>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;} output=output+ this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+ this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);} return output;},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);} if(enc4!=64){output=output+String.fromCharCode(chr3);}} output=Base64._utf8_decode(output);return output;},mageEncode:function(input){return this.encode(input).replace(/\+/g,'-').replace(/\//g,'_').replace(/=/g,',');},mageDecode:function(output){output=output.replace(/\-/g,'+').replace(/_/g,'/').replace(/,/g,'=');return this.decode(output);},idEncode:function(input){return this.encode(input).replace(/\+/g,':').replace(/\//g,'_').replace(/=/g,'-');},idDecode:function(output){output=output.replace(/\-/g,'=').replace(/_/g,'/').replace(/\:/g,'\+');return this.decode(output);},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);} else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}} return utftext;},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;} else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}} return string;}};function sortNumeric(val1,val2) {return val1-val2;};function MultiSelector(list_target,field_name,max,new_element_html,delete_text,new_file_input){this.list_target=list_target;this.field_name=field_name;this.count=0;this.id=0;if(max){this.max=max;}else{this.max=-1;};this.new_element_html=new_element_html;this.delete_text=delete_text;this.new_file_input=new_file_input;this.addElement=function(element){if(element.tagName=='INPUT'&&element.type=='file'){this.id++;element.name=this.field_name+'[]';element.multi_selector=this;element.onchange=function(){var new_element=document.createElement('input');new_element.type='file';this.parentNode.insertBefore(new_element,this);this.multi_selector.addElement(new_element);this.multi_selector.addListRow(this);this.style.position='absolute';this.style.left='-1000px';};if(this.max!=-1&&this.count>=this.max){element.disabled=true;};this.count++;this.current_element=element;}else{alert('Error: not a file input element');};};this.addListRow=function(element){var new_row_input=document.createElement('input');new_row_input.type='text';new_row_input.name='general[position_new][]';new_row_input.size='3';new_row_input.value='0';var new_row_button=document.createElement('input');new_row_button.type='checkbox';new_row_button.value='Delete';var new_row_span=document.createElement('span');new_row_span.innerHTML=this.delete_text;table=this.list_target;noOfRows=table.rows.length;noOfCols=table.rows[noOfRows-2].cells.length;var x=table.insertRow(noOfRows-1);for(var j=0;j'+this.getElement('template').innerHTML+'',new RegExp('(^|.|\\r|\\n)(__([a-zA-Z0-9_]+)__)',''));this.fixParentTable();this.updateImages();varienGlobalEvents.attachEventHandler('moveTab',this.onImageTabMove.bind(this));},onImageTabMove:function(event){var imagesTab=false;this.container.ancestors().each(function(parentItem){if(parentItem.tabObject){imagesTab=parentItem.tabObject;throw $break;}}.bind(this));if(imagesTab&&event.tab&&event.tab.name&&imagesTab.name==event.tab.name){this.container.select('input[type="radio"]').each(function(radio){radio.observe('change',this.onChangeRadio);}.bind(this));this.updateImages();}},fixParentTable:function(){this.container.ancestors().each(function(parentItem){if(parentItem.tagName.toLowerCase()=='td'){parentItem.style.width='100%';} if(parentItem.tagName.toLowerCase()=='table'){parentItem.style.width='100%';throw $break;}});},getElement:function(name){return $(this.containerId+'_'+name);},showUploader:function(){this.getElement('add_images_button').hide();this.getElement('uploader').show();},handleUploadComplete:function(files){files.each(function(item){if(!item.response.isJSON()){try{console.log(item.response);}catch(e2){alert(item.response);} return;} var response=item.response.evalJSON();if(response.error){return;} var newImage={};newImage.url=response.url;newImage.file=response.file;newImage.label='';newImage.position=this.getNextPosition();newImage.disabled=0;newImage.removed=0;this.images.push(newImage);this.uploader.removeFile(item.id);}.bind(this));this.container.setHasChanges();this.updateImages();},updateImages:function(){this.getElement('save').value=this.images.toJSON();$H(this.imageTypes).each(function(pair){this.getFileElement('no_selection','cell-'+pair.key+' input').checked=true;}.bind(this));this.images.each(function(row){if(!$(this.prepareId(row.file))){this.createImageRow(row);} this.updateVisualisation(row.file);}.bind(this));this.updateUseDefault(false);},onChangeRadio:function(evt){var element=Event.element(evt);element.setHasChanges();},createImageRow:function(image){var vars=Object.clone(image);vars.id=this.prepareId(image.file);var html=this.template.evaluate(vars);Element.insert(this.getElement('list'),{bottom:html});$(vars.id).select('input[type="radio"]').each(function(radio){radio.observe('change',this.onChangeRadio);}.bind(this));},prepareId:function(file){if(typeof this.file2id[file]=='undefined'){this.file2id[file]=this.idIncrement++;} return this.containerId+'-image-'+this.file2id[file];},getNextPosition:function(){var maxPosition=0;this.images.each(function(item){if(parseInt(item.position)>maxPosition){maxPosition=parseInt(item.position);}});return maxPosition+1;},updateImage:function(file){var index=this.getIndexByFile(file);this.images[index].label=this.getFileElement(file,'cell-label input').value;this.images[index].position=this.getFileElement(file,'cell-position input').value;this.images[index].removed=(this.getFileElement(file,'cell-remove input').checked?1:0);this.images[index].disabled=(this.getFileElement(file,'cell-disable input').checked?1:0);this.getElement('save').value=this.images.toJSON();this.updateState(file);this.container.setHasChanges();},loadImage:function(file){var image=this.getImageByFile(file);this.getFileElement(file,'cell-image img').src=image.url;this.getFileElement(file,'cell-image img').show();this.getFileElement(file,'cell-image .place-holder').hide();},setProductImages:function(file){$H(this.imageTypes).each(function(pair){if(this.getFileElement(file,'cell-'+pair.key+' input').checked){this.imagesValues[pair.key]=(file=='no_selection'?null:file);}}.bind(this));this.getElement('save_image').value=$H(this.imagesValues).toJSON();},updateVisualisation:function(file){var image=this.getImageByFile(file);this.getFileElement(file,'cell-label input').value=image.label;this.getFileElement(file,'cell-position input').value=image.position;this.getFileElement(file,'cell-remove input').checked=(image.removed==1);this.getFileElement(file,'cell-disable input').checked=(image.disabled==1);$H(this.imageTypes).each(function(pair){if(this.imagesValues[pair.key]==file){this.getFileElement(file,'cell-'+pair.key+' input').checked=true;}}.bind(this));this.updateState(file);},updateState:function(file){if(this.getFileElement(file,'cell-disable input').checked){this.getFileElement(file,'cell-position input').disabled=true;}else{this.getFileElement(file,'cell-position input').disabled=false;}},getFileElement:function(file,element){var selector='#'+this.prepareId(file)+' .'+element;var elems=$$(selector);if(!elems[0]){try{console.log(selector);}catch(e2){alert(selector);}} return $$('#'+this.prepareId(file)+' .'+element)[0];},getImageByFile:function(file){if(this.getIndexByFile(file)===null){return false;} return this.images[this.getIndexByFile(file)];},getIndexByFile:function(file){var index;this.images.each(function(item,i){if(item.file==file){index=i;}});return index;},updateUseDefault:function(){if(this.getElement('default')){this.getElement('default').select('input').each(function(input){$(this.containerId).select('.cell-'+input.value+' input').each(function(radio){radio.disabled=input.checked;});}.bind(this));} if(arguments.length==0){this.container.setHasChanges();}},handleUploadProgress:function(file){},handleUploadError:function(fileId){}};Product.AttributesBridge={tabsObject:false,bindTabs2Attributes:{},bind:function(tabId,attributesObject){this.bindTabs2Attributes[tabId]=attributesObject;},getAttributes:function(tabId){return this.bindTabs2Attributes[tabId];},setTabsObject:function(tabs){this.tabsObject=tabs;},getTabsObject:function(){return this.tabsObject;},addAttributeRow:function(data){$H(data).each(function(item){if(this.getTabsObject().activeTab.name!=item.key){this.getTabsObject().showTabContent($(item.key));} this.getAttributes(item.key).addRow(item.value);}.bind(this));}};Product.Attributes=Class.create();Product.Attributes.prototype={config:{},containerId:null,initialize:function(containerId){this.containerId=containerId;},setConfig:function(config){this.config=config;Product.AttributesBridge.bind(this.getConfig().tab_id,this);},getConfig:function(){return this.config;},create:function(){var win=window.open(this.getConfig().url,'new_attribute','width=900,height=600,resizable=1,scrollbars=1');win.focus();},addRow:function(html){var attributesContainer=$$('#group_fields'+this.getConfig().group_id+' .form-list tbody')[0];Element.insert(attributesContainer,{bottom:html});var childs=attributesContainer.childElements();var element=childs[childs.size()-1].select('input','select','textarea')[0];if(element){window.scrollTo(0,Position.cumulativeOffset(element)[1] +element.offsetHeight);}}};Product.Configurable=Class.create();Product.Configurable.prototype={initialize:function(attributes,links,idPrefix,grid,readonly){this.templatesSyntax=new RegExp('(^|.|\\r|\\n)(\'{{\\s*(\\w+)\\s*}}\')',"");this.attributes=attributes;this.idPrefix=idPrefix;this.links=$H(links);this.newProducts=[];this.readonly=readonly;this.addAttributeTemplate=new Template($(idPrefix+'attribute_template').innerHTML.replace(/__id__/g,"'{{html_id}}'").replace(/ template no-display/g,''),this.templatesSyntax);this.addValueTemplate=new Template($(idPrefix+'value_template').innerHTML.replace(/__id__/g,"'{{html_id}}'").replace(/ template no-display/g,''),this.templatesSyntax);this.pricingValueTemplate=new Template($(idPrefix+'simple_pricing').innerHTML,this.templatesSyntax);this.pricingValueViewTemplate=new Template($(idPrefix+'simple_pricing_view').innerHTML,this.templatesSyntax);this.container=$(idPrefix+'attributes');this.onLabelUpdate=this.updateLabel.bindAsEventListener(this);this.onValuePriceUpdate=this.updateValuePrice.bindAsEventListener(this);this.onValueTypeUpdate=this.updateValueType.bindAsEventListener(this);this.onValueDefaultUpdate=this.updateValueUseDefault.bindAsEventListener(this);this.createAttributes();this.grid=grid;this.grid.rowClickCallback=this.rowClick.bind(this);this.grid.initRowCallback=this.rowInit.bind(this);this.grid.checkboxCheckCallback=this.registerProduct.bind(this);this.grid.rows.each(function(row){this.rowInit(this.grid,row);}.bind(this));},createAttributes:function(){this.attributes.each(function(attribute,index){var li=$(document.createElement('LI'));li.className='attribute';li.id=this.idPrefix+'_attribute_'+index;attribute.html_id=li.id;if(attribute&&attribute.label&&attribute.label.blank()){attribute.label=' '} var label_readonly='';var use_default_checked='';if(attribute.use_default=='1'){use_default_checked=' checked="checked"';label_readonly=' redonly="redonly"';} var template=this.addAttributeTemplate.evaluate(attribute);template=template.replace(new RegExp(' readonly="label"','g'),label_readonly);template=template.replace(new RegExp(' checked="use_default"','g'),use_default_checked);li.update(template);li.attributeObject=attribute;this.container.appendChild(li);li.attributeValues=li.down('.attribute-values');if(attribute.values){attribute.values.each(function(value){this.createValueRow(li,value);}.bind(this));} Event.observe(li.down('.attribute-label'),'change',this.onLabelUpdate);Event.observe(li.down('.attribute-label'),'keyup',this.onLabelUpdate);Event.observe(li.down('.attribute-use-default-label'),'change',this.onLabelUpdate);}.bind(this));if(!this.readonly){Sortable.create(this.container,{handle:'attribute-name-container',onUpdate:this.updatePositions.bind(this)});} this.updateSaveInput();},updateLabel:function(event){var li=Event.findElement(event,'LI');var labelEl=li.down('.attribute-label');var defEl=li.down('.attribute-use-default-label');li.attributeObject.label=labelEl.value;if(defEl.checked){labelEl.readOnly=true;li.attributeObject.use_default=1;}else{labelEl.readOnly=false;li.attributeObject.use_default=0;} this.updateSaveInput();},updatePositions:function(param){this.container.childElements().each(function(row,index){row.attributeObject.position=index;});this.updateSaveInput();},addNewProduct:function(productId,attributes){if(this.checkAttributes(attributes)){this.links.set(productId,this.cloneAttributes(attributes));}else{this.newProducts.push(productId);} this.updateGrid();this.updateValues();this.grid.reload(null);},createEmptyProduct:function(){this.createPopup(this.createEmptyUrl)},createNewProduct:function(){this.createPopup(this.createNormalUrl);},createPopup:function(url){if(this.win&&!this.win.closed){this.win.close();} this.win=window.open(url,'','width=1000,height=700,resizable=1,scrollbars=1');this.win.focus();},registerProduct:function(grid,element,checked){if(checked){if(element.linkAttributes){this.links.set(element.value,element.linkAttributes);}}else{this.links.unset(element.value);} this.updateGrid();this.grid.rows.each(function(row){this.revalidateRow(this.grid,row);}.bind(this));this.updateValues();},updateProduct:function(productId,attributes){var isAssociated=false;if(typeof this.links.get(productId)!='undefined'){isAssociated=true;this.links.unset(productId);} if(isAssociated&&this.checkAttributes(attributes)){this.links.set(productId,this.cloneAttributes(attributes));}else if(isAssociated){this.newProducts.push(productId);} this.updateGrid();this.updateValues();this.grid.reload(null);},cloneAttributes:function(attributes){var newObj=[];for(var i=0,length=attributes.length;i
'});var newContainer=select.next('div');select.parentNode.removeChild(select);newContainer.appendChild(select);$(this.idPrefix+'simple_form').down('.form-list').style.width='100%';} var container=$('simple_product_'+attributeCode+'_pricing_container');if(select.value){var value=this.getValueByIndex(attribute,select.value);if(!value){if(!container.down('.attribute-price')){if(value==null){value={};} container.update(this.pricingValueTemplate.evaluate(value));var priceValueField=container.down('.attribute-price');var priceTypeField=container.down('.attribute-price-type');priceValueField.attributeCode=attributeCode;priceValueField.priceField=priceValueField;priceValueField.typeField=priceTypeField;priceTypeField.attributeCode=attributeCode;priceTypeField.priceField=priceValueField;priceTypeField.typeField=priceTypeField;Event.observe(priceValueField,'change',this.updateSimplePricing.bindAsEventListener(this));Event.observe(priceValueField,'keyup',this.updateSimplePricing.bindAsEventListener(this));Event.observe(priceTypeField,'change',this.updateSimplePricing.bindAsEventListener(this));$('simple_product_'+attributeCode+'_pricing_value').value=null;$('simple_product_'+attributeCode+'_pricing_type').value=null;}}else if(!isNaN(parseFloat(value.pricing_value))){container.update(this.pricingValueViewTemplate.evaluate({'value':(parseFloat(value.pricing_value)>0?'+':'') +parseFloat(value.pricing_value) +(parseInt(value.is_percent)>0?'%':'')}));$('simple_product_'+attributeCode+'_pricing_value').value=value.pricing_value;$('simple_product_'+attributeCode+'_pricing_type').value=value.is_percent;}else{container.update('');$('simple_product_'+attributeCode+'_pricing_value').value=null;$('simple_product_'+attributeCode+'_pricing_type').value=null;}}else if(container){container.update('');$('simple_product_'+attributeCode+'_pricing_value').value=null;$('simple_product_'+attributeCode+'_pricing_type').value=null;}},updateSimplePricing:function(evt){var element=Event.element(evt);if(!element.priceField.value.blank()){$('simple_product_'+element.attributeCode+'_pricing_value').value=element.priceField.value;$('simple_product_'+element.attributeCode+'_pricing_type').value=element.typeField.value;}else{$('simple_product_'+element.attributeCode+'_pricing_value').value=null;$('simple_product_'+element.attributeCode+'_pricing_type').value=null;}},updateSimpleForm:function(){this.attributes.each(function(attribute){if($('simple_product_'+attribute.attribute_code)){this.showPricing($('simple_product_'+attribute.attribute_code),attribute.attribute_code);}}.bind(this));},showNoticeMessage:function(){$('assign_product_warrning').show();}} var onInitDisableFieldsList=[];function toogleFieldEditMode(toogleIdentifier,fieldContainer){if($(toogleIdentifier).checked){enableFieldEditMode(fieldContainer);}else{disableFieldEditMode(fieldContainer);}} function disableFieldEditMode(fieldContainer){$(fieldContainer).disabled=true;if($(fieldContainer+'_hidden')){$(fieldContainer+'_hidden').disabled=true;}} function enableFieldEditMode(fieldContainer){$(fieldContainer).disabled=false;if($(fieldContainer+'_hidden')){$(fieldContainer+'_hidden').disabled=false;}} function initDisableFields(fieldContainer){onInitDisableFieldsList.push(fieldContainer);} function onCompleteDisableInited(){onInitDisableFieldsList.each(function(item){disableFieldEditMode(item);});} function onUrlkeyChanged(urlKey){urlKey=$(urlKey);var hidden=urlKey.next('input[type=hidden]');var chbx=urlKey.next('input[type=checkbox]');var oldValue=chbx.value;chbx.disabled=(oldValue==urlKey.value);hidden.disabled=chbx.disabled;} function onCustomUseParentChanged(element){var useParent=(element.value==1)?true:false;element.up(2).select('input','select','textarea').each(function(el){if(element.id!=el.id){el.disabled=useParent;}});element.up(2).select('img').each(function(el){if(useParent){el.hide();}else{el.show();}});} Event.observe(window,'load',onCompleteDisableInited);;Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined") Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);} Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined") Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);} Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.is_gecko=navigator.userAgent.match(/gecko/i);Calendar.getStyle=function(element,style){if(element.currentStyle){var y=element.currentStyle[style];}else if(window.getComputedStyle){var y=document.defaultView.getComputedStyle(element,null).getPropertyValue(style);} return y;};Calendar.getAbsolutePos=function(element){var res=new Object();res.x=0;res.y=0;do{res.x+=element.offsetLeft||0;res.y+=element.offsetTop||0;element=element.offsetParent;if(element){if(element.tagName.toUpperCase()=='BODY')break;var p=Calendar.getStyle(element,'position');if((p!=='static')&&(p!=='relative'))break;}}while(element);return res;if(element!==null){res.x=element.offsetLeft;res.y=element.offsetTop;var offsetParent=element.offsetParent;var parentNode=element.parentNode;while(offsetParent!==null){res.x+=offsetParent.offsetLeft;res.y+=offsetParent.offsetTop;if(offsetParent!=document.body&&offsetParent!=document.documentElement){res.x-=offsetParent.scrollLeft;res.y-=offsetParent.scrollTop;} if(Calendar.is_gecko){while(offsetParent!=parentNode&&parentNode!==null){res.x-=parentNode.scrollLeft;res.y-=parentNode.scrollTop;parentNode=parentNode.parentNode;}} parentNode=offsetParent.parentNode;offsetParent=offsetParent.offsetParent;}} return res;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}} while(related){if(related==el){return true;} related=related.parentNode;} return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;} var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}} el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName)) f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1) f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();} return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);} if(typeof parent!="undefined"){parent.appendChild(el);} return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;} return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;} return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;} var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");} if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");} var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0) s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined") mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";} s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;} var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");} if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");} cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";} yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;} if(show){var s=yc.style;s.display="block";if(cd.navtype<0) s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined") ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";} s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;} if(cal.timeout){clearTimeout(cal.timeout);} var el=cal.activeDiv;if(!el){return false;} var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);} var mon=Calendar.findMonth(target);var date=null;if(mon){date=new CalendarDateObject(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new CalendarDateObject(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}} with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;} var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2))) Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");} ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;) if(range[i]==current) break;while(count-->0) if(decrease){if(--i<0) i=range.length-1;}else if(++i>=range.length) i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();} var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");} Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");} var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");} Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}} return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;} var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;} cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;} cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);} cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;} var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);} if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;} return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;} if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);} el.calendar.tooltips.innerHTML=el.ttip;} if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}} return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled) return false;removeClass(el,"hilite");if(el.caldate) removeClass(el.parentNode,"rowhilite");if(el.calendar) el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}} cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl) cal._toggleMultipleDate(new CalendarDateObject(date));else newdate=!el.disabled;if(other_month) cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;} date=new CalendarDateObject(cal.date);if(el.navtype==0) date.setDateOnly(new CalendarDateObject());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);} date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to to get it into the distribution ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";} alert(text);return;case-2:if(year>cal.minYear){date.setFullYear(year-1);} break;case-1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);} break;case 1:if(mon<11){setMonth(mon+1);}else if(year=0;) if(range[i]==current) break;if(ev&&ev.shiftKey){if(--i<0) i=range.length-1;}else if(++i>=range.length) i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;} break;} if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0) newdate=closing=true;} if(newdate){ev&&cal.callHandler();} if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;} this.date=this.dateStr?new CalendarDateObject(this.dateStr):new CalendarDateObject();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="absolute";div.style.display="none";} div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2) cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="
"+text+"
";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("×",1,200).ttip=Calendar._TT["CLOSE"];} row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("«",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("‹",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("›",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("»",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];} for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}} this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);} for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}} if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||" ";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number") part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}} Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12) AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML=" ";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";} H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12) h+=12;else if(/am/i.test(AP.innerHTML)&&h==12) h=0;} var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};} var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";} this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);} this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple) return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var date=new CalendarDateObject(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var date=new CalendarDateObject(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0) ne=cal.ar_days[y][x];else{x=6;K=38;continue;} break;case 38:if(--y>=0) ne=cal.ar_days[y][x];else{prevMonth();setVars();} break;case 39:if(++x<7) ne=cal.ar_days[y][x];else{x=0;K=40;continue;} break;case 40:if(++ythis.maxYear){year=this.maxYear;date.setFullYear(year);} this.firstDayOfWeek=firstDayOfWeek;this.date=new CalendarDateObject(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0) day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;} row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML=" ";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;} cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates) dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip) cell.title=toolTip;} if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status)) cell.disabled=true;cell.className+=" "+status;}} if(!cell.disabled){cell.caldate=new CalendarDateObject(date);cell.ttip="_";if(!this.multiple&¤t_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;} if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];} if(weekend.indexOf(wday.toString())!=-1) cell.className+=cell.otherMonth?" oweekend":" weekend";}} if(!(hasdays||this.showsOtherMonths)) row.className="emptyrow";} this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d) continue;if(cell) cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);} this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;} var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}} this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);} this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);} this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;} function fixPosition(box){if(box.x<0) box.x=0;if(box.y<0) box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;} var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);} switch(valign){case"T":p.y-=h;break;case"B":p.y+=el.offsetHeight;break;case"C":p.y+=(el.offsetHeight-h)/2;break;case"t":p.y+=el.offsetHeight-h;break;case"b":break;} switch(halign){case"L":p.x-=w;break;case"R":p.x+=el.offsetWidth;break;case"C":p.x+=(el.offsetWidth-w)/2;break;case"l":p.x+=el.offsetWidth-w;break;case"r":break;} p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml) setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt) fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera) return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml) value=document.defaultView.getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';} return value;};var tags=new Array("applet","iframe","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2EY2)||(CY229)?1900:2000);break;case"%b":for(j=0;j<12;++j){if(enUS.m.abbr[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}} break;case"%B":for(j=0;j<12;++j){if(enUS.m.wide[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}} break;case"%H":case"%I":case"%k":case"%l":hr=parseInt(a[i],10);break;case"%P":case"%p":if(/pm/i.test(a[i])&&hr<12) hr+=12;else if(/am/i.test(a[i])&&hr>=12) hr-=12;break;case"%M":min=parseInt(a[i],10);break;}} if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0) return new CalendarDateObject(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}} if(y==0) y=today.getFullYear();if(m!=-1&&d!=0) return new CalendarDateObject(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();} if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new CalendarDateObject(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new CalendarDateObject(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new CalendarDateObject(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new CalendarDateObject(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0) ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?Calendar._pm.toUpperCase():Calendar._am.toUpperCase();s["%P"]=pm?Calendar._pm.toLowerCase():Calendar._am.toLowerCase();s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml) return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i1){dateObj=eval("new this.parent.constructor("+Array.prototype.slice.call(arguments).join(",")+");");}else if(arguments.length>0){dateObj=new this.parent.constructor(arguments[0]);}else{dateObj=new this.parent.constructor();if(typeof(CalendarDateObject._SERVER_TIMZEONE_SECONDS)!="undefined"){dateObj.setTime((CalendarDateObject._SERVER_TIMZEONE_SECONDS+dateObj.getTimezoneOffset()*60)*1000);}} return dateObj;} window._dynarch_popupCalendar=null;;Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();if(typeof fireEvent=='function')fireEvent(p.inputField,"change");}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&¶ms.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;};;var VarienRulesForm=new Class.create();VarienRulesForm.prototype={initialize:function(parent,newChildUrl){this.newChildUrl=newChildUrl;this.shownElement=null;this.updateElement=null;this.chooserSelectedItems=$H({});var elems=$(parent).getElementsByClassName('rule-param');for(var i=0;i30){str=str.substr(0,30)+'...';} label.innerHTML=str.escapeHTML();}}else{elem=Element.down(container,'.element-value-changer');if(elem.value){this.addRuleNewChild(elem);} elem.value='';} if(elem&&elem.id&&elem.id.match(/__value$/)){this.hideChooser(container,event);this.updateElement=null;} this.shownElement=null;},addRuleNewChild:function(elem){var parent_id=elem.id.replace(/^.*__(.*)__.*$/,'$1');var children_ul=$(elem.id.replace(/__/g,':').replace(/[^:]*$/,'children').replace(/:/g,'__'));var max_id=0,i;var children_inputs=Selector.findChildElements(children_ul,$A(['input.hidden']));if(children_inputs.length){children_inputs.each(function(el){if(el.id.match(/__type$/)){i=1*el.id.replace(/^.*__.*?([0-9]+)__.*$/,'$1');max_id=i>max_id?i:max_id;}});} var new_id=parent_id+'--'+(max_id+1);var new_type=elem.value;var new_elem=document.createElement('LI');new_elem.className='rule-param-wait';new_elem.innerHTML=Translator.translate('Please wait, loading...');children_ul.insertBefore(new_elem,$(elem).up('li'));new Ajax.Request(this.newChildUrl,{evalScripts:true,parameters:{form_key:FORM_KEY,type:new_type.replace('/','-'),id:new_id},onComplete:this.onAddNewChildComplete.bind(this,new_elem),onSuccess:function(transport){if(this._processSuccess(transport)){$(new_elem).update(transport.responseText);}}.bind(this),onFailure:this._processFailure.bind(this)});},_processSuccess:function(transport){if(transport.responseText.isJSON()){var response=transport.responseText.evalJSON() if(response.error){alert(response.message);} if(response.ajaxExpired&&response.ajaxRedirect){setLocation(response.ajaxRedirect);} return false;} return true;},_processFailure:function(transport){location.href=BASE_URL;},onAddNewChildComplete:function(new_elem){$(new_elem).removeClassName('rule-param-wait');var elems=new_elem.getElementsByClassName('rule-param');for(var i=0;i