/* 
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_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 standout (KW)
	insertVideo('sampleVideoPitch', 250, 140, '/flv/video-pitch-small.xml');
	// conversations video
	insertVideo('socialNetworkVideo', 474, 215, '/flv/conversations-intro.xml');
	// Employees video
	insertVideo('careerManagementVideo', 930, 215, '/flv/career_management_software_intro.xml');
	// Employees video
	insertVideo('talentProfileVideo', 474, 215, '/flv/skillsmapper_social_networking.xml');
	// Getting started video
	insertVideo('gettingStartedVideo', 470, 293, '/flv/gettingstarted.xml');
	// Workday Career Management video
	insertVideo('workdayCareerManagement', 620, 386, '/flv/workday_career_management.xml');
	
}

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);
}

// -- init login
function init_login() {
	var jl = $('joinLogin');
	var panel = $('joinLoginLayout');
	var blanker = $('joinLoginBlanker');
	blanker.set('opacity', 0.4);
	initLoginHandlers();
	jl.hide();
	$$('.joinLoginLink').each(function (lnk, i,a) {
		lnk.addEvent('click', function(e) {
			positionBlanker(blanker);
			if (jl.getStyle('display') == 'none') {
				setLoginTips();
			}
			jl.toggle();
			panel.position({position: 'center'});
			e.stop();
		});
	});
	jl.getElements('.loginCloseLink').each(function (lnk, i, a) {
		lnk.addEvent('click', function(e) {
			jl.hide();
		});
	});
	window.addEvent('scroll', function (e) {
		positionBlanker(blanker);
	});
}
function positionBlanker(b) {
	b.set({
		styles: {
			width: window.getSize().x + "px",
			height: (window.getSize().y + window.getScroll().y) + "px"
		}
	});
}
function initLoginHandlers() {
	$('loginControl').getElements('.elHdr').each(function (el, i, a) {
		var ipt = el.getElement('input');
		var lbl = el.getElement('label');
		ipt.addEvent('keyup', function(e) {
			(this.get('value') == '') ? lbl.show() : lbl.hide();
		});
	});
}
function setLoginTips() {
	$('loginControl').getElements('.elHdr').each(function (el, i, a) {
		if (el.getElement('input').get('value') != '') {
			el.getElement('label').hide();
		}
	});
}

function setLabelTip(hdr) {
	if (hdr.getElement('input').get('value') != '') {
		hdr.getElement('label').hide();
	}
}

/* ---- contact form --- */
function init_contact() {
	// add listeners to buttons
	var c = $(document.body);
	if (c != null) {
		$$('.contactLink').each(function (itm, index) {add_contact_listener(itm, 0);});
		$$('.entContactLink').each(function (itm, index) {add_contact_listener(itm, 1);});
		$$('.entDemoLink').each(function (itm, index) {add_contact_listener(itm, 2);});
		$$('.psContactLink').each(function (itm, index) {add_contact_listener(itm, 3);});
		$$('.psDemoLink').each(function (itm, index) {add_contact_listener(itm, 4);});
		$$('.saContactLink').each(function (itm, index) {add_contact_listener(itm, 5);});
		$$('.saContactLink').each(function (itm, index) {add_contact_listener(itm, 5);});
		
		$$('.infoRequestLink').each(function (itm) { add_info_request(itm); });
	}
	
	// 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;
			});
		}		
	}
	
	$$('.apply_for_job').each(function (itm, i, a) {
		itm.addEvent('click', toggle_apply_for_job_form);
	});
}

function toggle_apply_for_job_form(e) {
	var contact = $('apply_for_job_form');
	var holder = $(this).getParent('.vacancy');
	var chosenPosition = holder.getElements('.positionName')[0].get('text');
	
	if (contact.hasClass("hidden")) {
		close_all_popup_forms();
	}	
	contact.toggleClass("showing");
	contact.toggleClass("hidden");
	$('message_position').set('value', chosenPosition);
	
	window.scrollTo(0, 0);
	return false;
	
}

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

function add_info_request(lnk) {
	lnk.addEvent('click', function(e) {
		var c = $('InfoRequest');
		if (c.hasClass("hidden")) {
			close_all_popup_forms();
		}
		c.toggleClass("showing");
		c.toggleClass("hidden");
		
		var rel = this.get('rel');
		if (rel != '') {
			$$('#RequestWhat input[type=checkbox]').each(function (cbx) {
				cbx.checked = (cbx.get('id') == 'message_'+rel);
			});
		}
		window.scrollTo(0,0);
		e.stop();
	});
}

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");			
		}
	}
}

