// JavaScript Document

var fullBaseUrl = 'http://www.bestmoviesbyfarr.com';
var workingDir  = '/'; 


(function($) {
		
	$(document).ready(
		function() {
			
			$('form#loggedout_form #user_username, form#loggedout_form #user_password').addClass('labelBox');
			$('form#search_form input[type=text]').addClass('labelBox');
			$('form#newslettersignup_form input').addClass('labelBox');
			$('form#sendfriend_form input, form#sendfriend_form textarea').addClass('labelBox');
			$('form#signup_form input').addClass('labelBox');
			$('form#password_reminder input').addClass('labelBox');
			$('form#contact_form input, form#contact_form textarea').addClass('labelBox');
			$('form#book_form input, form#book_form textarea').addClass('labelBox');
			
			$('.labelBox').each(
				function() {
					$("label[for='"+ $(this).attr('name') + "']").hide();
				}
			);
			
			$('.labelBox').labelify( {labelledClass: "labelOverlay"} );
			
			$("select.jq_selectbox").sb({fixedWidth:true, useTie: true});
			$("select.jq_selectbox").each( setSelectHighlight );
			$("select.jq_selectbox").change( setSelectHighlight );
			
			$("a.sectionToggle").click(
				function() {
					$(this).parent().next("div.sectionExpand").toggle('fast');
					return false;
				}
			);
			
			$("form#buy_dvd_form").submit(
				function() {
					var title = $(this).find("#track_title").val();
					//_gaq.push(['_setCustomVar', 3, 'Movie Engagement Buttons', 'Buy DVD ('+title+')', 3]);
					_gaq.push(['_trackEvent', 'Movie Engagement Buttons', 'Buy DVD', title]);
	
				}
				);
			$("form#rent_dvd_form").submit(
				function() {
					var title = $(this).find("#track_title").val();
					//_gaq.push(['_setCustomVar', 3, 'Movie Engagement Buttons', 'Rent DVD ('+title+')', 3]);
					_gaq.push(['_trackEvent', 'Movie Engagement Buttons', 'Rent DVD', title]);
				}
				);
			$("form#watch_trailer_form").submit(
				function() {
					var title = $(this).find("#track_title").val();
					//_gaq.push(['_setCustomVar', 3, 'Movie Engagement Buttons', 'Watch Trailer ('+title+')', 3]);
					_gaq.push(['_trackEvent', 'Movie Engagement Buttons', 'Watch Trailer', title]);
				}
				);
			
			// init Pick Rating Widget
			if ($(".pickratingwidget").length) { 
			
				if ($("map#pick-rating-map").length) {
				
					$("map#pick-rating-map").each(
						function() {
							var mapindex = 1;
							
							$(this).find("area").each(
								function() {
									$(this).click(
										function() {
											return handlePickRating($("input#pick_id").val(), $(this).attr("title"));
										}
									);
									mapindex = mapindex + .5;
								}
							);
							
						}
					);
				
				}
			
				// display current overall rating
				if ($("input#pick_id".length)) {
					handlePickRating($("input#pick_id").val(), 0);
				}

			}
			
			// init Twitter feed panel
			
			$('#twitter_feed').tweetable(
				{
					username: 'bmbfarr', 
					limit: 4,
					time: true, 
					replies: true, 
					dateformat:'us', 
					feeduri:fullBaseUrl+workingDir+'includes/inc.getTwitter.php'
				}
			);
			
			// init FLOWPLAYER for MOTW videos
			var blnStarted = false;
			
			flowConfig = {
				wmode: 'opaque', 
				key: '#$1cf78bd67b5dc964aa3',
				plugins: {
					controls: {
						autoHide: 'always'
					}
				},
				logo: {
					url: '',
					fullscreenOnly: false,
					displayTime: 0
				},
				splashImageFile: fullBaseUrl+workingDir+'images/buttons/btn_play.png',
				initialScale: 'scale', 
				loop: 'false', 
				autoPlay: 'true',
				width: 459,
				height: 258, 
				clip:  {
		        	autoPlay: true,
		        	autoBuffering: true,
		        	bufferLength: 10,
					onStart: function(clip) {
						_gaq.push(['_trackEvent', 'Video', 'Play', $(this).attr("title")]);
					},
					onFinish: function(clip) {
						_gaq.push(['_trackEvent', 'Video', 'Finish', $(this).attr("title")]);
					}
				}
					
		    }
		    flowplayer(".flowPlayerBox", {src: workingDir+"lib/misc/flowplayer/flowplayer-3.2.7.swf", wmode:"opaque"}, flowConfig);
			//$("a.flowPlayerBox").flowplayer(workingDir+"lib/misc/flowplayer/flowplayer-3.2.7.swf", flowConfig);
			
			
			flowConfig = {
				play: null,
				wmode: 'opaque', 
				key: '#$1cf78bd67b5dc964aa3',
				plugins: {
					controls: {
						autoHide: 'always'
					},
					pseudo: {
						url: fullBaseUrl+workingDir+'lib/misc/flowplayer/flowplayer.pseudostreaming-3.2.7.swf'
					}
				},
				logo: {
					url: '',
					fullscreenOnly: false,
					displayTime: 0
				},
				splashImageFile: fullBaseUrl+workingDir+'images/buttons/btn_play.png',
				initialScale: 'scale', 
				loop: 'false', 
				autoPlay: 'true',
				width: 459,
				height: 258, 
				clip:  {
			    	autoPlay: true,
			    	autoBuffering: true,
			    	provider: 'pseudo',
					onStart: function(clip) {
						_gaq.push(['_trackEvent', 'Video', 'Play', $(this).attr("title")]);
					},
					onFinish: function(clip) {
						_gaq.push(['_trackEvent', 'Video', 'Finish', $(this).attr("title")]);
					}
				}
					
			}
			flowplayer(".cmsFlowPlayerBox", {src: workingDir+"lib/misc/flowplayer/flowplayer-3.2.7.swf", wmode:"opaque"}, flowConfig);
					
		}
	);

	
})(jQuery);


function imageOn(imageObj) {  
	//imageObj.src = imageObjA[imageObj.id + '_over'].src;
	setPageImageOn();
}

function imageOff(imageObj) { 
	//imageObj.src = imageObjA[imageObj.id + '_off'].src;
	setPageImageOn();
}

function referFriend(page, id, link) {
	window.open(fullBaseUrl + workingDir + "templates/sendfriend.php?p=" + page + "&id=" + id + "&url=" + link, "sendfriend", "status=1, height=574, width=410, resizable=1");
	return false;
}

function trailer(eclipID) {
	window.open("http://www.totaleclips.com/player/Splash.aspx?custid=972&clipid=" + eclipID + "&playerid=19&affiliateid=-1", "trailer", "status=1, height=544, width=540, resizable=1");
}

function cmsPlayer(url) {
	window.open(url, "motw_popup", "status=0, width=800, height=300, resizable=0, menubar=0");
}

function printable(page, id) {
	if ((page == 'allpicks') || (page == 'newpicks')) {
		p = 'print_pick';
	} else if (page == 'movienight') {
		p = 'print_occasion';
	}
	
	window.open(fullBaseUrl + workingDir + "templates/printable.php?p=" + page + "&id=" + id + "&view=printable", "printable", "status=1, height=800px, width=576, resizable=1, scrollbars=yes");
}

function getPage() {
	var mypath = new Array();
	var strHref = window.location.href;
	var goPage = "";
	
	mypath = strHref.split('/');
	
	workpath = workingDir.split('/');
	if (workpath.length > 1) {
		if (workpath[1]) {
			return mypath[4];
		}
	}
	/*
	if (mypath.length) {
		for(x=3; x < mypath.length; x++) {
			goPage = goPage + mypath[x];
		}
		console.log = goPage;
	}
	return goPage;
	*/
	
	return mypath[3];
}

/*function getPage() {
	var mypath = new Array();
	var pageArray = new Array();
	var variables = new Array();
	var strHref = window.location.href;

	mypath = strHref.split('/');
	
	pageArray = mypath[3].split('=');
	
	variables = (pageArray.length == 1) ? 'home' : pageArray[1];
	pageArray = variables.split('&');
	
	return pageArray[0];
}*/

function setPageImageOn() {
/*
	page = getPage();
	
	for (i = 0; i < myImg.length; i++) {
		if (myImg[i].idn == page) {
			//document.getElementById(myImg[i].idn).src = imageObjA[myImg[i].idn + '_on'].src;
			//disabled until proper rollovers
		}
	}
*/
}

function changeDate(a, newDate, anchorId) {	
	date = newDate.options[newDate.selectedIndex].value
		
	if (date != "") {
		document.location.href = '?p=cms&a=' + a + '&date=' + date; //+ '#' + anchorId;
	}
}

function changeVideo(newVideo) {
	videoId = newVideo.options[newVideo.selectedIndex].value;
	
	if (videoId != "") {
		document.location.href = workingDir + 'movieofweek/' + videoId;
	}
}

function aggregateSearchTerms(formID) {
	var form;
	var agg = new Array();
	
 	form = document.getElementById ? document.getElementById(formID) : document.forms[formID]; 
	
	if (form.s_title.value != '') {
		agg.push(form.s_title.value);
	}
	
	if (form.s_actor.value != '') {
		agg.push(form.s_actor.value);
	}
	
	if (form.s_director.value != '') {
		agg.push(form.s_director.value);
	}
	
	if (form.c_genre.value != '') {
		agg.push(form.c_genre.value);
	}
	
	if (form.c_country.value != '') {
		agg.push(form.c_country.value);
	}
	
	if (form.c_mood.value != '') {
		agg.push(form.c_mood.value);
	}
	
	if (form.c_decade.value != '') {
		agg.push(form.c_decade.value);
	}
	
	if (form.s_keywords.value != '') {
		agg.push(form.s_keywords.value);
	}
	
	form.s_agg.value = agg.join('_'); 
}

function setSearchTerms(formID) {
	var form, elements, i, elm; 
	
 	form = document.getElementById ? document.getElementById(formID) : document.forms[formID]; 
	
	if (document.getElementsByTagName) {
		elements = form.getElementsByTagName('input');
		
		for (i=0, elm; elm=elements.item(i++); ) {
			Cookie.write(elm.name, elm.value, "" ,"/");	
		}
		
		elements = form.getElementsByTagName('select');
		
		for (i=0, elm; elm=elements.item(i++); ) {
			Cookie.write(elm.name, elm.value, "" ,"/");	
		}
	}
}

function clearSearchTerms(formID) {
	var form, elements, i, elm; 
	//var terms = new Array('title', 'alttitles', 'actors', 'actresses', 'supporting_cast', 'release_year', 'director', 'genres', 'thenes', 'countries', 'moods', 'decade', 'keywords');
	
 	form = document.getElementById ? document.getElementById(formID) : document.forms[formID]; 
	
	if (document.getElementsByTagName) {
		elements = form.getElementsByTagName('input');
		
		for (i=0, elm; elm=elements.item(i++); ) {
			if (elm.getAttribute('type') == "text") {
				elm.value = '';
				elm.focus();
			}
		}
		$('#' + formID + ' #s_title').focus();
		
		elements = form.getElementsByTagName('select');
		
		for (i=0, elm; elm=elements.item(i++); ) {
			elm.options.selectedIndex = 0;
		}
		
		$('#'+formID + ' select.has_sb').sb("refresh");
	}

	/*for (var i in terms) {
		Cookie.remove(terms[i], "/");
	}*/
}

function setSelectHighlight() {
	strlimit = 15;
	tempval = $(this).val();
	if (tempval.length > strlimit) {
		tempval = tempval.slice(0,(strlimit-3))+"...";
		$(this).prevAll('div.jq_selectbox:first').find(".display .text").html(tempval); 
	}
	if ($(this).prop("selectedIndex")>0) {
		$(this).prevAll('div.jq_selectbox:first').find(".display .text").addClass('highlight');
	} else {
		$(this).prevAll('div.jq_selectbox:first').find(".display .text").removeClass('highlight');
	}
}

function checkLogin(form) {  
	if (form.user_username.value == "") {
		alert( "Please enter your username" );
		form.user_username.focus();
		return false;
	} else if (form.user_password.value == "") {
		alert( "Please enter your password" );
		form.user_password.focus();
		return false;
	} else {
		var username = document.loggedout_form.user_username.value;
		var password = document.loggedout_form.user_password.value;
		
		var response = getAjaxResponse(fullBaseUrl + workingDir + "includes/inc.getuser.php?username=" + username + "&password=" + password);
		var user = new Array;
		
		user = response.split('&');
	
		if ((user[0] == username) && (user[1] == password)) {
			page = getPage();
			
			setLoggedIn(user[0], user[2], user[3]);
			if (page == 'join') {
				document.loggedout_form.action = fullBaseUrl + workingDir;
				return true;
			} else {
				document.location.href = document.location.href;
			}
			
			
			//document.location.reload(true);
			
			return false;	
		} else {
			alert( "Invalid username/password" );
			form.user_username.focus();	
			return false;	
		}
	}
}

function setLoggedIn(username, fname, lname) {
	
	var loggedin  = document.getElementById('loginbar_in');
	var loggedout = document.getElementById('loginbar_out');
	
	loggedin.style.display  = 'block';
	loggedout.style.display = 'none';
	
	Cookie.write("valid_user", username, 1800 ,"/");
	Cookie.write("fname", fname, 1800 ,"/");
	Cookie.write("lname", lname, 1800 ,"/");
	
}

function logout() {
	var loggedin  = document.getElementById('loginbar_in');
	var loggedout = document.getElementById('loginbar_out');
	
	loggedin.style.display = 'none';
	loggedout.style.display = 'block';
	Cookie.remove("valid_user", "/");
	Cookie.remove("fname", "/");
	Cookie.remove("lname", "/");
	
	page = getPage();

	if ((page == 'favorites') || (page == 'profile')) {
		document.logout_form.action = fullBaseUrl + workingDir;
		document.logout_form.submit();
	} else {
		document.location.href = document.location.href;
	}   
	return false;
}

function isFavLoggedIn() {
	if (!Cookie.read("valid_user")) {
		//alert('You must be logged in to add a favorite');	
		document.add_favorites_form.action = fullBaseUrl + workingDir + 'join';
		document.add_favorites_form.a.value = '';
	}
}


function handlePickRating(pickid, rating) {
	if (Cookie.read("valid_user")) {
		r = {
			"pickid":pickid, 
			"rating":rating
		}
	} else {
		r = {
			"pickid":pickid 
		}
		
	}

	$.getJSON(fullBaseUrl + workingDir + "includes/inc.setPickRating.php", r, 
		function(data) {
			//console.log('rating set');
			ratings = data['picks_user_ratings'];
			rating = data['picks_user_rating'];
			pos = ((ratings / 5) * 100) + 9; // add 9 for positioning
			$('.pickratingwidget-'+pickid).css('background-position', pos+'px 0px');
			if (rating) {
				$('.pickratingwidget-msg').html('Thanks!');
			}
			
		}
	);
		
	return false;
	
}

function handleCommentReply() {
	
	// future handling of comment reply settings
	
}

function slookup(inputString, elemId) {
	if(inputString.length == 0) {
		// Hide the suggestion box.
		$('#' + elemId + '-suggestions').hide();
	} else {
		if (elemId == 's_title') {
			rpc = 'inc.getTitles.php';
		} else if (elemId == 's_actor') {
			rpc = 'inc.getActors.php';
		} else if (elemId == 's_director') {
			rpc = 'inc.getDirectors.php';
		}
		
		$.post(workingDir + "includes/" + rpc, {queryString: "" + inputString + ""}, function(data){
			if(data.length >0) { 
				$('#' + elemId + '-suggestions').show();
				$('#' + elemId + '-autoSuggestionsList').html(data);
			}
		});
	}
}

function fill(elemId, thisValue) { 
	//autoValue = thisValue.replace(/&#39;/gi, "'");
	
	if (thisValue) {
		$("#" + elemId).focus();
		$("#" + elemId).val(thisValue);
	}  
	setTimeout("$('#" + elemId + "-suggestions').hide();", 200);
}


Cookie = {
	isSupported: function(){
		return !!navigator.cookieEnabled;
	},
	exists: function(name){
		return document.cookie.indexOf(name + "=") + 1;
	},
	write: function(name, value, expires, path, domain, secure) {
		expires instanceof Date ? expires = expires.toGMTString()
		: typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString());
		var r = [name + "=" + escape(value)], s, i;
		for(i in s = {expires: expires, path: path, domain: domain})
			s[i] && r.push(i + "=" + s[i]);
		return secure && r.push("secure"), document.cookie = r.join(";"), true;
	},
	read: function(name){
		var c = document.cookie, s = this.exists(name), e;
		return s ? unescape(c.substring(s += name.length, (c.indexOf(";", s) + 1 || c.length + 1) - 1)) : "";
	},
	remove: function(name, path, domain){
		return this.exists(name) && this.write(name, "", new Date(0), path, domain);
	}
};


