﻿/// <reference path="/Scripts/jquery.intellisense.js"/>

$(document).ready(function () {
	init();
});

function init() {
	// Set font size functionality
	var fontSizeLinks = document.getElementById("ChangeFontSizeBox").getElementsByTagName("a");
	if (fontSizeLinks.length == 2) {
		addListener(fontSizeLinks[0], "click", changeFontSize);
		addListener(fontSizeLinks[1], "click", changeFontSize);
	}

	// Set alternating table cell backgrounds
	$('.ContentSection table tr:odd').addClass('Alternate');

	// Clear the search box when it receives focus if it's the initial text
	$('input.SearchQueryTextbox').focus(function () {
		if ($(this).val() == 'Search Carers Victoria') {
			$(this).val('');
		}
	});
}

function addListener(object, eventType, handler) {
	if (window.attachEvent) {
		object.attachEvent("on" + eventType, handler);
	}
	else if (window.addEventListener) {
		object.addEventListener(eventType, handler, false);
	}
}

function changeFontSize(e) {
	var trigger = (e.srcElement) ? e.srcElement : e.target;
	var amount = (trigger.innerHTML.indexOf("Larger") != -1) ? 1 : -1;

	if (e.preventDefault) {
		e.preventDefault();
	}
	else {
		e.returnValue = false;
	}

	var currentFontSize = parseInt(getCookie("FontSize"));
	if (isNaN(currentFontSize)) currentFontSize = 0;
	currentFontSize += amount;
	if (currentFontSize > 1) currentFontSize = 1;
	else if (currentFontSize < -1) currentFontSize = -1;

	var spans = trigger.parentNode.parentNode.getElementsByTagName("span");
	var spanFontSizeDown = spans[0];
	var spanFontSizeUp = spans[2];

	switch (currentFontSize) {
		case -1:
			{
				setActiveStyleSheet("Small text size");
				if (spanFontSizeDown && spanFontSizeUp) {
					spanFontSizeDown.style.backgroundImage = "url(/Images/FontSmallerBtnDisabled.gif)";
					spanFontSizeUp.style.backgroundImage = "url(/Images/FontLargerBtn.gif)";
				}
				break;
			}
		case 0:
			{
				setActiveStyleSheet("Default text size");
				if (spanFontSizeDown && spanFontSizeUp) {
					spanFontSizeDown.style.backgroundImage = "url(/Images/FontSmallerBtn.gif)";
					spanFontSizeUp.style.backgroundImage = "url(/Images/FontLargerBtn.gif)";
				}
				break;
			}
		case 1:
			{
				setActiveStyleSheet("Large text size");
				if (spanFontSizeDown && spanFontSizeUp) {
					spanFontSizeDown.style.backgroundImage = "url(/Images/FontSmallerBtn.gif)";
					spanFontSizeUp.style.backgroundImage = "url(/Images/FontLargerBtnDisabled.gif)";
				}
				break;
			}
	}

	var nextYear = new Date();
	nextYear.setFullYear(nextYear.getFullYear() + 1);
	setCookie("FontSize", currentFontSize, nextYear);
}

function setActiveStyleSheet(title) {
	var i, a, main;
	for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
		if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if (a.getAttribute("title") == title) a.disabled = false;
		}
	}
}

function getCookie(name) {
	var cookies = document.cookie.split(";")
	for (var i = 0; i < cookies.length; i++) {
		var nameVal = cookies[i].split("=");
		if (nameVal.length == 2 && trim(nameVal[0]) == trim(name)) {
			return trim(nameVal[1]);
		}
	}
	return "";
}

function removeCookie(name) {
	setCookie(name, "", new Date("2 January 1970"));
}

function setCookie(name, value, expires) {
	document.cookie = name + "=" + value + ";path=/;" + (expires ? " expires=" + expires.toGMTString() + ";" : "");
}

function trim(theString) {
	var newString = theString;
	while (newString.charAt(0) == " " || newString.charCodeAt(0) == 10 || newString.charCodeAt(0) == 13 || newString.charCodeAt(0) == 9) {
		newString = newString.substring(1, newString.length);
	}
	while (newString.charAt(newString.length - 1) == " " || newString.charCodeAt(newString.length - 1) == 10 || newString.charCodeAt(newString.length - 1) == 13 || newString.charCodeAt(newString.length - 1) == 9) {
		newString = newString.substring(0, newString.length - 1);
	}
	return newString;
}

var App =
{
	openWindow: function openWindow(url, name, width, height, resizable, scrollbars, statusbar, menubar, toolbar)
	{
		var win = null;
		var optionString = "";
		if (width) optionString += "width=" + width + ",";
		if (height) optionString += "height=" + height + ",";
		if (resizable) optionString += "resizable=1,";
		if (scrollbars) optionString += "scrollbars=1,";
		if (statusbar) optionString += "status=1,";
		if (menubar) optionString += "menubar=1,";
		if (toolbar) optionString += "toolbar=1,";
		if (optionString != "") optionString = optionString.substr(0, optionString.length - 1);
		win = window.open(url, name, optionString);
		if (win) win.focus();
		return win;
	},

	printPage: function()
	{
		if (window.print) window.print();
		else alert("Please select \"Print...\" from the File menu.");
	}
}
