/**********************************************************************************************

	Type: JS
	Filename: js/scripts.js
	Author: MMStudio
	Date: 2010

***********************************************************************************************

	1. Global Vars

	2. Plugins jquery

	3. Jquery Functions

	4. DomReady (LOADED/INIT)

	5. Functions

***********************************************************************************************/


/* 1. Global Vars
-----------------------------------------------------------------------------------------------
===============================================================================================*/

var DEBUG = true;

var promo = 5;


/* 2. Plugins jquery
-----------------------------------------------------------------------------------------------
===============================================================================================*/

(function(b){b.fn.ajaxSubmit=function(s){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof s=="function"){s={success:s}}var e=b.trim(this.attr("action"));if(e){e=(e.match(/^([^#]+)/)||[])[1]}e=e||window.location.href||"";s=b.extend({url:e,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},s||{});var u={};this.trigger("form-pre-serialize",[this,s,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(s.beforeSerialize&&s.beforeSerialize(this,s)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var m=this.formToArray(s.semantic);if(s.data){s.extraData=s.data;for(var f in s.data){if(s.data[f] instanceof Array){for(var g in s.data[f]){m.push({name:f,value:s.data[f][g]})}}else{m.push({name:f,value:s.data[f]})}}}if(s.beforeSubmit&&s.beforeSubmit(m,this,s)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[m,this,s,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var d=b.param(m);if(s.type.toUpperCase()=="GET"){s.url+=(s.url.indexOf("?")>=0?"&":"?")+d;s.data=null}else{s.data=d}var t=this,l=[];if(s.resetForm){l.push(function(){t.resetForm()})}if(s.clearForm){l.push(function(){t.clearForm()})}if(!s.dataType&&s.target){var p=s.success||function(){};l.push(function(k){var j=s.replaceTarget?"replaceWith":"html";b(s.target)[j](k).each(p,arguments)})}else{if(s.success){l.push(s.success)}}s.success=function(q,k,v){for(var n=0,j=l.length;n<j;n++){l[n].apply(s,[q,k,v||t,t])}};var c=b("input:file",this).fieldValue();var r=false;for(var i=0;i<c.length;i++){if(c[i]){r=true}}var h=false;if((c.length&&s.iframe!==false)||s.iframe||r||h){if(s.closeKeepAlive){b.get(s.closeKeepAlive,o)}else{o()}}else{b.ajax(s)}this.trigger("form-submit-notify",[this,s]);return this;function o(){var w=t[0];if(b(":input[name=submit]",w).length){alert('Error: Form elements must not be named "submit".');return}var q=b.extend({},b.ajaxSettings,s);var H=b.extend(true,{},b.extend(true,{},b.ajaxSettings),q);var v="jqFormIO"+(new Date().getTime());var D=b('<iframe id="'+v+'" name="'+v+'" src="'+q.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />');var F=D[0];D.css({position:"absolute",top:"-1000px",left:"-1000px"});var G={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;D.attr("src",q.iframeSrc)}};var E=q.global;if(E&&!b.active++){b.event.trigger("ajaxStart")}if(E){b.event.trigger("ajaxSend",[G,q])}if(H.beforeSend&&H.beforeSend(G,H)===false){H.global&&b.active--;return}if(G.aborted){return}var k=false;var A=0;var j=w.clk;if(j){var y=j.name;if(y&&!j.disabled){q.extraData=q.extraData||{};q.extraData[y]=j.value;if(j.type=="image"){q.extraData[y+".x"]=w.clk_x;q.extraData[y+".y"]=w.clk_y}}}function x(){var K=t.attr("target"),I=t.attr("action");w.setAttribute("target",v);if(w.getAttribute("method")!="POST"){w.setAttribute("method","POST")}if(w.getAttribute("action")!=q.url){w.setAttribute("action",q.url)}if(!q.skipEncodingOverride){t.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(q.timeout){setTimeout(function(){A=true;B()},q.timeout)}var J=[];try{if(q.extraData){for(var L in q.extraData){J.push(b('<input type="hidden" name="'+L+'" value="'+q.extraData[L]+'" />').appendTo(w)[0])}}D.appendTo("body");D.data("form-plugin-onload",B);w.submit()}finally{w.setAttribute("action",I);K?w.setAttribute("target",K):t.removeAttr("target");b(J).remove()}}if(q.forceSync){x()}else{setTimeout(x,10)}var z=100;function B(){if(k){return}var I=true;try{if(A){throw"timeout"}var J,M;M=F.contentWindow?F.contentWindow.document:F.contentDocument?F.contentDocument:F.document;var N=q.dataType=="xml"||M.XMLDocument||b.isXMLDoc(M);a("isXml="+N);if(!N&&(M.body==null||M.body.innerHTML=="")){if(--z){a("requeing onLoad callback, DOM not available");setTimeout(B,250);return}a("Could not access iframe DOM after 100 tries.");return}a("response detected");k=true;G.responseText=M.body?M.body.innerHTML:null;G.responseXML=M.XMLDocument?M.XMLDocument:M;G.getResponseHeader=function(P){var O={"content-type":q.dataType};return O[P]};if(q.dataType=="json"||q.dataType=="script"){var n=M.getElementsByTagName("textarea")[0];if(n){G.responseText=n.value}else{var L=M.getElementsByTagName("pre")[0];if(L){G.responseText=L.innerHTML}}}else{if(q.dataType=="xml"&&!G.responseXML&&G.responseText!=null){G.responseXML=C(G.responseText)}}J=b.httpData(G,q.dataType)}catch(K){a("error caught:",K);I=false;G.error=K;b.handleError(q,G,"error",K)}if(I){q.success(J,"success");if(E){b.event.trigger("ajaxSuccess",[G,q])}}if(E){b.event.trigger("ajaxComplete",[G,q])}if(E&&!--b.active){b.event.trigger("ajaxStop")}if(q.complete){q.complete(G,I?"success":"error")}setTimeout(function(){D.removeData("form-plugin-onload");D.remove();G.responseXML=null},100)}function C(n,I){if(window.ActiveXObject){I=new ActiveXObject("Microsoft.XMLDOM");I.async="false";I.loadXML(n)}else{I=(new DOMParser()).parseFromString(n,"text/xml")}return(I&&I.documentElement&&I.documentElement.tagName!="parsererror")?I:null}}};b.fn.ajaxForm=function(c){return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){d.preventDefault();b(this).ajaxSubmit(c)}).bind("click.form-plugin",function(i){var h=i.target;var f=b(h);if(!(f.is(":submit,input:image"))){var d=f.closest(":submit");if(d.length==0){return}h=d[0]}var g=this;g.clk=h;if(h.type=="image"){if(i.offsetX!=undefined){g.clk_x=i.offsetX;g.clk_y=i.offsetY}else{if(typeof b.fn.offset=="function"){var j=f.offset();g.clk_x=i.pageX-j.left;g.clk_y=i.pageY-j.top}else{g.clk_x=i.pageX-h.offsetLeft;g.clk_y=i.pageY-h.offsetTop}}}setTimeout(function(){g.clk=g.clk_x=g.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(q){var p=[];if(this.length==0){return p}var d=this[0];var h=q?d.getElementsByTagName("*"):d.elements;if(!h){return p}for(var k=0,m=h.length;k<m;k++){var e=h[k];var f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f,value:b(e).val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}var r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(var g=0,c=r.length;g<c;g++){p.push({name:f,value:r[g]})}}else{if(r!==null&&typeof r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var l=b(d.clk),o=l[0],f=o.name;if(f&&!o.disabled&&o.type=="image"){p.push({name:f,value:l.val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}return p};b.fn.formSerialize=function(c){return b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var c=[];this.each(function(){var h=this.name;if(!h){return}var f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof f!="undefined"){c.push({name:this.name,value:f})}}});return b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return g};b.fieldValue=function(c,j){var e=c.name,p=c.type,q=c.tagName.toLowerCase();if(typeof j=="undefined"){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return o}m.push(o)}}return m}return c.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c==undefined){c=true}return this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c==undefined){c=true}return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function a(){if(b.fn.ajaxSubmit.debug){var c="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(c)}else{if(window.opera&&window.opera.postError){window.opera.postError(c)}}}}})(jQuery);

/* 3. Jquery Functions
-----------------------------------------------------------------------------------------------
===============================================================================================*/

	$.fn.unbindHover = function() {
		$(this).unbind('mouseenter').unbind('mouseleave');
	};

	$.fn.animateLinksHover = function(cIn,cOut){

		var opts = {
			colorIn: cIn || 'white',
			colorOut: cOut || 'black'
		};

		$(this).unbindHover();

		$(this).hover( function() {
			$(this).stop().animate({ color: opts.colorIn });
		}, function() {
			$(this).stop().animate({ color: opts.colorOut});
		});

	}

/* 4. DomReady
-----------------------------------------------------------------------------------------------
===============================================================================================*/

	jQuery(document).ready(LOADED);

/* 5. Functions
-----------------------------------------------------------------------------------------------
===============================================================================================*/

Date.CultureInfo={name:"en-US",englishName:"English (United States)",nativeName:"English (United States)",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbreviatedDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],shortestDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],firstLetterDayNames:["S","M","T","W","T","F","S"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],abbreviatedMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],amDesignator:"AM",pmDesignator:"PM",firstDayOfWeek:0,twoDigitYearMax:2029,dateElementOrder:"mdy",formatPatterns:{shortDate:"M/d/yyyy",longDate:"dddd, MMMM dd, yyyy",shortTime:"h:mm tt",longTime:"h:mm:ss tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss GMT",monthDay:"MMMM dd",yearMonth:"MMMM, yyyy"},regexPatterns:{jan:/^jan(uary)?/i,feb:/^feb(ruary)?/i,mar:/^mar(ch)?/i,apr:/^apr(il)?/i,may:/^may/i,jun:/^jun(e)?/i,jul:/^jul(y)?/i,aug:/^aug(ust)?/i,sep:/^sep(t(ember)?)?/i,oct:/^oct(ober)?/i,nov:/^nov(ember)?/i,dec:/^dec(ember)?/i,sun:/^su(n(day)?)?/i,mon:/^mo(n(day)?)?/i,tue:/^tu(e(s(day)?)?)?/i,wed:/^we(d(nesday)?)?/i,thu:/^th(u(r(s(day)?)?)?)?/i,fri:/^fr(i(day)?)?/i,sat:/^sa(t(urday)?)?/i,future:/^next/i,past:/^last|past|prev(ious)?/i,add:/^(\+|after|from)/i,subtract:/^(\-|before|ago)/i,yesterday:/^yesterday/i,today:/^t(oday)?/i,tomorrow:/^tomorrow/i,now:/^n(ow)?/i,millisecond:/^ms|milli(second)?s?/i,second:/^sec(ond)?s?/i,minute:/^min(ute)?s?/i,hour:/^h(ou)?rs?/i,week:/^w(ee)?k/i,month:/^m(o(nth)?s?)?/i,day:/^d(ays?)?/i,year:/^y((ea)?rs?)?/i,shortMeridian:/^(a|p)/i,longMeridian:/^(a\.?m?\.?|p\.?m?\.?)/i,timezone:/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt)/i,ordinalSuffix:/^\s*(st|nd|rd|th)/i,timeContext:/^\s*(\:|a|p)/i},abbreviatedTimeZoneStandard:{GMT:"-000",EST:"-0400",CST:"-0500",MST:"-0600",PST:"-0700"},abbreviatedTimeZoneDST:{GMT:"-000",EDT:"-0500",CDT:"-0600",MDT:"-0700",PDT:"-0800"}};
Date.getMonthNumberFromName=function(name){var n=Date.CultureInfo.monthNames,m=Date.CultureInfo.abbreviatedMonthNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s){return i;}}
return-1;};Date.getDayNumberFromName=function(name){var n=Date.CultureInfo.dayNames,m=Date.CultureInfo.abbreviatedDayNames,o=Date.CultureInfo.shortestDayNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s){return i;}}
return-1;};Date.isLeapYear=function(year){return(((year%4===0)&&(year%100!==0))||(year%400===0));};Date.getDaysInMonth=function(year,month){return[31,(Date.isLeapYear(year)?29:28),31,30,31,30,31,31,30,31,30,31][month];};Date.getTimezoneOffset=function(s,dst){return(dst||false)?Date.CultureInfo.abbreviatedTimeZoneDST[s.toUpperCase()]:Date.CultureInfo.abbreviatedTimeZoneStandard[s.toUpperCase()];};Date.getTimezoneAbbreviation=function(offset,dst){var n=(dst||false)?Date.CultureInfo.abbreviatedTimeZoneDST:Date.CultureInfo.abbreviatedTimeZoneStandard,p;for(p in n){if(n[p]===offset){return p;}}
return null;};Date.prototype.clone=function(){return new Date(this.getTime());};Date.prototype.compareTo=function(date){if(isNaN(this)){throw new Error(this);}
if(date instanceof Date&&!isNaN(date)){return(this>date)?1:(this<date)?-1:0;}else{throw new TypeError(date);}};Date.prototype.equals=function(date){return(this.compareTo(date)===0);};Date.prototype.between=function(start,end){var t=this.getTime();return t>=start.getTime()&&t<=end.getTime();};Date.prototype.addMilliseconds=function(value){this.setMilliseconds(this.getMilliseconds()+value);return this;};Date.prototype.addSeconds=function(value){return this.addMilliseconds(value*1000);};Date.prototype.addMinutes=function(value){return this.addMilliseconds(value*60000);};Date.prototype.addHours=function(value){return this.addMilliseconds(value*3600000);};Date.prototype.addDays=function(value){return this.addMilliseconds(value*86400000);};Date.prototype.addWeeks=function(value){return this.addMilliseconds(value*604800000);};Date.prototype.addMonths=function(value){var n=this.getDate();this.setDate(1);this.setMonth(this.getMonth()+value);this.setDate(Math.min(n,this.getDaysInMonth()));return this;};Date.prototype.addYears=function(value){return this.addMonths(value*12);};Date.prototype.add=function(config){if(typeof config=="number"){this._orient=config;return this;}
var x=config;if(x.millisecond||x.milliseconds){this.addMilliseconds(x.millisecond||x.milliseconds);}
if(x.second||x.seconds){this.addSeconds(x.second||x.seconds);}
if(x.minute||x.minutes){this.addMinutes(x.minute||x.minutes);}
if(x.hour||x.hours){this.addHours(x.hour||x.hours);}
if(x.month||x.months){this.addMonths(x.month||x.months);}
if(x.year||x.years){this.addYears(x.year||x.years);}
if(x.day||x.days){this.addDays(x.day||x.days);}
return this;};Date._validate=function(value,min,max,name){if(typeof value!="number"){throw new TypeError(value+" is not a Number.");}else if(value<min||value>max){throw new RangeError(value+" is not a valid value for "+name+".");}
return true;};Date.validateMillisecond=function(n){return Date._validate(n,0,999,"milliseconds");};Date.validateSecond=function(n){return Date._validate(n,0,59,"seconds");};Date.validateMinute=function(n){return Date._validate(n,0,59,"minutes");};Date.validateHour=function(n){return Date._validate(n,0,23,"hours");};Date.validateDay=function(n,year,month){return Date._validate(n,1,Date.getDaysInMonth(year,month),"days");};Date.validateMonth=function(n){return Date._validate(n,0,11,"months");};Date.validateYear=function(n){return Date._validate(n,1,9999,"seconds");};Date.prototype.set=function(config){var x=config;if(!x.millisecond&&x.millisecond!==0){x.millisecond=-1;}
if(!x.second&&x.second!==0){x.second=-1;}
if(!x.minute&&x.minute!==0){x.minute=-1;}
if(!x.hour&&x.hour!==0){x.hour=-1;}
if(!x.day&&x.day!==0){x.day=-1;}
if(!x.month&&x.month!==0){x.month=-1;}
if(!x.year&&x.year!==0){x.year=-1;}
if(x.millisecond!=-1&&Date.validateMillisecond(x.millisecond)){this.addMilliseconds(x.millisecond-this.getMilliseconds());}
if(x.second!=-1&&Date.validateSecond(x.second)){this.addSeconds(x.second-this.getSeconds());}
if(x.minute!=-1&&Date.validateMinute(x.minute)){this.addMinutes(x.minute-this.getMinutes());}
if(x.hour!=-1&&Date.validateHour(x.hour)){this.addHours(x.hour-this.getHours());}
if(x.month!==-1&&Date.validateMonth(x.month)){this.addMonths(x.month-this.getMonth());}
if(x.year!=-1&&Date.validateYear(x.year)){this.addYears(x.year-this.getFullYear());}
if(x.day!=-1&&Date.validateDay(x.day,this.getFullYear(),this.getMonth())){this.addDays(x.day-this.getDate());}
if(x.timezone){this.setTimezone(x.timezone);}
if(x.timezoneOffset){this.setTimezoneOffset(x.timezoneOffset);}
return this;};Date.prototype.clearTime=function(){this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);return this;};Date.prototype.isLeapYear=function(){var y=this.getFullYear();return(((y%4===0)&&(y%100!==0))||(y%400===0));};Date.prototype.isWeekday=function(){return!(this.is().sat()||this.is().sun());};Date.prototype.getDaysInMonth=function(){return Date.getDaysInMonth(this.getFullYear(),this.getMonth());};Date.prototype.moveToFirstDayOfMonth=function(){return this.set({day:1});};Date.prototype.moveToLastDayOfMonth=function(){return this.set({day:this.getDaysInMonth()});};Date.prototype.moveToDayOfWeek=function(day,orient){var diff=(day-this.getDay()+7*(orient||+1))%7;return this.addDays((diff===0)?diff+=7*(orient||+1):diff);};Date.prototype.moveToMonth=function(month,orient){var diff=(month-this.getMonth()+12*(orient||+1))%12;return this.addMonths((diff===0)?diff+=12*(orient||+1):diff);};Date.prototype.getDayOfYear=function(){return Math.floor((this-new Date(this.getFullYear(),0,1))/86400000);};Date.prototype.getWeekOfYear=function(firstDayOfWeek){var y=this.getFullYear(),m=this.getMonth(),d=this.getDate();var dow=firstDayOfWeek||Date.CultureInfo.firstDayOfWeek;var offset=7+1-new Date(y,0,1).getDay();if(offset==8){offset=1;}
var daynum=((Date.UTC(y,m,d,0,0,0)-Date.UTC(y,0,1,0,0,0))/86400000)+1;var w=Math.floor((daynum-offset+7)/7);if(w===dow){y--;var prevOffset=7+1-new Date(y,0,1).getDay();if(prevOffset==2||prevOffset==8){w=53;}else{w=52;}}
return w;};Date.prototype.isDST=function(){console.log('isDST');return this.toString().match(/(E|C|M|P)(S|D)T/)[2]=="D";};Date.prototype.getTimezone=function(){return Date.getTimezoneAbbreviation(this.getUTCOffset,this.isDST());};Date.prototype.setTimezoneOffset=function(s){var here=this.getTimezoneOffset(),there=Number(s)*-6/10;this.addMinutes(there-here);return this;};Date.prototype.setTimezone=function(s){return this.setTimezoneOffset(Date.getTimezoneOffset(s));};Date.prototype.getUTCOffset=function(){var n=this.getTimezoneOffset()*-10/6,r;if(n<0){r=(n-10000).toString();return r[0]+r.substr(2);}else{r=(n+10000).toString();return"+"+r.substr(1);}};Date.prototype.getDayName=function(abbrev){return abbrev?Date.CultureInfo.abbreviatedDayNames[this.getDay()]:Date.CultureInfo.dayNames[this.getDay()];};Date.prototype.getMonthName=function(abbrev){return abbrev?Date.CultureInfo.abbreviatedMonthNames[this.getMonth()]:Date.CultureInfo.monthNames[this.getMonth()];};Date.prototype._toString=Date.prototype.toString;Date.prototype.toString=function(format){var self=this;var p=function p(s){return(s.toString().length==1)?"0"+s:s;};return format?format.replace(/dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?/g,function(format){switch(format){case"hh":return p(self.getHours()<13?self.getHours():(self.getHours()-12));case"h":return self.getHours()<13?self.getHours():(self.getHours()-12);case"HH":return p(self.getHours());case"H":return self.getHours();case"mm":return p(self.getMinutes());case"m":return self.getMinutes();case"ss":return p(self.getSeconds());case"s":return self.getSeconds();case"yyyy":return self.getFullYear();case"yy":return self.getFullYear().toString().substring(2,4);case"dddd":return self.getDayName();case"ddd":return self.getDayName(true);case"dd":return p(self.getDate());case"d":return self.getDate().toString();case"MMMM":return self.getMonthName();case"MMM":return self.getMonthName(true);case"MM":return p((self.getMonth()+1));case"M":return self.getMonth()+1;case"t":return self.getHours()<12?Date.CultureInfo.amDesignator.substring(0,1):Date.CultureInfo.pmDesignator.substring(0,1);case"tt":return self.getHours()<12?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator;case"zzz":case"zz":case"z":return"";}}):this._toString();};
Date.now=function(){return new Date();};Date.today=function(){return Date.now().clearTime();};Date.prototype._orient=+1;Date.prototype.next=function(){this._orient=+1;return this;};Date.prototype.last=Date.prototype.prev=Date.prototype.previous=function(){this._orient=-1;return this;};Date.prototype._is=false;Date.prototype.is=function(){this._is=true;return this;};Number.prototype._dateElement="day";Number.prototype.fromNow=function(){var c={};c[this._dateElement]=this;return Date.now().add(c);};Number.prototype.ago=function(){var c={};c[this._dateElement]=this*-1;return Date.now().add(c);};(function(){var $D=Date.prototype,$N=Number.prototype;var dx=("sunday monday tuesday wednesday thursday friday saturday").split(/\s/),mx=("january february march april may june july august september october november december").split(/\s/),px=("Millisecond Second Minute Hour Day Week Month Year").split(/\s/),de;var df=function(n){return function(){if(this._is){this._is=false;return this.getDay()==n;}
return this.moveToDayOfWeek(n,this._orient);};};for(var i=0;i<dx.length;i++){$D[dx[i]]=$D[dx[i].substring(0,3)]=df(i);}
var mf=function(n){return function(){if(this._is){this._is=false;return this.getMonth()===n;}
return this.moveToMonth(n,this._orient);};};for(var j=0;j<mx.length;j++){$D[mx[j]]=$D[mx[j].substring(0,3)]=mf(j);}
var ef=function(j){return function(){if(j.substring(j.length-1)!="s"){j+="s";}
return this["add"+j](this._orient);};};var nf=function(n){return function(){this._dateElement=n;return this;};};for(var k=0;k<px.length;k++){de=px[k].toLowerCase();$D[de]=$D[de+"s"]=ef(px[k]);$N[de]=$N[de+"s"]=nf(de);}}());Date.prototype.toJSONString=function(){return this.toString("yyyy-MM-ddThh:mm:ssZ");};Date.prototype.toShortDateString=function(){return this.toString(Date.CultureInfo.formatPatterns.shortDatePattern);};Date.prototype.toLongDateString=function(){return this.toString(Date.CultureInfo.formatPatterns.longDatePattern);};Date.prototype.toShortTimeString=function(){return this.toString(Date.CultureInfo.formatPatterns.shortTimePattern);};Date.prototype.toLongTimeString=function(){return this.toString(Date.CultureInfo.formatPatterns.longTimePattern);};Date.prototype.getOrdinal=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};
(function(){Date.Parsing={Exception:function(s){this.message="Parse error at '"+s.substring(0,10)+" ...'";}};var $P=Date.Parsing;var _=$P.Operators={rtoken:function(r){return function(s){var mx=s.match(r);if(mx){return([mx[0],s.substring(mx[0].length)]);}else{throw new $P.Exception(s);}};},token:function(s){return function(s){return _.rtoken(new RegExp("^\s*"+s+"\s*"))(s);};},stoken:function(s){return _.rtoken(new RegExp("^"+s));},until:function(p){return function(s){var qx=[],rx=null;while(s.length){try{rx=p.call(this,s);}catch(e){qx.push(rx[0]);s=rx[1];continue;}
break;}
return[qx,s];};},many:function(p){return function(s){var rx=[],r=null;while(s.length){try{r=p.call(this,s);}catch(e){return[rx,s];}
rx.push(r[0]);s=r[1];}
return[rx,s];};},optional:function(p){return function(s){var r=null;try{r=p.call(this,s);}catch(e){return[null,s];}
return[r[0],r[1]];};},not:function(p){return function(s){try{p.call(this,s);}catch(e){return[null,s];}
throw new $P.Exception(s);};},ignore:function(p){return p?function(s){var r=null;r=p.call(this,s);return[null,r[1]];}:null;},product:function(){var px=arguments[0],qx=Array.prototype.slice.call(arguments,1),rx=[];for(var i=0;i<px.length;i++){rx.push(_.each(px[i],qx));}
return rx;},cache:function(rule){var cache={},r=null;return function(s){try{r=cache[s]=(cache[s]||rule.call(this,s));}catch(e){r=cache[s]=e;}
if(r instanceof $P.Exception){throw r;}else{return r;}};},any:function(){var px=arguments;return function(s){var r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;}
try{r=(px[i].call(this,s));}catch(e){r=null;}
if(r){return r;}}
throw new $P.Exception(s);};},each:function(){var px=arguments;return function(s){var rx=[],r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;}
try{r=(px[i].call(this,s));}catch(e){throw new $P.Exception(s);}
rx.push(r[0]);s=r[1];}
return[rx,s];};},all:function(){var px=arguments,_=_;return _.each(_.optional(px));},sequence:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;if(px.length==1){return px[0];}
return function(s){var r=null,q=null;var rx=[];for(var i=0;i<px.length;i++){try{r=px[i].call(this,s);}catch(e){break;}
rx.push(r[0]);try{q=d.call(this,r[1]);}catch(ex){q=null;break;}
s=q[1];}
if(!r){throw new $P.Exception(s);}
if(q){throw new $P.Exception(q[1]);}
if(c){try{r=c.call(this,r[1]);}catch(ey){throw new $P.Exception(r[1]);}}
return[rx,(r?r[1]:s)];};},between:function(d1,p,d2){d2=d2||d1;var _fn=_.each(_.ignore(d1),p,_.ignore(d2));return function(s){var rx=_fn.call(this,s);return[[rx[0][0],r[0][2]],rx[1]];};},list:function(p,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return(p instanceof Array?_.each(_.product(p.slice(0,-1),_.ignore(d)),p.slice(-1),_.ignore(c)):_.each(_.many(_.each(p,_.ignore(d))),px,_.ignore(c)));},set:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return function(s){var r=null,p=null,q=null,rx=null,best=[[],s],last=false;for(var i=0;i<px.length;i++){q=null;p=null;r=null;last=(px.length==1);try{r=px[i].call(this,s);}catch(e){continue;}
rx=[[r[0]],r[1]];if(r[1].length>0&&!last){try{q=d.call(this,r[1]);}catch(ex){last=true;}}else{last=true;}
if(!last&&q[1].length===0){last=true;}
if(!last){var qx=[];for(var j=0;j<px.length;j++){if(i!=j){qx.push(px[j]);}}
p=_.set(qx,d).call(this,q[1]);if(p[0].length>0){rx[0]=rx[0].concat(p[0]);rx[1]=p[1];}}
if(rx[1].length<best[1].length){best=rx;}
if(best[1].length===0){break;}}
if(best[0].length===0){return best;}
if(c){try{q=c.call(this,best[1]);}catch(ey){throw new $P.Exception(best[1]);}
best[1]=q[1];}
return best;};},forward:function(gr,fname){return function(s){return gr[fname].call(this,s);};},replace:function(rule,repl){return function(s){var r=rule.call(this,s);return[repl,r[1]];};},process:function(rule,fn){return function(s){var r=rule.call(this,s);return[fn.call(this,r[0]),r[1]];};},min:function(min,rule){return function(s){var rx=rule.call(this,s);if(rx[0].length<min){throw new $P.Exception(s);}
return rx;};}};var _generator=function(op){return function(){var args=null,rx=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments);}else if(arguments[0]instanceof Array){args=arguments[0];}
if(args){for(var i=0,px=args.shift();i<px.length;i++){args.unshift(px[i]);rx.push(op.apply(null,args));args.shift();return rx;}}else{return op.apply(null,arguments);}};};var gx="optional not ignore cache".split(/\s/);for(var i=0;i<gx.length;i++){_[gx[i]]=_generator(_[gx[i]]);}
var _vector=function(op){return function(){if(arguments[0]instanceof Array){return op.apply(null,arguments[0]);}else{return op.apply(null,arguments);}};};var vx="each any all".split(/\s/);for(var j=0;j<vx.length;j++){_[vx[j]]=_vector(_[vx[j]]);}}());(function(){var flattenAndCompact=function(ax){var rx=[];for(var i=0;i<ax.length;i++){if(ax[i]instanceof Array){rx=rx.concat(flattenAndCompact(ax[i]));}else{if(ax[i]){rx.push(ax[i]);}}}
return rx;};Date.Grammar={};Date.Translator={hour:function(s){return function(){this.hour=Number(s);};},minute:function(s){return function(){this.minute=Number(s);};},second:function(s){return function(){this.second=Number(s);};},meridian:function(s){return function(){this.meridian=s.slice(0,1).toLowerCase();};},timezone:function(s){return function(){var n=s.replace(/[^\d\+\-]/g,"");if(n.length){this.timezoneOffset=Number(n);}else{this.timezone=s.toLowerCase();}};},day:function(x){var s=x[0];return function(){this.day=Number(s.match(/\d+/)[0]);};},month:function(s){return function(){this.month=((s.length==3)?Date.getMonthNumberFromName(s):(Number(s)-1));};},year:function(s){return function(){var n=Number(s);this.year=((s.length>2)?n:(n+(((n+2000)<Date.CultureInfo.twoDigitYearMax)?2000:1900)));};},rday:function(s){return function(){switch(s){case"yesterday":this.days=-1;break;case"tomorrow":this.days=1;break;case"today":this.days=0;break;case"now":this.days=0;this.now=true;break;}};},finishExact:function(x){x=(x instanceof Array)?x:[x];var now=new Date();this.year=now.getFullYear();this.month=now.getMonth();this.day=1;this.hour=0;this.minute=0;this.second=0;for(var i=0;i<x.length;i++){if(x[i]){x[i].call(this);}}
this.hour=(this.meridian=="p"&&this.hour<13)?this.hour+12:this.hour;if(this.day>Date.getDaysInMonth(this.year,this.month)){throw new RangeError(this.day+" is not a valid value for days.");}
var r=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second);if(this.timezone){r.set({timezone:this.timezone});}else if(this.timezoneOffset){r.set({timezoneOffset:this.timezoneOffset});}
return r;},finish:function(x){x=(x instanceof Array)?flattenAndCompact(x):[x];if(x.length===0){return null;}
for(var i=0;i<x.length;i++){if(typeof x[i]=="function"){x[i].call(this);}}
if(this.now){return new Date();}
var today=Date.today();var method=null;var expression=!!(this.days!=null||this.orient||this.operator);if(expression){var gap,mod,orient;orient=((this.orient=="past"||this.operator=="subtract")?-1:1);if(this.weekday){this.unit="day";gap=(Date.getDayNumberFromName(this.weekday)-today.getDay());mod=7;this.days=gap?((gap+(orient*mod))%mod):(orient*mod);}
if(this.month){this.unit="month";gap=(this.month-today.getMonth());mod=12;this.months=gap?((gap+(orient*mod))%mod):(orient*mod);this.month=null;}
if(!this.unit){this.unit="day";}
if(this[this.unit+"s"]==null||this.operator!=null){if(!this.value){this.value=1;}
if(this.unit=="week"){this.unit="day";this.value=this.value*7;}
this[this.unit+"s"]=this.value*orient;}
return today.add(this);}else{if(this.meridian&&this.hour){this.hour=(this.hour<13&&this.meridian=="p")?this.hour+12:this.hour;}
if(this.weekday&&!this.day){this.day=(today.addDays((Date.getDayNumberFromName(this.weekday)-today.getDay()))).getDate();}
if(this.month&&!this.day){this.day=1;}
return today.set(this);}}};var _=Date.Parsing.Operators,g=Date.Grammar,t=Date.Translator,_fn;g.datePartDelimiter=_.rtoken(/^([\s\-\.\,\/\x27]+)/);g.timePartDelimiter=_.stoken(":");g.whiteSpace=_.rtoken(/^\s*/);g.generalDelimiter=_.rtoken(/^(([\s\,]|at|on)+)/);var _C={};g.ctoken=function(keys){var fn=_C[keys];if(!fn){var c=Date.CultureInfo.regexPatterns;var kx=keys.split(/\s+/),px=[];for(var i=0;i<kx.length;i++){px.push(_.replace(_.rtoken(c[kx[i]]),kx[i]));}
fn=_C[keys]=_.any.apply(null,px);}
return fn;};g.ctoken2=function(key){return _.rtoken(Date.CultureInfo.regexPatterns[key]);};g.h=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2]|[1-9])/),t.hour));g.hh=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2])/),t.hour));g.H=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3]|[0-9])/),t.hour));g.HH=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3])/),t.hour));g.m=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.minute));g.mm=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.minute));g.s=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.second));g.ss=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.second));g.hms=_.cache(_.sequence([g.H,g.mm,g.ss],g.timePartDelimiter));g.t=_.cache(_.process(g.ctoken2("shortMeridian"),t.meridian));g.tt=_.cache(_.process(g.ctoken2("longMeridian"),t.meridian));g.z=_.cache(_.process(_.rtoken(/^(\+|\-)?\s*\d\d\d\d?/),t.timezone));g.zz=_.cache(_.process(_.rtoken(/^(\+|\-)\s*\d\d\d\d/),t.timezone));g.zzz=_.cache(_.process(g.ctoken2("timezone"),t.timezone));g.timeSuffix=_.each(_.ignore(g.whiteSpace),_.set([g.tt,g.zzz]));g.time=_.each(_.optional(_.ignore(_.stoken("T"))),g.hms,g.timeSuffix);g.d=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1]|\d)/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.dd=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1])/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.ddd=g.dddd=_.cache(_.process(g.ctoken("sun mon tue wed thu fri sat"),function(s){return function(){this.weekday=s;};}));g.M=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d|\d)/),t.month));g.MM=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d)/),t.month));g.MMM=g.MMMM=_.cache(_.process(g.ctoken("jan feb mar apr may jun jul aug sep oct nov dec"),t.month));g.y=_.cache(_.process(_.rtoken(/^(\d\d?)/),t.year));g.yy=_.cache(_.process(_.rtoken(/^(\d\d)/),t.year));g.yyy=_.cache(_.process(_.rtoken(/^(\d\d?\d?\d?)/),t.year));g.yyyy=_.cache(_.process(_.rtoken(/^(\d\d\d\d)/),t.year));_fn=function(){return _.each(_.any.apply(null,arguments),_.not(g.ctoken2("timeContext")));};g.day=_fn(g.d,g.dd);g.month=_fn(g.M,g.MMM);g.year=_fn(g.yyyy,g.yy);g.orientation=_.process(g.ctoken("past future"),function(s){return function(){this.orient=s;};});g.operator=_.process(g.ctoken("add subtract"),function(s){return function(){this.operator=s;};});g.rday=_.process(g.ctoken("yesterday tomorrow today now"),t.rday);g.unit=_.process(g.ctoken("minute hour day week month year"),function(s){return function(){this.unit=s;};});g.value=_.process(_.rtoken(/^\d\d?(st|nd|rd|th)?/),function(s){return function(){this.value=s.replace(/\D/g,"");};});g.expression=_.set([g.rday,g.operator,g.value,g.unit,g.orientation,g.ddd,g.MMM]);_fn=function(){return _.set(arguments,g.datePartDelimiter);};g.mdy=_fn(g.ddd,g.month,g.day,g.year);g.ymd=_fn(g.ddd,g.year,g.month,g.day);g.dmy=_fn(g.ddd,g.day,g.month,g.year);g.date=function(s){return((g[Date.CultureInfo.dateElementOrder]||g.mdy).call(this,s));};g.format=_.process(_.many(_.any(_.process(_.rtoken(/^(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?)/),function(fmt){if(g[fmt]){return g[fmt];}else{throw Date.Parsing.Exception(fmt);}}),_.process(_.rtoken(/^[^dMyhHmstz]+/),function(s){return _.ignore(_.stoken(s));}))),function(rules){return _.process(_.each.apply(null,rules),t.finishExact);});var _F={};var _get=function(f){return _F[f]=(_F[f]||g.format(f)[0]);};g.formats=function(fx){if(fx instanceof Array){var rx=[];for(var i=0;i<fx.length;i++){rx.push(_get(fx[i]));}
return _.any.apply(null,rx);}else{return _get(fx);}};g._formats=g.formats(["yyyy-MM-ddTHH:mm:ss","ddd, MMM dd, yyyy H:mm:ss tt","ddd MMM d yyyy HH:mm:ss zzz","d"]);g._start=_.process(_.set([g.date,g.time,g.expression],g.generalDelimiter,g.whiteSpace),t.finish);g.start=function(s){try{var r=g._formats.call({},s);if(r[1].length===0){return r;}}catch(e){}
return g._start.call({},s);};}());Date._parse=Date.parse;Date.parse=function(s){var r=null;if(!s){return null;}
try{r=Date.Grammar.start.call({},s);}catch(e){return null;}
return((r[1].length===0)?r[0]:null);};Date.getParseFunction=function(fx){var fn=Date.Grammar.formats(fx);return function(s){var r=null;try{r=fn.call({},s);}catch(e){return null;}
return((r[1].length===0)?r[0]:null);};};Date.parseExact=function(s,fx){return Date.getParseFunction(fx)(s);};


	function log(cl){
		if (window.console && console.info && DEBUG) console.info(cl);
		else if(DEBUG) alert(cl);
	}

	function checkemail(str){
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(str))
			return true;
		else
			return false;
	}

	function LOADED(){

		setupTwitter();
		setupNewsletterForm();
		setupFlashHome();
		setupFlashGaleria();
		setupSlideShow();
		setupFancybox();
		setupVideos();
		setupInscricoes();

	}

	function checkAge18(dt){
		var dob = Date.parse(dt);

		if (dob && dob.addYears(18) < Date.today())
		{
		    return true;
		}
		else
		{
		    return false;
		}
	}

	function getPromo(n){
		var i = 1;
    while(i && n){
			if( promo*i > n ){
				return ( Math.abs((promo*i) - n))
			}
			else i++
    }
	}

	function sendErro(){
		$.fancybox( $('#step_fail').html() , {
					'overlayOpacity': 0.80,
					'overlayColor': '#292929',
					'transitionIn': 'none',
					'transitionOut': 'none'
				});
	}

	function tf(){

		$.ajax({
	   type: "POST",
	   url: "/inscricoes/save",
	   data: $('#formInscricoes').serialize(),
	   success: function(msg){
	     if(msg=="Success"){
			 	$.fancybox( $('#step_success_transf').html() , {
					'overlayOpacity': 0.80,
					'overlayColor': '#292929',
					'transitionIn': 'none',
					'transitionOut': 'none',
					'onClosed': function(){
						location.href = "/inscricoes";
					}
				});
			 }
			 else{
			 	sendErro();
			 }
	   }
	 });
	}

	function atm(){
		$.ajax({
	   type: "POST",
	   url: "/inscricoes/save",
	   data: $('#formInscricoes').serialize(),
	   success: function(msg){
	     if(msg=="Success"){
			 	$.fancybox( $('#step_success_atm').html() , {
					'overlayOpacity': 0.80,
					'overlayColor': '#292929',
					'transitionIn': 'none',
					'transitionOut': 'none',
					'onClosed': function(){
						location.href = "/inscricoes";
					}
				});
			 }else{
			 	sendErro();
			 }
	   }
	 });
	}

	function paypal(){
		$.ajax({
	   type: "POST",
	   url: "/inscricoes/save",
	   data: $('#formInscricoes').serialize(),
	   success: function(msg){
	     if(msg=="Error"){
			 	sendErro();
			 }else{
				createdFormPaypal(msg);
			 }
	   }
	 });
	}

	function createdFormPaypal(dt){

		var dt = jQuery.parseJSON(dt);
		var str = $('#total_civa').val();



		$('body').append('<form name="paypalForm" id="paypalForm" action="'+dt.url+'" method="post"></form>');

		f = $('#paypalForm');
		f.append('<input name="cmd" value="_xclick" type="hidden">');
		f.append('<input name="business" value="'+dt.id+'" type="hidden">');
		f.append('<input name="currency_code" value="EUR" type="hidden">');
		//f.append('<input name="lc" value="PT" type="hidden">');
		f.append('<input name="cbt" value="http://www.danielsanogueira.com" type="hidden">');
		f.append('<input name="no_shipping" value="1" type="hidden">');
		f.append('<input name="no_note" value="1" type="hidden">');
		f.append('<input name="cancel_return" value="http://www.danielsanogueira.com/inscricoes?cancel" type="hidden">');
		f.append('<input name="item_name" value="'+$('#event_name').val()+' - '+$('#event_count').val()+' Bilhetes" type="hidden">');
		f.append('<input name="amount" value="'+str.substr(0,str.length-1)+'" type="hidden">');
		$('#paypalForm').submit();
	}

	function checkPaypalMsg(){
		var uri = location.href.split('?') , idElm = null;

		if(uri.length>=2){

			switch (uri[1]) {
				case 'fail':
					idElm = 'fail';
					break;
				case 'success':
					idElm = 'success';
					break;
				case 'cancel':
					idElm = 'cancel';
					break;
			}

			if(idElm){
				$.fancybox( $('#step_paypal_'+idElm).html() , {
					'overlayOpacity': 0.80,
					'overlayColor': '#292929',
					'transitionIn': 'none',
					'transitionOut': 'none'
				});
			}
		}
	}

	function anular(){
		$('#event_selected').empty();
		$('#formInscricoes').clearForm();
		document.getElementById('Data_day').options[0].selected = true;
		document.getElementById('Data_month').options[0].selected = true;
		document.getElementById('Data_year').options[0].selected = true;
		document.getElementById('Onde').options[0].selected = true;
		$.fancybox.close();
	}

	function setupInscricoes(){

		if($('#formInscricoes').length > 0){

			checkPaypalMsg();

			//$('input').checkBox();
			//$('.picklist select').selectbox();

			var errorContainer = $("#formInscricoes div.error");

			$("#formInscricoes").validate({
				errorContainer: errorContainer,
				errorLabelContainer: $("ol", errorContainer),
				wrapper: 'li',
				meta: "validate",
				rules: {
					evento: {
						required: true
					},
					email: {
						required: true,
						email: true
					},
					email_confirm: {
						required: true,
						email: true,
						equalTo: "#Email"
					}
				},
				messages: {
					email: {
						required: "Por favor, preencha o campo Email.",
						email: "O campo Email &eacute; inv&aacute;lido."
					},
					email_confirm: {
						required: "Por favor, preencha o campo Confirmar email.",
						email: "O campo Confirmar email &eacute; inv&aacute;lido.",
						equalTo: "Por favor, preencha o Confirmar email com o mesmo valor do campo Email."
					}
				}

			});

			$("#formInscricoesSubmit").click(function(){

				 var result = $("#formInscricoes").valid(),
				 onComplete  = function(){

					$('#buttonverpromo').click(function(){

						var elm = $('#event_count');
						elm.val( Number(getPromo(elm.val()))+Number(elm.val()));


						if($('#event_count').val() >= promo){
							document.getElementById('event_list_prices').options[1].selected = true;
						}
						else{
							document.getElementById('event_list_prices').options[0].selected = true;
						}

						$.fancybox.close();

						var target_offset = $("#evento_view").offset();
        		var target_top = target_offset.top;
        		$('html, body').animate({scrollTop:target_top}, 500);
						calcTotal_input();

					});

				 	$('#buttonconfirm').click(function(){

						$('#buttonconfirm').hide();
						$('#buttonverpromo').hide();
						$('#ajax-loader').show();

						var tp = $("input[name='type_pament']:checked").val();

						switch(tp){
							case "tf":
								tf();
							break;
							case "atm":
							  atm();
						  break;
							case "paypal":
							case "cc":
							  paypal();
						  break;
						}

					});

				 };

				 if (result) {
				 //if (true) {

				 var data = $('#Data_year').val() + '-' + $('#Data_month').val() + '-' + $('#Data_day').val()

				 if(!checkAge18(data)){
				 	$.fancybox( $('#age18').html() , {
						'overlayOpacity': 0.80,
						'overlayColor': '#292929',
						'transitionIn': 'none',
						'transitionOut': 'none'
					});
					return false;
				 }


					var myValues = {
						event_title : $('#event_name').val(),
						event_count : $('#event_count').val(),
						event_data  : $('#event_data').val(),
						event_total_civa  : $('#total_civa').val(),
						user_name      : $('#nome').val()+" "+$('#Apelido').val(),
						user_phone     : $('#Telemovel').val(),
						user_email     : $('#Email').val(),
						user_address   : $('#Morada').val(),
						user_codpostal : $('#Postal_1').val()+" - "+$('#Postal_2').val(),
						user_local     : $('#Localidade_2').val() || $('#Localidade_1').val(),
						promo          : (getPromo( $('#event_count').val() )-1)
					};

					templateStep1 = '<div class="thickboxtop"></div>'
					+'<div class="thickboxbody">'
					+'<a href="javascript:;" onClick="anular();" class="thickboxCancel">anular</a>'
					+'<h2 class="orange">Confirma&ccedil;&atilde;o de Dados</h2>'
					+'<div class="overflowdiv">'
					+'<div class="thickboxcontentbox"><ul>'
					+'<li><span class="thicklabel">Evento:</span> ##event_title##</li>'
					+'<li><span class="thicklabel">Quantidade:</span> ##event_count##</li><li><br/></li>'
					+'<li><span class="thicklabel">Data:</span> ##event_data##</li>'
					+'<li><span class="thicklabel">Total c/IVA:</span> ##event_total_civa##</li></ul></div>'
					+'<div class="thickboxcontentbox"><ul>'
					+'<li><span class="thicklabel">Nome:</span> ##user_name##</li>'
					+'<li><span class="thicklabel">Telefone:</span> ##user_phone##</li>'
					+'<li><span class="thicklabel">Email:</span> ##user_email##</li>'
					+'<li><span class="thicklabel">Morada:</span> ##user_address##</li>'
					+'<li><span class="thicklabel">C&oacute;digo Postal:</span> ##user_codpostal## ##user_local##</li></ul></div></div><div class="thicksep"></div>'
					+'<div class="promo">Sabia que se comprar mais ##promo## bilhetes, n&oacute;s ofere&ccedil;emos-lhe 1? <span class="orange">Aproveite esta promo&ccedil;&atilde;o!</span></div><div class="thicksep"></div>'
					+'<div class="formoptions">'
					+'<div id="ajax-loader" class="hide"><img src="templates/astronautas/images/ajax-loader.gif"></div>'
					+'<a href="javascript:;" class="thicklink buttonconfirm" id="buttonconfirm">Confirmar</a>'
					+'<a href="javascript:;" class="buttonverpromo" id="buttonverpromo">buttonverpromo</a></div></div><div class="thickboxbottom"></div>';

					for (var key in myValues) {
						templateStep1 = templateStep1.replace( new RegExp("##" + key + "##", "g")  , myValues[key]);
					}

					$.fancybox( templateStep1 , {
				 		'overlayOpacity': 0.80,
				 		'overlayColor': '#292929',
				 		'transitionIn': 'none',
				 		'transitionOut': 'none',
						'hideOnOverlayClick':false,
						'onComplete': onComplete
				 	});

				 }

			});

			$("input[name='evento']:radio").click(function() {

				$('#event_selected').empty();
				$('#event_selected').append('<td colspan="3" class="loading"><img src="templates/astronautas/images/ajax-loader.gif"></div></td>');
				$('#total_siva').val( '' );
				$('#total_civa').val( '' );

				$.ajax({
					type: "POST",
					url: "/inscricoes/detail",
					data: 'id='+$(this).val(),
					success: function(data){

						$('#event_selected').empty();
						$('#event_selected').append(data);
						calcTotal_input();

						$('#event_list_prices').change(function(){
							calcTotal_list();
						});

						$('#event_count').change(function(){
							calcTotal_input();
						});

						$('#event_count').keyup(function(event){
							calcTotal_input();
						});
					}
				});
    	});



		}
	}

	function calcTotal_input(){

		if($('#event_count').val() >= promo){
			document.getElementById('event_list_prices').options[1].selected = true;
		}
		else{
			document.getElementById('event_list_prices').options[0].selected = true;
		}

		if( $('#event_count').val() > 50 ){
			$('#event_count').val( 50 );

			$.fancybox( $('#evento_count_limit').html() , {
				'overlayOpacity': 0.80,
				'overlayColor': '#292929',
				'transitionIn': 'none',
				'transitionOut': 'none'
			});

		}


		var values = $('#event_list_prices').val().split('-'),
		total_siva = $('#event_count').val() * values[1],
		total_civa = total_siva * 1.21;

		$('#total_siva').val( total_siva.toFixed(2) + "\u20AC" );
		$('#total_civa').val( total_civa.toFixed(2) + "\u20AC" );

	}

	function calcTotal_list(){
		var values = $('#event_list_prices').val().split('-'),
		total_siva = values[0] * values[1],
		total_civa = total_siva * 1.21;

		$('#event_count').val( values[0] );

		$('#total_siva').val( total_siva.toFixed(2) + "\u20AC" );
		$('#total_civa').val( total_civa.toFixed(2) + "\u20AC" );
	}

	function setupVideos(){

		$('.videoPlayer').each(function(){

			if($(this).attr('id') && $(this).attr('rel')){

				var obj = jQuery.parseJSON($(this).attr('rel'));

				var flashvars = {};
	  		var params = {};

				flashvars.file = obj.url;
				flashvars.backcolor = '000000';
				flashvars.frontcolor = 'fa8009';
				flashvars.volume = '80';
				flashvars.dock = 'false';

				flashvars.plugins = '';
				/*
				flashvars.plugins = 'viral-2';
				flashvars['viral.callout'] = 'none';
				flashvars['viral.onpause'] = 'false';
				*/

				if(obj.image) flashvars.image = obj.image;

			  params.loop = "false";
			  params.menu = "false";
			  params.quality = "high";
			  params.scale = "noscale";
			  params.wmode = "opaque";
			  params.bgcolor = "#ffffff";
			  params.allowfullscreen = "true";
			  params.allowscriptaccess = "always";

			  var attributes = {};
			  attributes.id = $(this).attr('id');

			  swfobject.embedSWF ("http://www.danielsanogueira.com/templates/astronautas/swf/player.swf",  $(this).attr('id') , "500", "300", "9", "templates/astronautas/swf/expressInstall.swf", flashvars, params, attributes);

			}
		});

	}

	function setupFancybox(){

		if(!$(".thicklink").length > 0) return false;

		$(".thicklink").fancybox({
				'overlayOpacity'  : 0.80,
				'overlayColor'    : '#292929',
				'titlePosition'		: 'inside',
				'transitionIn'		: 'none',
				'transitionOut'		: 'none'
		});
	}

	function setupFlashHome(){

		if(!$("#flashcontent").length>0) return false;

		var uri = location.href.split('?');

		var flashvars = {};
	  var params = {};

		if(uri.length > 0){
			flashvars.section = uri[1];
		}

	  params.loop = "false";
	  params.menu = "false";
	  params.quality = "high";
	  params.scale = "noscale";
	  params.wmode = "transparent";
	  params.bgcolor = "#ffffff";
	  params.allowfullscreen = "true";
	  params.allowscriptaccess = "sameDomain";
	  var attributes = {};
	  attributes.id = "astronautas";
	  swfobject.embedSWF ("templates/astronautas/swf/astronautas.swf", "flashcontent", "100%", "100%", "10.0.0", "templates/astronautas/swf/expressInstall.swf", flashvars, params, attributes);
	}

	function setupFlashGaleria(){

		if(!$("#flashcontent_galeria").length>0) return false;

		var flashvars = {};
		var params = {};
		params.loop = "false";
		params.menu = "false";
		params.quality = "high";
		params.scale = "noscale";
		params.wmode = "transparent";
		params.bgcolor = "#ffffff";
		params.allowfullscreen = "true";
		params.allowscriptaccess = "always";
		var attributes = {};
		attributes.id = "astronautas";
		swfobject.embedSWF ("templates/astronautas/swf/galeria.swf", "flashcontent_galeria", "100%", "100%", "10.0.0", "templates/astronautas/swf/expressInstall.swf", flashvars, params, attributes);
		//swfobject.embedSWF ("components/astronautas/galeria/galeria.swf", "flashcontent_galeria", "100%", "100%", "10.0.0", "templates/astronautas/swf/expressInstall.swf", flashvars, params, attributes);
	}

	function setupTwitter(){

		if( ($("#frontend_twitter_username").length > 0 && $("#frontend_twitter_count").length > 0) && ($("#frontend_twitter_username").val() ==""  || $("#frontend_twitter_count").val() >0  )  ){

			$.getJSON('http://twitter.com/status/user_timeline/'+$("#frontend_twitter_username").val()+'.json?count='+$("#frontend_twitter_count").val()+'&callback=?', function(data){
				$.each(data, function(index, item){
					$('.twitterentry').append('<li>' + item.text.linkify() + ' <div class="entrydetail"><span class="when"> ' + relative_time(item.created_at) + '</span></div></li>');
				});
			});

		}

	}

	String.prototype.trim = function() {
		return this.replace(/^\s+|\s+$/g,"");
	}

	UTF8 = {
		encode: function(s){
			for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
				s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
			);
			return s.join("");
		},
		decode: function(s){
			for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
				((a = s[i][c](0)) & 0x80) &&
				(s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
				o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
			);
			return s.join("");
		}
	};

	function setupNewsletterForm(){
    $('#newsletter_name').val( "Primeiro e \u00DAltimo nome" );
		$('#newsletter_email').val("O seu e-mail");

		var onFocus = function(){

			var v = $(this).val();
			if(v == "Primeiro e \u00DAltimo nome" || v == "O seu e-mail"){
				$(this).attr("value","");
			}
		}
		, onBlur = function(){

			var v	 = $(this).val();
			var el = $(this).attr('id');

			if(v != "Primeiro e \u00DAltimo nome" && v != "O seu e-mail" && v == ""){
				if(el == "newsletter_name")
					$(this).attr("value", "Primeiro e \u00DAltimo nome");
				else
					$(this).attr("value", "O seu e-mail");
			}
		}, showMsg = function(str){

			$("#newsletter_msg").html( str );
			$("#newsletter_msg").animate( {height:'20px'} );
			setTimeout( hideMsg ,8000);

		}, hideMsg = function(){

			$("#newsletter_msg").html("");
			$("#newsletter_msg").animate( {height:'0px'} );

		}, onClick = function(){

			if($('#newsletter_name').val() =="" || $('#newsletter_name').val() =="Primeiro e \u00DAltimo nome" ||
			$('#newsletter_email').val() =="" || $('#newsletter_email').val() =="O seu e-mail")
			{
				showMsg("Preencha os dados correctamente.");
			}
			else if( !checkemail( $('#newsletter_email').val() ) ){
				showMsg("Email incorrecto.");
			}
			else{
				var nome , nf , nl;
				nome = $('#newsletter_name').val().split(" ");
				nf 	 = nome.length > 0 ? nome[0] : "";
				nl 	 = nome.length > 1 ? nome[1] : "";

				var url = "/services/services.php?op=newsletter&task=add&email="+$('#newsletter_email').val()+"&name_first="+nf+"&name_last="+nl
				, onSuccess = function( xml ){

					var status = $(xml).find("status").text()
					, msg = $(xml).find("msg").text();

					if(status == "Error"){
						msg = "<span class=\"error\">Este e-mail j\u00E1 est\u00E1 na nossa base de dados. Obrigado!</span>";
					}
					else{
						msg = "<span class=\"success\">Email adiccionado com sucesso!</span>";
					}

					$("#newsletter_msg").html(msg);
					$("#newsletter_form").animate( {height:'hide'} , onCompleteHideForm );

				}, resetForm = function(){

					$('#newsletter_name').val("Primeiro e \u00DAltimo nome");
					$('#newsletter_email').val("O seu e-mail");
					$("#newsletter_msg").animate( {height:'0px'} , onCompleteHideMsg );

				}, onCompleteHideForm = function(){

					$(this).hide();
					$("#newsletter_msg").animate( {height:'20px'} );

					setTimeout( resetForm ,8000);

				}, onCompleteHideMsg = function(){

					$(this).html("");
					$("#newsletter_form").animate( {height:'show'} );
					$("#newsletter_form").show();

				}
				;

				$.ajax({url:url , dataType: "xml" , success:onSuccess});
			}
		}

		$('#newsletter_name').focus(onFocus);
		$('#newsletter_email').focus(onFocus);

		$('#newsletter_name').blur(onBlur);
		$('#newsletter_email').blur(onBlur);

		$('#btnok').click(onClick);

	}


	function relative_time(time_value) {
	  var values = time_value.split(" ");
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	  var parsed_date = Date.parse(time_value);
	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	  delta = delta + (relative_to.getTimezoneOffset() * 60);

	  var r = '';
	  if (delta < 60) {
		r = 'a minute ago';
	  } else if(delta < 120) {
		r = 'couple of minutes ago';
	  } else if(delta < (45*60)) {
		r = (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (90*60)) {
		r = 'an hour ago';
	  } else if(delta < (24*60*60)) {
		r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
	  } else if(delta < (48*60*60)) {
		r = '1 day ago';
	  } else {
		r = (parseInt(delta / 86400)).toString() + ' days ago';
	  }

	  return r;
	}

	String.prototype.linkify = function() {
		return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
			return m.link(m);
		});
	};

	function setupSlideShow(){

		if( $('.slideshow').length > 0 )
		{
			setTimeout("SlideShow();",500);
		}
	}

	function SlideShow(){

		$('.slideshow').nivoSlider({
				effect:'random',
				slices:15,
				animSpeed:500,
				pauseTime:3000,
				directionNav:true,
				directionNavHide:true,
				controlNav:true,
				pauseOnHover:true
			});

			$("a.slideshow_images").fancybox({
				'overlayOpacity'  : 0.80,
				'overlayColor'    : '#292929',
				'padding'				  : 0,
				'transitionIn'	  : 'elastic',
				'transitionOut'	  : 'elastic',
				'type'            : 'image'
			});


	}


	function loadContentImage(url)
	{

		var contentImage = "<img src=\"" + url + "\"/>";
		$.fancybox(
				contentImage,
			{
				'overlayOpacity'  : 0.80,
				'overlayColor'    : '#292929',
				'autoDimensions'	: false,
				'width'         	: 480,
				'height'        	: 360,
				'transitionIn'		: 'none',
				'transitionOut'		: 'none',
				"onClosed"        : function()
				{
					if(document.getElementById("astronautas"))
						document.getElementById("astronautas").closeLigthBox();
				}
			}

		);

		/*SqueezeBox.fromElement(new Element('div', {html: contenImage}),
		{
			overlayClose:false,
			handler:"adopt",
			size: {x: 480, y: 360},
			onClose: function()
			{

			}
		});*/
	}

	function loadContentVideo(url)
	{

		var contentImage = "<div id='mediaspace'></div>";
		var youtubeUrl="http://www.youtube.com/watch%3Fv%3D";
		var index=url.lastIndexOf("/vi/")+4;
		youtubeUrl = youtubeUrl + url.substr(index,url.lastIndexOf("/")-index);
		//http://img.youtube.com/vi/5gUUILFwPhw/0.jpg
		$.fancybox(
				contentImage,
			{
				'overlayOpacity'    : 0.80,
				'overlayColor'      : '#292929',
				'autoDimensions'	: false,
				'width'         	: 480,
				'height'        	: 385,
				'transitionIn'		: 'none',
				'transitionOut'		: 'none',
				'padding'           : 10,
				'onComplete'        : function()
				{
					var flashvars = {};
					var params = {};
					flashvars.file = youtubeUrl;
					flashvars.backcolor = '000000';
					flashvars.frontcolor = 'fa8009';
					flashvars.volume = '80';
					flashvars.dock = 'false';
					flashvars.plugins = '';
					flashvars.image = url;
					flashvars.autostart = 'true';
					params.loop = "false";
					params.menu = "false";
					params.quality = "high";
					params.scale = "noscale";
					params.wmode = "opaque";
					params.bgcolor = "#FFFFFF";
					params.allowfullscreen = "true";
					params.allowscriptaccess = "always";
					params.autostart ='true';
					var attributes = {};
					attributes.id = 'mediaspace';
					swfobject.embedSWF ("/templates/astronautas/swf/player.swf",  'mediaspace' , "480", "385", "9", "/templates/astronautas/swf/expressInstall.swf", flashvars, params, attributes);
				},
				"onClosed"        : function()
				{
					if(document.getElementById("astronautas"))
						document.getElementById("astronautas").closeLigthBox();
				}
			}

		);
	}
