function validateEmail(addr,man,db) {
	if (addr == 'you@email.com') {
		addr='';
	}
	if (addr == '' && man) {
		if (db) alert('email address is mandatory');
		return false;
	}
	
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
		if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
		if (db) alert('email address contains invalid characters');
		return false;
		}
	}
	
	for (i=0; i<addr.length; i++) {
		if (addr.charCodeAt(i)>127) {
		if (db) alert("email address contains non ascii characters.");
		return false;
		}
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
		if (db) alert('email address must contain an @');
		return false;
	}

	if (atPos == 0) {
		if (db) alert('email address must not start with @');
		return false;
	}

	if (addr.indexOf('@', atPos + 1) > - 1) {
		if (db) alert('email address must contain only one @');
		return false;
	}

	if (addr.indexOf('.', atPos) == -1) {
		if (db) alert('email address must contain a period in the domain name');
		return false;
	}

	if (addr.indexOf('@.',0) != -1) {
		if (db) alert('period must not immediately follow @ in email address');
		return false;
	}

	if (addr.indexOf('.@',0) != -1){
		if (db) alert('period must not immediately precede @ in email address');
		return false;
	}

	if (addr.indexOf('..',0) != -1) {
		if (db) alert('two periods must not be adjacent in email address');
		return false;
	}

	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	//if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	// if (db) alert('invalid primary domain in email address');
	// return false;
	//}
	
	//verify that the TLD contains at least two characters
	if (suffix.length < 2)  {
		if (db) alert('invalid primary domain in email address');
		return false;
	}

	return true;
}

var http_request = false;
function makePOSTRequest(url, parameters, obj) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		//http_request.overrideMimeType('text/xml');
		http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }
  
  http_request.onreadystatechange = function(){alertContents(obj)};
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}

function alertContents(obj) {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		//alert(http_request.responseText);
		result = http_request.responseText;
		document.getElementById(obj).innerHTML = result;            
	 } else {
		alert('There was a problem with the request.');
	 }
  }
}

function get(obj, formid) {
	var formFirstName = document.forms[formid].firstname.value;
	var formLastName = document.forms[formid].lastname.value;	
	var formAddress = document.forms[formid].address.value;	
	var formZipCode = document.forms[formid].zipcode.value;
	var formPhone = document.forms[formid].phone_areacode.value +''+ document.forms[formid].phone_prefix.value +''+ document.forms[formid].phone_suffix.value;	
	var formEmail = document.forms[formid].email.value;	
	var url = 'request.php?getForm=TVContest&subFirstName='+formFirstName+'&subLastName='+formLastName+'&subAddress='+formAddress+'&subZipCode='+formZipCode+'&subPhone='+formPhone+'&subEmail='+formEmail;
	makePOSTRequest(url,'',obj);
}

function PlayShow(obj) {
	var url = 'playshow.php';
	makePOSTRequest(url,'',obj);
}

function PlayVideo(id) {
	var url = 'playvideo.php?id='+id;
	makePOSTRequest(url,'','VideoPlayer');
}

function CheckForm(formid) {
	if(document.forms[formid].firstname.value==''){ alert('Please Provide Us With Your First Name'); document.forms[formid].firstname.focus(); return false; }				
	if(document.forms[formid].lastname.value==''){ alert('Please Provide Us With Your Last Name'); document.forms[formid].lastname.focus(); return false; }								
	if(document.forms[formid].address.value==''){ alert('Please Provide Us With Your Street Address'); document.forms[formid].address.focus(); return false; }									
	if(document.forms[formid].zipcode.value.length<5){ alert('Please Provide Us With Your Zip Code'); document.forms[formid].zipcode.focus(); return false; }												
	if(isNaN(document.forms[formid].zipcode.value)){ alert('Please Provide Us With A Valid Zip Code'); document.forms[formid].zipcode.focus(); return false; }
	if(document.forms[formid].phone_areacode.value.length<3){ alert('Please Provide Us With Your Area Code'); document.forms[formid].phone_areacode.focus(); return false; }												
	if(isNaN(document.forms[formid].phone_areacode.value)){ alert('Please Provide Us With A Valid Area Code'); document.forms[formid].phone_areacode.focus(); return false; }				
	if(document.forms[formid].phone_prefix.value.length<3){ alert('Please Provide Us With Your Phone Number'); document.forms[formid].phone_prefix.focus(); return false; }												
	if(isNaN(document.forms[formid].phone_prefix.value)){ alert('Please Provide Us With A Valid Phone Number'); document.forms[formid].phone_prefix.focus(); return false; }								
	if(document.forms[formid].phone_suffix.value.length<4){ alert('Please Provide Us With Your Phone Number'); document.forms[formid].phone_suffix.focus(); return false; }												
	if(isNaN(document.forms[formid].phone_suffix.value)){ alert('Please Provide Us With A Valid Phone Number'); document.forms[formid].phone_suffix.focus(); return false; }												
	if(validateEmail(document.forms[formid].email.value,true,false)==false){ alert('Please Provide Us With A Valid eMail Address'); document.forms[formid].email.focus(); return false; }
	if(document.forms[formid].over18.checked==false){ alert('You Must Be At Least 18 Year Old To Enter This Contest'); return false; }				
}