// JavaScript Document


// JavaScript Document
/**********************************XMLHttpRequest Routines*************************************/
var XMLHttp;
function sendRequest(url, results){
	XMLHttp = getXMLHttp();
	XMLHttp.open("POST",url);
	XMLHttp.onreadystatechange=handlerFunk;
	XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHttp.send(results);
}
function handlerFunk(){
	if(XMLHttp.readyState == 4){
		var xml = XMLHttp.responseXML;
		var text = XMLHttp.responseText;
		if(text == 0){
			sayThankyou();
		}else if(text == 1){
			loginError();
		}else if(text == 2){
			uploadAndApprove();
		}else{
			uploadError(text);
		}
	}
}
function sendRequestXML(url, results){
	XMLHttp = getXMLHttp();
	XMLHttp.open("POST",url);
	XMLHttp.onreadystatechange=handlerFunkXML;
	XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHttp.send(results);
}
function handlerFunkXML(){
	if(XMLHttp.readyState == 4){
		var xml = XMLHttp.responseXML;
		var text = XMLHttp.responseText;
		nextStepXML(xml);	
	}
}
function sendRequestLatest(url, results){
	XMLHttp = getXMLHttp();
	XMLHttp.open("POST",url);
	XMLHttp.onreadystatechange=handlerFunkLatest;
	XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHttp.send(results);
}
function handlerFunkLatest(){
	if(XMLHttp.readyState == 4){
		var xml = XMLHttp.responseXML;
		var text = XMLHttp.responseText;
		nextStepLatest(xml);	
	}
}
function sendRequestUpdates(url, results){
	XMLHttp = getXMLHttp();
	XMLHttp.open("POST",url);
	XMLHttp.onreadystatechange=handlerFunkUpdates;
	XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHttp.send(results);
}
function handlerFunkUpdates(){
	if(XMLHttp.readyState == 4){
		var xml = XMLHttp.responseXML;
		var text = XMLHttp.responseText;
		if(text == 0){
			updatesThankYou();
		}else if(text == 2){
			thankYouShareVideo();
		}else{
			updatesError(text);
		}
	}
}
function sendRequestUnsubscribe(url, results){
	XMLHttp = getXMLHttp();
	XMLHttp.open("POST",url);
	XMLHttp.onreadystatechange=handlerFunkUnsubscribe;
	XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHttp.send(results);
}
function handlerFunkUnsubscribe(){
	if(XMLHttp.readyState == 4){
		var xml = XMLHttp.responseXML;
		var text = XMLHttp.responseText;
		unsubscribeThankYou(text);
		
	}
}
function getXMLHttp() {
  var XMLHttp = null;
  if (window.XMLHttpRequest) {
    try {
      XMLHttp = new XMLHttpRequest();
    } catch (e) { }
  } else if (window.ActiveXObject) {
    try {
      XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) { }
    }
  }
  return XMLHttp;
}
/***********************************************************************/
function checkForm(){
	var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var results = "";
	var elementArray = [];
	elementArray[0] = document.getElementsByName("path")[0];
	elementArray[1] = document.getElementsByName("name")[0];
	elementArray[2] = document.getElementsByName("email")[0];
	elementArray[3] = document.getElementsByName("description")[0];
	elementArray[4] = document.getElementsByName("country")[0];
	elementArray[5] = document.getElementsByName("language")[0];
	
	var continueSend = true;
	update(elementArray);
	for(var i = 0; i < elementArray.length; i++){
		if(elementArray[i].value == ''){
			writeError("This field is required", elementArray[i]);
			continueSend = false;
		}else if(i == 2 && !emailFilter.test(elementArray[i].value)){
			writeError("Invalid email", elementArray[i]);
			continueSend = false;
		}else{
			if(i != 0){results += elementArray[i].name + '=' + elementArray[i].value.replace(/&/, "") + '&';}	
			else{results += elementArray[i].name + '=' + elementArray[i].value + '&';}
		}
	}
	if(continueSend){
		results += 'whatTypeOfCall=enterVideo&';	
		sendRequest("php/enterVideo.php", results);
	}
}
function update(elementArray){
	for(var i =0; i < elementArray.length; i++){		
		if(elementArray[i].parentNode.lastChild.id == "securityRed" )
			elementArray[i].parentNode.removeChild(elementArray[i].parentNode.lastChild);
	}
}
function writeError(txt,element){
	var w = document.createElement("div");
	w.setAttribute("id", "securityRed");
	w.style.color = "red";
	w.style.marginLeft = 10 + "px";
	w.style.marginBottom = 10 + "px";
	w.style.fontWeight = 'bold';
	w.style.fontSize = 10 + "px";
	element.parentNode.appendChild(w).innerHTML = txt;
}
function nextStep(){
	document.getElementById("submitText").style.display = 'none';
	document.getElementById('thankyou').style.display = 'block';
}
function checkUrl(){
	if(location.search == '?thankyou'){
		nextStep();
	}
}
function sayThankyou(){
	location.href = 'share.html?thankyou';	
}
function loginError(){
	document.getElementById("errorCode").innerHTML = "<p class='red'>Your email or password is incorrect</p>";
}
function uploadError(text){
	document.getElementById("submitText").innerHTML =
	'<p class=\"red\">Your request could not be processed at this time:<br/><br/>' + text + '</p>';
}
function checkAdmin(){
	var results = "";
	var elementArray = [];
	elementArray[0] = document.getElementsByName("email")[0];
	elementArray[1] = document.getElementsByName("password")[0];
	
	var continueSend = true;
	update(elementArray);
	for(var i = 0; i < elementArray.length; i++){
		if(elementArray[i].value == ''){
			writeError("This field is required", elementArray[i]);
			continueSend = false;
		}else{
			results += elementArray[i].name + '=' + elementArray[i].value + '&';	
		}
	}
	if(continueSend){
		results += 'whatTypeOfCall=adminLogin&';	
		sendRequest("php/enterVideo.php", results);
	}
}
function uploadAndApprove(){
	document.getElementById("moderatorLogin").style.display = 'none';
	document.getElementById('moderatorUpload').style.display = 'block';	
}
function checkContent(){
	var results = "";
	var elementArray = [];
	elementArray[0] = document.getElementsByName("file")[0];
	elementArray[1] = document.getElementsByName("title")[0];
	
	var continueSend = true;
	update(elementArray);
	for(var i = 0; i < elementArray.length; i++){
		if(elementArray[i].value == ''){
			writeError("This field is required", elementArray[i]);
			continueSend = false;
		}
	}
	if(continueSend){
		document.uploadContent.submit();
	}
}
function getYouTubePath(){
	var videoURL = location.search;
	var videoURLPos = location.search.indexOf('?');
	videoURL = videoURL.substring(videoURLPos + 1);
	document.getElementsByName("thePath")[0].value = videoURL;
}
function getVideos(){
	var results = 'whatTypeOfCall=sendXML&';
	sendRequestXML("php/enterVideo.php", results);
}
function getLatestVideos(){
	var results = 'whatTypeOfCall=sendXML&';
	sendRequestLatest("php/enterVideo.php", results);
}
var listItemArray;
function nextStepLatest(xml){
	listItemArray = new Array();
	var xmlArray = xml.getElementsByTagName("listItem");
	for(var i = 0; i < xmlArray.length; i++){
		var listItemObject = new Object();
		parseXML(xmlArray[i].firstChild, listItemObject);
		listItemArray[i] = listItemObject;
	}
	writetoScreenLatest();
}
function nextStepXML(xml){
	listItemArray = new Array();
	var xmlArray = xml.getElementsByTagName("listItem");
	for(var i = 0; i < xmlArray.length; i++){
		var listItemObject = new Object();
		parseXML(xmlArray[i].firstChild, listItemObject);
		listItemArray[i] = listItemObject;
	}
	writetoScreen();
}
function parseXML(object, listItemObject){
	if(object != null){
		switch(object.nodeName){
			case "thumbnail":
				listItemObject.thumbnail = object.firstChild.nodeValue.replace(/"/, "&quot;");
				break;
			case "title":
				listItemObject.title = object.firstChild.nodeValue.replace(/"/, "&quot;");
				break;
			case "path":
				listItemObject.path = object.firstChild.nodeValue.replace(/"/, "&quot;");
				break;
			case "name":
				listItemObject.name = object.firstChild.nodeValue.replace(/"/, "&quot;");
				break;
			case "description":
				if(object.firstChild){listItemObject.description = object.firstChild.nodeValue.replace(/"/, "&quot;");}
				else{listItemObject.description = "";}																			
				break;
			default:
				break;
		}
		parseXML(object.nextSibling, listItemObject);
	}
}
var vPerPage = 8;
function writetoScreen(){
	var aVideoItem = "";
	listItemArray = listItemArray.reverse();
	var activeLink = 'normalPagination';
	var num = location.href.indexOf('?') + 1;
	var page = Number(location.href.substring(num));
	var pages = Math.ceil(listItemArray.length / vPerPage);
	var pagination = "";
	pagination += "<a class=\"pagination carrot_prev\" href=\"javascript: prev()\"> prev</a>";
	for(var i = 0; i < pages; i++){
		activeLink = 'normalPagination';
		if( (i + 1) == page) activeLink = 'currentPagination';
		pagination +=
		"<div class=\"pagNum\"><a class=\""+ activeLink +"\" href=\"videos.html?" + (i + 1) + "\">" + (i + 1) + "</a></div>";
	}
	pagination += "<a class=\"pagination carrot_next\" href=\"javascript: next()\"> next</a>";
	document.getElementById('paginationTop').innerHTML = pagination;
	
	var ceilingNum = Number(page) * Number(vPerPage);
	var floorNum = Number((page - 1)) * Number(vPerPage); 
	if(ceilingNum > listItemArray.length) ceilingNum = listItemArray.length;
	
	for(var i= floorNum; i < ceilingNum; i++){
		var obj = listItemArray[i];
		var ytId = obj.path.indexOf('=');
		ytId = obj.path.substring(ytId + 1);
	aVideoItem += 
			"<div class=\"video_thumb\">\n" +
				"<a href=\"javascript:myLightWindow.activateWindow({href: 'http://www.youtube.com/v/"+ ytId +"&rel=0', loadingAnimation: 'false', height: '340', width: '425',caption: 'Video submitted by "+ obj.name +"', title: '"+ obj.title +"'});\" >\n" +
					"<img src=\"" + obj.thumbnail + "\" width=\"164\">\n" +
				"</a>\n" + obj.title +
				"<a href=\"shareVideo.html?"+ ytId + obj.title + "\" title=\"Share Link\" class=\"carrot\"> Share video</a>\n" +
			"</div>";
			
	}
	document.getElementById('videosSection').innerHTML = aVideoItem;
}
function writetoScreenLatest(){
	var aVideoItem = "";
	listItemArray = listItemArray.reverse();
	for(var i= 0; i < 3; i++){
		var obj = listItemArray[i];
		var ytId = obj.path.indexOf('=');
		ytId = obj.path.substring(ytId + 1);
	
			aVideoItem += 
			"<div class=\"video_thumb\">\n" +
				"<a href=\"javascript:myLightWindow.activateWindow({href: 'http://www.youtube.com/v/"+ ytId +"&rel=0', loadingAnimation: 'false', height: '340', width: '425',caption: 'Video submitted by "+ obj.name +"', title: '"+ obj.title +"'});\" >\n" +
					"<img src=\"" + obj.thumbnail + "\" width=\"164\">\n" +
				"</a>\n" + obj.title + 
				"<a href=\"shareVideo.html?"+ ytId + obj.title + "\" title=\"Share Link\" class=\"carrot\"> Share video</a>\n" +
			"</div>";
			
	}
	document.getElementById('videosSection').innerHTML = aVideoItem;
}
function prev(){
	var num = location.href.indexOf('?') + 1;
	var page = Number(location.href.substring(num));	
	var newPage = page - 1;
	if(newPage < 1) newPage = 1;
	location.href = "videos.html?" + newPage;
}
function next(){
	var num = location.href.indexOf('?') + 1;
	var page = Number(location.href.substring(num));
	var pages = Math.ceil(listItemArray.length / vPerPage);
	var newPage = page + 1;
	if(newPage > pages) newPage = pages;
	location.href = "videos.html?" + newPage;
}
function emailThisPage() {
	var u = "Thought you might be interested in this information from Intel Corporation - ";
	var t = "Information from Intel Corporation - "
	t = t + document.title;

	u = u + window.location + ".";
	document.location.href= "mailto:?subject=" + t + "&body=" + u;
}
function emailUpdates(){
	var elementArray = [];
	elementArray[0] = document.getElementsByName("updates")[0];
	var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var results = "";
	var continueSend = true;
	update(elementArray);
	if(elementArray[0].value == "" || !emailFilter.test(elementArray[0].value)){
		writeError("Invalid email", elementArray[0]);
		continueSend = false;
	}else{
		results += elementArray[0].name + '=' + elementArray[0].value + '&';	
	}
	if(continueSend){
		results += 'whatTypeOfCall=emailUpdates&';	
		sendRequestUpdates("php/enterVideo.php", results);
	}
}

function updatesThankYou(){
	document.getElementById('signupUpdates').innerHTML = "<p class=\"thankyou\"><strong>Thank you</strong> for you interest in Intel.</p>";	
}
function updatesError(text){
	document.getElementById('signupUpdates').innerHTML = text;
}
function emailUnsubscribe(){
	var elementArray = [];
	elementArray[0] = document.getElementsByName("email")[0];
	var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var results = "";
	var continueSend = true;
	update(elementArray);
	if(elementArray[0].value == "" || !emailFilter.test(elementArray[0].value)){
		writeError("Invalid email", elementArray[0]);
		continueSend = false;
	}else{
		results += elementArray[0].name + '=' + elementArray[0].value + '&';	
	}
	if(continueSend){
		results += 'whatTypeOfCall=emailUnsubscribe&';	
		sendRequestUnsubscribe("php/enterVideo.php", results);
	}
}
function unsubscribeThankYou(text){
	document.getElementById('unsubMessages').innerHTML = text;	
}
function unsubscribeGetUrl(){
	if(location.search.length > 1){
		document.getElementById('unsubMessages').innerHTML = "<p></p>";	
		var email = location.search.substring(location.search.indexOf('=') + 1, location.search.indexOf('&'));
		var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if(emailFilter.test(email)){
			var results = 'email=' + email + '&';
			results += 'whatTypeOfCall=unsubscribe&';	
			sendRequestUnsubscribe("php/enterVideo.php", results);
		}
	}
}
function checkFriend(){
	var elementArray = [];
	elementArray[0] = document.getElementsByName("yName")[0];
	elementArray[1] = document.getElementsByName("yEmail")[0];
	elementArray[2] = document.getElementsByName("fName")[0];
	elementArray[3] = document.getElementsByName("fEmail")[0];
	var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var results = "";
	var continueSend = true;
	update(elementArray);
	var videoURL = location.search;
	var videoURLPos = location.search.indexOf('?');
	videoURL = videoURL.substring(videoURLPos + 1);
	if(elementArray[0].value == ""){
		writeError("This field is required", elementArray[0]);
		continueSend = false;
	}else{
		results += elementArray[0].name + '=' + elementArray[0].value + '&';	
	}
	
	if(elementArray[1].value == "" || !emailFilter.test(elementArray[1].value)){
		writeError("Invalid email", elementArray[1]);
		continueSend = false;
	}else{
		results += elementArray[1].name + '=' + elementArray[1].value + '&';	
	}
	
	if(elementArray[2].value == ""){
		writeError("This field is required", elementArray[2]);
		continueSend = false;
	}else{
		results += elementArray[2].name + '=' + elementArray[2].value + '&';	
	}
	
	if(elementArray[3].value == "" || !emailFilter.test(elementArray[3].value)){
		writeError("Invalid email", elementArray[3]);
		continueSend = false;
	}else{
		results += elementArray[3].name + '=' + elementArray[3].value + '&';	
	}
	if(continueSend){
		results += 'address=' + videoURL + '&';
		results += 'whatTypeOfCall=shareVideo&';	
		sendRequestUpdates("php/enterVideo.php", results);
		
	}
}
function thankYouShareVideo(){
	document.getElementById('shareaVideo').innerHTML = '<p><strong>Thank you</strong>, for sharing this video.</p>';
}
function getSharedVideo(){
	var num = Number(location.href.indexOf('?') + 1);
	var page = location.href.substring(num, num + 11);
	var title = location.href.substring(num + 11);
	title = title.replace(/\+/g, " ");
	title = title.replace(/%20/g, " ");
	var videoEmbed = 
	"<p><strong>"+ title +"</strong></p><object width=\"425\" height=\"355\"><param name=\"movie\" value=\"http://www.youtube.com/v/"+ page +"&rel=0\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/"+ page +"&rel=0\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"425\" height=\"355\"></embed></object>";
	document.getElementById('theSharedVideo').innerHTML = videoEmbed;
}






