//**********************************************//


function sendCard(form, id, mode, start)
{
	var pattern = eval(/^([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$/);
	for (i=start; i<form.elements.length-19; i+=2)
	{
		if (form.elements[i].value == "")
		{
			message(form.elements[i], "Please fill out all the recipient names, or reduce the number of recipients.");
			return;
		}
		else if (form.elements[i+1].value == "")
		{
			message(form.elements[i+1], "Please fill out all the recipient email addresses, or reduce the number of recipients.");
			return;
		}
		else if (!pattern.test(form.elements[i+1].value))
		{
			message(form.elements[i+1], "Invalid email address.");
			return;
		}
	}
	if (form.send_name.value == "")
		message(form.send_name, "Please enter your name.");
	else if (!pattern.test(form.send_email.value) || form.send_email.value == "")
		message(form.send_email, "Please enter your (valid) email address.");
	else if (form.message.value == "")
		message(form.message, "Your message is empty.");
	else if (isNaN(form.daysAdvance.value) || parseInt(form.daysAdvance.value) > parseInt(form.maxDays.value))
		message(form.daysAdvance, "Please enter a value between 0 and " + form.maxDays.value + ". Thank you.");
	else
	{
		if (mode == "preview")
			form.action = "preview.php?img_id=" + id + "#preview";
		else if (mode == "send")
			form.action = "sendcard.php?img_id=" + id + "&send=true";
		form.submit();
	}
}

function message(field, msg)
{
	alert(msg);
	field.select();
	field.focus();
}

function viewCard(card_key, card_id)
{
	var popup;
	popup = window.open("view.php?key="+card_key+"&card_id="+card_id, "ViewCard", "top=30,left=100,height=800,width=600,scrollbars,resizable");
}

function openWin(url)
{
	var win;
	win = window.open(url, "Popup", "width=480,height=400,scrollbars");
}

function popUp(URL)
{
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300,left = 262,top = 234');");
}

function playSound(form)
{
	song_id = form.music.options[form.music.selectedIndex].value;
	if(song_id != 0)
	{
		var music;
		music = window.open("music.php?song_id=" + song_id, "Music", "width=150,height=60,top=30,left=500");
	}
	else
	{
		alert("Please select a song among the list first.");
	}
}

function selectImage(form, selectedImg)
{
	var bg_image;
	bg_image = window.open("bg_images.php?bg_image=" + selectedImg, "BGImage", "width=400,height=400,scrollbars,resizable,top=50,left=500");
}


// Start date functions
function makeArray()
{
    for (i = 0; i<makeArray.arguments.length; i++)
        this[i + 1] = makeArray.arguments[i];
}

function nths(day)
{
    if (day == 1 || day == 21 || day == 31) return 'st';
    if (day == 2 || day == 22) return 'nd';
    if (day == 3 || day == 23) return 'rd';
    return 'th';
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function daysAhead(nbr_days)
{
	var months = new makeArray('January','February','March','April',
                           'May','June','July','August','September',
                           'October','November','December');
    var today = new Date();
    var date = new Date(today.getFullYear(), today.getMonth(), parseInt(today.getDate()) + parseInt(nbr_days), today.getHours(), today.getMinutes(), today.getSeconds());
    return (months[date.getMonth() + 1] + ' ' + date.getDate() + nths(date.getDate()) + ', ' + y2k(date.getYear()));
}

function displayAdvanceDate(form)
{
	if (isNaN(form.daysAdvance.value) || parseInt(form.daysAdvance.value) > parseInt(form.maxDays.value) || form.daysAdvance.value == "")

		message(form.daysAdvance, "Please enter a value between 0 and " + form.maxDays.value + ". Thank you.");
	else
		alert("The card will be sent on: " + daysAhead(form.daysAdvance.value) + ".");
}

// End date functions
