/* 
Generic functionality for Zapoint static site
>> navigation
>> login panel
*/
window.addEvent('domready', function() {
    init_page();
});

// controls page init - kicks everything off
function init_page() {
	init_login();
	init_pricing();
	init_contact();
	
	var flashHolder;
	
	//skills assessment banner
	flashHolder = $('saBanner');
	if (flashHolder != null) {
		var flashVars = {};
		var flashParams = {"wmode":"transparent"};
		var flashAttributes = {"name": "saBanner", "id": "saBanner"};
		swfobject.embedSWF("/flash/banners/skillsAssessmentBanner.swf", "saBanner", "972", "102", "10.0.0", "/flash/expressInstall.swf", flashVars, flashParams, flashAttributes);
	}
	
	//podcast
	flashHolder = $('btqPodcast');
	if (flashHolder != null) {
		var flashVars = {};
		var flashParams = {"wmode":"transparent"};
		var flashAttributes = {"name": "btqPodcast", "id": "btqPodcast"};
		swfobject.embedSWF("/flash/podcasts/btqPodcast.swf", "btqPodcast", "722", "450", "10.0.0", "/flash/expressInstall.swf", flashVars, flashParams, flashAttributes);
	}
	
	
	// video pitch in title panel of VP page (KW)
	insertVideo('VideoPitchTitleVideo', 464, 261, '/flv/video-pitch.xml');
	// exmaple Video Pitch
	insertVideo('videoProfileExamples', 434, 244, '/flv/video-pitch-examples.xml');
	// video pitch standout (KW)
	insertVideo('sampleVideoPitch', 250, 140, '/flv/video-pitch-small.xml');
	// video pitch on home page (KW)
	insertVideo('homeVideoPitch', 250, 140, '/flv/video-pitch-small.xml');
	// presourced intro
	insertVideo('introVideo', 464, 261, '/flv/presourced-intro.xml');
	// skillsmapper intro
	insertVideo('smVideo', 464, 261, '/flv/skillsmapper-intro.xml');
	// individuals intro
	insertVideo('indVideo', 464, 261, '/flv/individuals-intro.xml');
	
	// init any view switchers (controls display of content
	var vs = $('content').getElements('.viewSwitcher');
	vs.each(function (itm, i, a) {
		var vsi = new ViewSwitcher({holder:itm});
	});
	
	// init any view switchers (controls display of content
	vs = $('content').getElements('.viewSwitcherProduct');
	vs.each(function (itm, i, a) {
		var vsi = new ViewSwitcher({holder:itm});
	});
	
}

function insertVideo(divId, width, height, xml, addControlsHeight) {
	addControlsHeight = (addControlsHeight == null) ? true : addControlsHeight;
	height = (addControlsHeight) ? height + 30 : height;
	var flashVars = {"dataURL":xml}
	var flashParams = {"wmode":"transparent"};
	var flashAttributes = {"name": divId, "id": divId};
	swfobject.embedSWF("/flash/video/ZapointVideoPlayer.swf", divId, width, height, "10.0.0", "/flash/expressInstall.swf", flashVars, flashParams, flashAttributes);
}


// --- login
function init_login() {
	var login = $('joinLogin');
	login.set({'class':'modal'});
	var duration = 500;
	var navFx = new Fx.Tween($('navigation'), {property: 'top', duration: duration});
	var layoutFx = new Fx.Tween($('layout'), {property: 'padding-top', duration: duration});
	
	var scope = this;
	
	var lp = new SlidingPanel({
		panel: login,
		controls: [$('showLogin')],
		useTween: true,
		isVerticle: true,
		axis: 'top',
		duration: duration,
		onPanelShowing: function (pnl, ph) {
			navFx.cancel();
			navFx.start(ph + $('navigation').getStyle('top').toInt());
			layoutFx.cancel();
			layoutFx.start(ph + pnl.getStyle('margin-bottom').toInt());
		},
		onPanelHiding: function(pnl, ph) {
			navFx.cancel();
			navFx.start($('navigation').getStyle('top').toInt() - ph);
			layoutFx.cancel();
			layoutFx.start(0);
		}
	});
}

// ---- pricing
function init_pricing() {
	var p = $('entPricing');
	if (p !=  null) {
		p.addClass('modal');
		p.addClass('hidden');
		
		var showP = $('showPricing');
		showP.addEvent('click', function (e) {
			var b = $("entPricing");
			b.toggleClass("showing");
			b.toggleClass("hidden");
			return false;
		});
		
		var cb = p.getElements('.panelCloseModal');
		cb.addEvent('click', function (e) {
			var b = $("entPricing");
			b.toggleClass("showing");
			b.toggleClass("hidden");
			return false;
		});
	}
}



function init_contact() {
	// add listeners to buttons
	$('content').getElements('.contactLink').each(function (itm, index) {add_contact_listener(itm, 0);});
	$('content').getElements('.entContactLink').each(function (itm, index) {add_contact_listener(itm, 1);});
	$('content').getElements('.entDemoLink').each(function (itm, index) {add_contact_listener(itm, 2);});
	$('content').getElements('.psContactLink').each(function (itm, index) {add_contact_listener(itm, 3);});
	$('content').getElements('.psDemoLink').each(function (itm, index) {add_contact_listener(itm, 4);});
	$('content').getElements('.saContactLink').each(function (itm, index) {add_contact_listener(itm, 5);});
	
	// hide contact panel and set close handler
	var contact = $('contact');
	if (contact != null) {
		contact.addClass('modal');
		contact.addClass((contact.hasClass('error')) ? 'showing' : 'hidden');
		$('contentClose').set('class', 'panelCloseModal');
		$('contentClose').addEvent('click', function (e) {
			var c = $('contact');
			c.toggleClass("showing");
			c.toggleClass("hidden");
			return false;
		});
		
	}
	
}

function add_contact_listener(itm, id) {
	itm.addEvent('click', function (e) {
		var c = $('contact');
		c.toggleClass("showing");
		c.toggleClass("hidden");
		$('message_subject').getElements('option').each(function (itm, i) {
			if (id == i) {
				itm.set('selected', 'selected');
			} else {
				itm.removeProperty('selected');
			}
		});
		return false;
	});
}
