// JavaScript Document

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function getHTTPObject(){
	if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}

function postComments() {
	var commentBox = document.getElementById('commentBox').value;
	var articleID  = document.getElementById('articleID').value;
	var error = false;

	if(commentBox == "") {
		alert('Please enter a comment');
		error = true;
	}

	if(error == false) {
		httpObject = getHTTPObject();

		if (httpObject != null) {

			httpObject.open("GET", "/includes/ajax/postComment.php?articleID=" + articleID + "&commentBox=" + commentBox, true);
			httpObject.send(null);
			httpObject.onreadystatechange = addComment;

		}
	}
}

function addComment() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById("postcomments").style.display = 'none';
		document.getElementById("showcomments").innerHTML = getResponse;
	}
}

function checkUser() {
	var username = document.registerForm.r_username.value;

	httpObject = getHTTPObject();

	if (httpObject != null) {

		httpObject.open("GET", "/includes/ajax/checkuser.php?username=" + username, true);
		httpObject.send(null);
		httpObject.onreadystatechange = verifyUser;

	}
}

function verifyUser() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;

		// if the users browser is Internet Explorer //
		if(navigator.appName == "Microsoft Internet Explorer") {
			document.getElementById("availability").style.display = 'inline';
		} else {
			document.getElementById("availability").style.display = 'table-row';
		}

		// if username is available
		if(getResponse == "true") {
			document.getElementById("availability").innerHTML = '<br />Yes! the name is available';
		// if username is taken
		} else if(getResponse == "false") {
			document.getElementById("availability").innerHTML = '<br />Sorry, that Screen Name is already taken. Please select another.';
		// if username field is empty
		} else if(getResponse == "empty") {
			document.getElementById("availability").innerHTML = '<br />Please enter a Screen Name';
		}
	}
}

function verifyRegisterForm() {
	r_username = document.getElementById('r_username').value;
	r_email    = document.getElementById('r_email').value;
	r_password = document.getElementById('r_password').value;
	r_confirm  = document.getElementById('r_confirm').value;
	var errors = false;

	// determines browser and what status change based on that browser
	if(navigator.appName == "Microsoft Internet Explorer") {
		type = 'inline';
	} else {
		type = 'table-row';
	}

	// preg_match email address chars
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	// if email isn't valid
	if(reg.test(r_email) == false) {
		// set error fields
		errors = true;
		document.getElementById('ast_r_email').style.display = type;
		document.getElementById('ast_r_email').innerHTML = "<br />In-Valid E-Mail";
	} else {
		// unset error fields
		document.getElementById('ast_r_email').style.display = 'none';
		document.getElementById('ast_r_email').innerHTML = "&nbsp;";
	}

	// if values are less than 7 characters
	if(document.getElementById('r_password').value.length < 7 || document.getElementById('r_confirm').value.length < 7) {

		errors = true;

		// if password value is less than 7 characters
		if(document.getElementById('r_password').value.length < 7) {
			document.getElementById('ast_r_password').style.display = type;
			document.getElementById('ast_r_password').innerHTML = "<br />Min. 7 Characters Needed";
		} else {
			document.getElementById('ast_r_password').style.display = 'none';
			document.getElementById('ast_r_password').innerHTML = "&nbsp;";
		}

		// if confirm value is less than 7 characters
		if(document.getElementById('r_confirm').value.length < 7) {
			document.getElementById('ast_r_confirm').style.display = type;
			document.getElementById('ast_r_confirm').innerHTML = "<br />Min. 7 Characters Needed";
		} else {
			document.getElementById('ast_r_confirm').style.display = 'none';
			document.getElementById('ast_r_confirm').innerHTML = "&nbsp;";
		}

	// otherwise
	} else {

		// if passwords don't match
		if(r_password != r_confirm) {
			document.getElementById('ast_r_password').style.display = type;
			document.getElementById('ast_r_confirm').style.display = type;
			document.getElementById('ast_r_password').innerHTML = "*";
			document.getElementById('ast_r_confirm').innerHTML = "*";
			errors = true;
		} else {
			document.getElementById('ast_r_password').style.display = 'none'
			document.getElementById('ast_r_confirm').style.display = 'none';
			document.getElementById('ast_r_password').innerHTML = "&nbsp;";
			document.getElementById('ast_r_confirm').innerHTML = "&nbsp;";
		}

	}

	// check if user has read terms and conditions
	if(document.getElementById('readterms').checked == true) {
		document.getElementById('termsAgree').innerHTML = "&nbsp;";
		document.getElementById('termsAgree').style.display = 'none';
	} else {
		document.getElementById('termsAgree').innerHTML = "You must agree to the Terms &amp; Conditions";
		document.getElementById('termsAgree').style.display = type;
	}

	if(errors == false) {
		document.registerForm.submit();
	}

}

function forgotpassword() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('passwordfield').innerHTML = getResponse;
	}
}

function resetPassword() {
	var r_email = document.getElementById("f_email").value;

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/forgotpassword.php?email=" + r_email, true);
		httpObject.send(null);
		httpObject.onreadystatechange = forgotpassword;			
	}
}

function logout() {
	var answer = confirm("ALERT!!!\nAre you sure you want to Logout?");

	if(answer) {
		document.getElementById('logout').value = 'yes';
		document.logoutForm.submit();
	}
}

function changeFontSize(action) {

	var minFontSize   = 10;
	var maxFontSize   = 18;
	var fontSize      = document.getElementById('article_content').style.fontSize;
	var lineHeight    = document.getElementById('article_content').style.lineHeight;

	fontSize.replace("px","") ;
	lineHeight.replace("px","") ;

	if(fontSize == "") {
		fontSize = parseInt(12);
	}

	if(lineHeight == "") {
		lineHeight = parseInt(18);
	}

	// decrease font size //
	if(action == "-" && parseInt(fontSize) >= minFontSize) {
		document.getElementById('article_content').style.fontSize   = (parseInt(fontSize) - 2) + "px";
		document.getElementById('article_content').style.lineHeight = (parseInt(lineHeight) - 2) + "px";
	}

	// decrease font size //
	if(action == "+" && parseInt(fontSize) <= maxFontSize) {
		document.getElementById('article_content').style.fontSize   = (parseInt(fontSize) + 2) + "px";
		document.getElementById('article_content').style.lineHeight = (parseInt(lineHeight) + 2) + "px";
	}

}

function reccomentArticleEmail() {
	var yourname	   = document.getElementById('yourname').value;
	var youremail  	   = document.getElementById('youremail').value;
	var recepientname  = document.getElementById('recepientname').value;
	var recepientemail = document.getElementById('recepientemail').value;
	var errors		   = false;

	// determines browser and what status change based on that browser
	if(navigator.appName == "Microsoft Internet Explorer") {
		type = 'inline';
	} else {
		type = 'table-row';
	}

	// preg_match email address chars
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	// if user's name is empty
	if(yourname == "") {
		errors = true;
		document.getElementById('r_yourname').style.display = type;
		document.getElementById('r_yourname').innerHTML = "&nbsp;Enter Name";
	} else {
		document.getElementById('r_yourname').style.display = 'none';
		document.getElementById('r_yourname').innerHTML = "&nbsp;";
	}

	// if user email isn't valid
	if(reg.test(youremail) == false) {
		errors = true;
		document.getElementById('r_youremail').style.display = type;
		document.getElementById('r_youremail').innerHTML = "&nbsp;Invalid E-Mail";
	} else {
		document.getElementById('r_youremail').style.display = 'none';
		document.getElementById('r_youremail').innerHTML = "&nbsp;";
	}

	// if recepient name is empty
	if(recepientname == "") {
		errors = true;
		document.getElementById('r_recepientname').style.display = type;
		document.getElementById('r_recepientname').innerHTML = "&nbsp;Enter Name";
	} else {
		document.getElementById('r_recepientname').style.display = 'none';
		document.getElementById('r_recepientname').innerHTML = "&nbsp;";
	}

	// if recepient email isn't valid
	if(reg.test(recepientemail) == false) {
		errors = true;
		document.getElementById('r_recepientemail').style.display = type;
		document.getElementById('r_recepientemail').innerHTML = "&nbsp;Invalid E-Mail";
	} else {
		document.getElementById('r_recepientemail').style.display = 'none';
		document.getElementById('r_recepientemail').innerHTML = "&nbsp;";
	}

	if(errors == false) {
		document.sendEmail.submit();
	}
}

function changeVideoCompany(section_id, limit) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/videopage.php?page=1&section_id=" + section_id + "&limit=" + limit, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updateVideos;			
	}

}

function changePage(page, section_id, limit) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/videopage.php?page=" + page + "&section_id=" + section_id + "&limit=" + limit, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updateVideos;			
	}

}

function updateVideos() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('videos').innerHTML = getResponse;
	}
}

function loadVideo(video_id, video, image) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/updateplayer.php?video_id=" + video_id, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updatePlayer;			

		// update video
		var v1 = new SWFObject('/scripts/flvplayer/flvplayer.swf','preview','620','345','9');
		v1.addParam('allowfullscreen','true');
		v1.addParam('allowscriptaccess','always');
		v1.addParam('flashvars','file=http://media.canadianautoworld.ca/' + video + '.flv&stretching=fill&bufferlength=10&image=http://media.canadianautoworld.ca/' + image);
		v1.write('videoZone');

		// jquery scroll to top
		$.scrollTo( '#maincontent', 1600, {easing:'linear'} ); 
	}

}

function updatePlayer() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('featuredvideo').innerHTML = getResponse;
	}
}

function changeSearchAsset(type, article, directory, video) {
	document.getElementById('assetType').value = type;

	if(article == 'true') {
		document.getElementById('tabArticles').className  = 'searchTabOff';
	}

	if(directory == 'true') {
		document.getElementById('tabDirectory').className = 'searchTabOff';
	}

	if(video == 'true') {
		document.getElementById('tabVideo').className 	  = 'searchTabOff';
	}

	document.getElementById('tab' + type).className   = 'searchTabOn';
}