function htmlspecialchars_decode( str ){

	str = str.replace( /&lt;/g,   "<" );
	str = str.replace( /&gt;/g,   ">" );
	str = str.replace( /&quot;/g, '"' );
	str = str.replace( /&#039;/g, "'" );
	str = str.replace( /&amp;/g,  "&" );

	return str;
}


function htmlspecialchars( str ){

	str = htmlspecialchars_decode( str );

	str = str.replace( /&/g, "&amp;"  );
	str = str.replace( /</g, "&lt;"   );
	str = str.replace( />/g, "&gt;"   );
	str = str.replace( /"/g, "&quot;" );
	str = str.replace( /'/g, "&#039;" );

	return str;
}


function str_to_array( str ){

	var a = new Array();

	if( !str ){ return a; }

	str = htmlspecialchars( str );
	b = str.split( '&lt;&lt;&gt;&gt;' );
	for(var i in b){
		c = b[i].split( '&lt;&gt;' );
		if( c[0] ){
			a[c[0]] = c[1];
		}
	}


	return a;

}


function array_to_str( a ){

	var s = '';
	for(var i in a){
		s = s + i + "<>" + a[i] + "<<>>";
	}

	return s;
}

