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

// controls page init - kicks everything off
function init_page() {
	init_login();
	init_pricing();
	init_contact();
	
	var flashHolder;
	var body = $(document.body);
	
	//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');
	// conversations video
	insertVideo('conversationsVideo', 464, 261, '/flv/conversations-intro.xml');

	// init any view switchers (controls display of content
	var vs = body.getElements('.viewSwitcher');
	vs.each(function (itm, i, a) {
		var vsi = new ViewSwitcher({holder:itm});
	});
	
	// init any view switchers (controls display of content
	vs = body.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');
	if (login != null) {
		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
	var c = $(document.body);
	if (c != null) {
		$(document.body).getElements('.contactLink').each(function (itm, index) {add_contact_listener(itm, 0);});
		$(document.body).getElements('.entContactLink').each(function (itm, index) {add_contact_listener(itm, 1);});
		$(document.body).getElements('.entDemoLink').each(function (itm, index) {add_contact_listener(itm, 2);});
		$(document.body).getElements('.psContactLink').each(function (itm, index) {add_contact_listener(itm, 3);});
		$(document.body).getElements('.psDemoLink').each(function (itm, index) {add_contact_listener(itm, 4);});
		$(document.body).getElements('.saContactLink').each(function (itm, index) {add_contact_listener(itm, 5);});
	}
	
	// hide contact panel and set close handler
	// var contact = $('contact');
	var popup_forms = $$('.popup_form');
	for (var i = 0, count = popup_forms.length; i < count; ++i) {
		var form = popup_forms[i];
		if (form != null) {
			form.addClass('modal');
			form.addClass((form.hasClass('error')) ? 'showing' : 'hidden');
			form.getElements('.panelClose').set('class', 'panelCloseModal');
			form.getElements('.panelCloseModal').addEvent('click', function (e) {
				// var c = $('contact');
				var c = $(e.target).getParent('.popup_form');
				c.toggleClass("showing");
				c.toggleClass("hidden");
				return false;
			});
		}		
	}
	
	var btn_apply_job = $('btn_apply_job');
	if (btn_apply_job != null) {
		btn_apply_job.addEvent('click', toggle_apply_for_job_form);	
	}
}

function toggle_apply_for_job_form(e) {
	var contact = $('apply_for_job_form');
	
	if (contact.hasClass("hidden")) {
		close_all_popup_forms();
	}
	
	contact.toggleClass("showing");
	contact.toggleClass("hidden");
	return false;
}

function add_contact_listener(itm, id) {
	itm.addEvent('click', function (e) {
		var c = $('contact');
		
		if (c.hasClass("hidden")) {
			close_all_popup_forms();
		}
		
		
		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;
	});
}

function close_all_popup_forms() {
	var popup_forms = $$('.popup_form');
	for (var i = 0, count = popup_forms.length; i < count; ++i) {
		var form = popup_forms[i];
		if (form.hasClass("showing")) {
			form.toggleClass("showing");
			form.toggleClass("hidden");			
		}
	}
}