/* Cycle jquery plugin */
/*  initialize the slideshow when the DOM is ready  */
$(document).ready(function() {
	$('.carousel-images').after('<div id="nav">').cycle( {
		fx : 'fade',
		speed : 'fast',
		timeout : 5000,
		prev : '#prev',
		next : '#next',
		pager : '#nav',
		pagerAnchorBuilder : pagerFactory

	});

	function pagerFactory(idx, slide) {
		return '<a href="#">' + (idx + 1) + '</a>';
	}
	;

});

/* FancyBox jquery plugin */
$(document).ready(function() {
	/* This is basic - uses default settings */
	$("a#recipe-image01").fancybox();

	/* Using custom settings */
	$("a#inline").fancybox( {
		'hideOnContentClick' : true
	});
	$("a.group").fancybox( {
		'zoomSpeedIn' : 300,
		'zoomSpeedOut' : 300,
		'overlayShow' : false
	});
});

/* Style switcher - call the ss function */
$(document).ready(function() {
	var varStyleCookie = readCookie('styleCookie');
	if (varStyleCookie) {
		changeCSS(varStyleCookie * 1);
	} else {
		changeCSS(1);
	}
});

/* *** ratings objects *** */
var rateTitle;
var rateContainer;
var rateThankyou;
var linkArray;
var imgArray;
$(document).ready(function() {
	rateTitle = document.getElementById('voteTitle');
	rateContainer = document.getElementById('userRatings');
	rateThankyou = document.getElementById('voteMessage');
	linkArray = rateContainer.getElementsByTagName('A');
	imgArray = rateContainer.getElementsByTagName('IMG');
});

/* left and right functions */
function Left(str, n) {
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		return String(str).substring(0, n);
}
function Right(str, n) {
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else {
		var iLen = String(str).length;
		return String(str).substring(iLen, iLen - n);
	}
}

/* social functions */
var hideDelayTimer;
var currentSection = 0;

function showSocial(theDiv) {
	document.getElementById(theDiv).style.display = 'block';
}
function hideSocial(theDiv) {
	hideDelayTimer = setTimeout("hideIt('socialBox')", 1000);
}
function hideIt(theDiv) {
	document.getElementById(theDiv).style.display = 'none';
}

/* cookie functions */
function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	} else
		var expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for ( var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ')
			c = c.substring(1, c.length);
		if (c.indexOf(nameEQ) == 0)
			return c.substring(nameEQ.length, c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name, "", -1);
}

/* style switcher */
function changeCSS(theSize) {
	var linkOn;
	switch (theSize) {
	case 1:
		document.getElementById('styleSwitcher').href = '/css/site/recipe/font-size-1.css';
		linkOn = 0;
		createCookie('styleCookie', 1, 7);
		break;
	case 2:
		document.getElementById('styleSwitcher').href = '/css/site/recipe/font-size-2.css';
		linkOn = 1;
		createCookie('styleCookie', 2, 7);
		break;
	case 3:
		document.getElementById('styleSwitcher').href = '/css/site/recipe/font-size-3.css';
		linkOn = 2;
		createCookie('styleCookie', 3, 7);
		break;
	default:
		document.getElementById('styleSwitcher').href = '/css/site/recipe/font-size-1.css';
		linkOn = 0;
		createCookie('styleCookie', 1, 7);
	}

	/* reset classes */
	var linksArray = document.getElementById('toolbox').getElementsByTagName(
			'A');
	for ( var j = 0; j < linksArray.length; j++) {
		linksArray[j].className = Left(linksArray[j].className, 5);
	}
	linksArray[linkOn].className = linksArray[linkOn].className + 'on';
}

/* rating functions */
function switchTabs(theTab) {
	switch (theTab) {
	case 'tabs01':
		document.getElementById('tabs02').className = '';
		document.getElementById('tabs01').className = 'on';
		document.getElementById('members02').style.display = 'none';
		document.getElementById('members01').style.display = 'block';
		break;
	case 'tabs02':
		document.getElementById('tabs01').className = '';
		document.getElementById('tabs02').className = 'on';
		document.getElementById('members01').style.display = 'none';
		document.getElementById('members02').style.display = 'block';
		break;
	default:
		document.getElementById('tabs02').className = '';
		document.getElementById('tabs01').className = 'on';
		document.getElementById('members02').style.display = 'none';
		document.getElementById('members01').style.display = 'block';
	}
}

function initRateRecipe(rating) {
	/* reset status */
	var i = 0
	for (i = 0; i < imgArray.length; i++) {
		imgArray[i].src = imgOff;
	}

	/* highlight */
	if (rating != null) {
		for ( var j = 0; j < rating; j++) {
			imgArray[j].src = imgOn;
		}
	}
}

function rateRecipe(rating) {
	/* reset status */
	var i = 0
	for (i = 0; i < imgArray.length; i++) {
		imgArray[i].src = imgOff;
	}

	/* highlight */
	var j = 0
	for (j = 0; j < rating; j++) {
		imgArray[j].src = imgOn;
	}
}

function submitVote() {
	// do something
	// do something
	// do something

	/* remove actions from links */
	var i = 0
	for (i = 0; i < linkArray.length; i++) {
		linkArray[i].onmouseover = '';
		linkArray[i].onclick = '';
	}

	/* send thank you message */
	rateThankyou.innerHTML = thankyouMessage;
}

/* Recipe details / comments */
function switchDetailsComments(div) {
	var comments = document.getElementById('comments');
	var details = document.getElementById('details');
	var otherSuggestions = document.getElementById('otherSuggestions');
	var categories = document.getElementById('categories');

	switch (div) {
	case 'details':
		if (comments != null)
			comments.style.display = 'none';
		if (details != null)
			details.style.display = 'block';
		if (otherSuggestions != null)
			otherSuggestions.style.display = 'block';
		if (categories != null)
			categories.style.display = 'block';
		break;
	case 'comments':
		if (details != null)
			details.style.display = 'none';
		if (otherSuggestions != null)
			otherSuggestions.style.display = 'none';
		if (categories != null)
			categories.style.display = 'none';
		if (comments != null)
			comments.style.display = 'block';
		break;
	default:
		if (comments != null)
			comments.style.display = 'none';
		if (details != null)
			details.style.display = 'block';
		if (otherSuggestions != null)
			otherSuggestions.style.display = 'block';
		if (categories != null)
			categories.style.display = 'block';
	}
}