// JavaScript Document

var current_id = 1;
var img_width = 430;
var end_id = 7;
var delay = 5000;
var stopSlider = false;

var winHeight = document.viewport.getHeight();
var winWidth = document.viewport.getWidth();

var addthis_share = { email_template: "cash_is_cool" };

function moveSlider(new_id)
	{
	if (current_id !== new_id )
		{
		stopSlider = true;
		var move_val = (new_id - 1) * img_width;
		new Effect.Move($('animWrapper'), { x: -+move_val, y: 0, mode: 'absolute', duration: 0.75 }); 
		Effect.Fade($('animText'+current_id), { duration: 0.75 });
		Effect.Appear($('animText'+new_id), { duration: 0.75 });
		Effect.Fade($('animButton'+current_id), { duration: 0.75, to: 0.5 });
		current_id = new_id;
		}
	}
	

function slidernav_init() 
	{
	setTimeout(switch_slidernav(), delay);
	}

function switch_slidernav() 
	{
        return (function() 
		{
		if (!stopSlider)
			{
			if (current_id == end_id) 
				{ 
				new_id = 1; 
				var move_val = (end_id -1) * img_width;
				}
			else 
				{
				new_id = current_id + 1;
				var move_val = -+img_width;
				}
			new Effect.Move($('animWrapper'), { x: move_val, y: 0, mode: 'relative', duration: 0.75 }); 
			Effect.Fade($('animText'+current_id), { duration: 0.75 });
			Effect.Appear($('animText'+new_id), { duration: 0.75 });
			Effect.Appear($('animButton'+new_id), { duration: 0.75 });
			Effect.Fade($('animButton'+current_id), { duration: 0.75, to:  0.5 });
			if (current_id == end_id)
				{
				current_id = 1;
				}
			else 
				{
				current_id++;
				}
			setTimeout(switch_slidernav(), delay);
			}
		})
	}

function buttonAnimFade(button_id)
	{
	if (button_id !== current_id)
		{
		Effect.Fade($('animButton'+button_id), { duration: 0.2, to: 0.5 });
		}
	}
	
function buttonAnimAppear(button_id)
	{
	if (button_id !== current_id)
		{
		Effect.Appear($('animButton'+button_id), { duration: 0.2 });
		}
	}
	
function fadeHide(typ,elmt,dtn)
	{
	if (typ == "Appear")
		{
		Effect.Appear($(elmt), { duration: dtn });
		}
	else if  (typ == "Fade")
		{
		Effect.Fade($(elmt), { duration: dtn });
		}
	}

function currConvSubmit() 
	{
	var strURL = "/includes/currency_converter.php";
	var strCurrVal = $F('currVal');
	var strCurrFrom = $F('currFrom');
	var strCurrTo = $F('currTo');
	var strSubmit = true;
	
	$('currConvWrapper').update("<div class=\"toolPopUpWaiting\"><h3><img src=\"/images/load.gif\" title=\"loading\" alt=\"loading\" /><br /><br />Converting currency, <br />please wait&hellip;</h3></div>");
	
	setTimeout(initAjaxReq, 1000);
	
	function initAjaxReq()
		{
		new Ajax.Request(strURL, 
			{ 
			method: 'post', 
			postBody: 	'currVal=' + strCurrVal +
					'&currFrom=' + strCurrFrom +
					'&currTo=' + strCurrTo + 
					'&submit=' + strSubmit ,
			onComplete: currConvResponse 
			});
		}
	}
	
function currConvResponse(req)
	{
	var currConvResponse = req.responseText;
	$('currConvWrapper').update(currConvResponse);
	}

function mortCalSubmit() 
	{
	var strURL = "/includes/mortgage_calculator.php";
	var strAmount = $F('amount');
	var strRate = $F('rate');
	var strLength = $F('length');
	var strSubmit = true;
	
	$('mortCalWrapper').update("<div class=\"toolPopUpWaiting\"><h3><img src=\"/images/load.gif\" title=\"loading\" alt=\"loading\" /><br /><br />Calculating repayments, <br />please wait&hellip;</h3></div>");
	
	setTimeout(initAjaxReq, 1000);
	
	function initAjaxReq()
		{
		new Ajax.Request(strURL, 
			{ 
			method: 'post', 
			postBody: 	'amount=' + strAmount +
					'&rate=' + strRate +
					'&length=' + strLength + 
					'&submit=' + strSubmit ,
			onComplete: mortCalResponse 
			});
		}
	}
	
function mortCalResponse(req)
	{
	var mortCalResponse = req.responseText;
	$('mortCalWrapper').update(mortCalResponse);
	}

function redPayCalSubmit() 
	{
	var strURL = "/includes/redundancy_calculator.php";
	var strRedPaySalary = $F('redPaySalary');
	var strRedPayAge = $F('redPayAge');
	var strRedPayYears = $F('redPayYears');
	var strSubmit = true;
	
	$('redPayCalWrapper').update("<div class=\"toolPopUpWaiting\"><h3><img src=\"/images/load.gif\" title=\"loading\" alt=\"loading\" /><br /><br />Calculating Statutory Redundancy Pay, <br />please wait&hellip;</h3></div>");
	
	setTimeout(initAjaxReq, 1000);
	
	function initAjaxReq()
		{
		new Ajax.Request(strURL, 
			{ 
			method: 'post', 
			postBody: 	'redPaySalary=' + strRedPaySalary +
					'&redPayAge=' + strRedPayAge +
					'&redPayYears=' + strRedPayYears + 
					'&submit=' + strSubmit ,
			onComplete: redPayCalResponse 
			});
		}
	}
	
function redPayCalResponse(req)
	{
	var redPayCalResponse = req.responseText;
	$('redPayCalWrapper').update(redPayCalResponse);
	}
	
function loanCalSubmit() 
	{
	var strURL = "/includes/loan_calculator.php";
	var strAmountLoan = $F('amountLoan');
	var strRateLoan = $F('rateLoan');
	var strLengthLoan = $F('lengthLoan');
	var strSubmit = true;
	
	$('loanCalWrapper').update("<div class=\"toolPopUpWaiting\"><h3><img src=\"/images/load.gif\" title=\"loading\" alt=\"loading\" /><br /><br />Calculating repayments, <br />please wait&hellip;</h3></div>");
	
	setTimeout(initAjaxReq, 1000);
	
	function initAjaxReq()
		{
		new Ajax.Request(strURL, 
			{ 
			method: 'post', 
			postBody: 	'amountLoan=' + strAmountLoan +
					'&rateLoan=' + strRateLoan +
					'&lengthLoan=' + strLengthLoan + 
					'&submit=' + strSubmit ,
			onComplete: loanCalResponse 
			});
		}
	}
	
function loanCalResponse(req)
	{
	var loanCalResponse = req.responseText;
	$('loanCalWrapper').update(loanCalResponse);
	}

function savCalSubmit() 
	{
	var strURL = "/includes/savings_calculator.php";
	var strAmountLoan = $F('amountSave');
	var strRateLoan = $F('rateSave');
	var strLengthLoan = $F('lengthSave');
	var strInitDeposit = $F('initDeposit');
	var strSubmit = true;
	
	$('savCalWrapper').update("<div class=\"toolPopUpWaiting\"><h3><img src=\"/images/load.gif\" title=\"loading\" alt=\"loading\" /><br /><br />Calculating investment value, <br />please wait&hellip;</h3></div>");
	
	setTimeout(initAjaxReq, 1000);
	
	function initAjaxReq()
		{
		new Ajax.Request(strURL, 
			{ 
			method: 'post', 
			postBody: 	'amountSave=' + strAmountLoan +
					'&rateSave=' + strRateLoan +
					'&lengthSave=' + strLengthLoan + 
					'&initDeposit=' + strInitDeposit + 
					'&submit=' + strSubmit ,
			onComplete: savCalResponse 
			});
		}
	}
	
function savCalResponse(req)
	{
	var savCalResponse = req.responseText;
	$('savCalWrapper').update(savCalResponse);
	}
	
function contactFormSubmit() 
	{
	var strPrivacy; 
	var strURL = "/includes/contact-form.php";
	var strMessageType = $F('message_type');
	var strArticleID = $F('article_id');
	var strCurrentSection = $F('currentSection');
	var strFirstname = $F('firstname');
	var strSurname = $F('surname');
	var strTel = $F('tel');
	var strEmail = $F('email');
	var strMessage = $F('message');
	if (document.contactForm.privacy.checked == true)
		{
		strPrivacy = '&privacy=' + $F('privacy');
		}
	else 
		{
		strPrivacy = "";
		}
	
	var strSubmit = true;
	
		
	$('contactFormWrapper').update("<div id=\"contactMessageSuccess\"><h2><img src=\"/images/load.gif\" title=\"loading\" alt=\"loading\" /><br/><br/>Please wait, message being sent&hellip;</h2></div>");
	
	setTimeout(initAjaxReq, 1000);
	
	function initAjaxReq()
		{
		new Ajax.Request(strURL, 
			{ 
			method: 'post', 
			postBody: 	'message_type=' + strMessageType +
					'&article_id=' + strArticleID +
					'&currentSection=' + strCurrentSection +
					'&firstname=' + strFirstname +
					'&surname=' + strSurname + 
					'&tel=' + strTel + 
					'&email=' + strEmail + 
					strPrivacy +  
					'&message=' + strMessage +
					'&submit=' + strSubmit ,
			onComplete: contactFormResponse 
			});
		}
	}

function contactFormResponse(req)
	{
	var contactResponse = req.responseText;
	$('contactFormWrapper').update(contactResponse);
	}
	
function changeLoc(url)
	{
	location.href=url;
	}
	
function pageScroll(id)
	{
	Effect.ScrollTo(id, { duration:'0.2', offset:-20 });
	}

	

function showPopUp(cont)
	{
	var strCont = cont;
	var strURL = '/includes/pop-up-content.php';
		
	var margT;
	var margL;
	var popUpDims = $('popupMain').getDimensions();
	margT = Math.round((winHeight - popUpDims.height) / 2);
	margL = Math.round((winWidth - popUpDims.width) / 2);
	$('popupMain').setStyle({
				marginLeft: margL+"px",
				marginTop: margT+"px"
				});
	
	
	Effect.Appear($('popupMainBacker'), { duration: 0.2, from: 0, to: 0.7 }); 
	Effect.Appear($('popupMain'), { duration: 0.2, from: 0, to: 1 });
	
		new Ajax.Request(strURL, 
			{ 
			method: 'post', 
			postBody: 'cont=' + strCont,
			onComplete: popupResponse 
			});
		}
	
function popupResponse(req)
	{
	var popupContent = req.responseText;
	$('popupContent').update(popupContent);
	}


function closePopUp()
	{
	$('popupMainBacker').hide(); 
	$('popupMain').hide(); 
	}
	
function noFade()
	{
   	new Effect.Opacity($('popupMain'), {from:1.0, to:1.0, duration: 0});
	}
	
function submitSearch(searchVal)
	{
	location.href='/search/'+escape(searchVal);
	}

function listen(evnt, elem, func) 
	{
	if (elem.addEventListener)
		{// W3C DOM
	elem.addEventListener(evnt,func,false);
		}
	else if (elem.attachEvent) 
		{ // IE DOM
		var r = elem.attachEvent("on"+evnt, func);
		return r;
	}
	else window.alert("The slider nav doesn\'t work!");
}

function openStatsWindow()
	{
	var bool_SVGsupported = checkSvgSupport();
	if (bool_SVGsupported) 
		{
		window.open('http://www.statistics.gov.uk/PIC/index.html','','width=800,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no,resizable=yes');
		}
	else 
		{
		if ( confirm('Adobe SVG plug-in required. \nWould you like to download & install it? \nhttp://www.adobe.com/svg/') )
			{
			window.open('http://www.adobe.com/svg/');
			}
		}
	}
function checkSvgSupport() 
	{
	return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1")
	}
	
function popUpCounter(id)
	{
	var articleID = id;
	var strURL = '/includes/popup-counter.php?articleID='+articleID;
	new Ajax.Request(strURL);
	}
	

function start() 
	{
	
	listen("click", $('submit_search'), function(){ submitSearch($('search_query').value) });
	listen("submit", $('searchForm'), function(){ submitSearch($('search_query').value) });
	
	if ($('btt'))
		{
		listen("click", $('btt'), function(){ pageScroll('top') });
		}
		
	if ($('uploaderWrapper'))
		{
		var settings = 
			{
			upload_url : "uploader-files/media.php",
			flash_url : "uploader-files/swfupload.swf",
			post_params : 
				{
				"mediaArticleID" : mediaArticleIDGlobal
				},
			custom_settings : 
				{
				progressTarget : "fsUploadProgress",
				cancelButtonId : "btnCancel"
				},
			debug: false,
			file_size_limit : "10 MB",
			file_types : "*.jpg;*.jpeg;*.png;*.gif;*.mp3",
			file_types_description : "All Files",
			file_queue_limit : 5,
			assume_success_timeout : 0,
			
			// Buttons setting 
			button_width: "200",
			button_height: "20",
			button_image_url : "../images/adminicons/upload-button.png",
			button_placeholder_id: "spanButtonPlaceHolder",
			button_cursor: SWFUpload.CURSOR.HAND,
			
			// The event handler functions are defined in handlers.js
			file_queued_handler : fileQueued,
			file_queue_error_handler : fileQueueError,
			file_dialog_complete_handler : fileDialogComplete,
			upload_start_handler : uploadStart,
			upload_progress_handler : uploadProgress,
			upload_error_handler : uploadError,
			upload_success_handler : uploadSuccess,
			upload_complete_handler : uploadComplete,
			queue_complete_handler : queueComplete	// Queue plugin event
			};
		
		swfu = new SWFUpload(settings);
		}
	
	if ($('uploaderWrapperSS'))
		{
		var settings = 
			{
			upload_url : "uploader-files/mediaSS.php",
			flash_url : "uploader-files/swfupload.swf",
			post_params : 
				{
				"sub_section_id_global" : sub_section_id_global
				},
			custom_settings : 
				{
				progressTarget : "fsUploadProgress",
				cancelButtonId : "btnCancel"
				},
			debug: false,
			file_size_limit : "10 MB",
			file_types : "*.jpg;*.jpeg;*.png;*.gif",
			file_types_description : "All Files",
			file_queue_limit : 1,
			assume_success_timeout : 0,
			
			// Buttons setting 
			button_width: "200",
			button_height: "20",
			button_image_url : "../images/adminicons/upload-button.png",
			button_placeholder_id: "spanButtonPlaceHolder",
			button_cursor: SWFUpload.CURSOR.HAND,
			
			// The event handler functions are defined in handlers.js
			file_queued_handler : fileQueued,
			file_queue_error_handler : fileQueueError,
			file_dialog_complete_handler : fileDialogComplete,
			upload_start_handler : uploadStart,
			upload_progress_handler : uploadProgress,
			upload_error_handler : uploadError,
			upload_success_handler : uploadSuccess,
			upload_complete_handler : uploadComplete,
			queue_complete_handler : queueComplete	// Queue plugin event
			};
		
		swfu = new SWFUpload(settings);
		}
	
	if ($('uploaderWrapperS'))
		{
		var settings = 
			{
			upload_url : "uploader-files/mediaS.php",
			flash_url : "uploader-files/swfupload.swf",
			post_params : 
				{
				"section_id_global" : section_id_global
				},
			custom_settings : 
				{
				progressTarget : "fsUploadProgress",
				cancelButtonId : "btnCancel"
				},
			debug: false,
			file_size_limit : "10 MB",
			file_types : "*.jpg;*.jpeg;*.png;*.gif",
			file_types_description : "All Files",
			file_queue_limit : 1,
			assume_success_timeout : 0,
			
			// Buttons setting 
			button_width: "200",
			button_height: "20",
			button_image_url : "../images/adminicons/upload-button.png",
			button_placeholder_id: "spanButtonPlaceHolder",
			button_cursor: SWFUpload.CURSOR.HAND,
			
			// The event handler functions are defined in handlers.js
			file_queued_handler : fileQueued,
			file_queue_error_handler : fileQueueError,
			file_dialog_complete_handler : fileDialogComplete,
			upload_start_handler : uploadStart,
			upload_progress_handler : uploadProgress,
			upload_error_handler : uploadError,
			upload_success_handler : uploadSuccess,
			upload_complete_handler : uploadComplete,
			queue_complete_handler : queueComplete	// Queue plugin event
			};
		
		swfu = new SWFUpload(settings);
		}

	if ($('indexAnim'))
		{
		slidernav_init(); 
		
		listen("click", $('animButton1'), function(){ moveSlider(1) });
		listen("click", $('animButton2'), function(){ moveSlider(2) });
		listen("click", $('animButton3'), function(){ moveSlider(3) });
		listen("click", $('animButton4'), function(){ moveSlider(4) });
		listen("click", $('animButton5'), function(){ moveSlider(5) });
		listen("click", $('animButton6'), function(){ moveSlider(6) });
		listen("click", $('animButton7'), function(){ moveSlider(7) });
	
		listen("mouseover", $('animButton1'), function(){ buttonAnimAppear(1) });
		listen("mouseover", $('animButton2'), function(){ buttonAnimAppear(2) });
		listen("mouseover", $('animButton3'), function(){ buttonAnimAppear(3) });
		listen("mouseover", $('animButton4'), function(){ buttonAnimAppear(4) });
		listen("mouseover", $('animButton5'), function(){ buttonAnimAppear(5) });
		listen("mouseover", $('animButton6'), function(){ buttonAnimAppear(6) });
		listen("mouseover", $('animButton7'), function(){ buttonAnimAppear(7) });
	
		listen("mouseout", $('animButton1'), function(){ buttonAnimFade(1) });
		listen("mouseout", $('animButton2'), function(){ buttonAnimFade(2) });
		listen("mouseout", $('animButton3'), function(){ buttonAnimFade(3) });
		listen("mouseout", $('animButton4'), function(){ buttonAnimFade(4) });
		listen("mouseout", $('animButton5'), function(){ buttonAnimFade(5) });
		listen("mouseout", $('animButton6'), function(){ buttonAnimFade(6) });
		listen("mouseout", $('animButton7'), function(){ buttonAnimFade(7) });
		}
} 

window.onload = start;
