function sendProgram() {
	var pid = document.emailProgram.programId.value;
	var email = document.emailProgram.emailAddress.value;
	var additionalText = document.emailProgram.additionalMessage.value;
	//var Regex = new RegExp("^([a-zA-Z0-9])+(.[a-zA-Z0-9_\.])*@([a-zA-Z0-9-_])+.[A-Za-z]{2,4}(.[A-Za-z]{2,4})*$");
	var Regex = new RegExp("^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$");
	if(email.length==0 || !Regex.test(email)) {
		alert("Please provide a valid email address.");
	}
	else {
		xmlHttp=GetXmlHttpObject();
		var url="ajaxPages/emailProgram.php";
		url=url+"?sid="+Math.random()+"&programId="+pid+"&mailText="+additionalText+"&email="+email;
		xmlHttp.onreadystatechange=getMailState;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
}

function getMailState() {
	if (xmlHttp.readyState == 4) {
		document.getElementById('addons').innerHTML = xmlHttp.responseText;
	} else {
		document.getElementById('addons').innerHTML = "<table align='center'><tr><td style='font-family: verdana;font-size: 11;font-weight: bold;color: blue'><img src='images/loading.gif'/></td></tr><tr><td align='center' style='font-weight: bold;font-size: 12;color: black;font-family: arial'>Sending Mail, Please Wait ...</td></tr></table>";
	}
}

function toggleFavourite(programId) {
	xmlHttp=GetXmlHttpObject();
	var url="ajaxPages/AddRemoveFavourites.php";
	url=url+"?sid="+Math.random()+"&programId="+programId;
	xmlHttp.onreadystatechange=getState;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function getState() {
	if (xmlHttp.readyState==4) { 
		document.getElementById("favourites").innerHTML=xmlHttp.responseText;
	}
	else {
		document.getElementById("favourites").innerHTML="Processing...";
	}
}

function validateProfileForm() {
	if(document.profileForm.programName.value.length<5 ||document.profileForm.programName.value.length>100) {
		alert("Program name should be between 5 to 100 characters");
		return false;
	}
	else if(document.profileForm.programBody.value.length<=10) {
		alert("Program body should be atleast 10 characters");
		return false;
	}
	else if(document.profileForm.programDocs.value.length<=10) {
		alert("Program documentation should be atleast 10 characters");
		return false;
	}
	else if(document.profileForm.language.value == "") {
		alert("Please select a language");
		return false;
	}
	else if(document.profileForm.category.value.length == '') {
		alert("Please select a category");
		return false;
	}
	else if(document.profileForm.compiler.value.length == "") {
		alert("Please select a compiler");
		return false;
	}
	else if(document.profileForm.operatingSystem.value == "") {
		alert("Please select a operating system");
		return false;
	}
	else {
		return true;
	}
}

function validateCommentForm() {
	if(document.commentForm.programComment.value.length<1) {
		alert("Program comment cannot be left blank.");
		return false;
	}
	else
		return true;
}

function formatCode(language){
	try{
		var arr = null;
		if("C"==language){
			alert('Array initialized...');	
			arr = ['int'];
		}
		
		var str = document.getElementById('programContent').innerHTML;
		alert(str);
		for(var i = 0; i < arr.length ; i++ ){
			alert(arr[i]);
			document.getElementById('programContent').innerHTML = str.replace(arr[i],'<b>'+arr[i]+'</b>');
			alert(str);
		}
		alert(str);
//		document.getElementById('programContent').innerHTML = str;
	}catch(err){
		alert(err);
	}
}
