	/* create new event help functions*/
	function show_help(dest, evt, msg, divID, lang, xCoord, yCoord){
		var x = evt.clientX + Number(xCoord);
		var y = evt.clientY + Number(yCoord);
			
		var d = document.getElementById(divID);
		d.style.visibility = "visible";
		d.style.top = y + "px";
		d.style.left = x + "px";
		
		httpRequest(dest, 'msg=' + msg + '&lang=' + lang, divID, 'POST', true);
	}			
		
		
	function clear_help(divID){
		var d = document.getElementById(divID);
		d.style.visibility = "hidden";	
	}
	/**/	
		
	/* ajax functions */	
	function reg_login(dest, sendUrl, divID1, divID2){
		var d = document.getElementById(divID2);
		var d1 = document.getElementById(divID1);
			
		d.style.visibility = "hidden";
		d.innerHTML = "";
		d1.style.visibility = "visible";
			
		httpRequest(dest, sendUrl, divID1, 'POST', true);
	}

	/* */		
	function newWindow(myurl){
		var nW;
		var props = 'scrollBars=yes,resizable=yes,status=yes,toolbar=no,menubar=no,location=no,directories=no,width=745,height=440';
		nW = window.open(myurl, "listas", props);
	}
		
	function change_lang(id_lang){
		var d = document.createElement("div");
		d.id = "div_clayLang";
		d.style.visibility = "hidden"; 
		document.body.appendChild(d);
			
		var f = document.createElement("form");
		f.action = location.href;
		f.method = "POST";
		f.name   = "formClayLang";	
		f.id 	 = "formClayLang";
		document.getElementById("div_clayLang").appendChild(f);
			
		var i = document.createElement("input");
		i.setAttribute("type", "hidden");
		i.setAttribute("name", "selectLang");
		i.setAttribute("value", id_lang);	
		document.getElementById("formClayLang").appendChild(i);
			
		f.submit();		
	}			
		
	/*validation functions*/	
	function noWhiteSpace(s){	
		if((s == null) || (typeof(s) != 'string') || !s.length)
			return '';
		return s.replace(/\s+/g,'');
	}		
		
	function validate_email(x) {
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (filter.test(x)) {
			return true
		} else 
			return false;
	}	
		
	function isLeap(year){	
		if (year%400 == 0) 
			return true;
		else if (year%100 == 0) 
			return false;
		else if (year%4 == 0)
			return true;
		else 
			return false;
	}
		
	function validateDate(day, month, year){
		var d = parseInt(day, 10);
		var m = parseInt(month, 10);
		var y = parseInt(year, 10);
			
		if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
			if(d >= 1 && d <= 31) 
				return true; 
			else 
				return false;
		} else if (m == 2){ 
			if(isLeap(y) && d >= 1 && d <= 29) 
				return true;
			else if(!isLeap(y) && d >= 1 && d <= 28)
				return true;
			else	
				return false;
		} else if(m == 4 || m == 6 || m == 9 || m == 11){
			if(d >= 1 && d <= 30)
				return true;
			else
				return false;
		}
	}
	
	function testDates (di, mi, yi, df, mf, yf){
		var diAux = parseInt(di, 10);
		var miAux = parseInt(mi, 10);
		var yiAux = parseInt(yi, 10);
		var dfAux = parseInt(df, 10);
		var mfAux = parseInt(mf, 10);
		var yfAux = parseInt(yf, 10);
		
		if(yiAux > yfAux)
			return false;
		else if(yiAux == yfAux){
			if(miAux > mfAux)
				return false;
			else if(miAux == mfAux){	/* */
				if(diAux > dfAux)
					return false;
				else 
					return true;
			} else
				return true;
		} else 							/* yiAux < yfAux */
			return true;
	}
	/* */
		
	/* encode email address */
	function write_mail(part1, part2, part3){
		document.write("<a href='mailto:" + part1 + part2 + part3 + "' class='colorLink'>" + part1 + part2 + part3 + "</a>");
	}	
	/* */	
		
	/* add text to fields */
	function addText(x){
		if(x.value != x.id )
		x.value = x.id;
		//document.searchForm.quickSearch.value=''
	}
		
	function clearText(x){
		x.value = "";
	}	
	/* */
		
		
	/* checkboxes functions */
	function select_all(total, field){
		var num_res = total;
			
		if(num_res == 1){
			if(!field.checked)
				field.checked = true;			
		} else if(num_res > 1){
			for(i = 0; i < field.length; i++)
				if(!field[i].checked)
					field[i].checked = true;
		}
	}
		
	function change_selection(total, field){
		var num_res = total;
			
		if(num_res == 1){
			if(field.checked)
				field.checked = false;
			else
				field.checked = true;			
		} else if(num_res > 1){
			for(i = 0; i < field.length; i++)
				if(field[i].checked)
					field[i].checked = false;
				else
					field[i].checked = true;
		}
	}
		
	function remove_all(total, field){
		var num_res = total;
			
		if(num_res == 1){	
			if(field.checked)
				field.checked = false;
		} else if(num_res > 1){
			for(i = 0; i < field.length; i++)
				if(field[i].checked)
					field[i].checked = false;
		}
	}
	/* */
		
	function testCookies() {
		var tmpcookie = new Date(); //test if cookies are enabled
		chkcookie = (tmpcookie.getTime() + '');
		document.cookie = "chkcookie=" + chkcookie + "; path=/";
		if (document.cookie.indexOf(chkcookie,0) < 0){
			var e = document.getElementById("noCookies");
			e.style.display = "block";
			var e1 = document.getElementById("loginBox");
			if(e1 != "undefined")
				e1.style.display = "none";
		}
	}
		
	/*paypal buttons */
	function check_fields(id){
		if(id == 4 && document.form1.id_field_name[3].checked){
			document.form1.id_field_name[4].checked = true;
			document.form1.id_field_name[5].checked = true;
		} else if(id == 4 && !document.form1.id_field_name[3].checked){
			document.form1.id_field_name[4].checked = false;
			document.form1.id_field_name[5].checked = false;		
			document.form1.id_field_name[6].checked = false;		
			document.form1.id_field_name[7].checked = false;		
			document.form1.id_field_name[8].checked = false;		
		} else if(id == 5 && document.form1.id_field_name[4].checked){
			document.form1.id_field_name[3].checked = true;
			document.form1.id_field_name[5].checked = true;		
		} else if(id == 5 && !document.form1.id_field_name[4].checked){
			document.form1.id_field_name[3].checked = false;
			document.form1.id_field_name[5].checked = false;		
			document.form1.id_field_name[6].checked = false;		
			document.form1.id_field_name[7].checked = false;		
			document.form1.id_field_name[8].checked = false;		
		} else if(id == 6 && document.form1.id_field_name[5].checked){
			document.form1.id_field_name[3].checked = true;
			document.form1.id_field_name[4].checked = true;		
		} else if(id == 6 && !document.form1.id_field_name[5].checked){
			document.form1.id_field_name[3].checked = false;
			document.form1.id_field_name[4].checked = false;		
			document.form1.id_field_name[6].checked = false;		
			document.form1.id_field_name[7].checked = false;		
			document.form1.id_field_name[8].checked = false;		
		} else if(id == 7 && document.form1.id_field_name[6].checked){
			document.form1.id_field_name[3].checked = true;
			document.form1.id_field_name[4].checked = true;
			document.form1.id_field_name[5].checked = true;
			document.form1.id_field_name[7].checked = true;
			document.form1.id_field_name[8].checked = true;		
		} else if(id == 7 && !document.form1.id_field_name[6].checked){
			document.form1.id_field_name[7].checked = false;
			document.form1.id_field_name[8].checked = false;		
		} else if(id == 8 && document.form1.id_field_name[7].checked){
			document.form1.id_field_name[3].checked = true;
			document.form1.id_field_name[4].checked = true;
			document.form1.id_field_name[5].checked = true;		
			document.form1.id_field_name[6].checked = true;
			document.form1.id_field_name[8].checked = true;		
		} else if(id == 8 && !document.form1.id_field_name[7].checked){
			document.form1.id_field_name[6].checked = false;
			document.form1.id_field_name[8].checked = false;		
		} else if(id == 9 && document.form1.id_field_name[8].checked){
			document.form1.id_field_name[3].checked = true;
			document.form1.id_field_name[4].checked = true;
			document.form1.id_field_name[5].checked = true;		
			document.form1.id_field_name[6].checked = true;
			document.form1.id_field_name[7].checked = true;		
		} else if(id == 9 && !document.form1.id_field_name[8].checked){
			document.form1.id_field_name[6].checked = false;
			document.form1.id_field_name[7].checked = false;		
		}
	}
	/* */
	
		function sel_lang(id) {
		var nW;
		var myurl = 'registrationDetail.php?id_registration=' + id + "&selectLang=true";
		var props = 'scrollBars=no,resizable=yes,status=no,titlebar=no,toolbar=no,menubar=no,location=no,directories=no,width=500,height=300';
			
		nW = window.open(myurl, "listas", props);
	}
		
	function send_email(id_type) {
		var id_lang = form_lang.email_lang.value;
			
		var d = opener.document.createElement("div");
		d.id = "div_form";
		d.style.visibility = "hidden"; 
		opener.document.body.appendChild(d);
			
		var f = opener.document.createElement("form");
		f.action = "../registrations/index.php?target=send-confirmation";
		f.method = "POST";
		f.name   = "form_del";	
		f.id 	 = "form_del";
		opener.document.getElementById("div_form").appendChild(f);
			
		var i = opener.document.createElement("input");
		i.setAttribute("type", "hidden");
		i.setAttribute("name", "id_registration");
		i.setAttribute("value", id_type);	
		opener.document.getElementById("form_del").appendChild(i);	
			
		var i2 = opener.document.createElement("input");	
		i2.setAttribute("type", "hidden");
		i2.setAttribute("name", "selectedLang");
		i2.setAttribute("value", id_lang);	
		opener.document.getElementById("form_del").appendChild(i2);	
			
		f.submit();			
		window.close();
	}
		
	function send_email_noLang(id_type, lang) {
		var d = document.createElement("div");
		d.id = "div_form";
		d.style.visibility = "hidden"; 
		document.body.appendChild(d);
			
		var f = document.createElement("form");
		f.action = "../registrations/index.php?target=send-confirmation";
		f.method = "POST";
		f.name   = "form_del";	
		f.id 	 = "form_del";
		document.getElementById("div_form").appendChild(f);
			
		var i = document.createElement("input");
		i.setAttribute("type", "hidden");
		i.setAttribute("name", "id_registration");
		i.setAttribute("value", id_type);	
		document.getElementById("form_del").appendChild(i);	
			
		var i2 = document.createElement("input");	
		i2.setAttribute("type", "hidden");
		i2.setAttribute("name", "selectedLang");
		i2.setAttribute("value", lang);	
		document.getElementById("form_del").appendChild(i2);	
			
		f.submit();			
	}
		
	function printClose() {
		window.print();
		window.close();
	}
	
	
	/* *************************************************************************
		idDiv   => ID of the element where to send ajax result 
		headers => headers sent by ajax 
		dir     => direction of the message: 0 -> event2user; 1 -> user2event 
		readTxt => message was read or not
		i       => the number of the element
		fileN   => ajax response file
	****************************************************************************/	
	function msgContentToggle(idDiv, headers, dir, readTxt, i, fileN){
		var elem = document.getElementById(idDiv);
		
		if(elem.innerHTML == ""){
			if(dir == 1){
				if(readTxt == 0){
					var elem3 = document.getElementById("msgNumber");
					var num   = parseInt(elem3.innerHTML,10);
					
					var elem2 = document.getElementById("subject" + i);
					
					if(window.navigator.appName == "Microsoft Internet Explorer")
						var style = elem2.getAttribute("style").getAttribute("fontWeight");
					else	
						var style = elem2.style.getPropertyValue('font-weight');
					
					if(num > 0 && style == "bold")
						elem3.innerHTML = num - 1;
					
					
					elem2.removeAttribute('style');
						
					var elem3 = document.getElementById("reply" + i);
					elem3.removeAttribute('style');	
					elem3.style.visibility = 'visible';		
				} 
				elem.removeAttribute('style');
				elem.style.margin = "15px 50px 15px 50px";
			} 
			if(dir == 0){
				elem.removeAttribute('style');
				elem.style.margin = "15px 50px 15px 50px";
			} 
			if(dir == "")
				elem.removeAttribute('style');

			httpRequest(fileN, headers,idDiv,'POST',true);
		}
		else {	 
			elem.removeAttribute('style');
			elem.style.height = "0px";
			elem.innerHTML = "";
		}
	}	
	
	function getWindowSize(){
		var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		if (self.innerHeight) {	// all except Explorer
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = windowWidth;
		} else {
			pageWidth = xScroll;
		}
	
	
		arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);		
		return arrayPageSize;
	}
	
	/* create full div on public area */
	function createLoginForm(type, event, lang){
		var pageSize = getWindowSize();
		
		var elem = document.getElementById("fullWindowDiv");
		elem.style.visibility = "visible";
		elem.style.height = pageSize[1] + "px";
		
		var header = 'defLang=' + lang + '&event=' + event + '&type=' + type;
		
		httpRequest('../registrations/loginReg.php',header,'fullWindowDiv');
	}
	
	function createPwdForm(type, lang){
		/*
		var pageSize = getWindowSize();
		
		var elem = document.getElementById("fullWindowDiv");
		elem.style.visibility = "visible";
		elem.style.height = pageSize[1] + "px";
		
		var header = 'type=' + type;
		
		httpRequest('../home/loginReg.php',header,'fullWindowDiv'); */
		showWindowWithAjaxRequest("../home/loginReg.php?type=" + type + "&lang=2", 600, 230);
		
	}	
	
		
	/* create full div when trying to delete elements */
	function createWarning(header){
		var pageSize = getWindowSize();
		
		var elem = document.getElementById("fullWindowDiv");
		elem.style.visibility = "visible";
		elem.style.height = pageSize[1] + "px";
		
		httpRequest('../configurations/deleteWarning.php',header,'fullWindowDiv');
	}	
	
	function changeFees(i, rateEur, rateCurr, percentage, lowLimit, highLimit, currency){
		var priceValue = document.form1["price" + i].value;
		
		var exchangeEuro = (priceValue * rateEur) * percentage;
		
		if(exchangeEuro < lowLimit)
			exchangeEuro = lowLimit;
		else if(exchangeEuro > highLimit)
			exchangeEuro = highLimit;
					
		var totalValue = priceValue - (exchangeEuro * rateCurr);  
		
		document.getElementById("feeEuro" + i).innerHTML = Math.max(0,Math.round(exchangeEuro * 100)/100);
		if(currency != "EUR"){ 
		document.getElementById("fee" + i).innerHTML = Math.max(0,Math.round(exchangeEuro * rateCurr * 100)/100);
		} 				
		document.getElementById("total" + i).innerHTML = Math.max(0,Math.round(totalValue * 100)/100);		
	}
		
	/* Create full div to show speaker's cv */
/*	function showSpeakerCV(urlPar){
		var pageSize = getWindowSize();
		var elem = document.getElementById("fullWindowDiv");
		
		var x = document.getElementsByTagName("object");
		for (var i = 0; i < x.length; i++){ 
  			x[i].removeAttribute("style");
			x[i].style.visibility = 'hidden';			
  		}	
		
		elem.style.visibility = "visible";
		elem.style.height     = pageSize[1] + "px";

		httpRequest('../program/showCV.php',urlPar,'fullWindowDiv');		
	}	*/
	
	
	
	function keyPressHandler(e) {
		var x = document.getElementsByTagName("object");
		for (var i = 0; i < x.length; i++){ 
  			x[i].removeAttribute("style");
			x[i].style.visibility = 'visible';			
  		}
				     
		var kC  = (window.event) ?    // MSIE or Firefox?
        	event.keyCode : e.keyCode;
		var Esc = (window.event) ?   
        	27 : e.DOM_VK_ESCAPE // MSIE : Firefox
        
		var EnterK = (window.event) ?   
        	13 : e.DOM_VK_RETURN // MSIE : Firefox

  		if(kC==Esc) {    
     		closeOpenedForm();             
   		}   
	}

	function closeOpenedForm(){
    	if ( document.getElementById('frameFloatBackground') ) {                     
        	document.getElementById('frameFloatBackground').style.visibility='hidden';
			document.getElementById('divFloatContainer').style.zIndex = -1;
			document.getElementById('divFloat').innerHTML = "";
        }
	}
	
	function validateFullDiv(noError){	
		noError = typeof(noError) != 'undefined' ? noError : "false";
		var error = 0;
		var elem  = document.getElementById("errorMsgBox");
		
		if (error == 0) {
			elem.style.visibility = "hidden";
			var email = document.form2.login.value;
			var pass  = document.form2.pwd.value;
			var url   = document.form2.urlReturn.value;
			var flag  = document.form2.flag.value;
			
			var header = "pass=" + pass + "&email=" + email + "&urlReturn=" + url + "&flag=" + flag;
			var t = httpRequest('../registrations/validateLogin.php',header,'errorMsgBox');
			
			//if (elem.innerHTML == "" || elem.innerHTML == "&nbsp;")
			/*
			if (noError == "true")
				location.href = url;
			else
				elem.style.visibility = "visible";
			*/
		}
	}
	
			
	function validate_pwd(lang, id_event, sendMail){
		sendMail = typeof(sendMail) != 'undefined' ? sendMail : "false";
		var error = 0;
		var elem  = document.getElementById("errorMsgBox");
		var url   = document.form3.urlReturn;
		
		if(error == 0){
			var email = document.form3.login.value;
			var flag  = document.form3.flag.value;
			
			if (url == undefined){
				var header = "email=" + email + "&type=1" + "&flag=" + flag;
				var url    = "../home/";
				httpRequest('../home/validateLogin.php', header, 'errorMsgBox');
			} else {
				var url = document.form3.urlReturn.value;
				var header = "email=" + email + "&urlReturn=" + url + "&type=1" + "&flag=" + flag;
				//alert(id_event);
				if (id_event == 0)
					httpRequest('../../event/registrations/validateLogin.php', header, 'errorMsgBox');
				else
					httpRequest('../registrations/validateLogin.php', header, 'errorMsgBox');
			}
			
			// if (elem.innerHTML == "" || elem.innerHTML == " " || elem.innerHTML == "&nbsp;" ) {
			if (sendMail == "true") {
				//location.href = url;
				if(id_event == 0)
					showWindowWithAjaxRequest("../../event/registrations/loginReg.php?defLang=" + lang + "&event=" + id_event + "&type=newPwd", 600, 230);
				else 
					showWindowWithAjaxRequest("../registrations/loginReg.php?defLang=" + lang + "&event=" + id_event + "&type=newPwd", 600, 230);
			} else 
				elem.style.visibility = "visible" ;			
		}
	}
	
	function printWindow(myurl, windowName) {
		var newWindow;
		var props = 'scrollBars=yes,resizable=yes,status=yes,toolbar=no,menubar=no,location=no,directories=no,width=720,height=440';
		
		newWindow = window.open(myurl, windowName, props);
	}
	
	/*
	 * Google Maps
	 */
    function initialize(lat, lng, zMap, txt, logo, short_url, balloon_text, map_type) {
    	if (GBrowserIsCompatible()) {
        	var pos = new GLatLng(lat, lng);
           	var map = new GMap2(document.getElementById("gmap"));
			var aux = parseInt(zMap);
			if(isNaN(aux))
				aux = 15;	// default zoom		
			
			map.enableDoubleClickZoom();
                            
            map.setCenter(pos, aux, eval(map_type));
            map.addControl(new GSmallMapControl());
            map.addControl(new GMapTypeControl());
                                
            var houseIcon = new GIcon(G_DEFAULT_ICON);
            houseIcon.iconAnchor = new GPoint(13, 10);
                                
            markerOptions = { icon:houseIcon };
                                
		    function createMarker() {
		    	var marker = new GMarker(pos, markerOptions);
		      	GEvent.addListener(marker,"click", function() {
		        	map.openInfoWindowHtml(pos, balloon_text);
		    	});
		      	return marker;
		    }
                                
            map.addOverlay(createMarker());
        }
    }
	
	function show_map() {
		var lat      = document.form1.gps_lat.value;
		var lng      = document.form1.gps_lng.value;
		var elem     = document.getElementById("map_type");
		var map_type = document.form1.map_type.value;
		 
		window.open('../admin/Window_showMap.php?lat='+lat+'&lng='+lng+'&type='+map_type, '', 'width=700,height=450,menubar=no,status=no,location=no,toolbar=no,scrollbars=no');
	}
