
NOIX={DEBUG:false,debugBox:null,namespace:function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;i=i+1){d=a[i].split(".");o=NOIX;for(j=(d[0]=="NOIX")?1:0;j<d.length;j=j+1){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}
return o;},extend:function(subc,superc,overrides){var F=function(){};F.prototype=superc.prototype;subc.prototype=new F();subc.prototype.constructor=subc;subc.parent=superc.prototype;if(superc.prototype.constructor==Object.prototype.constructor){superc.prototype.constructor=superc;}
if(overrides){for(var i in overrides){subc.prototype[i]=overrides[i];}}},get:function(o){if(typeof o!="object"&&!document.getElementById(o)){return false;}
if(typeof o=="string"){o=document.getElementById(o);}
NOIX.element(o);return o;},copy:function(subObj,supObj,over){var o=over||true;subObj.parent=supObj;for(i in supObj){subObj[i]=supObj[i];}},element:function(obj){if(obj.isNOIX){return obj;}
obj.isNOIX=true;NOIX.copy(obj,NOIX.html.element);var tag=obj.nodeName.toLowerCase();switch(tag){case'input':if(obj.type.toLowerCase()=='text'||obj.type.toLowerCase()=='password'){NOIX.copy(obj,NOIX.html.element.inputInternal.text);}
break;default:var _method=eval('NOIX.html.element.'+tag+'Internal');NOIX.copy(obj,_method);break;}
if(typeof obj.init!="undefined"){obj.init();}
return obj;},exception:function(e){return{message:e,toString:function(){NOIX.debug(e,'error');return'[ NOIX Framework Javascript ] '+e}}},debug:function(msg,type){var tp=type||'info';if(!this.DEBUG){return false;}
if(typeof console!="undefined"){eval('console.'+tp+'(\''+msg+'\')');}
var _method=eval('this.debugBox.'+tp);if(typeof _method=="undefined"){throw new NOIX.exception('NOIX.debug() - Tipo de debug inválido');}
if(this.debugBox&&this.DEBUG){eval('this.debugBox.'+tp+'(\''+msg+'\')');}},enableDebug:function(){this.DEBUG=true;if(!this.debugBox){this.debugBox=new NOIX.debug.box();this.debugBox.createBox();}
this.debugBox.show();},disableDebug:function(){this.DEBUG=false;this.debugBox.hide();}};NOIX.event=function(){this.init.apply(this,arguments);}
NOIX.event.prototype={listeners:{},events:[],init:function(){this.listeners={};this.events=[];},addEvent:function(){for(var i=0;i<arguments.length;i++){this.events.push(arguments[i]);}},isRegistered:function(eventName){for(var i=0;i<this.events.length;i++){if(this.events[i]==eventName){return true;}}
return false;},addListener:function(eventName,cb,scope){if(!this.isRegistered(eventName)){jQuery(scope).bind(eventName,cb);}
else{var o={};o.callback=cb;o.scope=scope;this.listeners[eventName]=o;}},triggerEvent:function(){var event=arguments[0];if(typeof this.listeners[event]=="object"){var scope=this.listeners[event].scope;return this.listeners[event].callback.apply(scope,Array.prototype.slice.call(arguments,1));}},on:function(eventName,cb,scope){var s=scope||this;this.addListener(eventName,cb,s);}};NOIX.namespace("NOIX.html");NOIX.html.element={validation:false,error:null,init:function(){},onEnter:function(cb){var that=this;this.on('keyup',function(e){var keys=NOIX.keys.factory(e);if(keys.equals('RETURN')){NOIX.debug('Enter pressionado');cb.call(that,e);}});},applyValidation:function(type,msg){if(!this.validation){this.validation=new NOIX.validation(this);}
this.validation.add(type,msg);return this;},removeValidation:function(type){if(this.validation){this.validation.remove(type);}},validate:function(scroll){var s=(typeof scroll!="undefined"?false:true);if(!this.validation){return true;}
if(this.validation.execute()!==true){this.error=this.validation.getError();if(s){NOIX.fx.scrollTo(this.id);}
return false;}
return true;},getError:function(){return this.error;}};NOIX.copy(NOIX.html.element,NOIX.event.prototype);NOIX.html.element.formInternal={_ajaxUploadResult:null,init:function(){this.addEvent('beforerequest','completerequest','beforebind','afterbind','bindelement','bindfail','formclear');},bind:function(json,options){if(this.triggerEvent('beforebind')===false){return this;}
if(typeof json=="string"){eval('json = '+json+';');}
if(typeof json!="object"){throw new NOIX.exception('NOIX.html.element.form.bind() - Objeto JSON inválido');}
var opt=options||{};for(i in json){if(!this.elements[i]||!json[i]){this.triggerEvent('bindfail',i,json[i]);continue;}
if((typeof this.elements[i].nodeName=="undefined"&&this.elements[i].length>0)){if(this.elements[i].length>1&&this.elements[i][0].type.toLowerCase()=='radio'){for(var h=0;this.elements[i].length>h;h++){var el=this.elements[i][h];if(el.value==json[i]){el.checked=true;NOIX.debug('BIND - "'+i+'" : "'+json[i]+'"');var vl=false;}}}
else if(typeof json[i].length=="undefined"){var vl=[json[i]];}
else{var vl=json[i];}}
else{var vl=json[i];}
if(vl){jQuery(this.elements[i]).val(vl);NOIX.debug('BIND - "'+i+'" : "'+json[i]+'"');}
if(this.triggerEvent('bindelement',i,json[i])===false){return this;}}
this.triggerEvent('afterbind');return this;},requestJson:function(addr,data,options){var that=this;var opt=options||{};var d=data||{};if(this.triggerEvent('beforerequest')!==false){NOIX.debug('requestJson - (endereço: "'+addr+'")');jQuery.post(addr,d,function(data,status){eval('var json = '+data+';');NOIX.debug('requestJson - ( Dado recebido: "'+data+'" )');that.bind(json,opt);that.triggerEvent('completerequest');});}
return this;},clear:function(){this.reset();jQuery("input:hidden",this).val('');this.triggerEvent('formclear');return this;},serialize:function(){var s=[];jQuery(':input',this).each(function(){if(this.type.toLowerCase()=='radio'||this.type.toLowerCase()=='checkbox'){if(this.checked){s.push(this.name+'='+jQuery(this).val());}}
else{s.push(this.name+'='+jQuery(this).val());}});return s.join('&');},ajaxUpload:function(opt){var that=this;var oldAction=this.action;var url=opt.url||oldAction;this.action=url;this.target='noix-form-ajaxupload';this.method='post';this.enctype='multipart/form-data';this.encoding='multipart/form-data';if(!NOIX.get('noix-form-ajaxupload')){var iframe=document.createElement('iframe');iframe.setAttribute('id','noix-form-ajaxupload');iframe.setAttribute('name','noix-form-ajaxupload');iframe.setAttribute('width','100%');iframe.setAttribute('height','0');iframe.setAttribute('border','0');iframe.setAttribute('style','width: 0; height: 0; border: none;');this.parentNode.appendChild(iframe);window.frames['noix-form-ajaxupload'].name='noix-form-ajaxupload';}
var iframeCallback=function(){this.action=oldAction;var cross='javascript: window.parent.NOIX.get("'+that.id+'")._ajaxUploadResult = document.body.innerHTML; void(0);';NOIX.get('noix-form-ajaxupload').src=cross;NOIX.get(that.id)._ajaxUploadResult;if(opt.complete){opt.complete.call(that,{responseText:NOIX.get(that.id)._ajaxUploadResult},'sucess');}
setTimeout(function(){},250);}
jQuery('#noix-form-ajaxupload').bind('load',iframeCallback);if(opt.data){var d=opt.data.split('&');for(var i=0;i<d.length;i++){var a=d[i].split('=');var h=document.createElement('input');h.type='hidden';h.name=a[0];h.value=a[1];this.appendChild(h);}}
opt.beforeSend.call(this);this.submit();}};NOIX.html.element.selectInternal={jsonData:null,init:function(){jQuery(this).change(function(){this.validate(false);});this.addEvent('beforerequest','completerequest','beforesend','aftersend');this.registerOptions();},registerOptions:function(){if(!this.jsonData){var json={};jQuery('option',this).each(function(){json[this.innerHTML]=this.value;});this.jsonData=json;}},registerOne:function(k,v){this.jsonData[k]=v;},append:function(k,v){if(!k){throw new NOIX.exception('NOIX.html.element.select.append() - Chave precisa ser especificada');}
v=v||'';this.options[this.length]=new Option(k,v);this.registerOne(k,v);return this;},appendJson:function(json){if(typeof json=="string"){eval('json = '+json+';');}
if(typeof json!="object"){throw new NOIX.exception('NOIX.html.element.select.appendJson() - Objeto JSON inválido');}
if(json!=''){for(i in json){this.append(i,json[i]);}}
return this;},send:function(sel){var s=jQuery('option:selected',this);if(this.triggerEvent('beforesend',this,NOIX.get(sel))!==false){s.each(function(){NOIX.get(sel).append(this.innerHTML,this.value);});this.del();this.triggerEvent('aftersend',this,NOIX.get(sel));}
return this;},sort:function(){var arrTexts=new Array();for(i=0;i<this.length;i++){arrTexts[i]=this.options[i].text;}
arrTexts.sort();for(i=0;i<this.length;i++){this.options[i].text=arrTexts[i];this.options[i].value=arrTexts[i];}
return this;},requestJson:function(addr,options){var that=this;var opt=options||{};if(this.triggerEvent('beforerequest')!==false){jQuery.getJSON(addr,function(json){that.appendJson(json);if(opt.autosort){that.sort();}
that.triggerEvent('completerequest');});}
return this;},del:function(){var s=jQuery('option:selected',this);var j=this.jsonData;s.each(function(){delete j[this.innerHTML];});this.jsonData=j;s.remove();return this;},clear:function(){jQuery('option',this).remove();this.jsonData={};return this;},setMessage:function(msg){var m=msg||'Aguarde...';this.clear();this.append(m,'');},toJson:function(){var s=jQuery('option:selected',this);var j=[];s.each(function(){j.push('"'+this.innerHTML+'" : "'+this.value+'"');});return'{ '+j.join(',')+' }';},find:function(val,optval){var o=optval||false;var j={};var re=new RegExp(val,'ig');for(i in this.jsonData){if(i.search(re)!=-1){j[i]=this.jsonData[i];}
else if(o&&this.jsonData[i].search(re)!=-1){j[i]=this.jsonData[i];}}
jQuery('option',this).remove();this.appendJson(j);return this;}};NOIX.namespace("NOIX.html.element.inputInternal");NOIX.html.element.inputInternal.text={masks:{},calendar:null,init:function(){this.masks={};this.calendar=null;jQuery(this).keyup(function(){this.validate(false);});this.addEvent('selectcalendar','closecalendar','updatecalendar');},applyMask:function(type,opt){this.masks[type]=new NOIX.mask(this,type,opt);return this;},disableMask:function(type){this.masks[type].disable();return this;},enableMask:function(type){this.masks[type].enable();return this;},createCalendar:function(opt){var that=this;var o=opt||{};var data=Date.parseDate(this.value,"%Y-%m-%d");this.calendar=new Calendar(0,data,function(cal,data){if(that.triggerEvent('selectcalendar',cal,data)!==false){that.value=data;if(that.calendar.dateClicked){that.calendar.callCloseHandler();}
that.triggerEvent('updatecalendar',cal,data);}},function(cal){if(that.triggerEvent('closecalendar',cal)!==false){that.calendar.hide();}});this.calendar.setDateFormat("%d/%m/%Y");this.calendar.create();var icon=document.createElement('input');icon.type='button';icon.className='noix-input-calendar';icon.value=NOIX.lang.html.element.inputInternal.calendarValue;this.on('focus',function(){that.nextSibling.focus();that.calendar.showAtElement(icon,'BR');that.triggerEvent('opencalendar',that.calendar);});this.parentNode.insertBefore(icon,this.nextSibling);NOIX.get(icon).on('click',function(){that.calendar.showAtElement(icon,'BR');that.triggerEvent('opencalendar',that.calendar);});}};NOIX.validation=function(){this.init.apply(this,arguments);}
NOIX.extend(NOIX.validation,NOIX.event,{el:null,types:null,error:null,init:function(el){this.types={};this.el=el;},add:function(type,msg){this.types[type]=NOIX.validation.type.factory(this.el,type,msg);},remove:function(type){this.types[type]=null;},execute:function(){for(i in this.types){var val=this.types[i];var v=val.validate();if(v!==true){this.error=v;this.markInvalid();return false;}
this.unmarkInvalid();}
return true;},getError:function(){return this.error;},markInvalid:function(){var er=new RegExp('x-form-invalid');this.el.className+=(this.el.className.search(er)==-1?' x-form-invalid':'');},unmarkInvalid:function(){var er=new RegExp('x-form-invalid');var c=this.el.className;this.el.className=c.replace('x-form-invalid','');}});NOIX.validation.type=function(){this.init.apply(this,arguments);}
NOIX.validation.type.prototype={el:null,msg:null,init:function(el,msg){this.el=el;this.msg=msg;},returnMessage:function(msg,type){return{type:type,element:this.el,message:this.msg||msg};}};NOIX.validation.type.notNull=function(){this.init.apply(this,arguments);}
NOIX.extend(NOIX.validation.type.notNull,NOIX.validation.type,{validate:function(){if(this.el.nodeName.toLowerCase()=='select'){if(this.el.options[this.el.selectedIndex].value==''||!this.el.selectedIndex){return this.returnMessage(NOIX.lang.validation.notNullValidationMessage,'notnull');}}
else if(this.el.value==''){return this.returnMessage(NOIX.lang.validation.notNullValidationMessage,'notnull');}
return true;}});NOIX.validation.type.email=function(){this.init.apply(this,arguments);}
NOIX.extend(NOIX.validation.type.email,NOIX.validation.type,{validate:function(){var er=/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/;if(this.el.value.search(er)==-1){return this.returnMessage(NOIX.lang.validation.emailValidationMessage,'email');}
return true;}});NOIX.validation.type.factory=function(el,type,msg){switch(type.toLowerCase()){case'notnull':return new NOIX.validation.type.notNull(el,msg);break;case'email':return new NOIX.validation.type.email(el,msg);break;}}
NOIX.mask=function(){this.init.apply(this,arguments);};NOIX.mask.prototype={enabled:true,init:function(el,type,opt){if(typeof el=="undefined"){throw new NOIX.exception('NOIX.mask() - Elemento inválido recebido');}
el=NOIX.get(el);var _method=eval('this.'+type+';');if(typeof _method=="undefined"){throw new NOIX.exception('NOIX.mask() - Tipo de mascara inválida');}
this.execute(el,type,opt);},execute:function(el,type,opt){var that=this;var _method=eval('this.'+type+';');switch(type){case'number':jQuery(el).bind('keypress',function(ev){if(that.isEnabled()){return _method(el,ev,opt);}});jQuery(el).bind('blur',function(ev){if(that.isEnabled()){return _method(el,ev,opt);}});break
case'money':jQuery(el).bind('keypress',function(ev){if(that.isEnabled()){return _method(el,ev,opt);}});jQuery(el).bind('blur',function(ev){if(that.isEnabled()){return _method(el,ev,opt);}});jQuery(el).bind('focus',function(ev){if(that.isEnabled()){return _method(el,ev,opt);}});break
default:jQuery(el).bind('keyup',function(ev){if(that.isEnabled()){return _method(el,ev,opt);}});jQuery(el).bind('blur',function(ev){if(that.isEnabled()){return _method(el,ev,opt);}});}},cpf:function(el,ev,opt){el.setAttribute('maxlength',14);var keys=NOIX.keys.factory(ev);if(keys.equals('BACKSPACE')){return el;}
str=el.value.replace(/([.-]|\D)/g,'');var s1=str.substring(0,3);var s2=str.substring(3,6);var s3=str.substring(6,9);var s4=str.substring(9,11);str='';str+=(s1&&s1.length==3)?s1+'.':s1;str+=(s2&&s2.length==3)?s2+'.':s2;str+=(s3&&s3.length==3)?s3+'-':s3;str+=(s4&&s4.length==2)?s4:s4;el.value=str;return el;},cnpj:function(el,ev,opt){el.setAttribute('maxlength',18);var keys=NOIX.keys.factory(ev);if(keys.equals('BACKSPACE')){return el;}
str=el.value.replace(/([.-\/]|\D)/g,'');var s1=str.substring(0,2);var s2=str.substring(2,5);var s3=str.substring(5,8);var s4=str.substring(8,12);var s5=str.substring(12,14);str='';str+=(s1&&s1.length==2)?s1+'.':s1;str+=(s2&&s2.length==3)?s2+'.':s2;str+=(s3&&s3.length==3)?s3+'/':s3;str+=(s4&&s4.length==4)?s4+'-':s4;str+=(s5&&s5.length==2)?s5:s5;el.value=str;return el;},cep:function(el,ev,opt){el.setAttribute('maxlength',9);var keys=NOIX.keys.factory(ev);if(keys.equals('BACKSPACE')){return el;}
str=el.value.replace(/([-]|\D)/g,'');var s1=str.substring(0,5);var s2=str.substring(5,8);str='';str+=(s1&&s1.length==5)?s1+'-':s1;str+=(s2&&s2.length==2)?s2:s2;el.value=str;return el;},date:function(el,ev,opt){el.setAttribute('maxlength',10);var keys=NOIX.keys.factory(ev);if(keys.equals('BACKSPACE')){return el;}
str=el.value.replace(/(\/|\D)/g,'');var d=str.substring(0,2);var m=str.substring(2,4);var Y=str.substring(4,8);str='';str+=(d&&d.length==2)?d+'/':d;str+=(m&&m.length==2)?m+'/':m;str+=(Y&&Y.length==4)?Y:Y;el.value=str;return el;},hour:function(el,ev,opt){el.setAttribute('maxlength',8);var keys=NOIX.keys.factory(ev);if(keys.equals('BACKSPACE')){return el;}
str=el.value.replace(/(:|\D)/g,'');var h=str.substring(0,2);var m=str.substring(2,4);var s=str.substring(4,6);str='';str+=(h&&h.length==2)?h+':':h;str+=(m&&m.length==2)?m+':':m;str+=(s&&s.length==4)?s:s;el.value=str;return el;},number:function(el,ev,opt){var key=NOIX.keys.factory(ev);el.value=el.value.replace(/\D/g,'');switch(ev.type){case'keypress':if(!(ev.ctrlKey&&key.equals('C'))&&!(ev.ctrlKey&&key.equals('V'))&&!key.isNumber()&&!key.equals('BACKSPACE')&&!key.equals('DELETE')&&!key.equals('LEFT')&&!key.equals('RIGHT')&&!key.equals('TAB')&&!key.equals('HOME')&&!key.equals('END')){ev.stopPropagation();ev.preventDefault();return false;}
break;}},money:function(el,ev,opt){var key=NOIX.keys.factory(ev);el.value=el.value.replace(/([^,0-9])/g,'');switch(ev.type){case'keypress':if(key.equals(',')&&el.value.search(/\,/)!=-1){ev.stopPropagation();ev.preventDefault();return false;}
if(!(ev.ctrlKey&&key.equals('C'))&&!(ev.ctrlKey&&key.equals('V'))&!key.isNumber()&&!key.equals('BACKSPACE')&&!key.equals('DELETE')&&!key.equals('LEFT')&&!key.equals('RIGHT')&&!key.equals('TAB')&&!key.equals('HOME')&&!key.equals('END')&&!key.equals(',')){ev.stopPropagation();ev.preventDefault();return false;}
break;case'blur':var opt=opt||{};var dl=opt.decimalLength||2;var ds=opt.decimalSeparator||',';var ts=opt.thousandSeparator||'.';var num=new Number(el.value);if(el.value==''||num==0){el.value='0,00';}
else{el.value=NOIX.number.format(el.value,dl,ds,ts);}
break;case'focus':if(el.value=='0,00'){el.value='';}
break;}},enable:function(){this.enabled=true;},disable:function(){this.enabled=false;},isEnabled:function(){return this.enabled;}};NOIX.string={PAD_LEFT:'left',PAD_RIGHT:'right',pad:function(str,size,pad,side){var append='';var size=(size-str.length);var pad=pad||' ';var side=side||NOIX.string.PAD_RIGHT;while((size-=pad.length)>0){append+=pad;}
append+=pad.substr(0,(size+pad.length));return((side==NOIX.string.PAD_LEFT)?append.concat(str):str.concat(append));}};NOIX.number={format:function(vl,dl,ds,ts){if(vl==''){return'';}
if(vl!='0,00'){vl=vl.replace(/^0*/,'');}
var dl=dl||2;var ds=ds||',';var ts=ts||'.';var integer='';var decimal='';var n=new String(vl).split(/\,/);if(dl>0){n[1]=(typeof n[1]!="undefined"?n[1].substr(0,dl):'');decimal=ds.concat(NOIX.string.pad(n[1],dl,'0',NOIX.string.PAD_RIGHT));}
n[0]=n[0].replace(/\./gi,'');var i_len=n[0].length;var i=0;while(i_len>0){if((++i%3==1)&&(i_len!=n[0].length)){integer=ts.concat(integer);}
integer=n[0].substr(--i_len,1).concat(integer);}
return integer+decimal;}};NOIX.fx={scrollTo:function(el,options){var opt=options||{};el=NOIX.get(el);opt.speed=opt.speed||1500;opt.top=opt.top||20;if(opt.onBeforeScroll){opt.onBeforeScroll(el);}
var targetOffset=jQuery(el).offset().top-opt.top;jQuery(document.body).animate({scrollTop:targetOffset},opt.speed,opt.easing,function(){if(opt.onAfterScroll){opt.onAfterScroll(el);}});return el;},makeFixed:function(elem,options){var el=NOIX.get(elem);var timeout=null;jQuery(el).css('position','absolute');var opt=options||{};opt.top=opt.top||20;opt.right=opt.right||20;opt.bottom=opt.bottom||null;opt.left=opt.left||null;opt.scrollTime=opt.scrollTime||1000;opt.timeout=opt.timeout||250;jQuery(window).scroll(function(e){if(timeout){clearTimeout(timeout);}
timeout=setTimeout(function(){var yScroll=NOIX.util.getScrollTop();var top=opt.top?(yScroll+opt.top)+'px':null;var right=opt.right?opt.right+'px':null;var bottom=opt.bottom?opt.bottom+'px':null;var left=opt.left?opt.left+'px':null;var objOptions={};if(top){objOptions.top=top;}
else{objOptions.bottom=bottom;}
if(right){objOptions.right=right;}
else{objOptions.left=left;}
jQuery(el).animate(objOptions,opt.scrollTime);},opt.timeout);});}};NOIX.util={getScrollTop:function(){var yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;}
else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;}
else if(document.body){yScroll=document.body.scrollTop;}
return yScroll;},getPageSize:function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}
else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}
else if(document.documentElement&&document.documentElement.scrollHeight>document.documentElement.offsetHeight){xScroll=document.documentElement.scrollWidth;yScroll=document.documentElement.scrollHeight;}
else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}
else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}
else{pageWidth=xScroll;}
var arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}};NOIX.namespace("NOIX.debug.box");NOIX.debug.box=function(){this.init.apply(this,arguments);};NOIX.debug.box.prototype={init:function(){},insertMessage:function(msg,type,color,border){var p='<p style="font: 11px Verdana, Arial, Helvetica; color: '+color+';">';p+='<span style="border: 1px solid '+border+'; background: '+color+';">&nbsp;&nbsp;</span> ';p+='<strong style="color: #333333;">'+type+'</strong>: '+msg+'</p><br />';jQuery('#NOIX_debug_message').append(p);var h=NOIX.get('NOIX_debug_message').scrollHeight;NOIX.get('NOIX_debug_message').scrollTop=h;},info:function(msg){this.insertMessage(msg,'INFO','#00709e','#dfedf3');},warn:function(msg){this.insertMessage(msg,'WARNING','#FFD100','#fef5c3');},error:function(msg){this.insertMessage(msg,'ERROR','#df0023','#e5abb7');},createBox:function(){var div='<div id="NOIX_debug"><div id="NOIX_debug_message"></div><br /><br />';div+='<div align="center">';div+='<input type="button" value="CLEAR" onclick="NOIX.get(\'NOIX_debug_message\').innerHTML = \'\';" />';div+='</div></div>';jQuery('body').append(div);jQuery('#NOIX_debug').css({borderTop:'1px solid #CFCFCF',borderRight:'1px solid #CFCFCF',borderBottom:'1px solid #ACA899',borderLeft:'1px solid #ACA899',backgroundColor:'#ECE9D8',position:'absolute',right:'20px',top:'20px',width:'330px',height:'280px',padding:'10px'});jQuery('#NOIX_debug_message').css({backgroundColor:'#fff',border:'1px solid #C0C0C0',height:'190px',padding:'5px',overflowY:'scroll'});NOIX.fx.makeFixed('NOIX_debug',{top:20,right:20});},show:function(){jQuery('#NOIX_debug').show();},hide:function(){jQuery('#NOIX_debug').hide();}};NOIX.hotkey=function(){this.init.apply(this,arguments);}
NOIX.hotkey.prototype={init:function(el,keys,cb,scope){var sc=scope||el;var that=this;if(typeof el=="string"){el=NOIX.get(el);}
jQuery(el).keydown(function(e){if(that.assert(e,keys)){NOIX.debug('NOIX.hotkey - Expressao capturada: "'+keys+'"');cb.call(sc,e);}});},assert:function(ev,expression){var exp=expression.replace(/\s/gi,'').split('+');var e=[];var key=NOIX.keys.factory(ev);for(var i=0;i<exp.length;i++){switch(exp[i].toUpperCase()){case'CTRL':case'ALT':case'SHIFT':e.push('ev.'+exp[i].toLowerCase()+'Key');break;default:e.push('ev.keyCode == '+key.getCodeFromChar(exp[i].toUpperCase()));}}
return eval('( '+e.join(' && ')+')');}};NOIX.keys={KEYDOWN:'keydown',KEYUP:'keyup',KEYPRESS:'keypress'};NOIX.keys.factory=function(ev){if(jQuery.browser.msie){return NOIX.keys.IE.factory(ev);}
else{return NOIX.keys.Gecko.factory(ev);}}
NOIX.keys.Abstract=function(){this.init.apply(this,arguments);}
NOIX.keys.Abstract.prototype={BACKSPACE:8,TAB:9,RETURN:13,ESC:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,INSERT:45,DELETE:46,HOME:36,END:35,PAGEUP:33,PAGEDOWN:34,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,ev:null,init:function(ev){this.ev=ev;},equals:function(){throw new NOIX.exception('O método equals é abstrato. Você precisa sobrescreve-lo');},getCodeFromChar:function(){throw new NOIX.exception('O método getCode é abstrato. Você precisa sobrescreve-lo');},getKey:function(){return(this.ev.which)?this.ev.which:this.ev.keyCode;}};NOIX.namespace('NOIX.keys.Gecko');NOIX.keys.Gecko.factory=function(ev){switch(ev.type){case NOIX.keys.KEYPRESS:return new NOIX.keys.Gecko.keypress(ev);break;case NOIX.keys.KEYDOWN:case NOIX.keys.KEYUP:default:return new NOIX.keys.Gecko.keydown(ev);break;}};NOIX.keys.Gecko.keydown=function(){this.init.apply(this,arguments);};NOIX.extend(NOIX.keys.Gecko.keydown,NOIX.keys.Abstract,{A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,',':188,'<':188,'.':190,'>':190,';':59,':':59,'=':61,'+':61,'-':109,'_':109,'/':191,'?':191,'`':192,'~':192,')':48,'0':48,'!':49,'1':49,'@':50,'2':50,'#':51,'3':51,'$':52,'4':52,'%':53,'5':53,'^':54,'6':54,'&':55,'7':55,'*':56,'8':56,'(':57,'9':57,VIRGULA:188,PONTO:190,equals:function(ch){return(this.ev.which)?this[ch.toUpperCase()]==this.ev.which:this[ch.toUpperCase()]==this.ev.keyCode;},getCodeFromChar:function(ch){return this[ch];},isNumber:function(){return((this.getKey()>=48&&this.getKey()<=57)||(this.getKey()>=96&&this.getKey()<=105))?true:false;}});NOIX.keys.Gecko.keypress=function(){this.init.apply(this,arguments);}
NOIX.extend(NOIX.keys.Gecko.keypress,NOIX.keys.Abstract,{equals:function(ch){var k=this.ev.which||this.ev.keyCode;if(typeof this[ch]!="undefined"){return(this[ch]==k)?true:false;}
var c=String.fromCharCode(k);return(c==ch)?true:false;},getCodeFromChar:function(ch){return ch.charCodeAt(0);},isNumber:function(){var numbers='0123456789';var code=String.fromCharCode(this.getKey());return(numbers.indexOf(code)==-1)?false:true;}});NOIX.namespace('NOIX.keys.IE');NOIX.keys.IE.factory=function(ev){switch(ev.type){case NOIX.keys.KEYPRESS:return new NOIX.keys.IE.keypress(ev);break;case NOIX.keys.KEYDOWN:case NOIX.keys.KEYUP:default:return new NOIX.keys.IE.keydown(ev);break;}};NOIX.keys.IE.keydown=function(){this.init.apply(this,arguments);}
NOIX.extend(NOIX.keys.IE.keydown,NOIX.keys.Gecko.keydown,{';':186,':':186,'=':187,'+':187,'-':189,'_':189});NOIX.keys.IE.keypress=function(){this.init.apply(this,arguments);}
NOIX.extend(NOIX.keys.IE.keypress,NOIX.keys.Gecko.keypress);NOIX.enablePngFix=function(){jQuery(document).ready(function(){jQuery('*[pngfix]').each(function(){var url=this.getAttribute('pngfix');this.style.background='none';var div=document.createElement('div');div.style.width='100%';div.style.height='100%';div.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader( src='"+url+"', sizingMethod='scale');";var anchor=this.getElementsByTagName('a').item(0);anchor.style.position='relative';anchor.style.zIndex=1;div.appendChild(anchor);this.appendChild(div);});});}
NOIX.lightbox={idOverlay:'noix-overlay',idLightbox:'noix-lightbox',lightbox:null,overlay:null,create:function(){var scrollTop=NOIX.util.getScrollTop();var arrayPageSize=NOIX.util.getPageSize();var lightbox=document.createElement('div');lightbox.id=this.idLightbox;lightbox.style.textAlign='center';lightbox.style.display='none';var overlay=document.createElement('div');overlay.id=this.idOverlay;overlay.style.display='none';document.body.insertBefore(lightbox,document.body.firstChild);document.body.insertBefore(overlay,lightbox.nextSibling);$('#'+this.idOverlay).css({height:arrayPageSize[1],position:'absolute',opacity:0.5}).fadeIn();$('#'+this.idLightbox).css({top:scrollTop+(arrayPageSize[3]/10),width:'100%',position:'absolute'}).show();this.lightbox=lightbox;this.overlay=overlay;},close:function(){if(NOIX.get(this.idLightbox)){$('#'+this.idLightbox).hide();NOIX.get(this.idLightbox).parentNode.removeChild(NOIX.get(this.idLightbox));}
if(NOIX.get(this.idOverlay)){$('#'+this.idOverlay).fadeOut();NOIX.get(this.idOverlay).parentNode.removeChild(NOIX.get(this.idOverlay));}},open:function(o){this.create();this.lightbox.appendChild(o);}};if(typeof N=="undefined"){N=NOIX;}