function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function preview_message(inst)
{
	var html_content = inst.getBody().innerHTML;
	var poem = document.forms.areas.poem.value;
	if(html_content && poem) {
	document.getElementById('preview_message').innerHTML = '';
	document.getElementById('preview_bottom').innerHTML = nl2brs(nl2br(html_content));
	} else {
	document.getElementById('preview_message').innerHTML = nl2brs(nl2br(html_content));
	document.getElementById('preview_bottom').innerHTML = '';
	}
}

function nl2br( str ) {
    return str.replace(/([^>])\n\n/g, '$1<p>&nbsp;</p>');
}

function nl2brs( str ) {
    return str.replace(/([^>])\n/g, '$1<br>');
}

function preview_poem(poem)
{

	var preview_message = document.getElementById('preview_message').innerHTML;
	var preview_bottom = document.getElementById('preview_bottom').innerHTML;
	
	if(preview_message && poem.value)
	{
		document.getElementById('preview_bottom').innerHTML = preview_message;
		document.getElementById('preview_message').innerHTML = '';
	}
	else if(preview_bottom && !poem.value)
	{
		document.getElementById('preview_message').innerHTML = preview_bottom;
		document.getElementById('preview_bottom').innerHTML = '';
	}

	var bgcolor = document.getElementById('preview').style.backgroundColor;
	var url = "ecards.php";
	var data = "action=preview_poem&poem=" + poem.value + "&bgcolor=" + bgcolor;
	
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.send(data);
	http.onreadystatechange = handleResponse;

}

function preview_music(music)
{

	var url = "ecards.php";
	var data = "action=preview_music&music=" + music.value;
	
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.send(data);
	http.onreadystatechange = handleResponse;

}

function live_preview()
{
	var music = document.forms.areas.music.value;
	var poem = document.forms.areas.poem.value;
	var background = document.forms.areas.background.value;
	var message1 = document.getElementById('preview_message').innerHTML;
	var message2 = document.getElementById('preview_bottom').innerHTML;
	var image = document.forms.areas.image.value;
	var stamp = document.forms.areas.stamp.value;
	var bgimg = document.forms.areas.bgimg.value;
	var your_name = document.forms.areas.your_name.value;
	var your_email = document.forms.areas.your_email.value;
	var friend_name = document.forms.areas.friend_name.value;
	var friend_email = document.forms.areas.friend_email.value;	
	var html = document.forms.areas.html.value;	
	
	var url = "ecards.php";	
	var data = "action=live_preview&music=" + music + "&poem=" + poem  + "&background=" + background  + "&message1=" + message1  + "&message2=" + message2  + "&image=" + image + "&stamp=" + stamp + "&bgimg=" + bgimg + "&your_name=" + your_name + "&your_email=" + your_email + "&friend_name=" + friend_name + "&friend_email=" + friend_email + "&html=" + html;
	
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http.send(data);
	http.onreadystatechange = handleResponseLivePreview;	

}

function sending(type)
{

	var url = "ecards.php";
	var data = "action=sending&type=" + type;
	
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.send(data);
	http.onreadystatechange = handleResponse;

}

function preview_background(colour)
{
document.getElementById('preview').style.backgroundColor=colour
document.forms.areas.background.value = colour;
}

function card()
{

	document.getElementById('cardpreview').innerHTML = '<table border="0" width="100%" height="100%" cellspacing="3" cellpadding="3" bgcolor="#FFFFFF" style="border: 1px solid #C0C0C0"><tr><td bgcolor="#F5F5F5"><p align="center"><img border="0" src="loadingicon.gif" width="66" height="66"></p><p align="center"><font face="Verdana" style="font-size: 8pt">&nbsp;<br>Please wait a second whilst we generate your card<br>&nbsp;</font></td></tr></table>';

	var music = document.forms.areas.music.value;
	var poem = document.forms.areas.poem.value;
	var background = document.forms.areas.hexvalue.value;
	var message = document.forms.areas.html_content.value;
	var image = document.forms.areas.image.value;

	var url = "ecards.php";
	var data = "action=preview_card&music=" + music + "&poem=" + poem + "&background=" + background + "&message=" + message + "&image=" + image;
	
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.send(data);
	http.onreadystatechange = handleResponse;

}

function handleResponse() {

    if(http.readyState == 4){
	
        var response = http.responseText;
		var response = response.replace(/^\s+|\s+$/g, '') ;
		var layers_replace = new Array();

		    layers_replace = response.split('*');	
					
			for(i=0;i<layers_replace.length;i++) {
					var update = new Array();
					update = layers_replace[i].split('---!---');
					if(update[0] == 'alert')
					{
					alert(update[1]);
					} else {
					document.getElementById(update[0]).innerHTML = update[1];
					}
									
			}
		
    }
}

function handleResponseLivePreview() {

    if(http.readyState == 4){
	
        var response = http.responseText;
	//document.getElementById('live_preview').innerHTML = response;
	
	url = "preview.php?cardid=" + response.replace(/^\s+|\s+$/g,"");
	document.getElementById('live_preview_link').href =  url;
	box.open(document.getElementById('live_preview_link'));
    }

}