/* file: js/default.js, ratio: 39.8% */ 
var links=document.getElementsByTagName('link'),i,a;for(i=0;i<links.length;i++){a=links[i];if(a.getAttribute('rel').indexOf('style')!=-1&&a.getAttribute('title')&&a.getAttribute('rel').indexOf('alternate')!=-1){a.disabled=true;}}
String.prototype.lpad=function(len,ch){var str=this;while(str.length<len)str=ch+str;return str;}
document.getElementsByClass=function(cssClass,node,tagName){var foundElements=new Array(),node=node?node:document;if(tagName==null)tagName='*';var tags=node.getElementsByTagName(tagName);var pattern=new RegExp("(^|\\s)"+cssClass+"(\\s|$)");for(var i=0;i<tags.length;i++)
if(pattern.test(tags[i].className))foundElements.push(tags[i]);return foundElements;};Element.getPosition=function(node){var curleft=curtop=0;if(node&&node.offsetParent){do{curleft+=node.offsetLeft;curtop+=node.offsetTop;}while(node=node.offsetParent);return{top:curtop,left:curleft};}else return{top:0,left:0};};var FontSizer={_:{altSheets:['small','medium','large']},cookieName:'font-size',setOptions:function(opts){FontSizer._=FontSizer._.merge(opts);},dec:function(){var curr=FontSizer.getCurrentSheet();for(var i=0;i<FontSizer._.altSheets.length;i++){if(FontSizer._.altSheets[i]==curr&&i>0){var sizeName=FontSizer._.altSheets[i-1];FontSizer.enableSheet(sizeName);document.cookie=FontSizer.cookieName+'='+sizeName;break;}}},inc:function(){var curr=FontSizer.getCurrentSheet();for(var i=0;i<FontSizer._.altSheets.length;i++){if(FontSizer._.altSheets[i]==curr&&i<FontSizer._.altSheets.length-1){var sizeName=FontSizer._.altSheets[i+1];FontSizer.enableSheet(sizeName);document.cookie=FontSizer.cookieName+'='+sizeName;break;}}},getCurrentSheet:function(){var i,a,links=document.getElementsByTagName('link');for(i=0;a=links[i];i++)
if(a.getAttribute('rel').indexOf('style')!=-1&&a.getAttribute('title')&&!a.disabled)return a.getAttribute('title');return null;},enableSheet:function(title){var i,a,links=document.getElementsByTagName('link');for(i=0;a=links[i];i++)
if(a.getAttribute('rel').indexOf('style')!=-1&&a.getAttribute('title'))
a.disabled=a.getAttribute('title')==title?false:true;}}
function Printout(id){this.id=id;this.basename=id+'_container';this.updatePaths();}
Printout.exists=true;Printout.prototype={id:null,basename:null,uri_setPage:null,uri_setAlphaFilter:null,uri_orderBy:null,uri_query:null,uri_alter:null,ajaxPath:document.location.pathname,updatePaths:function(){this.uri_setPage=this.ajaxPath+'/set-page/';this.uri_setAlphaFilter=this.ajaxPath+'/set-alpha-filter/';this.uri_orderBy=this.ajaxPath+'/order-by/';this.uri_query=this.ajaxPath+'/cmd/query/';this.uri_alter=this.ajaxPath+'/cmd/alter/';},orderBy:function(column){var uri=this.uri_orderBy+column;new Ajax.Updater(this.basename,uri,{});},alter:function(column,id){var uri=this.uri_alter+column+'/'+id;new Ajax.Updater(this.basename,uri,{});},query:function(column,id){var uri=this.uri_query+column+'/'+id;new Ajax.Updater(this.basename,uri,{});},setPage:function(page){var uri=this.uri_setPage+page;new Ajax.Updater(this.basename,uri,{});},setAlphaFilter:function(filter){var uri=this.uri_setAlphaFilter+filter;new Ajax.Updater(this.basename,uri,{});},setAjaxPath:function(path){this.ajaxPath=path;this.updatePaths();}};document.getElementsByClassName=function(className,parentElement){if(Prototype.BrowserFeatures.XPath){var q=".//*[contains(concat(' ', @class, ' '), ' "+className+" ')]";return document._getElementsByXPath(q,parentElement);}else{var children=($(parentElement)||document.body).getElementsByTagName('*');var elements=[],child;for(var i=0,length=children.length;i<length;i++){child=children[i];if(Element.hasClassName(child,className))
elements.push(Element.extend(child));}
return elements;}};document.insertAfter=function(newElement,targetElement){var parent=targetElement.parentNode;if(parent.lastchild==targetElement)parent.appendChild(newElement);else parent.insertBefore(newElement,targetElement.nextSibling);}
var FormManager=Class.create({id:null,formElement:null,elements:null,defaults:{},initialize:function(elementId){this.id=elementId;this.formElement=$(elementId);this.elements=document.getElementsByClassName('regexp',this.formElement);if(this.formElement.className&&this.formElement.className.indexOf('appendable')>=0)
this.defaults=this.getDefaults();for(var i=0;i<this.elements.length;i++){var element=this.elements[i];try{var attribute=element.getAttribute('constraint');var constraint=attribute.replace('?','');var optional=attribute.indexOf('?')>-1;for(var j=0;j<FormManager.regidz.length;j++){if(constraint==FormManager.regidz[j]){element._regfn=FormManager.regfn[j];element._regexp='^'+(optional?'(':'')
+FormManager.regexp[j]
+(optional?')?':'')+'$';element._regerr=j;element._optional=optional;break;}}}catch(e){}}
this.formElement._manager=this;this.formElement.onsubmit=function(){return this._manager.validate();};},validate:function(){this.clearErrors();var isValid=true;for(var i=0;i<this.elements.length;i++){if(this.elements[i].nodeName!='TEXTAREA'){var val=this.elements[i].value,thisIsValid=true;if(!this.elements[i]._optional||(this.elements[i]._optional&&val)){if(this.elements[i]._regexp)thisIsValid&=(val.match(this.elements[i]._regexp)!==null);if(this.elements[i]._regfn)thisIsValid&=this.elements[i]._regfn(val);}
if(!thisIsValid)this.renderError(this.elements[i]);isValid&=thisIsValid;}}
return isValid?true:false;},clearErrors:function(){var elements=document.getElementsByClassName('error',this.formElement);for(var i=0;i<elements.length;i++)elements[i].parentNode.removeChild(elements[i]);},renderError:function(element){var error=document.createElement('div');error.className='error';error.innerHTML=FormManager.regerr[element._regerr];element.parentNode.insertBefore(error,element);},getDefaults:function(){var ez=this.formElement.elements;var defaults={};for(var i=0;i<ez.length;i++){var element=ez[i],value=null;if(!element.className||element.className.indexOf('keep-value')<0){if(element.nodeName=='INPUT'){if(element.type){if(element.type=='checkbox')value=element.checked;else value=element.value;}}else if(element.nodeName=='TEXTAREA')value=element.innerHTML;defaults[element.name]=value;}}
return defaults;},append:function(){var ez=document.getElementsByClass('appendable',this.formElement,'DIV');if(ez.length){element=ez[0];if(element.style.display)this.reset();element.style.display='block';}else this.reset();var ez=document.getElementsByClass('append',this.formElement,'BUTTON'),element=null;if(ez.length){element=ez[0];element.innerHTML=element.innerHTML.replace('Crear','Limpiar');element.childNodes[0].src='/img/clear.gif';}},reset:function(){var ez=his.formElement.elements;for(var i=0;i<ez.length;i++){var element=ez[i];try{if(element.nodeName=='INPUT'){if(element.type=='checkbox')element.checked=this.defaults[element.name];else element.value=this.defaults[element.name];}else if(element.nodeName=='TEXTAREA')element.innerHTML=this.defaults[element.name];}catch(e){alert(e);}}}});FormManager.regexp=['\\d\\d\\-\\d\\d\\-\\d\\d\\d\\d','.+','\\w','[0-9]+','[+-]?[0-9]+','[0-9]+((\\.)?[0-9]+)?','[+-]?[0-9]+((\\.)?[0-9]+)?','[1]?[0-9]{1,2}(\\.[0-9]+)?','[+-]?[1]?[0-9]{1,2}(\\.[0-9]+)?','.+','.+','.+','.+','.+','(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?','[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}','[a-zA-Z0-9_.-]{6,12}'];FormManager.regfn=[null,null,null,null,null,null,null,null,null,null,null,function valid(val){if(val)val=val.toString().toUpperCase();if(val.substring(0,1)=='X')val=val.substring(1);if(new RegExp(/^[0-9]{8}$/).exec(val)){return true;}else if(new RegExp(/^[0-9]{8}[A-Z]$/i).exec(val)){var nl='TRWAGMYFPDXBNJZSQVHLCKE';var id=parseInt(val.substring(0,8))%23;return nl.substring(id,id+1)==val.substring(8,9);}else if(new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g).exec(val)){var even=0,odd=0,sum,last,num,chr=new Array("J","A","B","C","D","E","F","G","H","I"),ctl;var retval=true;var exp=new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);if(exp.exec(val)){last=val.substr(8,1);for(var cont=1;cont<7;cont++){ctl=(2*parseInt(val.substr(cont++,1))).toString()+"0";odd+=parseInt(ctl.substr(0,1))+parseInt(ctl.substr(1,1));even+=parseInt(val.substr(cont,1));}
ctl=(2*parseInt(val.substr(cont,1))).toString()+"0";odd+=parseInt(ctl.substr(0,1))+parseInt(ctl.substr(1,1));sum=(even+odd).toString();num=(10-parseInt(sum.substr(sum.length-1,1))).toString();if(num==10)num=0;retval=(last==num)||(last==chr[num]);}
return retval;}else{return false;}},null,null,null,null,null,null];FormManager.regidz=['date','text','char','absint','int','absfloat','float','abspercent','percent','path','filename','credential','zipcode','phone','url','email','password'];FormManager.regerr=['Fecha inv&aacute;lida.','Campo obligatorio.','Car&aacute;cter inv&aacute;lido.','Valor inv&aacute;lido.','Valor inv&aacute;lido.','Valor inv&aacute;lido.','Valor inv&aacute;lido.','Porcentaje inv&aacute;lido.','Porcentaje inv&aacute;lido.','Ruta inv&aacute;lida.','Archivo inv&aacute;lido.','DNI, NIF o CIF inv&aacute;lido.','C&oacute;digo postal inv&aacute;lido.','N&uacute;mero de tel&eacute;fono no v&aacute;lido.','Direcci&oacute;n URL inv&aacute;lida.','Direcci&oacute;n de correo electr&oacute;nico inv&aacute;lida.','Contrase&ntilde;a inv&aacute;lida.'];var WidgetCollapser={height:36,initialize:function(){var dz=document.getElementsByClassName('collapsible',document.getElementById('main'));for(var i=0;i<dz.length;i++){try{var div=dz[i],h4=div.getElementsByTagName('h4')[0];h4._div=div;h4._collapsed=false;h4.style.cursor='pointer';var img=new Image();img.className='icon';img.src='/img/bullet_toggle_minus.gif';h4.insertBefore(img,h4.childNodes[0]);h4._img=img;h4.onclick=function(){this._div.style.overflow=this._collapsed?'auto':'hidden';this._div.style.height=this._collapsed?'auto':WidgetCollapser.height+'px';this._img.src=this._collapsed?'/img/bullet_toggle_minus.gif':'/img/bullet_toggle_plus.gif';this._collapsed=!this._collapsed;}}catch(e){}}}}
var Calendar={nextID:1,instance:null,triggerClass:'cal',getInstance:function(id){var opt=arguments.length>1?arguments[1]:{};var cal=new YAHOO.widget.Calendar('cal'+Calendar.nextID++,id,opt);cal.render();return cal;},render:function(){var con=document.createElement('div');con.id=this.triggerClass;con.className='yui-calcontainer';document.body.appendChild(con);var cal=Calendar.getInstance(this.triggerClass,{mindate:'01/01/1900',maxdate:'01/01/2100',close:true,navigator:true,autoload:false});cal.hide();cal.__con=con;return cal;},onSelect:function(type,args,obj){var d=args[0][0];this.instance.__field.value=d[2].toString().lpad(2,'0')+'-'+d[1].toString().lpad(2,'0')+'-'+d[0];this.instance.hide();if(this.instance.__field.onchange)this.instance.__field.onchange();this.instance.__field=null;},onAttach:function(fieldname,trigger){var ptr=Calendar.instance;var fld=ptr.__field=document.getElementById(fieldname);if(fld.value){var f=fld.value.split('-');if(f.length==3){ptr.cfg.setProperty('pagedate',f[1]+'/'+f[2]);ptr.cfg.setProperty('selected',f[1]+'/'+f[0]+'/'+f[2]);ptr.render();}}
var p=Element.getPosition(document.getElementById(trigger));this.__con.style.position='absolute';this.__con.style.top=(p['top']+18)+(document.all?'':'px');this.__con.style.left=(p['left'])+(document.all?'':'px');this.show();},update:function(){this.instance=Calendar.render();this.instance.__onAttach=this.onAttach;this.instance.selectEvent.subscribe(this.onSelect,this,true);var ptr=this.instance,imgs=document.getElementsByClass(Calendar.triggerClass,document,'img');for(var i=0;i<imgs.length;i++){imgs[i].onclick=function(){ptr.__onAttach(this.id.substring(1),this.id);};}
this.instance.__field=null;}}
var Location={Hash:{hash:null,tokens:null,getParam:function(token){if(this.hash==null&&this.tokens==null){this.hash=location.hash;this.tokens={};if(this.hash.length){this.hash=this.hash.substring(1);var tokens=this.hash.split('&');for(var i=0;i<tokens.length;i++){var parts=tokens[i].split('=');this.tokens[parts[0]]=parts.length==1?true:parts[1];}}}
return this.tokens[token]?this.tokens[token]:null;}}}