function utilsDataParse(resp){
	if (resp.length == 0) {
		alert('Kommunikációs hiba!');
		//top.document.location.href='login.fm?ver=7';
		return;
	}


	try {
		var obj = eval('('+resp+')');
	} catch(err) {
		alert('Kommunikációs hiba!\n'+err);
		//top.document.location.href='login.fm?ver=7';
		return;
	}

	if (obj.ret == 5) {
		top.document.location.href='login.fm?ver=2';
		return obj;
	}


	if ( ( obj.ret > 0 ) && ( obj.ret < 4 ) ){
		utilsDataDisplay(obj.message,obj.reason,obj.code);
	}

	return obj;
}

function utilsDataDisplay(msg,reason,code){
	if ( !top.outer || !top.outer.document.getElementById('overlayMsg_content') ){
		alert(msg+"\n"+reason+"\n"+code);
		return;
	}
	var my_ct = top.outer.document.getElementById('overlayMsg_content'); 
	my_ct.innerHTML = '<div class="msgtext">'+msg+'</div>';
	my_ct.innerHTML += '<div class="msgtext" style="font-weight: normal; font-size: 11px;">'+reason+'</div>';
	my_ct.innerHTML += '<div class="msgtext" style="font-weight: normal; font-size: 11px;">'+code+'</div>';
	my_ct.innerHTML += '<input type="button" value=" OK " onclick="outerCloseOverlayFM()" />';
	top.outer.outerOpenOverlayFM();
	return;

}

function utilsDataError(ret){
	if ( ret == 2 ) {
		top.document.location.href='login.fm?ver=2';
		return false;
	}
	if ( !top.outer ){
		alert('Rendszerhiba!');
		return false;
	}

	if ( !top.outer.document.getElementById('overlayFM') ) {
		alert('Rendszerhiba!');
		return false;
	}

	var my_ct = top.outer.document.getElementById('overlayMsg_content'); 
	my_ct.innerHTML = '<div class="msgtext">Nincs megadva c\xedmzett!</div>';
	my_ct.innerHTML = my_ct.innerHTML + '<input type="button" value=" OK " onclick="outerCloseOverlayFM()" />';
	parent.outerOpenOverlayFM();
	return;

	switch (ret){
		case 2: 
			//alert('Letelt a biztonsági idõkorlát, lépjen be újra!');
			top.document.location.href='login.fm?ver=2';
			break;
		case 3:
		case 4: 
			alert('Rendszerhiba!');
			break;
		default:
			alert('Rendszerhiba!');
			//top.document.location.href='login.fm?ver=4';
			break;
	}
	return false;
}

function isloginfc(s) {
	if (s.charAt(0) < 'a' || s.charAt(0) > 'z') return 0;
	return 1;
}

function isloginstr(s) {
	var i;
	var len = s.length;
	if (!isloginfc(s)) return 0;
	for (i = 0; i < len; i++) {
		if ((s.charAt(i) < '0' || s.charAt(i) > '9') && (s.charAt(i) < 'a' || s.charAt(i) > 'z') && (s.charAt(i) != '-') && (s.charAt(i) != '_') && (s.charAt(i) != '.')) return 0;
	}
	return 1;
}

function istxtstr(s) {
	var i;
	var len = s.length;
	for (i = 0; i < len; i++) {
		if ((s.charAt(i) < '0' || s.charAt(i) > '9') && (s.charAt(i) < 'a' || s.charAt(i) > 'z') && (s.charAt(i) < 'A' || s.charAt(i) > 'Z') && (s.charAt(i) != '-') && (s.charAt(i) != '_') && (s.charAt(i) != '.') && (s.charAt(i) != ' ') && (s.charAt(i) != '\\') && (s.charAt(i) != ':') && (s.charAt(i) != ';') && (s.charAt(i) != '&') && (s.charAt(i) != 'á') && (s.charAt(i) != 'é') && (s.charAt(i) != 'í') && (s.charAt(i) != 'ó') && (s.charAt(i) != 'ú') && (s.charAt(i) != 'ö') && (s.charAt(i) != 'õ') && (s.charAt(i) != 'ü') && (s.charAt(i) != 'û') && (s.charAt(i) != 'Á') && (s.charAt(i) != 'É') && (s.charAt(i) != 'Í') && (s.charAt(i) != 'Ó') && (s.charAt(i) != 'Ú') && (s.charAt(i) != 'Ö') && (s.charAt(i) != 'Õ') && (s.charAt(i) != 'Ü') && (s.charAt(i) != 'Û')) return 0;
	}
	return 1;
}

function isaccentedfc(s) {
	if ((s.charAt(0) < 'a' || s.charAt(0) > 'z') ||((s.charAt(0) != 'á') && (s.charAt(0) != 'é') && (s.charAt(0) != 'í') && (s.charAt(0) != 'ó') && (s.charAt(0) != 'ú') && (s.charAt(0) != 'ö') && (s.charAt(0) != 'o') && (s.charAt(0) != 'ü') && (s.charAt(0) != 'u') && (s.charAt(0) != 'Á') && (s.charAt(0) != 'É') && (s.charAt(0) != 'Í') && (s.charAt(0) != 'Ó') && (s.charAt(0) != 'Ú') && (s.charAt(0) != 'Ö') && (s.charAt(0) != 'O') && (s.charAt(0) != 'Ü') && (s.charAt(0) != 'U'))) return 0;
	return 1;
}

function isaccentedstr(s) {
	var i;
	var len = s.length;
	//if (!isaccentedfc(s)) return 0;
	for (i = 0; i < len; i++) {
		if ((s.charAt(i) < '0' || s.charAt(i) > '9') && (s.charAt(i) < 'a' || s.charAt(i) > 'z') && (s.charAt(i) != '-') && (s.charAt(i) != '_') && (s.charAt(i) != '.') && (s.charAt(i) != 'á') && (s.charAt(i) != 'é') && (s.charAt(i) != 'í') && (s.charAt(i) != 'ó') && (s.charAt(i) != 'ú') && (s.charAt(i) != 'ö') && (s.charAt(i) != 'õ') && (s.charAt(i) != 'ü') && (s.charAt(i) != 'û') && (s.charAt(i) != 'Á') && (s.charAt(i) != 'É') && (s.charAt(i) != 'Í') && (s.charAt(i) != 'Ó') && (s.charAt(i) != 'Ú') && (s.charAt(i) != 'Ö') && (s.charAt(i) != 'Õ') && (s.charAt(i) != 'Ü') && (s.charAt(i) != 'Û')) return 0;
	}
	return 1;
}

function utilsFolderCreate(folder){
	top.current_folder_array[folder] = {name:'', current_msg:'', current_page:'', last_msg:'', autoopen:0, data:[]};	
}

/*
	func: check if quotes needed around fullname
	called by: utilsGetMails
	param: s -tring to check
*/

function utilsNeedQuotes(s)
{
	return s.search(/^[a-zA-Z0-9 _-]*$/);
}

/*
	func: get emial string list from array
	called by: write, read
	param: oMails - mail array, incmy - if 1 include own address in mails
*/

function utilsGetMails( oMails, incmy ){
	var maillist = '';


	for (var i in oMails){
		if ( ( oMails[i].mail.toLowerCase() != top.ulid.substring(0, top.ulid.lastIndexOf('_')) ) || incmy ) {
			if (oMails[i].name && oMails[i].mail){
				if ( utilsNeedQuotes(oMails[i].name) )
					maillist = maillist +'"'+ oMails[i].name+'" <'+oMails[i].mail+'>';
				else
					maillist = maillist + oMails[i].name+' <'+oMails[i].mail+'>';
			} else if (oMails[i].mail) {
				maillist = maillist + oMails[i].mail;
			}
			maillist = maillist + ', ';
		}
	}
	return maillist.substring(0,maillist.lastIndexOf(','));
}

var key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
function utilsB64(s) {
   var ret = '';
   var c1, c2, c3;
   var e1, e2, e3, e4;
   var i = 0;
   do {
      c1 = s.charCodeAt(i++);
      c2 = s.charCodeAt(i++);
      c3 = s.charCodeAt(i++);
      e1 = c1 >> 2;
      e2 = ((c1 & 3) << 4) | (c2 >> 4);
      e3 = ((c2 & 15) << 2) | (c3 >> 6);
      e4 = c3 & 63;
      if (isNaN(c2)) {
	 e3 = e4 = 64;
      } else if (isNaN(c3)) {
	 e4 = 64;
      }
      ret = ret + key.charAt(e1) + key.charAt(e2) + key.charAt(e3) + key.charAt(e4);
   } while (i < s.length);
   return ret;
}

function getBannerTarget(){

  var target;
  if (top.tbanner == 1) {
	var userdata = 'userdb_id=20';
	if (top.fname) userdata += '&fname=' + top.fname;
	if (top.lastname) userdata += '&lastname=' + top.lastname;
	if (top.firstname) userdata += '&firstname=' + top.firstname;
	if (top.sex) userdata += '&sex=' + top.sex;
	if (top.dateofbirth) userdata += '&yearofbirth=' + top.dateofbirth.substring(0, 4) + '&monthofbirth=' + top.dateofbirth.substring(4, 6) + '&dayofbirth=' + top.dateofbirth.substring(6, 8);
	if (top.zipcode) userdata += '&zipcode=' + top.zipcode;
	if (top.education) userdata += '&education=' + top.education;
	if (top.profession) userdata += '&profession=' + top.profession;
	if (top.workarea) userdata += '&workarea=' + top.workarea;
	if (top.hasmobile) userdata += '&hasmobile=' + top.hasmobile;
	if (top.netfrom) userdata += '&netfrom=' + top.netfrom;
	if (top.netfreq) userdata += '&netfreq=' + top.netfreq;
	if (top.interest) userdata += '&interest=' + top.interest;
	target = utilsB64(userdata);
  } else {
	target = '';
  }
  return target;
}

function utilsGetReadAttached(){
	var cids = '';
	for ( var i in top.readAttached ){
		cids += '&cid='+top.readAttached[i];
	}
	return cids;
}

function urlEncode(s){
	return escape(s).replace(/\+/g, "%2B").replace(/\//g,'%2F').replace(/@/g, '%40');
}
