﻿/*****************************/
/* Script	: Overlay/MultiBox */
/* Version : 1.2             */
/* Authors : Samuel birch    */
var Overlay=new Class({getOptions:function(){return{colour:"#000",opacity:0.7,zIndex:1,container:document.body,_onClick:$empty}},initialize:function(a){this.setOptions(this.getOptions(),a);this.options.container=$(this.options.container);this.container=new Element("div").setProperty("id","OverlayContainer").setStyles({position:"absolute",left:"0px",top:"0px",width:"100%",zIndex:this.options.zIndex}).injectInside(this.options.container);var b=Math.max(window.getScrollSize().y,$(document.body).scrollHeight);this.iframe=new Element("iframe").setProperties({id:"OverlayIframe",name:"OverlayIframe",src:"javascript:void(0);",frameborder:0,scrolling:"no"}).setStyles({position:"absolute",top:0,left:0,width:"100%",height:b,filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",opacity:0,zIndex:1}).injectInside(this.container);this.overlay=new Element("div").setProperty("id","Overlay").setStyles({position:"absolute",left:"0px",top:"0px",width:"100%",height:b,zIndex:2,backgroundColor:this.options.colour}).injectInside(this.container);if(this.options._onClick){this.container.addEvent("click",function(){this.options._onClick.call(this)}.bind(this))}this.container.fade("hide");this.position();window.addEvent("resize",this.position.bind(this))},setOnClick:function(a){this.container.addEvent("click",a)},position:function(){if(this.options.container==document.body){var a=window.getScrollHeight()+"px";this.container.setStyles({top:"0px",height:a})}else{var b=this.options.container.getCoordinates();this.container.setStyles({top:b.top+"px",height:b.height+"px",left:b.left+"px",width:b.width+"px"})}},show:function(){this.container.fade(this.options.opacity)},hide:function(){this.container.fade("out")}});Overlay.implement(new Options);var MultiBox=new Class({getOptions:function(){return{initialWidth:250,initialHeight:250,container:document.body,overlay:false,contentColor:"#FFF",showNumbers:true,showControls:true,descClassName:false,descMinWidth:400,descMaxWidth:600,movieWidth:400,movieHeight:300,offset:{x:0,y:0},fixedTop:false,path:"files/",_onOpen:$empty,_onClose:$empty,openFromLink:true,scrolling:(Browser.Engine.trident4)?"no":"auto"}},initialize:function(b,a){this.setOptions(this.getOptions(),a);this.openClosePos={};this.timer=0;this.contentToLoad={};this.index=0;this.opened=false;this.contentObj={};this.containerDefaults={};this.createArray=[];if(this.options.useOverlay){this.overlay=new Overlay({container:this.options.container,onClick:this.close.bind(this)})}this.overlay=this.options.overlay;if(this.overlay){this.overlay.setOnClick(this.close.bind(this))}this.content=$$("."+b);if(this.options.descClassName){this.descriptions=$$("."+this.options.descClassName);this.descriptions.each(function(c){c.setStyle("display","none")})}this.container=new Element("div").addClass("MultiBoxContainer").injectInside(this.options.container);this.iframe=new Element("iframe").setProperties({id:"multiBoxIframe",name:"mulitBoxIframe",src:"javascript:void(0);",frameborder:0,scrolling:"no"}).setStyles({position:"absolute",top:-20,left:-20,filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",opacity:0}).inject(this.container);this.box=new Element("div").addClass("MultiBoxContent").inject(this.container);this.closeButton=new Element("div").addClass("MultiBoxClose").inject(this.container).addEvent("click",this.close.bind(this));this.controlsContainer=new Element("div").addClass("MultiBoxControlsContainer").inject(this.container);this.controls=new Element("div").addClass("MultiBoxControls").inject(this.controlsContainer);this.previousButton=new Element("div").addClass("MultiBoxPrevious").inject(this.controls).addEvent("click",this.previous.bind(this));this.nextButton=new Element("div").addClass("MultiBoxNext").inject(this.controls).addEvent("click",this.next.bind(this));this.title=new Element("div").addClass("MultiBoxTitle").inject(this.controls);this.titleMargin=this.title.getStyle("margin-left");this.number=new Element("div").addClass("MultiBoxNumber").inject(this.controls);this.description=new Element("div").addClass("MultiBoxDescription").inject(this.controls);if(this.content.length==1){this.title.setStyles({"margin-left":0});this.description.setStyles({"margin-left":0});this.previousButton.setStyle("display","none");this.nextButton.setStyle("display","none");this.number.setStyle("display","none")}new Element("div").setStyle("clear","both").inject(this.controls);this.content.each(function(d,c){d.index=c;d.addEvent("click",function(f){new Event(f).stop();this.open(d)}.bind(this));if(d.href.indexOf("#")>-1){d.content=$(d.href.substr(d.href.indexOf("#")+1));if(d.content){d.content.setStyle("display","none")}}},this);this.containerEffects=new Fx.Morph(this.container,{duration:400,transition:Fx.Transitions.Sine.easeInOut});this.iframeEffects=new Fx.Morph(this.iframe,{duration:400,transition:Fx.Transitions.Sine.easeInOut});this.controlEffects=new Fx.Morph(this.controlsContainer,{duration:300,transition:Fx.Transitions.Sine.easeInOut});this.reset()},setContentType:function(b){var d=b.href.substr(b.href.lastIndexOf(".")+1).toLowerCase();var c={};if($chk(b.rel)){var a=b.rel.split(",");a.each(function(f){var e=f.split(":");c[e[0]]=e[1]})}if(c.type!=undefined){d=c.type}this.contentObj={};this.contentObj.url=b.href;this.contentObj.src=b.href;this.contentObj.xH=0;if(c.width){this.contentObj.width=c.width}else{this.contentObj.width=this.options.movieWidth}if(c.height){this.contentObj.height=c.height}else{this.contentObj.height=this.options.movieHeight}if(c.panel){this.panelPosition=c.panel}else{this.panelPosition=this.options.panel}switch(d){case"jpg":case"image":case"gif":case"png":this.type="image";break;case"swf":this.type="flash";break;case"youtube":this.type="youtube";break;case"flv":this.type="flashVideo";this.contentObj.xH=70;break;case"mov":this.type="quicktime";break;case"wmv":this.type="windowsMedia";break;case"rv":case"rm":case"rmvb":this.type="real";break;case"mp3":this.type="flashMp3";this.contentObj.width=320;this.contentObj.height=70;break;case"element":this.type="htmlelement";this.elementContent=b.content;this.elementContent.setStyles({display:"block",opacity:0});if(this.elementContent.getStyle("width")!="auto"){this.contentObj.width=this.elementContent.getStyle("width")}this.contentObj.height=this.elementContent.getSize().y;this.elementContent.setStyles({display:"none",opacity:1});break;default:this.type="iframe";if(c.ajax){this.type="ajax"}break}},reset:function(){this.container.setStyles({opacity:0,display:"none"});this.controlsContainer.setStyles({height:0});this.removeContent();this.previousButton.removeClass("MultiBoxButtonDisabled");this.nextButton.removeClass("MultiBoxButtonDisabled");this.opened=false},getOpenClosePos:function(d){if(this.options.openFromLink){if(d.getFirst()){var a=d.getFirst().getCoordinates().width-(this.container.getStyle("border").toInt()*2);if(a<0){a=0}var c=d.getFirst().getCoordinates().height-(this.container.getStyle("border").toInt()*2);if(c<0){c=0}this.openClosePos={width:a,height:c,top:d.getFirst().getCoordinates().top,left:d.getFirst().getCoordinates().left}}else{var a=d.getCoordinates().width-(this.container.getStyle("border").toInt()*2);if(a<0){a=0}var c=d.getCoordinates().height-(this.container.getStyle("border").toInt()*2);if(c<0){c=0}this.openClosePos={width:a,height:c,top:d.getCoordinates().top,left:d.getCoordinates().left}}}else{var b=this.container.getStyle("border").toInt();if(this.options.fixedTop){var e=this.options.fixedTop}else{var e=((window.getHeight()/2)-(this.options.initialHeight/2)-b)+this.options.offset.y}this.openClosePos={width:this.options.initialWidth,height:this.options.initialHeight,top:e,left:((window.getWidth()/2)-(this.options.initialWidth/2)-b)+this.options.offset.x}}return this.openClosePos},open:function(b){this.options._onOpen();this.index=this.content.indexOf(b);this.openId=b.getProperty("id");var a=this.container.getStyle("border").toInt();if(!this.opened){this.opened=true;if(this.options.overlay){this.overlay.show()}this.container.setStyles(this.getOpenClosePos(b));this.container.setStyles({opacity:0,display:"block"});if(this.options.fixedTop){var c=this.options.fixedTop}else{var c=((window.getHeight()/2)-(this.options.initialHeight/2)-a)+this.options.offset.y}this.containerEffects.start({width:this.options.initialWidth,height:this.options.initialHeight,top:c,left:((window.getWidth()/2)-(this.options.initialWidth/2)-a)+this.options.offset.x,opacity:[0,1]});this.load(this.index)}else{if(this.options.showControls){this.hideControls()}this.getOpenClosePos(this.content[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.index,this).delay(1100)}},create:function(e){if(this.createArray.contains(e.url)){var d=this.createArray.indexOf(e.url);var c=this.content[d]}else{var g="mbDirect_"+$time();var b=[];if(e.type){b.push("type:"+e.type)}if(e.width){b.push("width:"+e.width)}if(e.height){b.push("height:"+e.height)}var c=new Element("a",{href:e.url,id:g,title:e.title||"",rel:b.join(",")});var f=new Element("div",{"class":g,html:e.description||""});this.createArray.push(e.url);this.content.push(c);var d=this.content.length-1;if(this.options.descClassName){this.descriptions.include(f)}}this.open(c)},getContent:function(a){this.setContentType(this.content[a]);var b=false;if(this.options.descClassName){this.descriptions.each(function(d,c){if(d.hasClass(this.openId)){b=d.clone()}},this)}this.contentToLoad={title:this.content[a].title||"&nbsp;",desc:b,number:a+1}},close:function(){if(this.options.overlay){this.overlay.hide()}if(this.options.showControls){this.hideControls()}this.hideContent();this.containerEffects.cancel();this.zoomOut.bind(this).delay(500);this.options._onClose()},zoomOut:function(){this.iframeEffects.start({width:this.openClosePos.width,height:this.openClosePos.height});this.containerEffects.start({width:this.openClosePos.width,height:this.openClosePos.height,top:this.openClosePos.top,left:this.openClosePos.left,opacity:0});this.reset.bind(this).delay(500)},load:function(b){this.box.addClass("MultiBoxLoading");this.getContent(b);if(this.type=="image"){var a=this.contentObj.xH;this.contentObj=new Asset.image(this.content[b].href,{onload:this.resize.bind(this)});this.contentObj.xH=a}else{this.resize()}},resize:function(){if(this.tempSRC!=this.contentObj.src){var a=this.container.getStyle("border").toInt();if(this.options.fixedTop){var c=this.options.fixedTop}else{var c=((window.getHeight()/2)-((Number(this.contentObj.height)+this.contentObj.xH)/2)-a+window.getScrollTop())+this.options.offset.y}var b=((window.getWidth()/2)-(this.contentObj.width.toInt()/2)-a)+this.options.offset.x;if(c<0){c=0}if(b<0){b=0}this.containerEffects.cancel();this.containerEffects.start({width:this.contentObj.width,height:Number(this.contentObj.height)+this.contentObj.xH,top:c,left:b,opacity:1});this.iframeEffects.start({width:Number(this.contentObj.width)+(a*2),height:Number(this.contentObj.height)+this.contentObj.xH+(a*2)});this.timer=this.showContent.bind(this).delay(500);this.tempSRC=this.contentObj.src}},showContent:function(){this.tempSRC="";this.box.removeClass("MultiBoxLoading");this.removeContent();this.contentContainer=new Element("div").setProperties({id:"MultiBoxContentContainer"}).setStyles({opacity:0,width:this.contentObj.width,height:(Number(this.contentObj.height)+this.contentObj.xH)}).injectInside(this.box);if(this.type=="image"){this.contentObj.injectInside(this.contentContainer)}else{if(this.type=="iframe"){new Element("iframe").setProperties({id:"iFrame"+new Date().getTime(),width:this.contentObj.width,height:this.contentObj.height,src:this.contentObj.url,frameborder:0,scrolling:this.options.scrolling}).injectInside(this.contentContainer)}else{if(this.type=="htmlelement"){this.elementContent.clone().setStyle("display","block").injectInside(this.contentContainer)}else{if(this.type=="ajax"){new Request.HTML({update:$("MultiBoxContentContainer"),autoCancel:true}).get(this.contentObj.url)}else{var a=this.createEmbedObject().injectInside(this.contentContainer);if(this.str!=""){$("MultiBoxMediaObject").innerHTML=this.str}}}}}this.contentEffects=new Fx.Morph(this.contentContainer,{duration:500,transition:Fx.Transitions.linear});this.contentEffects.start({opacity:1});this.title.set("html",this.contentToLoad.title);if(this.content.length>1){this.number.set("html",this.contentToLoad.number+" of "+this.content.length)}else{this.number.set("html","")}if(this.options.descClassName){if(this.description.getFirst()){this.description.getFirst().destroy()}if(this.contentToLoad.desc){this.contentToLoad.desc.inject(this.description).setStyles({display:"block"})}}if(this.options.showControls){if(this.contentToLoad.title!="&nbsp;"||this.content.length>1){this.timer=this.showControls.bind(this).delay(800)}}},hideContent:function(){this.box.addClass("MultiBoxLoading");this.contentEffects.start({opacity:0});this.removeContent.bind(this).delay(500)},removeContent:function(){if($("MultiBoxMediaObject")){$("MultiBoxMediaObject").empty();$("MultiBoxMediaObject").destroy()}if($("MultiBoxContentContainer")){$("MultiBoxContentContainer").destroy()}},showControls:function(){this.clicked=false;if(this.container.getStyle("height")!="auto"){this.containerDefaults.height=this.container.getStyle("height");this.containerDefaults.backgroundColor=this.options.contentColor}this.container.setStyles({height:"auto"});if(this.content.length>1){this.previousButton.setStyle("visibility","visible");this.nextButton.setStyle("visibility","visible");this.title.setStyle("margin-left",this.titleMargin);if(this.contentToLoad.number==1){this.previousButton.addClass("MultiBoxPreviousDisabled")}else{this.previousButton.removeClass("MultiBoxPreviousDisabled")}if(this.contentToLoad.number==this.content.length){this.nextButton.addClass("MultiBoxNextDisabled")}else{this.nextButton.removeClass("MultiBoxNextDisabled")}}else{this.previousButton.setStyle("visibility","hidden");this.nextButton.setStyle("visibility","hidden");this.title.setStyle("margin-left",0)}this.controlEffects.start({height:this.controls.getCoordinates().height});this.iframeEffects.start({height:this.iframe.getStyle("height").toInt()+this.controls.getStyle("height").toInt()});if(this.options.overlay){this.options.overlay.position()}},hideControls:function(a){this.iframeEffects.start({height:this.iframe.getStyle("height").toInt()-this.controls.getStyle("height").toInt()});this.controlEffects.start({height:0}).chain(function(){this.container.setStyles(this.containerDefaults)}.bind(this))},showThumbnails:function(){},next:function(){if(this.index<this.content.length-1){this.index++;this.openId=this.content[this.index].getProperty("id");if(this.options.showControls){this.hideControls()}this.getOpenClosePos(this.content[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.index,this).delay(1100)}},previous:function(){if(this.index>0){this.index--;this.openId=this.content[this.index].getProperty("id");if(this.options.showControls){this.hideControls()}this.getOpenClosePos(this.content[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.index,this).delay(1000)}},createEmbedObject:function(){if(this.type=="flash"){var a=this.contentObj.url;var b=new Element("div").setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+a+'" />';this.str+='<param name="quality" value="high" />';this.str+='<embed src="'+a+'" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'"></embed>';this.str+="</object>"}if(this.type=="youtube"){var a=this.contentObj.url;var b=new Element("div").setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+a+'" />';this.str+='<param name="quality" value="high" />';this.str+='<param name="allowFullScreen" value="true"></param>';this.str+='<embed src="'+a+'" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';this.str+='allowfullscreen="true" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'"></embed>';this.str+="</object>"}if(this.type=="flashVideo"){var a=this.contentObj.url;var b=new Element("div").setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+(Number(this.contentObj.height)+this.contentObj.xH)+'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+this.options.path+'flvplayer.swf" />';this.str+='<param name="quality" value="high" />';this.str+='<param name="salign" value="TL" />';this.str+='<param name="scale" value="noScale" />';this.str+='<param name="FlashVars" value="path='+a+'" />';this.str+='<embed src="'+this.options.path+'flvplayer.swf" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+(Number(this.contentObj.height)+this.contentObj.xH)+'"';this.str+='salign="TL" ';this.str+='scale="noScale" ';this.str+='FlashVars="path='+a+'"';this.str+="></embed>";this.str+="</object>"}if(this.type=="flashMp3"){var a=this.contentObj.url;var b=new Element("div").setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+this.options.path+'mp3player.swf" />';this.str+='<param name="quality" value="high" />';this.str+='<param name="salign" value="TL" />';this.str+='<param name="scale" value="noScale" />';this.str+='<param name="FlashVars" value="path='+a+'" />';this.str+='<embed src="'+this.options.path+'mp3player.swf" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'"';this.str+='salign="TL" ';this.str+='scale="noScale" ';this.str+='FlashVars="path='+a+'"';this.str+="></embed>";this.str+="</object>"}if(this.type=="quicktime"){var b=new Element("div").setProperties({id:"MultiBoxMediaObject"});this.str='<object  type="video/quicktime" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"';this.str+=' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';this.str+='<param name="src" value="'+this.contentObj.url+'" />';this.str+='<param name="autoplay" value="true" />';this.str+='<param name="controller" value="true" />';this.str+='<param name="enablejavascript" value="true" />';this.str+='<embed src="'+this.contentObj.url+'" autoplay="true" pluginspage="http://www.apple.com/quicktime/download/" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="<object/>"}if(this.type=="windowsMedia"){var b=new Element("div").setProperties({id:"MultiBoxMediaObject"});this.str='<object  type="application/x-oleobject" classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"';this.str+=' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';this.str+='<param name="filename" value="'+this.contentObj.url+'" />';this.str+='<param name="Showcontrols" value="true" />';this.str+='<param name="autoStart" value="true" />';this.str+='<embed type="application/x-mplayer2" src="'+this.contentObj.url+'" Showcontrols="true" autoStart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="<object/>"}if(this.type=="real"){var b=new Element("div").setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"';this.str+=' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';this.str+='<param name="src" value="'+this.contentObj.url+'" />';this.str+='<param name="controls" value="ImageWindow" />';this.str+='<param name="autostart" value="true" />';this.str+='<embed src="'+this.contentObj.url+'" controls="ImageWindow" autostart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="<object/>"}return b}});MultiBox.implement(new Options);MultiBox.implement(new Events);
/*****************************/
/* Script: FormCheck         */
/* Version: 1.4              */
/* Author: Mootools.Floor    */
var FormCheck=new Class({Implements:[Options,Events],options:{tipsClass:"fc-tbx",errorClass:"fc-error",fieldErrorClass:"fc-field-error",trimValue:false,validateDisabled:false,submitByAjax:false,ajaxResponseDiv:false,ajaxEvalScripts:false,onAjaxRequest:$empty,onAjaxSuccess:$empty,onAjaxFailure:$empty,display:{showErrors:0,titlesInsteadNames:0,errorsLocation:1,indicateErrors:1,indicateErrorsInit:0,keepFocusOnError:0,checkValueIfEmpty:1,addClassErrorToField:0,fixPngForIe:1,replaceTipsEffect:1,flashTips:0,closeTipsButton:1,tipsPosition:"right",tipsOffsetX:-45,tipsOffsetY:0,listErrorsAtTop:false,scrollToFirst:true,fadeDuration:300},alerts:{required:"This field is required.",alpha:"This field accepts alphabetic characters only.",alphanum:"This field accepts alphanumeric characters only.",nodigit:"No digits are accepted.",digit:"Please enter a valid integer.",digitltd:"The value must be between %0 and %1",number:"Please enter a valid number.",email:"Please enter a valid email.",phone:"Please enter a valid phone.",url:"Please enter a valid url.",confirm:"This field is different from %0",differs:"This value must be different of %0",length_str:"The length is incorrect, it must be between %0 and %1",length_fix:"The length is incorrect, it must be exactly %0 characters",lengthmax:"The length is incorrect, it must be at max %0",lengthmin:"The length is incorrect, it must be at least %0",checkbox:"Please check the box",radios:"Please select a radio",select:"Please choose a value"},regexp:{required:/[^.*]/,alpha:/^[a-z ._-áéíóúÁÉÍÓÚñÑüÜ]+$/i,alphanum:/^[a-z0-9 ._-áéíóúÁÉÍÓÚñÑüÜ]+$/i,digit:/^[-+]?[0-9]+$/,nodigit:/^[^0-9]+$/,number:/^[-+]?\d*\.?\d+$/,email:/^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i,phone:/^[\d\s ().-]+$/,url:/^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$/i}},initialize:function(C,A){if(this.form=$(C)){this.form.isValid=true;this.regex=["length"];this.setOptions(A);if(typeof (formcheckLanguage)!="undefined"){this.options.alerts=$merge(this.options.alerts,formcheckLanguage)}this.validations=[];this.alreadyIndicated=false;this.firstError=false;var B=new Hash(this.options.regexp);B.each(function(E,D){this.regex.push(D)},this);this.form.getElements("*[class*=validate]").each(function(D){this.register(D)},this);this.form.addEvents({submit:this.onSubmit.bind(this)});if(this.options.display.fixPngForIe){this.fixIeStuffs()}document.addEvent("mousewheel",function(){this.isScrolling=false}.bind(this))}},register:function(el){el.validation=[];el.getProperty("class").split(" ").each(function(classX){if(classX.match(/^validate(\[.+\])$/)){var validators=eval(classX.match(/^validate(\[.+\])$/)[1]);for(var i=0;i<validators.length;i++){el.validation.push(validators[i]);if(validators[i].match(/^confirm\[/)){var field=eval(validators[i].match(/^.+(\[.+\])$/)[1].replace(/([A-Z0-9\._-]+)/i,"'$1'"));if(this.form[field].validation.contains("required")){el.validation.push("required")}}}this.addListener(el)}},this)},dispose:function(A){this.validations.erase(A)},addListener:function(B){this.validations.push(B);B.errors=[];if(this.options.display.indicateErrorsInit){this.validations.each(function(C){if(!this.manageError(C,"submit")){this.form.isValid=false}},this);return true}if(B.validation[0]=="submit"){B.addEvent("click",function(C){this.onSubmit(C)}.bind(this));return true}if(this.isChildType(B)==false){B.addEvent("blur",function(){(function(){if(!this.fxRunning&&(B.element||this.options.display.showErrors==1)&&(this.options.display.checkValueIfEmpty||B.value)){this.manageError(B,"blur")}}.bind(this)).delay(100)}.bind(this))}else{if(this.isChildType(B)==true){var A=this.form.getElements('input[name="'+B.getProperty("name")+'"]');A.each(function(C){C.addEvent("blur",function(){(function(){if((B.element||this.options.display.showErrors==1)&&(this.options.display.checkValueIfEmpty||B.value)){this.manageError(B,"click")}}.bind(this)).delay(100)}.bind(this))},this)}}},validate:function(el){el.errors=[];el.isOk=true;if(!this.options.validateDisabled&&el.get("disabled")){return true}if(this.options.trimValue&&el.value){el.value=el.value.trim()}el.validation.each(function(rule){if(this.isChildType(el)){if(this.validateGroup(el)==false){el.isOk=false}}else{var ruleArgs=[];if(rule.match(/^.+\[/)){var ruleMethod=rule.split("[")[0];ruleArgs=eval(rule.match(/^.+(\[.+\])$/)[1].replace(/([A-Z0-9\._-]+)/i,"'$1'"))}else{var ruleMethod=rule}if(this.regex.contains(ruleMethod)&&el.get("tag")!="select"){if(this.validateRegex(el,ruleMethod,ruleArgs)==false){el.isOk=false}}if(ruleMethod=="confirm"){if(this.validateConfirm(el,ruleArgs)==false){el.isOk=false}}if(ruleMethod=="differs"){if(this.validateDiffers(el,ruleArgs)==false){el.isOk=false}}if(el.get("tag")=="select"||(el.type=="checkbox"&&ruleMethod=="required")){if(this.simpleValidate(el)==false){el.isOk=false}}if(rule.match(/%[A-Z0-9\._-]+$/i)||(el.isOk&&rule.match(/~[A-Z0-9\._-]+$/i))){if(eval(rule.slice(1)+"(el)")==false){el.isOk=false}}}},this);if(el.isOk){return true}else{return false}},simpleValidate:function(A){if(A.get("tag")=="select"&&A.selectedIndex<=0){A.errors.push(this.options.alerts.select);return false}else{if(A.type=="checkbox"&&A.checked==false){A.errors.push(this.options.alerts.checkbox);return false}}return true},validateRegex:function(C,B,D){var E="";if(D[1]&&B=="length"){if(D[1]==-1){this.options.regexp.length=new RegExp("^[\\s\\S]{"+D[0]+",}$");E=this.options.alerts.lengthmin.replace("%0",D[0])}else{if(D[0]==D[1]){this.options.regexp.length=new RegExp("^[\\s\\S]{"+D[0]+"}$");E=this.options.alerts.length_fix.replace("%0",D[0])}else{this.options.regexp.length=new RegExp("^[\\s\\S]{"+D[0]+","+D[1]+"}$");E=this.options.alerts.length_str.replace("%0",D[0]).replace("%1",D[1])}}}else{if(D[0]&&B=="length"){this.options.regexp.length=new RegExp("^.{0,"+D[0]+"}$");E=this.options.alerts.lengthmax.replace("%0",D[0])}else{E=this.options.alerts[B]}}if(D[1]&&B=="digit"){var A=true;if(!this.options.regexp.digit.test(C.value)){C.errors.push(this.options.alerts[B]);A=false}if(D[1]==-1){if(C.value>=D[0]){var F=true}else{var F=false}E=this.options.alerts.digitmin.replace("%0",D[0])}else{if(C.value>=D[0]&&C.value<=D[1]){var F=true}else{var F=false}E=this.options.alerts.digitltd.replace("%0",D[0]).replace("%1",D[1])}if(A==false||F==false){C.errors.push(E);return false}}else{if(this.options.regexp[B].test(C.value)==false){C.errors.push(E);return false}}return true},validateConfirm:function(B,C){var A=C[0];if(B.value!=this.form[A].value){if(this.options.display.titlesInsteadNames){var D=this.options.alerts.confirm.replace("%0",this.form[A].getProperty("title"))}else{var D=this.options.alerts.confirm.replace("%0",A)}B.errors.push(D);return false}return true},validateDiffers:function(A,C){var B=C[0];if(A.value==this.form[B].value){if(this.options.display.titlesInsteadNames){var D=this.options.alerts.differs.replace("%0",this.form[B].getProperty("title"))}else{var D=this.options.alerts.differs.replace("%0",B)}A.errors.push(D);return false}return true},isChildType:function(A){return($defined(A.type)&&A.type=="radio")?true:false},validateGroup:function(D){D.errors=[];var A=this.form[D.getProperty("name")];D.group=A;var C=false;for(var B=0;B<A.length;B++){if(A[B].checked){C=true}}if(C==false){D.errors.push(this.options.alerts.radios);return false}else{return true}},listErrorsAtTop:function(A){if(!this.form.element){this.form.element=new Element("div",{id:"errorlist","class":this.options.errorClass}).injectTop(this.form)}if($type(A)=="collection"){new Element("p").set("html","<span>"+A[0].name+" : </span>"+A[0].errors[0]).injectInside(this.form.element)}else{if((A.validation.contains("required")&&A.errors.length>0)||(A.errors.length>0&&A.value&&A.validation.contains("required")==false)){A.errors.each(function(B){new Element("p").set("html","<span>"+A.name+" : </span>"+B).injectInside(this.form.element)},this)}}},manageError:function(A,C){var B=this.validate(A);if((!B&&A.validation.flatten()[0].contains("confirm["))||(!B&&A.validation.contains("required"))||(!A.validation.contains("required")&&A.value&&!B)){if(this.options.display.listErrorsAtTop==true&&C=="submit"){this.listErrorsAtTop(A,C)}if(this.options.display.indicateErrors==2||this.alreadyIndicated==false||A.name==this.alreadyIndicated.name){if(!this.firstError){this.firstError=A}this.alreadyIndicated=A;if(this.options.display.keepFocusOnError&&A.name==this.firstError.name){(function(){A.focus()}).delay(20)}this.addError(A);return false}}else{if((B||(!A.validation.contains("required")&&!A.value))&&A.element){this.removeError(A);return true}}return true},addError:function(C){if(!C.element&&this.options.display.indicateErrors!=0){if(this.options.display.errorsLocation==1){var E=(this.options.display.tipsPosition=="left")?C.getCoordinates().left:C.getCoordinates().right;var B={opacity:0,position:"absolute","float":"left",left:E+this.options.display.tipsOffsetX};C.element=new Element("div",{"class":this.options.tipsClass,styles:B}).injectInside(document.body);this.addPositionEvent(C)}else{if(this.options.display.errorsLocation==2){C.element=new Element("div",{"class":this.options.errorClass,styles:{opacity:0}}).injectBefore(C)}else{if(this.options.display.errorsLocation==3){C.element=new Element("div",{"class":this.options.errorClass,styles:{opacity:0}});if($type(C.group)=="object"||$type(C.group)=="collection"){C.element.injectAfter(C.group[C.group.length-1])}else{C.element.injectAfter(C)}}}}}if(C.element&&C.element!=true){C.element.empty();if(this.options.display.errorsLocation==1){var D=[];C.errors.each(function(F){D.push(new Element("p").set("html",F))});var A=this.makeTips(D).injectInside(C.element);if(this.options.display.closeTipsButton){A.getElements("a.close").addEvent("mouseup",function(){this.removeError(C)}.bind(this))}C.element.setStyle("top",C.getCoordinates().top-A.getCoordinates().height+this.options.display.tipsOffsetY)}else{C.errors.each(function(F){new Element("p").set("html",F).injectInside(C.element)})}if(!this.options.display.fadeDuration||Browser.Engine.trident&&Browser.Engine.version==5&&this.options.display.errorsLocation<2){C.element.setStyle("opacity",1)}else{C.fx=new Fx.Tween(C.element,{duration:this.options.display.fadeDuration,ignore:true,onStart:function(){this.fxRunning=true}.bind(this),onComplete:function(){this.fxRunning=false;if(C.element&&C.element.getStyle("opacity").toInt()==0){C.element.destroy();C.element=false}}.bind(this)});if(C.element.getStyle("opacity").toInt()!=1){C.fx.start("opacity",1)}}}if(this.options.display.addClassErrorToField&&this.isChildType(C)==false){C.addClass(this.options.fieldErrorClass);C.element=C.element||true}},addPositionEvent:function(A){if(this.options.display.replaceTipsEffect){A.event=function(){new Fx.Morph(A.element,{duration:this.options.display.fadeDuration}).start({left:[A.element.getStyle("left"),A.getCoordinates().right+this.options.display.tipsOffsetX],top:[A.element.getStyle("top"),A.getCoordinates().top-A.element.getCoordinates().height+this.options.display.tipsOffsetY]})}.bind(this)}else{A.event=function(){A.element.setStyles({left:A.getCoordinates().right+this.options.display.tipsOffsetX,top:A.getCoordinates().top-A.element.getCoordinates().height+this.options.display.tipsOffsetY})}.bind(this)}window.addEvent("resize",A.event)},removeError:function(A){this.alreadyIndicated=false;A.errors=[];A.isOK=true;window.removeEvent("resize",A.event);if(this.options.display.errorsLocation>=2&&A.element){new Fx.Tween(A.element,{duration:this.options.display.fadeDuration}).start("height",0)}if(!this.options.display.fadeDuration||Browser.Engine.trident&&Browser.Engine.version==5&&this.options.display.errorsLocation==1&&A.element){this.fxRunning=true;A.element.destroy();A.element=false;(function(){this.fxRunning=false}.bind(this)).delay(200)}else{if(A.element&&A.element!=true){A.fx.start("opacity",0)}}if(this.options.display.addClassErrorToField&&!this.isChildType(A)){A.removeClass(this.options.fieldErrorClass)}},focusOnError:function(B){if(this.options.display.scrollToFirst&&!this.alreadyFocused&&!this.isScrolling){if(!this.options.display.indicateErrors||!this.options.display.errorsLocation){var A=B.getCoordinates().top-30}else{if(this.alreadyIndicated.element){switch(this.options.display.errorsLocation){case 1:var A=B.element.getCoordinates().top;break;case 2:var A=B.element.getCoordinates().top-30;break;case 3:var A=B.getCoordinates().top-30;break}this.isScrolling=true}}if(window.getScroll.y!=A){new Fx.Scroll(window,{onComplete:function(){this.isScrolling=false;B.focus()}.bind(this)}).start(0,A)}else{this.isScrolling=false;B.focus()}this.alreadyFocused=true}},fixIeStuffs:function(){if(Browser.Engine.trident4){var F=new RegExp("url\\(([.a-zA-Z0-9_/:-]+.png)\\)");var H=new RegExp("(.+)formcheck.css");for(var C=0;C<document.styleSheets.length;C++){if(document.styleSheets[C].href.match(/formcheck\.css$/)){var E=document.styleSheets[C].href.replace(H,"$1");var D=document.styleSheets[C].rules.length;for(var B=0;B<D;B++){var I=document.styleSheets[C].rules[B].style;var G=E+I.backgroundImage.replace(F,"$1");if(G&&G.match(/\.png/i)){var A=(I.backgroundRepeat=="no-repeat")?"crop":"scale";I.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='"+G+"', sizingMethod='"+A+"')";I.backgroundImage="none"}}}}}},makeTips:function(C){var E=new Element("table");E.cellPadding="0";E.cellSpacing="0";E.border="0";var D=new Element("tbody").injectInside(E);var B=new Element("tr").injectInside(D);new Element("td",{"class":"tl"}).injectInside(B);new Element("td",{"class":"t"}).injectInside(B);new Element("td",{"class":"tr"}).injectInside(B);var H=new Element("tr").injectInside(D);new Element("td",{"class":"l"}).injectInside(H);var A=new Element("td",{"class":"c"}).injectInside(H);var G=new Element("div",{"class":"err"}).injectInside(A);C.each(function(I){I.injectInside(G)});if(this.options.display.closeTipsButton){new Element("a",{"class":"close"}).injectInside(A)}new Element("td",{"class":"r"}).injectInside(H);var F=new Element("tr").injectInside(D);new Element("td",{"class":"bl"}).injectInside(F);new Element("td",{"class":"b"}).injectInside(F);new Element("td",{"class":"br"}).injectInside(F);return E},reinitialize:function(){this.validations.each(function(A){if(A.element){A.errors=[];A.isOK=true;if(this.options.display.flashTips==1){A.element.destroy();A.element=false}}},this);if(this.form.element){this.form.element.empty()}this.alreadyFocused=false;this.firstError=false;this.elementToRemove=this.alreadyIndicated;this.alreadyIndicated=false;this.form.isValid=true},submitByAjax:function(){var A=this.form.getProperty("action");this.fireEvent("ajaxRequest");new Request({url:A,method:this.form.getProperty("method"),data:this.form.toQueryString(),evalScripts:this.options.ajaxEvalScripts,onFailure:function(B){this.fireEvent("ajaxFailure",B)}.bind(this),onSuccess:function(B){this.fireEvent("ajaxSuccess",B);if(this.options.ajaxResponseDiv){$(this.options.ajaxResponseDiv).set("html",B)}}.bind(this)}).send()},onSubmit:function(A){this.reinitialize();this.validations.each(function(C){var B=this.manageError(C,"submit");if(!B){this.form.isValid=false}},this);if(this.form.isValid){if(this.options.submitByAjax){new Event(A).stop();this.submitByAjax()}}else{new Event(A).stop();if(this.elementToRemove&&this.elementToRemove!=this.firstError&&this.options.display.indicateErrors==1){this.removeError(this.elementToRemove)}this.focusOnError(this.firstError)}}});
/******************************/
/* Script: mooElementScroller */
/* Author: Alexander Hofbauer */
var mooElementScroller = new Class({
	Implements: Options,
	
	element: null,
	content: null,
	scroll: null,
	modifier: 0,
	perID: null,
	
	options: {
		resize: {
			enabled: false,
			offset: 0
		},
		slow: 5,
		fast: 25,
		scrollSpeed: 30,
		//TODO: implement hover/click or click only options
		hoverScroll: false
	},
	
	initialize: function(element, options)
	{
		this.content = element;
		this.setOptions(options);

		window.addEvent('domready', function() { this.prepare(); }.bind(this));
		
		if (this.options.resize.enabled) {
			window.addEvent('resize', function() { this.resizeEvent(); }.bind(this));
		}
	},

	
	prepare: function()
	{
		this.content = document.id(this.content);
		if (this.content == null) return;
		
		// add a wrapping element with the id of the element to scroll + "-mes-wrapper"
		this.element = new Element('div', {'id': this.content.get('id')+'-mes-wrapper' });
		this.element.wraps(this.content);

		// add the scroll area that will contain the scroll buttons
		this.scroll = new Element('div', {
			'class': 'mes-scrollarea',
			'styles': {
				'opacity': (this.options.resize.enabled ? 0 : 1)
			}
		});
		
		this.scroll.inject(this.element, 'after');
		
		var up = new Element('div', {
			'class': 'mes-up'
		}).addEvents({
			'mouseenter': 	function() {
				this.modifier = -(this.options.slow);
				this.perID = this.buttonScroll.periodical(1, this);
			}.bind(this),
			'mousedown': 	function() { this.modifier = -(this.options.fast); }.bind(this),
			'mouseup': 		function() { this.modifier = -(this.options.slow); }.bind(this),
			'mouseleave': 	function() { $clear(this.perID); }.bind(this)
		});
		
		var down = new Element('div', {
			'class': 'mes-down'
		}).addEvents({
			'mouseenter': 	function() {
				this.modifier = this.options.slow;
				this.perID = this.buttonScroll.periodical(1, this);
			}.bind(this),
			'mousedown': 	function() { this.modifier = this.options.fast; }.bind(this),
			'mouseup': 		function() { this.modifier = this.options.slow; }.bind(this),
			'mouseleave': 	function() { $clear(this.perID); }.bind(this)
		});

		this.scroll.grab(up).grab(down);
		
		if (this.options.resize.enabled) {
			this.resizeEvent();
		}
		
		var scrollSpeed = this.options.scrollSpeed;
		this.element.addEvent('mousewheel', function(e) {
			e.stop();
			var dir = (e.wheel < 0) ? 1 : -1;
			var scroll = this.getScroll();
			this.scrollTo(0, scroll.y+(dir*scrollSpeed));
		});
	},
	
	
	resizeEvent: function()
	{
		var newHeight = document.id(document.body).getSize().y - this.options.resize.offset;
		this.element.setStyle('height', newHeight);
		
		if (this.element.getSize().y >= this.element.getScrollSize().y) {
			this.scroll.fade('out');
			this.element.scrollTo(0, 0);
		} else {
			this.scroll.fade('in');
		}
	},
	
	buttonScroll: function()
	{
		var scroll = this.element.getScroll();
		this.element.scrollTo(scroll.x, scroll.y+this.modifier);
	}
});
