// requires jquery-1.2.3.min.js

var cpages = {};
// include ending forward slash on these
cpages.SLIDESHOW_ROOT = "http://www2.stamfordtoday.co.uk/content/3/images/custompages/slideshows/";
cpages.SNIPPETS_ROOT = "http://www2.stamfordtoday.co.uk/content/3/images/custompages/snippets/";
cpages.CP_IMAGES_ROOT = "http://www2.stamfordtoday.co.uk/content/3/images/custompages/";
cpages.SITE_ROOT = "http://www.stamfordmercury.co.uk/";

// menu unique ids
cpages.MENU_LOCAL_INFO = 0;
cpages.MENU_WHATS_ON = 1;
cpages.MENU_YOUR_SAY = 2;
cpages.MENU_GENERAL = 3;
cpages.MENU_FEATURES = 4;
cpages.MENU_SPORT = 5;
cpages.MENU_NEWS = 6;
cpages.MENU_EDUCATION = 7;
cpages.MENU_FEATURES_REGULAR = 8;
cpages.MENU_DANIELS = 9;
cpages.MENU_MONEY = 10;

// slideshows =================================================================================================================

cpages.SlideShow = function(fldr, csvfnames, caption) {
	this.currentSlide = 0;
	this.fnames = csvfnames.split(",");
	for(var i = 0; i < this.fnames.length; i++) {
		this.fnames[i] = cpages.SLIDESHOW_ROOT + fldr + "/" + this.fnames[i];
	}
	this.caption = caption;
	this.inTrans = false;
};

cpages.addSlideShow = function(slideshow, containerId) {
	// add fixed-height holder for image
	$("#" + containerId).append('<div class="slideshow-img-container" style="height: 210px;"></div>');
	// add image els
	for(var i = 0; i < slideshow.fnames.length; i++) {
		$("#" + containerId + "> .slideshow-img-container").append('<img id="' + containerId + '_' + i + '" class="slide" src="' + slideshow.fnames[i] + '" alt="Slideshow image" />');
	}
	// add nav links
	$("#" + containerId).append('<span style="padding: 5px 5px 5px 1px; float: right;"><img src="' + cpages.CP_IMAGES_ROOT + 'next_btn.gif" id="' + containerId + '_next_btn" /></span>');
	$("#" + containerId).append('<span style="padding: 5px 1px 5px 5px; float: right;"><img src="' + cpages.CP_IMAGES_ROOT + 'previous_btn.gif" id="' + containerId + '_previous_btn" /></span>');
	// add caption
	$("#" + containerId).append('<p>' + slideshow.caption + '</p>');
	// fade in first img
	$("#" + containerId + "_" + slideshow.currentSlide).fadeIn("fast");
	// attach click events
	$("#" + containerId + "_next_btn").click(function() {
			if(!slideshow.inTrans) {
				slideshow.inTrans = true;
				var prevSlide = slideshow.currentSlide;
				slideshow.currentSlide++;
				if(slideshow.currentSlide == slideshow.fnames.length) slideshow.currentSlide = 0;
				$("#" + containerId + "_" + prevSlide).fadeOut("fast", function() { 
					$("#" + containerId + "_" + slideshow.currentSlide).fadeIn("fast"); 
					slideshow.inTrans = false;
					}
				);
			}
	});
	$("#" + containerId + "_previous_btn").click(function() {
			if(!slideshow.inTrans) {
				slideshow.inTrans = true;
				var prevSlide = slideshow.currentSlide;
				slideshow.currentSlide--;
				if(slideshow.currentSlide < 0) slideshow.currentSlide = slideshow.fnames.length - 1;
				$("#" + containerId + "_" + prevSlide).fadeOut("fast", function() {
					$("#" + containerId + "_" + slideshow.currentSlide).fadeIn("fast");
					slideshow.inTrans = false;
					}
				);
			}
	});
};

// slideshows (large) ==================================================================================================

cpages.SlideShowLarge = function(fldr, csvfnames, hashcaptions) {
	this.currentSlide = 0;
	this.fnames = csvfnames.split(",");
	for(var i = 0; i < this.fnames.length; i++) {
		this.fnames[i] = cpages.SLIDESHOW_ROOT + fldr + "/" + this.fnames[i];
	}
	this.captions = hashcaptions.split("#");
	this.inTrans = false;
};

cpages.addSlideShowLarge = function(slideshow, containerId) {
	// add fixed-height holder for image
	$("#" + containerId).append('<div class="slideshow-large-img-container" style="height: 360px;"></div>');
	// add image els
	for(var i = 0; i < slideshow.fnames.length; i++) {
		$("#" + containerId + "> .slideshow-large-img-container").append('<img id="' + containerId + '_' + i + '" class="slide" src="' + slideshow.fnames[i] + '" alt="' + slideshow.captions[i] + '" />');
	}
	// add nav links
	$("#" + containerId).append('<span style="padding: 5px 5px 5px 1px; float: right;"><img src="' + cpages.CP_IMAGES_ROOT + 'next_btn.gif" id="' + containerId + '_next_btn" /></span>');
	$("#" + containerId).append('<span style="padding: 5px 1px 5px 5px; float: right;"><img src="' + cpages.CP_IMAGES_ROOT + 'previous_btn.gif" id="' + containerId + '_previous_btn" /></span>');
	//add caption holder
	$("#" + containerId).append('<p id="' + containerId + '_caption-holder">Loading slideshow...</p>');
	// fade in first img and set caption one
	$("#" + containerId + "_" + slideshow.currentSlide).fadeIn("fast");
	$("#" + containerId + "_caption-holder").empty().append('1 of ' + slideshow.fnames.length + ': ' + slideshow.captions[0]);
	// attach click events
	$("#" + containerId + "_next_btn").click(function() {
			if(!slideshow.inTrans) {
				slideshow.inTrans = true;
				var prevSlide = slideshow.currentSlide;
				slideshow.currentSlide++;
				if(slideshow.currentSlide == slideshow.fnames.length) slideshow.currentSlide = 0;
				var slideActualNumber = slideshow.currentSlide + 1;
				$("#" + containerId + "_" + prevSlide).fadeOut("fast", function() { 
					$("#" + containerId + "_caption-holder").empty().append(slideActualNumber + ' of ' + slideshow.fnames.length + ': ' + slideshow.captions[slideshow.currentSlide]);
					$("#" + containerId + "_" + slideshow.currentSlide).fadeIn("fast"); 
					slideshow.inTrans = false;
					}
				);
			}
	});
	$("#" + containerId + "_previous_btn").click(function() {
			if(!slideshow.inTrans) {
				slideshow.inTrans = true;
				var prevSlide = slideshow.currentSlide;
				slideshow.currentSlide--;
				if(slideshow.currentSlide < 0) slideshow.currentSlide = slideshow.fnames.length - 1;
				var slideActualNumber = slideshow.currentSlide + 1;
				$("#" + containerId + "_" + prevSlide).fadeOut("fast", function() {
					$("#" + containerId + "_caption-holder").empty().append(slideActualNumber + ' of ' + slideshow.fnames.length + ': ' + slideshow.captions[slideshow.currentSlide]);
					$("#" + containerId + "_" + slideshow.currentSlide).fadeIn("fast");
					slideshow.inTrans = false;
					}
				);
			}
	});
};

// snippets =================================================================================================================
// Snippets for Custom Pages
// v1.2

cpages.snippets = [];
// don't change this
cpages.NUM_SNIPPETS = 3;
cpages.snippet = function(img, alt, txt, href) {
	this.img = cpages.SNIPPETS_ROOT + img;
	this.alt = alt;
	this.txt = txt;
	this.href = href;
	this.pos = Math.random();
};
cpages.addSnippet = function(img, alt, txt, href) {
	cpages.snippets.push(new cpages.snippet(img, alt, txt, href));
};
cpages.writeSnippets = function(containerId) {
	cpages.snippets.sort(function(a, b) { return a.pos - b.pos; });
	var i;
	var s = cpages.snippets;
	var snippetHTML = "";
	if(cpages.snippets.length >= cpages.NUM_SNIPPETS) {
		snippetHTML = '<div class="snippet-container">';
		for(i = 0; i < cpages.NUM_SNIPPETS; i++) {
			snippetHTML += '<div class="snippet-img-container">';
			snippetHTML += '<a href="' + s[i].href + '"><img src="' + s[i].img + '" width="60" height="60" alt="' + s[i].alt + '" border="0"></a>';
			snippetHTML += '</div><div class="snippet-txt-container">';
			snippetHTML += '<a href="' + s[i].href + '">' + s[i].txt + '</a>';
			snippetHTML += '</div>';
		}
		snippetHTML += '</div>';
		$("#" + containerId).append(snippetHTML);
	}
};

// menus =================================================================================================================

cpages.menus = [];
cpages.addMenuItem = function(menu_id, txt, href) {
	if(!cpages.menus[menu_id]) cpages.menus[menu_id] = "";
	cpages.menus[menu_id] += '<li><a href="' + href + '">' + txt + '</a></li>';
};

cpages.writeMenu = function(menu_id, containerId) {
	$("#" + containerId).append(cpages.menus[menu_id]);
};

// footer =================================================================================================================

cpages.footerHTML = "";
cpages.writeFooter = function(containerId) {
	$("#" + containerId).append(cpages.footerHTML);
};

cpages.setFooter = function(html) {
	cpages.footerHTML = html;
};

// editorial feeds =========================================================================================================

cpages.addFeed = function(sectionId, n, elId, descs) {
	$.get(cpages.SITE_ROOT + "getFeed.aspx?Format=rss&sectionid=" + sectionId, null, function(data) {
		var numDisplayed = 0;
		var currentDesc = "";
		$("#" + elId).append('<ul class="rss-list" id="' + elId + 'feedlist"></ul>');
		var xmlItems = $(data).find("item").each( function(i) {
			if(numDisplayed < n) {
				currentDesc = "";
				if(descs) currentDesc = " - " + $(this).find("description").text();
				$("#" + elId + "feedlist").append( '<li class="rss-item"><a class="rss-link" href="' + $(this).find("link").text() + '">' + $(this).find("title").text() + '</a>' + currentDesc + '</li>' );
				numDisplayed++;
			}
		});
		$("#" + elId).append('<p><a href="' + cpages.SITE_ROOT + 'sectionhome.aspx?sectionid=' + sectionId + '">More...</a></p>');
	}, "xml");
};

// set up for page =================================================================================================================

// snippets 
cpages.addSnippet("delivery.gif", "Direct delivery", "Direct Delivery: Your paper to your door", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=56804");
cpages.addSnippet("whatson.gif", "What's on graphic", "Your complete guide to what's on this week", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=76272");
cpages.addSnippet("atoz.gif", "A to Z image", "Can't find what you're looking for? A-Z list", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");
cpages.addSnippet("senior.gif", "John Docker", "A Senior Moment: The world of John Docker", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=13419");
cpages.addSnippet("reviews.gif", "Leisure image", "Send us your review of a gig or show", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=4082");
cpages.addSnippet("premier.gif", "Football", "Watch Barclays Premier League video highlights", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=74969");
cpages.addSnippet("daniels.gif", "Daniels", "The Daniels: Keep up to date with the action", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=3539");
cpages.addSnippet("poll.gif", "Website poll", "Cast your vote in this week's website poll", "http://www.stamfordmercury.co.uk/poll/Cast-your-vote-in-the.3274528.jp");

// menu items 
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Chemists", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=17306");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "International connections", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=17315");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Local MPs", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=79903");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Places of interest", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=17314");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Public notices", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=68042");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Travel information", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=17311");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Useful contacts", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=17303");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Website directory", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=17305");
cpages.addMenuItem(cpages.MENU_LOCAL_INFO, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_WHATS_ON, "Box offices", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=76507");
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Cinema times", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=76420");
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Diary dates", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=17309");
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Film trailers", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=76421");
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Going out", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=839");
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Let's Go", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=74208");				   
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Music listings", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=66622");				   
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Restaurants", "http://www.mywhatsontoday.co.uk/RestaurantSearchResults.aspx?Type=1&Value=31304&Name=&Display=Stamford,%20Lincolnshire&Radius=10&X=503010&Y=307110&venueSearchPage=1&BusinessTypeID=56&Mode=search&PostCode=Stamford,%20Lincolnshire&Page=1");				   
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Reviews", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=4082");				   
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Theatre listings", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=66623");									  
cpages.addMenuItem(cpages.MENU_WHATS_ON, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_YOUR_SAY, "Debate", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=11302");
cpages.addMenuItem(cpages.MENU_YOUR_SAY, "Letters", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=4748");
cpages.addMenuItem(cpages.MENU_YOUR_SAY, "Send us your news", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=72845");
cpages.addMenuItem(cpages.MENU_YOUR_SAY, "Web chats", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=74568");
cpages.addMenuItem(cpages.MENU_YOUR_SAY, "Web poll", "http://www.stamfordmercury.co.uk/poll/Cast-your-vote-in-the.3274528.jp");
cpages.addMenuItem(cpages.MENU_YOUR_SAY, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_GENERAL, "Advertise", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=74707");
cpages.addMenuItem(cpages.MENU_GENERAL, "Competitions", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=17308");
cpages.addMenuItem(cpages.MENU_GENERAL, "Digital editions", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=73246");
cpages.addMenuItem(cpages.MENU_GENERAL, "News feeds", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=65426");
cpages.addMenuItem(cpages.MENU_GENERAL, "Photo sales", "http://www.photostoday.co.uk/frontpage.aspx?sitecode=stam");
cpages.addMenuItem(cpages.MENU_GENERAL, "Subscribe", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=56804");
cpages.addMenuItem(cpages.MENU_GENERAL, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_FEATURES, "Business Awards 2010", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=81397");
cpages.addMenuItem(cpages.MENU_FEATURES, "European &amp; local elections 2009", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=79081");
cpages.addMenuItem(cpages.MENU_FEATURES, "Mercury Picture Perfect", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=81546");
// cpages.addMenuItem(cpages.MENU_FEATURES, "Stamford Festival 2009", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=79252");
cpages.addMenuItem(cpages.MENU_FEATURES, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_SPORT, "Cricket", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9788");
cpages.addMenuItem(cpages.MENU_SPORT, "Daniels", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=3539");
cpages.addMenuItem(cpages.MENU_SPORT, "Junior football", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9137");
cpages.addMenuItem(cpages.MENU_SPORT, "Football", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9135");
cpages.addMenuItem(cpages.MENU_SPORT, "Golf", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9136");
cpages.addMenuItem(cpages.MENU_SPORT, "Premier League", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=74969");
cpages.addMenuItem(cpages.MENU_SPORT, "Rugby", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9134");
cpages.addMenuItem(cpages.MENU_SPORT, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_NEWS, "Bourne", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9131");
cpages.addMenuItem(cpages.MENU_NEWS, "Business", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=12915");
cpages.addMenuItem(cpages.MENU_NEWS, "Deepings", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9132");
cpages.addMenuItem(cpages.MENU_NEWS, "News", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=837");
cpages.addMenuItem(cpages.MENU_NEWS, "Rutland", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=9133");
cpages.addMenuItem(cpages.MENU_NEWS, "Town &amp; country", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=49401");
cpages.addMenuItem(cpages.MENU_NEWS, "Video", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=12350");
cpages.addMenuItem(cpages.MENU_NEWS, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_EDUCATION, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_FEATURES_REGULAR, "A Senior Moment", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=13419");
cpages.addMenuItem(cpages.MENU_FEATURES_REGULAR, "Fear Factor", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=15558");
cpages.addMenuItem(cpages.MENU_FEATURES_REGULAR, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_DANIELS, "Daniels home", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=3539");
cpages.addMenuItem(cpages.MENU_DANIELS, "Fixtures and results", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=69102");
cpages.addMenuItem(cpages.MENU_DANIELS, "History of the club", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=54684");
cpages.addMenuItem(cpages.MENU_DANIELS, "League table", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=69088");
cpages.addMenuItem(cpages.MENU_DANIELS, "Match reports", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=3538");
cpages.addMenuItem(cpages.MENU_DANIELS, "Player profiles", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=3578");
cpages.addMenuItem(cpages.MENU_DANIELS, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

cpages.addMenuItem(cpages.MENU_MONEY, "Business news", "http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=12915");
cpages.addMenuItem(cpages.MENU_MONEY, "Finance web chats", "http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=74568");
cpages.addMenuItem(cpages.MENU_MONEY, "Money Today", "http://www.moneytoday.co.uk/?sitecode=STAM");
cpages.addMenuItem(cpages.MENU_MONEY, "Site A-Z", "http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603");

// footer html
cpages.setFooter('<p class="highlight">More from The Mercury</p><p><a href="http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=837">News</a> | <a href="http://www.stamfordmercury.co.uk/sectionhome.aspx?sectionid=838">Sport</a> | <a href="http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=76619">Your say</a> | <a href="http://www.stamfordmercury.co.uk/custompages/custompage.aspx?PageID=76272">What\'s on</a> | <a href="http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=79929">Local information</a> | <a href="http://www.stamfordmercury.co.uk/customPages/custompage.aspx?pageid=72603">A-Z</a></p><p><a href="http://twitter.com/mercury1695">Twitter: @mercury1695</a></p>');
