In a nutshell, you add a high-frequency, low amplitude signal to the low-frequency, high amplitude AC signal. Powered devices don't care about the added noise, and filtering can extract the high frequency signal without the low frequency component.
Probably due to the dangerous nature of mains power, I haven't seen any blogs or tech notes on how to implement it. However, an Amazon search for "Power Line Communication" yields 325 books, of which most appear pertinent to your question, and by much more qualified persons than myself.
It is possible. However, if you're using an Arduino, you likely don't have the expertise to create a well-isolated and well-insulated shield. No offense intended, I would be hesitant to try it myself, and I've had some training on the topic at a university. Also, an Arduino is meant to be handled, and, as Joby pointed out, it will definitely need a well-designed enclosure.
All things considered, you'll have a much more flexible, easier to create, cheaper, and more robust system if you simply use an Ethernet shield and buy a powerline ethernet adapter like the one you linked to. Do some searching, they're available for less than $30.
Slightly off-topic, but I would consider Power over Ethernet to be much more within the reach of an Arduino shield. National has a decent appnote/FAQ on their LM507X series of powered device controllers. This is something I'd like to try once I get some free time....
The const char javascript[] PROGMEM = "..."
is a >5,000 character string. It's possible that the Arduino IDE doesn't support line lengths of this size, you can break it up using the continuation character \
at the end of your line:
const char javascript[] PROGMEM = "<script type=\"text/javascript\">function" \
" getScrollY(){var scrOfX = 0,scrOfY=0;if(typeof(window.pageYOffset)=='number')" \
"{scrOfY=window.pageYOffset;scrOfX=window.pageXOffset;}else if(document.body&&" \
[Many more lines]
"setCCbldSty2('colorpicker201','ds','block');" \
"document.getElementById('colorpicker201').innerHTML=mid;}</script>";
Note that you can't have // comments at the end of these lines.
If this is what you meant by "broke into 2 parts" you should be fine. Otherwise, I think your reassembly at runtime is suspicious.
Best Answer
You might check out Tweet-a-Watt and see if it will work with your 220V power line. That project should at least give you an idea of how to get started.