

var ie = document.all;
var ns6 = document.getElementById && !document.all;
var debugerActive;
function ge(B){
    if (ie || ns6) {
        tipobj = document.all ? document.all[B] : document.getElementById ? document.getElementById(B) : ""
    }
    return tipobj
}

var W3CDOM = (document.createElement && document.getElementsByTagName);
function debug(E){
    if (debugerActive) {
        if (!ge("debuger")) {
            if (!W3CDOM) {
                return
            }
            var D = document.getElementsByTagName("body").item(0);
            var F = document.createElement("div");
            F.setAttribute("id", "debuger");
            F.style.position = "absolute";
            F.style.bottom = "0";
            F.style.left = "0";
            F.style.zIndex = "90";
            F.style.width = "300px";
            F.style.height = "300px";
            F.style.overflow = "scroll";
            F.style.backgroundColor = "#FFF";
            F.style.border = "1px solid #000";
            F.innerHTML = '<span style="background-color:#FF0000; width:100%; display:block" id="debugerHandle">Debuger</span>';
            D.insertBefore(F, D.firstChild)
        }
        ge("debuger").innerHTML += E + "<br />";
        ge("debuger").style.visibility = "visible"
    }
}

function grayOut(A, K){
    var K = K ||
    {};
    var J = K.zindex || 50;
    var G = K.opacity || 70;
    var F = (G / 100);
    var L = K.bgcolor || "#333";
    var H = document.getElementById("darkenScreenObject");
    if (!H) {
        var E = document.getElementsByTagName("body")[0];
        var B = document.createElement("div");
        B.style.position = "absolute";
        B.style.top = "0px";
        B.style.left = "0px";
        B.style.overflow = "hidden";
        B.style.display = "none";
        B.id = "darkenScreenObject";
        E.appendChild(B);
        H = document.getElementById("darkenScreenObject")
    }
    selects = document.getElementsByTagName("select");
    sizes = getSizes();
    if (A) {
        if (document.body && (document.body.scrollWidth || document.body.scrollHeight)) {
            var I = document.body.scrollWidth + "px";
            var C = Math.max(document.body.scrollHeight, sizes.myheight) + "px"
        }
        else {
            if (document.body.offsetWidth) {
                var I = document.body.offsetWidth + "px";
                var C = Math.max(document.body.offsetHeight, sizes.myheight) + "px"
            }
            else {
                var I = "100%";
                var C = "100%"
            }
        }
        H.style.opacity = F;
        H.style.MozOpacity = F;
        H.style.filter = "alpha(opacity=" + G + ")";
        H.style.zIndex = J;
        H.style.backgroundColor = L;
        H.style.width = I;
        H.style.height = C;
        H.style.display = "block";
        for (var D = 0; D < selects.length; D++) {
            mobj = selects[D];
            mobj.style.visibility = "hidden"
        }
    }
    else {
        H.style.display = "none";
        for (var D = 0; D < selects.length; D++) {
            mobj = selects[D];
            mobj.style.visibility = "visible"
        }
    }
}

Array.prototype.contains = function(D){
    for (var C = 0; C < this.length; C++) {
        if (this[C] == D) {
            return true
        }
    }
    return false
};
Array.prototype.unshift = function(D){
    this[this.length] = null;
    for (var C = 1; C < this.length; C++) {
        this[C] = this[C - 1]
    }
    this[0] = D
};
Array.prototype.Shift = function(){
    for (var B = 1; B < this.length; B++) {
        this[B - 1] = this[B]
    }
    this.length = this.length - 1
};
Array.prototype.remove = function(D){
    for (var C = D; C < this.length; C++) {
        this[C] = this[C + 1]
    }
    this.length = this.length - 1
};
Array.prototype.plainString = function(){
    var D = new String();
    for (var C = 0; C < this.length; C++) {
        D += this[C]
    }
    return D
};
String.prototype.toArray = function(){
    var C = new Array();
    for (var D = 0; D < this.length; D++) {
        C.push(this[D])
    }
    return C
};
function TB_getPageSize(){
    var E = document.documentElement;
    var D = window.innerWidth || self.innerWidth || (E && E.clientWidth) || document.body.clientWidth;
    var F = window.innerHeight || self.innerHeight || (E && E.clientHeight) || document.body.clientHeight;
    arrayPageSize = new Array(D, F);
    return arrayPageSize
}

function TB_getPageScrollTop(){
    var C;
    var D;
    if (self.pageYOffset || self.pageXOffset) {
        C = self.pageYOffset;
        D = self.pageXOffset
    }
    else {
        if (document.documentElement && document.documentElement.scrollTop || document.documentElement.scrollLeft) {
            C = document.documentElement.scrollTop;
            D = document.documentElement.scrollLeft
        }
        else {
            if (document.body) {
                C = document.body.scrollTop;
                D = document.body.scrollLeft
            }
        }
    }
    arrayPageScroll = new Array(D, C);
    return arrayPageScroll
}

function centerObject(H, L){
    H.style.position = "absolute";
    var L = L ||
    {};
    var I = L.objH || H.offsetHeight;
    var J = L.objW || H.offsetWidth;
    var K = TB_getPageSize();
    var G = TB_getPageScrollTop();
    H.style.left = (G[0] + (K[0] - J) / 2) + "px";
    H.style.top = (G[1] + (K[1] - I) / 2) + "px"
}

function positionObject(J, P){
    J.style.position = "absolute";
    var P = P ||
    {};
    position = P.position || "center";
    var K = P.objH || J.offsetHeight;
    var N = P.objW || J.offsetWidth;
    var O = TB_getPageSize();
    var I = TB_getPageScrollTop();
    var L = 0;
    var M = 0;
    switch (position) {
        case "topleft":
            L = 0;
            M = I[1];
            break;
        default:
            L = (I[0] + (O[0] - N) / 2);
            M = (I[1] + (O[1] - K) / 2)
    }
    J.style.left = L + "px";
    J.style.top = M + "px"
}

function getSizes(){
    var B = 0, A = 0;
    if (typeof(window.innerWidth) == "number") {
        B = window.innerWidth;
        A = window.innerHeight
    }
    else {
        if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
            B = document.documentElement.clientWidth;
            A = document.documentElement.clientHeight
        }
        else {
            if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
                B = document.body.clientWidth;
                A = document.body.clientHeight
            }
        }
    }
    sizes = {};
    sizes.mywidth = B;
    sizes.myheight = A;
    return sizes
};
String.prototype.trim = function(){
    return this.replace(/^\s+|\s+$/g, "");
}
String.prototype.ltrim = function(){
    return this.replace(/^\s+/, "");
}
String.prototype.rtrim = function(){
    return this.replace(/\s+$/, "");
}
truePosition = function(element){
    var pos = cumulativeOffset(element);
    if (window.opera) {
        return pos;
    }
    var iebody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
    var dsocleft = document.all ? iebody.scrollLeft : window.pageXOffset;
    var dsoctop = document.all ? iebody.scrollTop : window.pageYOffset;
    var posReal = realOffset(element);
    return [pos[0] - posReal[0] + dsocleft, pos[1] - posReal[1] + dsoctop];
};

function positionObjRelTo(div, elem, positionType,effect){
    var o = this
	
	effect = false|effect
	
    var pagesize = TB_getPageSize();
    var arrayPageScroll = TB_getPageScrollTop();
    var pos = [];
    
    div = $(div)
    div.show()
    div.absolutize()
	objPos = truePosition(div);
   if(!effect)
       div.style.left = div.style.top = "0px";
    
    
    if (elem == "screen") {
        pos[0] = (arrayPageScroll[0] + (pagesize[0]) / 2)
        pos[1] = (arrayPageScroll[1] + (pagesize[1]) / 2)
        myElem = {}
        myElem.offsetHeight = (pagesize[1]) / 2
    }
    else {
        pos = truePosition(elem);
        myElem = elem;
    }
    var dividew = 1;
    var divideh = 1;
    switch (positionType) {
        case "center":
            dividew = 2;
            divideh = 2;
            break;
		case "centertop":
			dividew = 2;
            divideh = 0;
            break;
		case "centerleft":
			dividew = 0;
            divideh = 2;
            break;
    }
    
    var osh = div.offsetHeight;
    var osw = div.offsetWidth;
    
    if (dividew == 2) 
        subtract = osw / dividew;
    else 
        subtract = 0
    
    var trueBody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
    var scrollTop = window.devicePixelRatio || window.opera ? 0 : trueBody.scrollTop;
    var scrollLeft = window.devicePixelRatio || window.opera ? 0 : trueBody.scrollLeft;
    
	targetPos = {}
	
	
	if (dividew == 0) 
			targetPos.left = scrollLeft 
		else 
			if (parseInt(trueBody.clientWidth + scrollLeft) < parseInt(osw + pos[0])) {
				targetPos.left = Math.abs(parseInt((trueBody.clientWidth + scrollLeft) - osw)) - osw / dividew 
			}
			else {
				targetPos.left = pos[0] - subtract 
			};
		
		if (divideh == 0) 
			targetPos.top = scrollTop 
		else 
			if (parseInt(trueBody.clientHeight + scrollTop) < parseInt(osh + pos[1] + myElem.offsetHeight + 2)) {
				targetPos.top = Math.abs(parseInt(pos[1] - (osh / divideh + 2))) 
			}
			else {
				targetPos.top = Math.abs(parseInt(pos[1] + myElem.offsetHeight + 2)) 
			};
	
	if (!effect) {
		div.style.top = targetPos.top + "px";
		div.style.left = targetPos.left + "px";
	}
	else {
		
		tracer.log(pos)
		
		dif = {}
		dif.left = targetPos.left - objPos[0]
		dif.top = targetPos.top - objPos[1]
		
		new Effect.Move(div, {	x: dif.left,	y: dif.top,	mode: 'relative'});
	}
}


realOffset = function(element){
    var t = 0, l = 0;
    do {
        t += element.scrollTop || 0;
        l += element.scrollLeft || 0;
        element = element.parentNode;
    }
    while (element);
    return [l, t];
};
cumulativeOffset = function(element){
    var t = 0, l = 0;
    do {
        t += element.offsetTop || 0;
        l += element.offsetLeft || 0;
        element = element.offsetParent;
    }
    while (element);
    return [l, t];
};
tnsn = function(elementName){
    return document.getElementsByTagName(elementName)
}
function showExtraOptions_notused(inviteId){
    elem = myObj = $('linkMais_' + inviteId)
    div = $('extraOptions')
    $('transferBtn').onclick = function(){
        tracer.log(inviteId)
    }
    grayOutOptions = {}
    grayOutOptions.bgcolor = "#000";
    grayOutOptions.opacity = 70;
    grayOut(true, grayOutOptions);
    $('darkenScreenObject').onclick = function(){
        div.hide();
        grayOut(false)
    }
    $('selectCampParaTransferir').setStyle({
        visibility: 'visible'
    })
    
    positionObjRelTo(div, "screen", "center")
    tracer.log(tnsn('select'))
    
    mySelects = tnsn('select')
    for (var c = 0; c < mySelects.length; c++) {
        tracer.log(getzIndex(mySelects[c]))
    }
    
    
    
}

function getzIndex(obj){
    obj = $(obj)
    myZindex = obj.style.zIndex;
    if (myZindex > 0) 
        return myZindex
    else {
        myParents = obj.ancestors()
        for (var c = 0; c < myParents.length; c++) {
            if (myParents[c].style.zIndex > 0) 
                return myParents[c].style.zIndex
        }
        return 0;
    }
}


function myConsole() {
	this.log = function(obj) {
		try
		{
			console.log(obj )
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	this.debug = function(obj) {
		try
		{
			console.debug(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	this.info = function(obj) {
		try
		{
			console.info(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	this.warn = function(obj) {
		try
		{
			console.warn(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	this.error = function(obj) {
		try
		{
			console.error(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	this.assert = function(obj) {
		try
		{
			console.assert(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	
	this.dir = function(obj) {
		try
		{
			console.dir(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	this.dirxml = function(obj) {
		try
		{
			console.dirxml(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	
	this.trace = function(obj) {
		try
		{
			console.trace(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	this.group = function(obj) {
		try
		{
			console.group(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	
	this.groupEnd = function() {
		try
		{
			console.groupEnd()
		}
		catch(err)
		{
			donothing = true
		}
	}
	
	this.time = function(name) {
		try
		{
			console.time(name)
		}
		catch(err)
		{
			donothing = true
		}
	}
	this.timeEnd = function(name) {
		try
		{
			console.timeEnd(name)
		}
		catch(err)
		{
			donothing = true
		}
	}
	this.profile = function(obj) {
		try
		{
			console.profile(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	this.profileEnd = function(obj) {
		try
		{
			console.profileEnd(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
	this.count = function(obj) {
		try
		{
			console.count(obj)
		}
		catch(err)
		{
			donothing = true
		}
	}
}

//Scripts JWalker
//

//esqueci-me de mudar a meta do AgeControl...
var metatags = document.getElementsByTagName("meta");
for (cnt = 0; cnt < metatags.length; cnt++){
	if (metatags[cnt].getAttribute("name") == "description")
	     metatags[cnt].setAttribute("content", "Conheça o whisky que é uma referência para qualquer especialista. Seja responsável. Beba com moderação. Comunicação dirigida a maiores de 18 anos.");
}

tracer = new myConsole();
var overlayColor = "#000";

document.observe("dom:loaded",function() {
	$$('.popup').each(function(ele) {
		var e = ele.remove();
		$$('body')[0].insert(e);
	})
})

function makeRequest(url, params, successFunc){
	var myajax = {}
	myajax.ajax= Object.toJSON(params)
	new Ajax.Request(url, {
	  method:'post',
	  parameters: myajax,
	  onSuccess:successFunc 
	  
	});
} 

function SelecionaTemas() {
	temasInputs = $('temasForm').getElementsByTagName('input')
	temasSelects = [];
	for(var c= 0; c<temasInputs.length; c++) {
		if(temasInputs[c].type == "checkbox") {
			temasSelects.push(temasInputs[c])
		}
	}
	//tracer.log(temasSelects);
	selecionados = 0;
	temasNaoSelecionados = []
	for(var c=0; c < temasSelects.length; c++) {
		if(temasSelects[c].checked)
			selecionados++;
		else
			temasNaoSelecionados.push(temasSelects[c])
	}
	//tracer.log(temasNaoSelecionados);
	//tracer.log("Temas selecionados: "+selecionados);
	for(var c=0; c<temasNaoSelecionados.length; c++) {
		/*if(selecionados == 4)
			temasNaoSelecionados[c].disabled = true;
		else
			temasNaoSelecionados[c].disabled = false;*/
	}
	if (selecionados >= 4) {
		$('continuar').disabled = false;
		$('displayWarning').hide()
//		$('continuar').addClassName('')
	}
	else {
		$('continuar').disabled = true;
		$('displayWarning').show()
	}
}

function selecionaTodosTemas() {
	temasInputs = $('temasForm').getElementsByTagName('input')
	temasSelects = [];
	for(var c= 0; c<temasInputs.length; c++) {
		if(temasInputs[c].type == "checkbox") {
			temasInputs[c].checked = true
		}
	}
}

function showError(text) {
	options = {};
	options.bgcolor = overlayColor;
	options.opacity = 40;
	grayOut(true,options)
	errorDiv = $('errorDiv')
	$('errorMsg').update(text)
	window.onscroll = function () {
		centerObject(errorDiv);
	}
	
	errorDiv.show();
	centerObject(errorDiv);

}

function hideError() {
	$('errorDiv').hide()
	grayOut(false)
}

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	    return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	     return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    
	    return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	   
	    return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	   
	    return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    
	    return false
	 }
	
	 if (str.indexOf(" ")!=-1){
	    
	    return false
	 }

		 return true					
}

var requiredFields = []
requiredFields.push("nome");
requiredFields.push("apelido");
requiredFields.push("morada")
//requiredFields.push("morada_numero")
requiredFields.push("localidade")
requiredFields.push("cpostal")
requiredFields.push("pais")
requiredFields.push("telemovel")
requiredFields.push("email")
requiredFields.push("password")
requiredFields.push("password2")
//requiredFields.push("bi")
//requiredFields.push("cd")

var continueAnyway = false
function checkForm(myform) {
	ret = true;
	
	////tracer.log($('nome'))
	/*Campos normais*/
	//$('nomeTD').addClassName("textfieldRequiredState")
	for(var i = 0; i<requiredFields.length; i++) {
		
		
		campo = $(requiredFields[i])
		
		if(campo.value.length < 1) {
			ret = false;
			$(campo.parentNode).addClassName('textfieldRequiredState')
			//tracer.log("Campo por preencher:"+requiredFields[i])
			if($('no_'+requiredFields[i]))
			$('no_'+requiredFields[i]).show();
		} else {
			$(campo.parentNode).removeClassName("textfieldRequiredState")
			if($('no_'+requiredFields[i])) 
			$('no_'+requiredFields[i]).hide();
		}
	}
	
	if ($('pais').value == "Portugal") {
		//tracer.log($('cpostal').value.length)
		if ($('cpostal').value.length != 8) {
			$($('cpostal').parentNode).addClassName("textfieldRequiredState")	
			$('no_cpostal').show();
			ret = false
		} else
			$('no_cpostal').hide();
	}
	
	/*Termos e condicoes*/
	if (!$("aceitaTEC").checked) {
		ret = false;
		$('no_aceitaTEC').show();
		$($("aceitaTEC").parentNode).addClassName("textfieldRequiredState")
	} else {
		$($("aceitaTEC").parentNode).removeClassName("textfieldRequiredState")
		$('no_aceitaTEC').hide();
	}
	/*Passwords*/
	if($('password').value == $('password2').value )
		passwordMatches = true;
	else
		passwordMatches = false;
	
	
		
	////tracer.log("password: "+$('password').value)
	////tracer.log("pass size: "+$('password').value.length)
	////tracer.log($('password'))
	if ($('password').value.length >= 5 && $('password').value.length <= 25  ) {
		passwordSize = true;
		$('passTooShort').hide();
	}
	else {
		passwordSize = false;
		//tracer.log("Pass demasiado curta")
		$('passTooShort').show();
		
	}
	
	if(passwordSize) 
		$('inc_password').hide();
	else
		$('inc_password').show();
		
	if(passwordMatches)
		$('match_password').hide();
	else
		$('match_password').show();
	
	if( passwordSize && passwordMatches )	 {
		$($("password").parentNode).removeClassName("textfieldRequiredState")
		$($("password2").parentNode).removeClassName("textfieldRequiredState")
	} else {
		ret = false;
		//tracer.log("Pass  diferente de confirmacao")
		
		$($("password").parentNode).addClassName("textfieldRequiredState")
		$($("password2").parentNode).addClassName("textfieldRequiredState")
	}
	
	if (!($('mf_m').checked || $('mf_f').checked)) {
		$($("mf_m").parentNode).addClassName("textfieldRequiredState")
		ret = false;
		$('no_mf').show();
	} else {
		$($("mf_m").parentNode).removeClassName("textfieldRequiredState")
		$('no_mf').hide();
	}
	
	var freqnl = $$('input[name="freqnl"]:checked').pluck("value");
	if(freqnl.length == 0) {
		$('no_freqnl').show()
		$$('input[name="freqnl"]')[0].up("fieldset").addClassName("textfieldRequiredState")
		ret =false;
	} else {
		$$('input[name="freqnl"]')[0].up("fieldset").removeClassName("textfieldRequiredState")
		$('no_freqnl').hide()
	}
	
	
	/*Data*/
	data = "";
	var d = new Date();
	diaHoje = d.getDate();
	mesHoje = d.getMonth()+1;
	anoHoje = d.getFullYear();
	
	dia = $('dataNascimento_dia').value
	mes = $('dataNascimento_mes').value
	ano = $('dataNascimento_ano').value
	
	if(dia!=-1 && ano!=-1 && mes!=-1 ) 
		$('no_dataNascimento').hide();
	else
		$('no_dataNascimento').show();
	
	if(ano != -1)
		difAnos = anoHoje - ano;
	else
		difAnos = 0;
	dataOk = false;
	if(difAnos>18)
		dataOk=true
	if(difAnos==18 && dia!=-1 && ano!=-1 && mes!=-1 ) {
		if(mes< mesHoje) {
			dataOk=true
		} else if(mes==mesHoje) {
			if(dia <= diaHoje)
				dataOk=true
		}
	}
	if(!(dia != -1 && ano !=-1 && mes != -1))
		dataOk = false;
	if(!dataOk) {
		$($("dataNascimento_dia").parentNode).addClassName("textfieldRequiredState")
		ret = false;
		$('inv_dataNascimento').show()
	} else {
		$($("dataNascimento_dia").parentNode).removeClassName("textfieldRequiredState")
		$('inv_dataNascimento').hide()
	}
	
	/*Email unico*/
	if(!uniqueEmail) {
		ret = false;
		$('emailInUse').show();
		$('dup_email').show()
	} else {
		$('emailInUse').hide();
		$('dup_email').hide()
	}
	if(!echeck($('email').value)) {
		ret = false;
		$($("email").parentNode).addClassName("textfieldRequiredState")
		$('inv_email').show()
	} else {
		$($("email").parentNode).removeClassName("textfieldRequiredState")
		$('inv_email').hide()
	}
	
	if(checkedbi && !uniqueBI) {
		ret = false;
		$('dup_bi').show()
	} else
		$('dup_bi').hide()
	 
	if($$('input[name="nacionalidade"]:checked')[0].value == 1) {
		/*if($('bi').value.length < 1) {
			ret = false;
			$($('bi').parentNode).addClassName('textfieldRequiredState')			 
			if($('no_bi'))
			$('no_bi').show();
		} else {
			$($('bi').parentNode).removeClassName("textfieldRequiredState")
			if($('no_bi')) 
			$('no_bi').hide();
		}
		if($('cd').value.length < 1) {
			ret = false;
			$($('cd').parentNode).addClassName('textfieldRequiredState')			 
			if($('no_bi'))
				$('no_bi').show();
		} else {
			$($('cd').parentNode).removeClassName("textfieldRequiredState")
			if($('no_bi')) 
				$('no_bi').hide();
		}
		
		if(checkedbi) {
			$('no_bi').hide()
			if(!valid_BI) {
				ret = false
				$('invalid_bi').show()
			} else 
				$('invalid_bi').hide()
			if(!uniqueBI) {
				ret = false
				$('dup_bi').show()
			} else 
				$('dup_bi').hide()
		} else {
			ret = false
			$('no_bi').show()
		}*/
		$('no_passaporte').hide();
		$('dup_passaporte').hide()
		$('no_upload_cartcid').hide()
	} else {
		 
		if($('passaporte').value.length < 1) {
			ret = false;
			$($('passaporte').parentNode).addClassName('textfieldRequiredState')			 
			if($('no_passaporte'))
				$('no_passaporte').show();
		} else {
			$($('passaporte').parentNode).removeClassName("textfieldRequiredState")
			if($('no_passaporte')) 
				$('no_passaporte').hide();
		}
		if($('upload_cartcid').value.length < 1) {
			ret = false;
			$($('upload_cartcid').parentNode).addClassName('textfieldRequiredState')			 
			if($('no_upload_cartcid'))
				$('no_upload_cartcid').show();
		} else {
			$($('upload_cartcid').parentNode).removeClassName("textfieldRequiredState")
			if($('no_upload_cartcid')) 
				$('no_upload_cartcid').hide();
		}
		if(checkedpassaporte) {
			$('no_passaporte').hide()
			 
			if(!unique_passaporte) {
				ret = false
				$('dup_passaporte').show()
			} else 
				$('dup_passaporte').hide()
		} else {
			ret = false
			$('no_passaporte').show()
		}
		
	}
	aEmail = $('aceitaEmail').checked;
	aSMS = $('aceitaSMS').checked
	aCorreio = $('aceitaCorreio').checked
	
	if(!continueAnyway && !aSMS && !aEmail && !aCorreio && ret) {
		grayOut(true)
		$('contactsWarning').show();
		centerObject($('contactsWarning'))
		hideSelects()
		ret = false;
	} else	if(!aEmail && !continueAnyway && ret) {
		grayOut(true)
		$('emailWarning').show();
		centerObject($('emailWarning'))
		hideSelects()
		ret = false;
	} else if(!ret) {
	//	grayOut(true)
		$('displayWarning').show();
	//	$('emptyWarning').show();
	//	centerObject($('emptyWarning'))
	//	hideSelects()
	}
	//if(ret)
	//	$('formRegisto').action = '/registo/novo/0/1'
	return ret;
	
}

function hideSelects() {
	if(Prototype.Browser.IE) {
		$$('select').invoke("addClassName","modal_sel_hidden")
	}
}

function hideWarning(warningDiv) {
	$(warningDiv).hide();
	grayOut(false)
	if(warningDiv=='emailWarning') {
		$('aceitaEmail').checked = true;
		if(checkForm('formRegisto'))
			$('formRegisto').submit();
	}
	$$('.modal_sel_hidden').invoke("removeClassName","modal_sel_hidden")
}

function continuaForm(warningDiv) {
	continueAnyway = true
	$(warningDiv).hide();
	grayOut(false)
	if(checkForm('formRegisto'))
		$('formRegisto').submit();
}

var perfilRequiredFields = []
perfilRequiredFields.push("nome");
perfilRequiredFields.push("apelido");
perfilRequiredFields.push("morada")
//perfilRequiredFields.push("morada_numero")
perfilRequiredFields.push("localidade")
perfilRequiredFields.push("cpostal")
perfilRequiredFields.push("pais")
perfilRequiredFields.push("telemovel")


function perfilCheckForm(myform) {
	ret = true;
	
	for(var i = 0; i<perfilRequiredFields.length; i++) {
		
		
		campo = $(perfilRequiredFields[i])
		
		if(campo.value.length < 2) {
			ret = false;
			$(campo.parentNode).addClassName('textfieldRequiredState')
			//tracer.log("Campo por preencher:"+requiredFields[i])
		} else
			$(campo.parentNode).removeClassName("textfieldRequiredState")
		
	} 
	totalSelecionados = perfilSelecionaTemas()
	
	
	/*Passwords*/
	if($('password').value == $('password2').value  )
		passwordMatches = true;
	else
		passwordMatches = false;
	
	
	////tracer.log("password: "+$('password').value)
	////tracer.log("pass size: "+$('password').value.length)
	////tracer.log($('password'))
	if ($('password').value.length >= 5 && $('password').value.length <= 25  ) {
		passwordSize = true;
		$('passTooShort').hide();
	}
	else {
		passwordSize = false;
		//tracer.log("Pass demasiado curta")
		$('passTooShort').show();
		
	}
	
	if ($('password').value == "" && $('password2').value == "") {
		passwordMatches = true
		passwordSize = true
	}
	
	if( passwordSize && passwordMatches )	 {
		$($("password").parentNode).removeClassName("textfieldRequiredState")
		$($("password2").parentNode).removeClassName("textfieldRequiredState")
	} else {
		ret = false;
		//tracer.log("Pass  diferente de confirmacao")
		$($("password").parentNode).addClassName("textfieldRequiredState")
		$($("password2").parentNode).addClassName("textfieldRequiredState")
		
		
	}
	var freqnl = $$('input[name="freqnl"]:checked').pluck("value");
	if(freqnl.length == 0) {
		//$('no_freqnl').show()
		$$('input[name="freqnl"]')[0].up("tr").previous("tr").addClassName("textfieldRequiredState")
		ret =false;
	} else {
		$$('input[name="freqnl"]')[0].up("tr").previous("tr").removeClassName("textfieldRequiredState")
		//$('no_freqnl').hide()
	}
	
	/*Data*/
	data = "";
	var d = new Date();
	diaHoje = d.getDate();
	mesHoje = d.getMonth()+1;
	anoHoje = d.getFullYear();
	
	dia = $('dataNascimento_dia').value
	mes = $('dataNascimento_mes').value
	ano = $('dataNascimento_ano').value
	if(ano != -1)
		difAnos = anoHoje - ano;
	else
		difAnos = 0;
	dataOk = false;
	if(difAnos>18)
		dataOk=true
	if(difAnos==18 && dia!=-1 && ano!=-1 && mes!=-1 ) {
		if(mes< mesHoje) {
			dataOk=true
		} else if(mes==mesHoje) {
			if(dia <= diaHoje)
				dataOk=true
		}
	}
	
	if(!dataOk) {
		$($("dataNascimento_dia").parentNode).addClassName("textfieldRequiredState")
		ret = false;
	} else
		$($("dataNascimento_dia").parentNode).removeClassName("textfieldRequiredState")
	if(totalSelecionados < 4)
		ret=false
	if(!ret)
		$('displayWarning').show();
	
	return ret;
	
}

function perfilSelecionaTemas(msg) {
	temasInputs = $('perfilTemas').getElementsByTagName('input')
	temasSelects = [];
	for(var c= 0; c<temasInputs.length; c++) {
		if(temasInputs[c].type == "checkbox") {
			temasSelects.push(temasInputs[c])
		}
	}
	//tracer.log(temasSelects);
	selecionados = 0;
	temasNaoSelecionados = []
	for(var c=0; c < temasSelects.length; c++) {
		if(temasSelects[c].checked)
			selecionados++;
		else
			temasNaoSelecionados.push(temasSelects[c])
	}
	//tracer.log(temasNaoSelecionados);
	//tracer.log("Temas selecionados: "+selecionados);
	for(var c=0; c<temasNaoSelecionados.length; c++) {
		/*if(selecionados == 4)
			temasNaoSelecionados[c].disabled = true;
		else
			temasNaoSelecionados[c].disabled = false;*/
	}
	if (selecionados >= 4) {
	//	$('ok').disabled = false;
		$('warningTemas').hide()
	}
	else {
	//	$('ok').disabled = true;
		$('warningTemas').show()
	}
	//tracer.log(msg)
	return selecionados;
}

function perfilSelecionaTodosTemas() {
	temasInputs = $('perfilTemas').getElementsByTagName('input')
	temasSelects = [];
	for(var c= 0; c<temasInputs.length; c++) {
		if(temasInputs[c].type == "checkbox") {
			temasInputs[c].checked = true
		}
	}
} 

var meses = []
meses[1] = 31
meses[2] = 28
meses[3] = 31
meses[4] = 30
meses[5] = 31
meses[6] = 30
meses[7] = 31
meses[8] = 31
meses[9] = 30
meses[10] = 31
meses[11] = 30
meses[12] = 31

function changedDate(qual) {
	comboDia = $('dataNascimento_dia')
	comboMes = $('dataNascimento_mes')
	comboAno = $('dataNascimento_ano')
	
	switch(qual) {
		case "ano":
			normal = comboAno.value % 4
			if(!normal) 
				meses[2] = 29
			else
				meses[2] = 28
			updateDias()
			break;
		case "mes":
			updateDias()
	}
}

function updateDias(mesSelecionado) {
	comboDia = $('dataNascimento_dia')
	comboMes = $('dataNascimento_mes')
	comboAno = $('dataNascimento_ano')
	if(comboMes.value > 0) {
		maxDias = meses[comboMes.value]
		diaSelecionado = comboDia.selectedIndex
		obj =comboDia
		x = comboDia.options
		currentLength = x.length;
		futureLength = maxDias+1
		if(currentLength < futureLength) {
			for(var w=currentLength; w < futureLength; w++) {
				var y=document.createElement('option');
				y.text=w
				y.value = w
				try {
					obj.add(y,null); // standards compliant
				}
				catch(ex)	{
					obj.add(y); // IE only
				}
			}
		} else if(currentLength > futureLength) {
			dif = currentLength-futureLength
			myIndex = currentLength
			while(dif >=0) {
				obj.remove(myIndex)
				myIndex--;
				dif--;
			}
			if(diaSelecionado > futureLength)
				comboDia.selectedIndex = futureLength-1
		}
	}
}

var uniqueEmail = true;
function checkUniqueMail() {
	email = $('email').value
	params = {}
	params.email = email;
	makeRequest("/registo/isEmailInUse/",params, function(transport) {
		 var getBack = transport.responseText.evalJSON(true);
		 if (getBack.inUse) {
		 	uniqueEmail = false;
		 	$('emailInUse').show();
		 }
		 else {
		 	$('emailInUse').hide();
			uniqueEmail = true
		 }
	})
}

function checkBIUnique() {
	bi = $('bi').value
	cd = $('cd').value
	
	if( !bi.empty() && !cd.empty() ) {
		
	
	params = {}
	params.bi = bi;
	params.cd = cd;
	makeRequest("/registo/isBiinuse/",params, function(transport) {
		 var getBack = transport.responseText.evalJSON(true);
		 if (getBack.inUse) {
		 	uniqueBI = false;
		 	$('bi_use').show();
		 } else {
		 	$('bi_use').hide();
			uniqueBI = true
		 }
		 if(getBack.isValid) {
			valid_BI = true
				$('bi_inv').hide();
		} else {
			$('bi_inv').show();
			valid_BI = false;
		}
		
	})
	checkedbi = true;
	 } else
		checkedbi = false
}
var checkedbi = false;
var valid_BI = false;
var uniqueBI = false;

function checkPASSAPORTEUnique() {
	var passaporte = $('passaporte').value
	 
	
	if( !passaporte.empty() ) {
		
	
	params = {}
	params.bi =passaporte;
	 
	makeRequest("/registo/isBiinuse/1",params, function(transport) {
		 var getBack = transport.responseText.evalJSON(true);
		 if (getBack.inUse) {
		 	unique_passaporte = false;
		 	$('passaporte_use').show();
		 } else {
		 	$('passaporte_use').hide();
			unique_passaporte = true
		 }
		 
		
	})
	checkedpassaporte = true;
	 } else
		checkedpassaporte = false
}
var checkedpassaporte = false;
var unique_passaporte = false;

function loadFeeds() {
	if(!feeds)
		return false;
	for(var i = 0; i< feedIds.length; i++) {
		reloadFeed(feedIds[i])		
	}
}

function reloadFeed(id) {
	params = {}
	params.temaid =  id
	$('feed_'+id).update('<li><img src="/images/ajax-loader.gif" />A carregar..</li>')
	makeRequest("/feeds/show/"+id, params, displayFeed)
}

function displayFeed(transport) {
	getBack = ""
	if (!transport.responseText.isJSON()) {
		$('feed_' + getBack.temaid).update("<li>Houve um erro</li>")
		//tracer.log("Feed: is not json")
	}
	else {
		getBack = transport.responseText.evalJSON(true)
		if(!getBack.feed)
			$('feed_' + getBack.temaid).update("<li>Houve um erro</li>")
		else
		$('feed_' + getBack.temaid).update(getBack.feed)
		
	}
}

function convitesCheckMailInUse(id) {
	email = $('email_'+id).value
	conviteId = $('conviteId_'+id).value
	params = {}
	params.email = email;
	params.conviteId = conviteId;
	makeRequest("/convites/isEmailInUse/",params, function(transport) {
		 var getBack = transport.responseText.evalJSON(true);
		 if(getBack.inUse || getBack.mesmoEmail) {
			 $('emailInUse_'+id).show();
		 } else
		 	 $('emailInUse_'+id).hide();
	})
}

function conviteShowDetail(id) {
	convForm = 	$('convForm_'+id)
	convForm.toggle()
	if (convForm.visible()) {
		$('conviteMain_' + id).addClassName('nobottomborder');
		$('botaoDetalhes_'+id).value = btnTexts[3];
		if($('vermais_' + id)) {
			if($('conviteId_' + id).value > 0) {
				$('vermais_' + id).show();
			} else
				$('vermais_' + id).hide();
		}
	}
	else {
		$('conviteMain_' + id).removeClassName('nobottomborder'); 
		if (!$('conviteId_' + id)) {
			$('botaoDetalhes_' + id).value = btnTexts[1];
			
		}
		else 
			if ($('conviteId_' + id).value > 0) {
				$('botaoDetalhes_' + id).value = btnTexts[0];
				
				$('convFormLine1_' + id).show()
				if($('convFormLine2_' + id)) 
					$('convFormLine2_' + id).show()
				if($('vermais_' + id))
					$('vermais_' + id).show();
			}
			else {
				$('botaoDetalhes_' + id).value = btnTexts[2];
				
			}
	}
	
	
}

function convidarAmigo(id) {
	nome = $('nome_'+id).value
	email = $('email_'+id).value
	conviteId = $('conviteId_'+id).value
	
	mf = 0
	
	if($('f_'+id).checked)
		mf = 2
	else if($('m_'+id).checked)
		mf=1
	
	if (nome.length > 1 && email.length > 3 && mf != 0) {
		params = {}
		params.nome = nome
		params.email = email
		params.mf = mf
		params.divId = id
		params.conviteId = conviteId
		params.estado =1
		params.rmsid = campanha
		//tracer.log(params)
		$('emptyFields_'+id).hide();
		makeRequest("/conv/convidar/",params,conviteFeito)
	} else
		$('emptyFields_'+id).show();
}


function conviteFeito(transport) {
	var getBack = transport.responseText.evalJSON(true);
	if(getBack.done == 1) {
		divId = getBack.divId
		$('nomeDisplay_'+divId).update(getBack.nome)
	//	$('emailDisplay_'+divId).update(getBack.email)
		if(getBack.mf == 1)
			$('m_'+divId).checked = true
		else
			$('f_'+divId).checked = true
		$('conviteId_'+divId).value = getBack.newInviteId
		$('convFormLine1_'+divId).hide()
		$('convFormLine2_'+divId).hide()
		//$('vermais_' + divId).hide();
		$('botaoDetalhes_'+divId).value = btnTexts[0]
		//$('sentEmail_'+divId).update(getBack.email);
		$('conviteEnviado_'+divId).show();
		$('aceiteIcon_'+divId).src = "/images/"+statusIcons[0];
		$('statusDisplay_'+divId).update(statusMsg[0])
		$('botaoDetalhes_'+divId).value = btnTexts[0]
		
		
		
	} else if(getBack.emailInUse)
		 $('emailInUse_'+id).show();
	else if(getBack.conviteAceite)
		 $('conviteJaAceite_'+id).show();
		
}

function refreshconvites() {
	params = {}
	params.rmsid = campanha
	
	convites = [];
	for(var i=0; i<=totalNConvites; i++) {
		if($('conviteId_'+i))
			convites[i] = $('conviteId_'+i).value
		else
			convites[i] = -1
	}
	//tracer.log(convites)
	params.convitesDisplaying = convites;
	
	makeRequest("/convites/refresh", params, function(transport) {
		var getBack = transport.responseText.evalJSON(true);
		
		//tracer.log(getBack.convites)
		for (var i = 0; i <= totalNConvites; i++) {
			convite = getBack.convites[i]
			if(convite) {
				$('nomeDisplay_'+convite.divId).update(convite.nome)
				if(convite.aceite==1) {
					mySpanText = acceptedSpan.replace("NOMEAMIGO",convite.nome);
					mySpanText = mySpanText.replace("EMAILAMIGO",convite.email);
					$('aceiteIcon_'+convite.divId).src = "/images/"+statusIcons[1];
					$('statusDisplay_'+convite.divId).update(statusMsg[1])
					$('botaoDetalhes_'+convite.divId).value = btnTexts[1]
					$('formContainer_'+convite.divId).update(mySpanText)
					
				}
			}
		}
		setTimeout(refreshconvites,90000)
	});
//	
}

function tranferConvite(divId) {
	target=$('selCampTransfer_'+divId).value
	if($('conviteId_'+divId)) {
		conviteid = $('conviteId_'+divId).value
		$('atransferir_'+divId).show()
	//	$('convFormLine1_'+divId).hide()
	//	$('convFormLine2_'+divId).hide()
		$('extraOptions_'+divId).hide()
		$('amigoSeRegistou_'+divId).hide()
		$('conviteEnviado_'+divId).hide()
		$('emailInUse_'+divId).hide()
		$('emptyFields_'+divId).hide()
		
		
		if(conviteid > 0) {
			params = {}
			params.conviteid = conviteid
			params.divId = divId
			params.rmsid = target
			makeRequest("/convites/transferConvite",params,conviteTransferido);
		}
	
	}
}
function conviteTransferido(transport) {
	var getBack = transport.responseText.evalJSON(true);
	if(getBack.done == 1) {
		setTimeout("displayTransf("+getBack.divId+",'"+getBack.nomeCampanha+"')",1500)	
		
	}
	
}

function displayTransf(divId,nomeCampanha) {
	resetConvite(divId)
	$('atransferir_'+divId).hide()
	$('transferoktxt_'+divId).update('O seu convite foi transferido para a campanha '+nomeCampanha)
	$('transferok_'+divId).show();
}

function resetConvite(divId) {
	$('nome_'+divId).value = "";
	$('email_'+divId).value = "";
	$('conviteId_'+divId).value = "-1";
	$('botaoDetalhes_'+divId).value = btnTexts[2];
	$('aceiteIcon_'+divId).src = "/images/"+statusIcons[2];
	$('statusDisplay_'+divId).update(statusMsg[2])
	$('nomeDisplay_'+divId).update("")	
}

function checkAgeControl() {
	data = "";
	var d = new Date();
	diaHoje = d.getDate();
	mesHoje = d.getMonth()+1;
	anoHoje = d.getFullYear();
	
	dia = $('dataNascimento_dia').value
	mes = $('dataNascimento_mes').value
	ano = $('dataNascimento_ano').value
	
	if(dia==-1 && ano==-1 && mes==-1 ) {
		$('ageNaoIntroduzido').show();
		return false;
	} else
		$('ageNaoIntroduzido').hide();
	
	if(ano != -1)
		difAnos = anoHoje - ano;
	else
		difAnos = 0;
	dataOk = false;
	if(difAnos>18)
		dataOk=true
	if(difAnos==18 && dia!=-1 && ano!=-1 && mes!=-1 ) {
		if(mes< mesHoje) {
			dataOk=true
		} else if(mes==mesHoje) {
			if(dia <= diaHoje)
				dataOk=true
		}
	}
	if(dataOk)
		$('ageIncorrecto').hide()
	else
		$('ageIncorrecto').show()
	return dataOk
}

function loadFriendsNetwork() {
	params = "";
	makeRequest("/friendsNetwork/inJson",params,friendsNetworkLoaded);
	
}
var friendsDiv = false;
function friendsNetworkLoaded(transport ) {
	 var getBack = transport.responseText.evalJSON(true);
	  if($('totalAmigos'))
	 	$('totalAmigos').innerHTML = getBack.totalAmigos;
	 for(var i=1; i<=5;i++) {
	 	$('amigosLvl'+i).update(getBack.nAmigos[i])
	 }
	 if(!friendsDiv) {
	 	friendsDiv = $('divAmigo').innerHTML;
		$('divAmigo').update("");
	 }
	
	 amigos = getBack.amigos
	 $('divAmigo').update("");
	 
	 for(var i=0; i<amigos.length; i++) {
	 	amigoDiv = friendsDiv.replace("imgAmigo","imgAmigo_"+i)
		amigoDiv = amigoDiv.replace("nomeAmigo","nomeAmigo_"+i)
		$('divAmigo').insert(amigoDiv);
		nome = amigos[i].nome.split(" ");
		$('nomeAmigo_'+i).update(nome[0])
		
		if(amigos[i].estado == 1) {
			$('imgAmigo_'+i).src = "/images/icon_aceite.jpg"
			altText = "Aceite";
		}
		else {
			$('imgAmigo_'+i).src = "/images/icon_standby.jpg"
			altText = "Em espera";
		}
		if(amigos[i].invalido == 1) {
			if(amigos[i].tipo_invalido) {
				$('imgAmigo_'+i).src = "/images/icon_invalidoNull.jpg"
				altText = "Inválido";
			}
			else {
				$('imgAmigo_'+i).src = "/images/icon_invalidoIncomplete.jpg"
				altText = "Inválido";
			}
		}
		
	//	$('imgAmigo_'+i).alt = amigos[i].email+" - "+amigos[i].nome+" - "+altText;				
	//	$('imgAmigo_'+i).title = amigos[i].email+" - "+amigos[i].nome+" - "+altText;	
		$('imgAmigo_'+i).alt = altText
		$('imgAmigo_'+i).title = altText
		
//tracer.log(		amigos[i].email+" - "+amigos[i].nome+" - "+altText )
		
	 }
	 $('divAmigo').insert('<div style="clear:both"></div>');
	 $('divAmigo').show();
	 setTimeout(loadFriendsNetwork,90000)
}

function switchAreaJw(dia,id) {
	
	params = {}
	params.dia = dia;
	params.diaId = id;
	//$('areaJWContent').update("A carregar p&aacute;gina")
	Effect.BlindUp('areaJWContent', { duration: 0.3, afterFinish: function() {
		getAreaJWContent(params)
	} } );
	

}

function getAreaJWContent(params) {
var myajax = {}
	myajax.ajax= Object.toJSON(params)
	makeRequest("/feeds/getNWfeed",params,function(transport) {
	var getBack = transport.responseText.evalJSON(true);
			$('areaJWContent').update(getBack.content)
			$$('.diaActual')[0].removeClassName('diaActual');
			$('areaJWD'+getBack.diaId).addClassName('diaActual');
			Effect.BlindDown('areaJWContent',  { duration: 0.3 });
			})
}

function getAreaJWContent2(params) {
	var myajax = {}
	myajax.ajax= Object.toJSON(params)
	new Ajax.History.Request("/feeds/getNWfeed", {
		method       : 'POST',
		parameters: myajax,
		onSuccess: function(transport) {
			
			var getBack = transport.responseText.evalJSON(true);
			$('areaJWContent').update(getBack.content)
			$$('.diaActual')[0].removeClassName('diaActual');
			$('areaJWD'+getBack.diaId).addClassName('diaActual');
			Effect.BlindDown('areaJWContent',  { duration: 0.3 });
		},
		history: {
			id    : 'agenda',
			state : params.dia,
			cache : true,
			onStateChange: function(state) {
				// Set new title
			History.setTitle(History.getTitle() ); 
			}
		}
	});
}


function ajaxNavigate(url,titulo) {
	params = {}
	params.titulo = titulo
	var myajax = {}
	myajax.ajax= Object.toJSON(params)
	
	new Ajax.History.Request(url, {
		method       : 'POST',
		parameters: myajax,
		evalScripts: true,
		onSuccess: function(transport) {
			
			//var getBack = transport.responseText.evalJSON(true);
			$('conteudoEsquerda').update(transport.responseText)
			//tracer.log(campanha)
		},
		history: {
			id    : 'pagina',
			state : titulo,
			cache : false,
			onStateChange: function(state) {
				// Set new title
			History.setTitle(History.getTitle()+" "+state ); 
			}
		}
	});
	
	
}

function selectValue(select,value) {
	x = $(select).options
	currentLength = x.length;
	for(var i=0; i<currentLength; i++) {
		if(x[i].value == value)
			$(select).selectedIndex = i
		//tracer.log(x[i].value)
	}	
}

var previousSelected = 0
function selectFeedsTemplate(id) {
	
	if(previousSelected)
		$('feeds_template_thumb_'+previousSelected).removeClassName('border1white');
	$('feeds_template_thumb_'+id).addClassName('border1white');
	previousSelected = id;
	$('feeds_template_'+id).checked = "checked"
}

function popFaq() {
	options = {};
	options.bgcolor = overlayColor;
	options.opacity = 80;
	grayOut(true,options);
	
	faqsDiv = $('popupfaqs')
	window.onscroll = function () {
		centerObject(faqsDiv);
	}
	
	faqsDiv.show();
	centerObject(faqsDiv);
}

function closeFaqPop() {
	if ($('faqHideForever').checked) {
		saveCookie();
		
	}
	

	grayOut(false)
	$('popupfaqs').hide()
}


function mentor_invite(id) {
	nome = $('nome_'+id).value
	email = $('email_'+id).value
	conviteId = $('conviteId_'+id).value
	var formcont = $('formContainer_'+id) 
	mf = 0
	
	if($('f_'+id).checked)
		mf = 2
	else if($('m_'+id).checked)
		mf=1
	
	if (nome.length > 1 && email.length > 3 && mf != 0) {
		params = {}
		params.nome = nome
		params.email = email
		params.mf = mf
		params.divId = id
		params.conviteId = conviteId
		params.estado =1
		params.rmsid = 99999
		params.hasClass = $('conviteMain_'+id).hasClassName("mentor_obrigatorio")
		//tracer.log(params)
		formcont.down(".camposVazios").hide();
		makeRequest("/mentor/convidar/",params,mentor_conviteFeito)
	} else
		formcont.down(".camposVazios").show();
}

function mentor_removeInvite(id) {
	params = {};
	params.conviteId = id;
	params.hasClass = $('conviteMain_'+id).hasClassName("mentor_obrigatorio")
	makeRequest("/mentor/cancelarConvite/",params,function(transport){
		var getBack = transport.responseText.evalJSON(true);
		$('convForm_'+getBack.conviteId).remove();
		
		$('conviteMain_'+getBack.conviteId).replace(getBack.new_html)
		
	})
}

function mentor_conviteFeito(transport) {
		var getBack = transport.responseText.evalJSON(true);
		if(getBack.done == 1) {
		/*	divId = getBack.divId
		$('nomeDisplay_'+divId).update(getBack.nome)
	$('emailDisplay_'+divId).update(getBack.email)
		if(getBack.mf == 1)
			$('m_'+divId).checked = true
		else
			$('f_'+divId).checked = true
		$('conviteId_'+divId).value = getBack.newInviteId
		$('convFormLine1_'+divId).hide()
		$('convFormLine2_'+divId).hide()
		//$('vermais_' + divId).hide();
		$('botaoDetalhes_'+divId).value = btnTexts[0]
		//$('sentEmail_'+divId).update(getBack.email);
		$('conviteEnviado_'+divId).show();
		$('aceiteIcon_'+divId).src = "/images/"+statusIcons[0];
		$('statusDisplay_'+divId).update(statusMsg[0])
		$('botaoDetalhes_'+divId).value = btnTexts[0]
		*/
		$('convForm_'+getBack.divId).remove();
		
		$('conviteMain_'+getBack.divId).replace(getBack.new_html) 
		
		
	} else if(getBack.emailInUse)
		 $('emailInUse_'+id).show();
	else if(getBack.conviteAceite)
		 $('conviteJaAceite_'+id).show();
}

function mentorCheckMailInUse(ev) 
{
	var formHolder = ev.element().up(".formContainer");
	email = ev.element().value;
	conviteId = formHolder.down('.convId').value
	params = {}
	params.email = email;
	params.conviteId = conviteId;
	makeRequest("/mentor/isEmailInUse/",params, function(transport) {
		 var getBack = transport.responseText.evalJSON(true);
		 if( getBack.inUse ) {
			 formHolder.down(".convidadoJaAParticipar").show();
		 } else if( getBack.inUseByUser ) {
			formHolder.down(".convidadoRepetido").show();
		} else {
			formHolder.down(".convidadoJaAParticipar").hide();
			formHolder.down(".convidadoRepetido").hide();
		}		
	}) 
}

function mentor_login() {
	username = $('mentor_username').value;
	password = $('mentor_pass').value;
	salt = $('mentor_salt').value;
	
	if($("mentor_codigo"))
		codigo = $('mentor_codigo').value;
	if(username.length ==  0 || password.length == 0 || ($('mentor_codigo') && codigo.length == 0)) {
		$('loginCampos').show()
		return false;
	}
	else {
		$('loginCampos').hide()
		$('mentor_pw').value = hex_md5(hex_md5(password)+salt)
		$('mentor_pass').value = "";
		return true
	}
	return false;
}

function mentor_alteraZona() {
	var zona_escolhida = $$('input[name="zona"]:checked')
	if(zona_escolhida.length == 0) {
		$$('.input_zona').invoke("show");
		
	} else {
		$$('.input_zona').invoke("hide");
		var zonaid = zona_escolhida[0].value
		makeRequest("/mentor/alteraZona/"+zonaid,{},function(transport){
			if(transport.responseText != "falhou") {
				$$('mentor_warning.zona').invoke("hide");
				$('zona_info').update(transport.responseText)
				$('mentor_zona_altera').hide()
				$('mentor_zona_info').show();
			}
		})
	}
}

function alteraZona() {
	$('mentor_zona_altera').show()
	$('mentor_zona_info').hide();
}


function modal(options,div) {
	//options = options || { bgcolor:overlayColor,opacity:80};
	var opts = Object.extend({
      bgcolor:   overlayColor,
      opacity:    80
    }, options || {});
	grayOut(true,opts);
	
	var mydiv = $(div)
	window.onscroll = function () {
		centerObject(mydiv);
	}
	
	mydiv.show();
	centerObject(mydiv); 
}

function closeModal(divid) {

	$(divid).hide()
	grayOut(false);
	
	try {
		params = {}
		params.cookieName = divid
		params.value = 1
		params.expire = 0
		makeRequest("/main/saveCookies",params,function(){})
		//Cookie.set(divid, 1);
	} catch(err) {}
	
	
}

function saveCookie() {
	params = {}
	params.cookieName = "popupfaq"
	params.value = 1
	params.expire = 3600*24*7*52
	makeRequest("/main/saveCookies",params,function(){})
}

function updateTastings(e) {
	ele = e.element();
	if(ele.value == tastes.d1) {
		
	}
	
}

function checkTastings() {
	var d1 = $F('mentor_data1')
	var d2 = $F('mentor_data2')
	var d3 = $F('mentor_data3')
	if(d1 != d2 && d1 !=d3 && d2!= d3 && d1 != -1 && d2 != -1 && d3 != -1) {
		$('erro_datas').hide();
		return true;
	}
	$('erro_datas').show();
	return false;
}


function mudaAgenda(dia) {
	$$('.agenda_conteudo').invoke("hide");
	$$('.diaActual').invoke("removeClassName",'diaActual');
	$('areaJWD'+dia).addClassName("diaActual");
	$('dia_'+dia).show();
}

/*Inviter*/


var jwb_Inviter = {
	allowedProviders : {
		gmail:1,
		hotmail:1,
		yahoo:1,
		sapo:1
	},
	
	providers:function() {
		makeRequest('/oi/providers.php',{},function(transport){
			var getBack = transport.responseText.evalJSON(true);
			var emailProviders = getBack.email;
			
			for(var prov in emailProviders) {
				if(jwb_Inviter.allowedProviders[prov] == 1) {
					var txt = '<li class="provider" id="provider_'+prov+'" ><a href="#'+prov+'">'+emailProviders[prov].name+'</a></li>';
					//$$('#providersList li:last')[0].insert({'before':txt})
					$('providersList').insert(txt)
					var provider = {
						name:emailProviders[prov].name,
						file:[prov]
					}
					$('provider_'+prov).observe("click",jwb_Inviter.switchToProviders.bindAsEventListener(this, provider))
					//var div = '<div id="'+prov+'" style="display:none;" class="provider_box" >'+emailProviders[prov].name+'</div>'
					//$('outros').insert({'after':div})
				}
			}
		})
	},
	switchTo:function(e) {
		e.preventDefault();
		var element = e.element();
		var target = element.hash.replace("#","");
		if($(target)) {
			$$('.provider_div').invoke("hide");
			$(target).show()			
		}
	},
	
	switchToProviders:function(e,provider) {
		e.preventDefault();
		var element = e.element();
		$$('.provider_div').invoke("hide");
		$('provider_data').show();
		$('provider_name').update(provider.name)
		$('provider_box').value=provider.file
	},
	
	getContacts:function() {
		$('jwb_Inviter_imported').update("<li><img src='"+kwUrl+"images/ajax-loader.gif' /></li>");
		new Ajax.Request('/oi/websrv.php', {
		  method: 'post',
		  parameters:$('form_inviter').serialize(),
		  onSuccess: function(transport) {
			var notice = $('notice');
			var getBack = transport.responseText.evalJSON(true);
			if(getBack.ok) {
				var txt = '';
				for(var i=0; i<getBack.contacts.length; i++) {
					txt += '<li id="jwb_Inviter_contacto'+i+'" class="jwb_Inviter_contacto"><span class="jwb_Inviter_nome">'+getBack.contacts[i].nome+'</span> <span class="jwb_Inviter_email">'+getBack.contacts[i].email+'</span> <span><a class="jwb_Inviter_addbtn">Adicionar »</a></span></li>';
				}
				params = {};
				params.contacts = getBack.contacts
				makeRequest(kwUrl+'conv/batchEmailInUse',params,function(transport){
					var getBack = transport.responseText.evalJSON(true);
					var existentes = getBack.contacts
					for(var i=0; i<existentes.length;i++) {
						$('jwb_Inviter_contacto'+existentes[i].key).addClassName("jwb_Inviter_disabled");
						$('jwb_Inviter_contacto'+existentes[i].key).addClassName("jwb_Inviter_exists");
						
					}
					$$('.jwb_Inviter_disabled .jwb_Inviter_addbtn').invoke("hide");
				}) 
				$('jwb_Inviter_imported').update(txt);
				 $$('#jwb_Inviter_imported li').invoke("observe","click",function(e) {
					var ele = e.element();
					
					if(!ele.hasClassName("jwb_Inviter_contacto"))
						ele = ele.up("li");	
					if(!ele.hasClassName("jwb_Inviter_disabled")) {
						$$('.jwb_Inviter_selected').invoke("removeClassName","jwb_Inviter_selected");
						ele.addClassName("jwb_Inviter_selected");
					}
				}) 
				$$('#jwb_Inviter_imported li').invoke("observe","dblclick",jwb_Inviter.adicionaDaLista)
				$$('#jwb_Inviter_imported li .jwb_Inviter_addbtn').invoke("observe","click",jwb_Inviter.adicionaDaLista)
			} else {
				$('jwb_Inviter_imported').update("<li>Houve um erro ao importar os seus contactos</li>");
			}
		  }
		})
	},
	
	checkEmail: function() {
		convite= {}
		convite.email = $F('jwb_Inviter_email')
		convite.conviteId = $F('jwb_Inviter_id')
		makeRequest(kwUrl+'conv/isEmailInUse',convite,function(transport){
			var getBack = transport.responseText.evalJSON(true);
			if(getBack.inUse == true) {
				$('jwb_Inviter_emailInUse').show();
			} else { 
				$('jwb_Inviter_emailInUse').hide();
			}
		})
	},
	
	adicionaDaLista:function(e) {
		var ele = e.element();
		if(!ele.hasClassName("jwb_Inviter_contacto"))
				ele = ele.up("li");	
		 if(!ele.hasClassName("jwb_Inviter_disabled")) {
			//$$('.jwb_Inviter_selected').invoke("removeClassName","jwb_Inviter_selected");
			
			jwb_Inviter.adicionaNovoConvite({ nome:ele.down('span.jwb_Inviter_nome').innerHTML.replace(/(<([^>]+)>)/ig,""),
							email:ele.down('span.jwb_Inviter_email').innerHTML.replace(/(<([^>]+)>)/ig,""),
							line:ele.id
						} )
		}
			
	},
	
	adicionaNovoConvite:function(options) {
		this.options = Object.extend({
           nome:'',
		   email:'',
		   mf:'',
		   element:false,
		   line:-1
        }, options || {});
		grayOut(true);
		$('jwb_Inviter_emailInUse').hide();
		$('jwb_Inviter_conviteEnviado').hide();
		$('jwb_Inviter_tempo').hide();			
		$('jwb_Inviter_form').show();
		$('jwb_Inviter_popup').show();
		centerObject($('jwb_Inviter_popup'))
		$('jwb_Inviter_email').value=this.options.email
		$('jwb_Inviter_nome').value=this.options.nome
		$('jwb_Inviter_id').value= 0;
		$('jwb_Inviter_src').value= 1;
		$('jwb_Inviter_line').value= this.options.line;
		
	},
	editaConvite:function(e) {
		e.preventDefault();
		var ele = e.element();
		if(!ele.hasClassName("jwb_Inviter_contacto"))
			ele = ele.up("li");	
		
		grayOut(true);
		$('jwb_Inviter_emailInUse').hide();
		$('jwb_Inviter_conviteEnviado').hide();
		$('jwb_Inviter_tempo').hide();			
		$('jwb_Inviter_form').show();
		$('jwb_Inviter_popup').show();
		centerObject($('jwb_Inviter_popup'))
		 
		$('jwb_Inviter_nome').value= ele.down('span.jwb_Inviter_nome').innerHTML.replace(/(<([^>]+)>)/ig,""); 
		$('jwb_Inviter_id').value= ele.down('span.jwb_Inviter_id').innerHTML.replace(/(<([^>]+)>)/ig,""); 
		$('jwb_Inviter_line').value= ele.id; 
		$('jwb_Inviter_src').value= 2;
		$$('input[name="jwb_Inviter_mf"][value="'+ ele.down('span.jwb_Inviter_mf').innerHTML.replace(/(<([^>]+)>)/ig,"") +'"]')[0].checked=true;
	},
	
	
	enviaConvite:function(options) {
		var params = {}
 
		var mf_array = $$('input[name="jwb_Inviter_mf"]:checked').pluck("value");
		if(mf_array.length >0) 
			params.mf = mf_array[0];
		else
			params.mf = 0;
		
		params.nome = $F('jwb_Inviter_nome');
		params.email = $F('jwb_Inviter_email');
		 
		params.divId = $F('jwb_Inviter_line');
		params.conviteId = $F('jwb_Inviter_id');
		params.estado =1
		params.rmsid = 0
		
		if($F('jwb_Inviter_nome').empty() || $F('jwb_Inviter_nome').empty() || params.mf == 0) {
			$('jwb_Inviter_erros').show();
		} else {
			$('jwb_Inviter_erros').hide();
			
			makeRequest(kwUrl+'conv/isEmailInUse',params,function(transport){
				var getBack = transport.responseText.evalJSON(true);
				if(getBack.inUse == true) {
					$('jwb_Inviter_emailInUse').show();
					$('jwb_Inviter_tempo').hide();			
				} else { 
					$('jwb_Inviter_emailInUse').hide();
					makeRequest(kwUrl+'conv/convidar',params,function(transport) {
						var convite = transport.responseText.evalJSON(true);
						if(convite.done == 1) {
							$('jwb_Inviter_conviteEnviado').show();
							 
							$('jwb_Inviter_form').hide();
							if(convite.divId.match(/jwb_Inviter_convite_/)) {
								var ele = $(convite.divId)
								ele.down('span.jwb_Inviter_nome').innerHTML = convite.nome
								ele.down('span.jwb_Inviter_email').innerHTML = convite.email
								ele.down('span.jwb_Inviter_mf').innerHTML = convite.mf
								ele.down('span.jwb_Inviter_id').innerHTML = convite.newInviteId
								ele.id='jwb_Inviter_convite_'+newInviteId
							} else  {
								if($(convite.divId))
									$(convite.divId).remove();
								var txt = "<li class='jwb_Inviter_pendente jwb_Inviter_contacto' id='jwb_Inviter_convite_"+convite.newInviteId+"'>";
								txt += '<span class="jwb_Inviter_nome">'+convite.nome+'</span>'; 
								txt += '<span class="jwb_Inviter_email"  style="display:none;">'+convite.email+'</span>';
								txt += '<span class="jwb_Inviter_mf" style="display:none;">'+convite.mf+'</span>';
								txt += '<span class="jwb_Inviter_id" style="display:none;">'+convite.newInviteId+'</span> ';
					
								txt += '<span class="jwb_Inviter_edit"><a href="#" class="jwb_Inviter_removebtn">Remover</a></span>';
								txt += '<span class="jwb_Inviter_edit"><a href="#" class="jwb_Inviter_editbtn">Editar</a></span>';
								txt += '</li>';
								$('jwb_Inviter_active').insert(txt);
								$$('.jwb_Inviter_editbtn').invoke("stopObserving","click");
								$$('.jwb_Inviter_removebtn').invoke("stopObserving","click");
								
								$$('.jwb_Inviter_editbtn').invoke("observe","click",jwb_Inviter.editaConvite);
								$$('.jwb_Inviter_removebtn').invoke("observe","click",jwb_Inviter.cancelaConvite);
							}
						} else if(convite.shortTime == 1) {
							$('jwb_Inviter_tempo').show();							
						}
						
					})
				}
			}) 
		}
		
		
		/*if($F('jwb_Inviter_src') == 1) {
			var li = $($F('jwb_Inviter_line')).remove();
			$('jwb_Inviter_active').insert(li);
		} else {
		}*/
		//ele.remove() 
		//$('jwb_Inviter_active').insert(ele);
	},
	
	cancelaConvite:function(e) {
		e.preventDefault();
		var ele = e.element();
		if(!ele.hasClassName("jwb_Inviter_contacto"))
			ele = ele.up("li");	
		var convid = ele.down('span.jwb_Inviter_id').innerHTML.replace(/(<([^>]+)>)/ig,""); 
		makeRequest(kwUrl+'conv/cancelaConvite/'+convid,{},function(){})
		ele.remove();
	},
	
	liOver:function(e) {
		var ele = e.element();
		$$('.jwb_Inviter_selected').invoke("removeClassName","jwb_Inviter_selected");
		if(!ele.hasClassName("jwb_Inviter_contacto"))
			ele = ele.up("li");	
		ele.addClassName('jwb_Inviter_hover')
	},
	liOut:function(e) {
		var ele = e.element();
		$$('.jwb_Inviter_selected').invoke("removeClassName","jwb_Inviter_selected");
		if(!ele.hasClassName("jwb_Inviter_contacto"))
			ele = ele.up("li");	
		ele.removeClassName('jwb_Inviter_hover')
	},
	
	cancelaAdicionar:function() {
		grayOut(false);
		$('jwb_Inviter_popup').hide();
	}
}


