function Show_Stuff(Click_Menu,Click_Theme,numberOfPage,saveState)
{Select_Theme(Click_Theme);var d=document.getElementById(Click_Menu);var arrayVarIndex=-1;for(var i=0;i<numberOfPage;i++)
{var d=document.getElementById(Click_Menu+i);if(d.style.display=="none")
{if(saveState&&i==0)
{if(isSet(sessvars.arrayVar))
{sessvars.arrayVar.push(Click_Menu+','+Click_Theme+','+numberOfPage);}else
{sessvars.arrayVar=[];sessvars.arrayVar.push(Click_Menu+','+Click_Theme+','+numberOfPage);}}
d.style.display="";}
else
{if(saveState&&i==0)
{if(arrayVarIndex<0)
{arrayVarIndex=FindArrayVarIndex(Click_Menu+','+Click_Theme+','+numberOfPage);if(arrayVarIndex>-1)
sessvars.arrayVar.splice(arrayVarIndex,1);}else
sessvars.arrayVar.splice(arrayVarIndex,1);}
d.style.display="none";}}}
function destaquesMenuPersistance()
{if(isSet(sessvars.arrayVar))
{var len=sessvars.arrayVar.length;for(var i=0;i<len;i++)
{var value=sessvars.arrayVar[i];var valueArr=value.split(",");Show_Stuff(valueArr[0],valueArr[1],valueArr[2],false);}}}
function FindArrayVarIndex(SearchString)
{var len=sessvars.arrayVar.length;for(var i=0;i<len;i++)
{if(sessvars.arrayVar[i]==SearchString)
{return i;}}
return-1;}
function Select_Theme(Click_Theme)
{var d=document.getElementById(Click_Theme);if(d.style.backgroundImage=="")
{d.style.backgroundImage="url(Images/destaquesIconDown.png)";}
else if(d.style.backgroundImage=="url(Images/destaquesIcon.png)")
{d.style.backgroundImage="url(Images/destaquesIconDown.png)";}
else
{d.style.backgroundImage="url(Images/destaquesIcon.png)";}}
function isSet(variable)
{return(typeof variable!='undefined');}
function activateForm()
{document.getElementById('elm1').style.display='block';document.getElementById('save').style.display='block';document.getElementById('reset').style.display='block';}
function deactivateForm()
{document.getElementById('elm1').style.display='none';document.getElementById('save').style.display='none';document.getElementById('reset').style.display='none';}
function validate_form(thisform)
{with(thisform)
{if(validate_required(name,"O nome têm de estar preenchido!")==false)
{name.focus();return false;}
if(isInteger(age.value)==false)
{age.focus();alert("A idade inserida é inválida!");return false;}
if(validate_required(phone,"O telefone têm de estar preenchido!")==false)
{phone.focus();return false;}
if(validate_required(place,"Por favor insira a sua localidade!")==false)
{place.focus();return false;}
if(validatePhone(phone.value)==false)
{alert("O telefone inserido é inválido!");phone.focus();return false;}
if(validatePostalCode(postal_code.value)==false)
{alert("O Código Postal inserido é inválido! O formato deverá ser xxxx-xxx");postal_code.focus();return false;}
if(validate_required(address,"A morada têm de estar preenchida!")==false)
{address.focus();return false;}
if(validate_required(email,"O email têm de estar preenchido!")==false)
{email.focus();return false;}
if(validate_email(email,"O email inserido é inválido. Deverá inserir um email válido pois é através deste que receberá toda a informação necessária para se autenticar no site assim como por onde deverá ser contactado para oficializar a inscrição no curso.")==false)
{email.focus();return false;}
if(isDate(dataNascimento.value)==false)
{dataNascimento.focus();return false;}}}
function validate_addSubscritionForm(thisform)
{with(thisform){if(isDate(dateOfBirth.value)==false)
{dateOfBirth.focus();return false;}}}
function validate_required(field,alerttxt)
{with(field)
{if(value==null||value=="")
{alert(alerttxt);return false;}
else
{return true;}}}
function validate_email(field,alerttxt)
{with(field)
{apos=value.indexOf("@");dotpos=value.lastIndexOf(".");if(apos<1||dotpos-apos<2)
{alert(alerttxt);return false;}
else{return true;}}}
var digits="0123456789";var phoneNumberDelimiters="()- ";var validWorldPhoneChars=phoneNumberDelimiters+"+";var minDigitsInIPhoneNumber=9;var validPostalCodeChars="-";function isInteger(s)
{var i;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(((c<"0")||(c>"9")))return false;}
return true;}
function stripCharsInBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)==-1)returnString+=c;}
return returnString;}
function validatePhone(strPhone)
{s=stripCharsInBag(strPhone,validWorldPhoneChars);return(isInteger(s)&&s.length>=minDigitsInIPhoneNumber);}
function validatePostalCode(strPostalCode)
{s=stripCharsInBag(strPostalCode,validPostalCodeChars);return(isInteger(s)&&s.length>=4);}
var dtCh="/";var minYear=1900;var maxYear=2100;function daysInFebruary(year){return(((year%4==0)&&((!(year%100==0))||(year%400==0)))?29:28);}
function DaysArray(n){for(var i=1;i<=n;i++){this[i]=31
if(i==4||i==6||i==9||i==11){this[i]=30}
if(i==2){this[i]=29}}
return this}
function isDate(dtStr){var daysInMonth=DaysArray(12)
var pos1=dtStr.indexOf(dtCh)
var pos2=dtStr.indexOf(dtCh,pos1+1)
var strYear=dtStr.substring(0,pos1)
var strMonth=dtStr.substring(pos1+1,pos2)
var strDay=dtStr.substring(pos2+1)
strYr=strYear
if(strDay.charAt(0)=="0"&&strDay.length>1)strDay=strDay.substring(1)
if(strMonth.charAt(0)=="0"&&strMonth.length>1)strMonth=strMonth.substring(1)
for(var i=1;i<=3;i++){if(strYr.charAt(0)=="0"&&strYr.length>1)strYr=strYr.substring(1)}
month=parseInt(strMonth)
day=parseInt(strDay)
year=parseInt(strYr)
if(pos1==-1||pos2==-1){alert("O formato da data de nascimento do bébé deverá ser: aaaa/mm/dd")
return false}
if(strMonth.length<1||month<1||month>12){alert("Por favor insira um mês valido!")
return false}
if(strDay.length<1||day<1||day>31||(month==2&&day>daysInFebruary(year))||day>daysInMonth[month]){alert("Por favor insira um dia válido")
return false}
if(strYear.length!=4||year==0||year<minYear||year>maxYear){alert("Por favor insira um ano com 4 digitos válido entre "+minYear+" e "+maxYear)
return false}
if(dtStr.indexOf(dtCh,pos2+1)!=-1||isInteger(stripCharsInBag(dtStr,dtCh))==false){alert("Por favor insira uma data válida!")
return false}
return true}
sessvars=function(){var x={};x.$={prefs:{memLimit:2000,autoFlush:true,crossDomain:false,includeProtos:false,includeFunctions:false},parent:x,clearMem:function(){for(var i in this.parent){if(i!="$"){this.parent[i]=undefined}};this.flush();},usedMem:function(){x={};return Math.round(this.flush(x)/1024);},usedMemPercent:function(){return Math.round(this.usedMem()/this.prefs.memLimit);},flush:function(x){var y,o={},j=this.$$;x=x||top;for(var i in this.parent){o[i]=this.parent[i]};o.$=this.prefs;j.includeProtos=this.prefs.includeProtos;j.includeFunctions=this.prefs.includeFunctions;y=this.$$.make(o);if(x!=top){return y.length};if(y.length/1024>this.prefs.memLimit){return false}
x.name=y;return true;},getDomain:function(){var l=location.href
l=l.split("///").join("//");l=l.substring(l.indexOf("://")+3).split("/")[0];while(l.split(".").length>2){l=l.substring(l.indexOf(".")+1)};return l},debug:function(t){var t=t||this,a=arguments.callee;if(!document.body){setTimeout(function(){a(t)},200);return};t.flush();var d=document.getElementById("sessvarsDebugDiv");if(!d){d=document.createElement("div");document.body.insertBefore(d,document.body.firstChild)};d.id="sessvarsDebugDiv";d.innerHTML='<div style="line-height:20px;padding:5px;font-size:11px;font-family:Verdana,Arial,Helvetica;'+'z-index:10000;background:#FFFFCC;border: 1px solid #333;margin-bottom:12px">'+'<b style="font-family:Trebuchet MS;font-size:20px">sessvars.js - debug info:</b><br/><br/>'+'Memory usage: '+t.usedMem()+' Kb ('+t.usedMemPercent()+'%)&nbsp;&nbsp;&nbsp;'+'<span style="cursor:pointer"><b>[Clear memory]</b></span><br/>'+
top.name.split('\n').join('<br/>')+'</div>';d.getElementsByTagName('span')[0].onclick=function(){t.clearMem();location.reload()}},init:function(){var o={},t=this;try{o=this.$$.toObject(top.name)}catch(e){o={}};this.prefs=o.$||t.prefs;if(this.prefs.crossDomain||this.prefs.currentDomain==this.getDomain()){for(var i in o){this.parent[i]=o[i]};}
else{this.prefs.currentDomain=this.getDomain();};this.parent.$=t;t.flush();var f=function(){if(t.prefs.autoFlush){t.flush()}};if(window["addEventListener"]){addEventListener("unload",f,false)}
else if(window["attachEvent"]){window.attachEvent("onunload",f)}
else{this.prefs.autoFlush=false};}};x.$.$$={compactOutput:false,includeProtos:false,includeFunctions:false,detectCirculars:true,restoreCirculars:true,make:function(arg,restore){this.restore=restore;this.mem=[];this.pathMem=[];return this.toJsonStringArray(arg).join('');},toObject:function(x){if(!this.cleaner){try{this.cleaner=new RegExp('^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t])+?$')}
catch(a){this.cleaner=/^(true|false|null|\[.*\]|\{.*\}|".*"|\d+|\d+\.\d+)$/}};if(!this.cleaner.test(x)){return{}};eval("this.myObj="+x);if(!this.restoreCirculars||!alert){return this.myObj};if(this.includeFunctions){var x=this.myObj;for(var i in x){if(typeof x[i]=="string"&&!x[i].indexOf("JSONincludedFunc:")){x[i]=x[i].substring(17);eval("x[i]="+x[i])}}};this.restoreCode=[];this.make(this.myObj,true);var r=this.restoreCode.join(";")+";";eval('r=r.replace(/\\W([0-9]{1,})(\\W)/g,"[$1]$2").replace(/\\.\\;/g,";")');eval(r);return this.myObj},toJsonStringArray:function(arg,out){if(!out){this.path=[]};out=out||[];var u;switch(typeof arg){case'object':this.lastObj=arg;if(this.detectCirculars){var m=this.mem;var n=this.pathMem;for(var i=0;i<m.length;i++){if(arg===m[i]){out.push('"JSONcircRef:'+n[i]+'"');return out}};m.push(arg);n.push(this.path.join("."));};if(arg){if(arg.constructor==Array){out.push('[');for(var i=0;i<arg.length;++i){this.path.push(i);if(i>0)
out.push(',\n');this.toJsonStringArray(arg[i],out);this.path.pop();}
out.push(']');return out;}else if(typeof arg.toString!='undefined'){out.push('{');var first=true;for(var i in arg){if(!this.includeProtos&&arg[i]===arg.constructor.prototype[i]){continue};this.path.push(i);var curr=out.length;if(!first)
out.push(this.compactOutput?',':',\n');this.toJsonStringArray(i,out);out.push(':');this.toJsonStringArray(arg[i],out);if(out[out.length- 1]==u)
out.splice(curr,out.length- curr);else
first=false;this.path.pop();}
out.push('}');return out;}
return out;}
out.push('null');return out;case'unknown':case'undefined':case'function':if(!this.includeFunctions){out.push(u);return out};arg="JSONincludedFunc:"+arg;out.push('"');var a=['\n','\\n','\r','\\r','"','\\"'];arg+="";for(var i=0;i<6;i+=2){arg=arg.split(a[i]).join(a[i+1])};out.push(arg);out.push('"');return out;case'string':if(this.restore&&arg.indexOf("JSONcircRef:")==0){this.restoreCode.push('this.myObj.'+this.path.join(".")+"="+arg.split("JSONcircRef:").join("this.myObj."));};out.push('"');var a=['\n','\\n','\r','\\r','"','\\"'];arg+="";for(var i=0;i<6;i+=2){arg=arg.split(a[i]).join(a[i+1])};out.push(arg);out.push('"');return out;default:out.push(String(arg));return out;}}};x.$.init();return x;}()
