function serialize(v){
	if(typeof(v)=='object'){
		var i,s='',c=0;
		for(i in v){
			if(typeof(v[i]) != 'function'){
				if(v[i]){
					c++;
					s+=serialize(i)+serialize(v[i]);
				}
			}
		}
		s="a:"+c+":{"+s+"}";
		return s;
	}
	else if(Number(v)==v){
		return 'i:'+v+';';
	}
	else if(typeof(v)=='string'){
		return 's:'+v.length+':"'+v+'";';
	}
}

function prepareName(val){
	val = val.replace('\'','’');
  	var patt = /[^\wÀ-ßà-ÿ³¿º´²¯ª¥’.\-\s]+|(^\s+)|(^_+)|(^\d+)|(_+$)|(\s+$)/g;
  	val = val.replace(patt,'');
  	val = val.replace(/(_+)|(\s+)/g,' ');
  	val = val.replace(/(^\s+)|(\s+$)/g,'');
  	return val;
}