﻿var Slider = new function() {

	var me = this;
	this.Holder;
	this.Seconds = 0.5;

	this.CurrentLeft;
	this.TargetLeft;
	this.StartTime;
	this.PageIndex;
	this.Pages = new Array('Default', 'Company', 'iVector', 'News', 'Clients', 'ContactUs');

	this.MoveTo = function(iPageIndex) {

		if (me.PageIndex == 3) {
			News.SetNewsScroll(false);
		}

		me.Holder = f.GetObject('divSlider');
		me.PageIndex = iPageIndex;
		me.CurrentLeft = me.Holder.offsetLeft;
		me.TargetLeft = iPageIndex * -960;
		me.StartTime = new Date();
		f.SetClass('divNav', me.Pages[iPageIndex]);
		me.Slide();

	}

	this.Slide = function() {

		var nFractionDone = Math.abs((new Date() - me.StartTime) / me.Seconds / 1000);
		if (nFractionDone < 1) {
			me.Holder.style.left = me.CurrentLeft + (me.TargetLeft - me.CurrentLeft) * Math.sin(Math.PI / 2 * nFractionDone) + 'px';
			setTimeout('Slider.Slide()', 10);
		} else {
			me.Holder.style.left = me.TargetLeft + 'px';
			me.CurrentLeft = me.TargetLeft;
			if (me.PageIndex == 3) {
				News.SetNewsScroll(true);
			}
			
		}

	}


	/* preload content */
	this.Preload = function() {

		for (var i = 0; i < me.Pages.length; i++) {
			if (!f.GetObject('div' + me.Pages[i])) {
				me.GetPageContent(me.Pages[i] + '.aspx');
				break;
			}
		}
	}


	/* get page content */
	this.GetPageContent = function(sPageName) {

		var sURL = '/' + sPageName + '?contentonly';

		// branch for native XMLHttpRequest object
		var oRequest;
		if (window.XMLHttpRequest) {
			oRequest = new XMLHttpRequest();
			oRequest.open("POST", sURL, true);
		} else {
			oRequest = new ActiveXObject("Microsoft.XMLHTTP");
			oRequest.open("POST", sURL, true);
		}

		oRequest.onreadystatechange = function() {
			if (oRequest.readyState == 4) {
				if (oRequest.status != 200 && window.location.toString().indexOf('localhost') > -1) {
					alert(oRequest.responseText);
					return;
				}
				me.AddPageContent(oRequest.responseText);
			}
		}

		oRequest.setRequestHeader("Content-Type", "text/xml")
		//oRequest.send(null);
		oRequest.send('');
	}


	/* add page content */
	this.AddPageContent = function(sPageHTML) {
		f.GetObject('divSlider').innerHTML += sPageHTML;
		me.Preload();
	}





}


/* attach preload event */
f.AttachEvent(window, 'load', function() { Slider.Preload(); });
