
window.onload = onBodyLoad;

function onBodyLoad() {
};

var browser = {
 	    ie:     !!(window.attachEvent && !window.opera),
 	    ie6:	!!(document.compatMode && document.all), // http://www.javascriptkit.com/javatutors/objdetect3.shtml
 	    ie7:    !!(window.XMLHttpRequest && document.all), //http://www.javascriptkit.com/javatutors/objdetect3.shtml
 	    //ie7:    (document.documentElement && typeof document.documentElement.style.maxHeight!="undefined"), //http://www.javascriptkit.com/javatutors/objdetect3.shtml
 	    opera:  !!window.opera,
 	    webkit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
 	    gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1
 	  };
browser.fullPNG = (!(browser.ie && !browser.ie7));


// use this function to change the solution
// displayed in the top of the front page
var homeCurrentSln = 'udgmines';
function homeShowSolution(slnCode) {
	var goodSlnCodes = new Array('bpb','wwcs','udgmines','other');
	if (goodSlnCodes.search(slnCode) != -1) {
		if (homeCurrentSln == slnCode) return true;
		// show text for the selected solution
		var txt, oldTxt, label, oldLabel;
		if (homeCurrentSln != '' && homeCurrentSln != undefined && homeCurrentSln != null) {
			$('label-'+homeCurrentSln).className = '';
			new Effect.Fade('txt-'+homeCurrentSln, {duration: 0.3});
		}
		$('label-'+slnCode).className = 'selected';
		new Effect.Appear('txt-'+slnCode, {duration: 0.6});

		// change background image
		var imgOvr = document.getElementById('sltnOverview');
		imgOvr.className = slnCode;

		homeCurrentSln = slnCode;
	}
};

function swapImg(imgElm) {
	if (imgElm.src.search(/_hover/) != -1) {
		imgElm.src = imgElm.src.replace(/_hover/,'');
	}
	else {
		imgElm.src = imgElm.src.replace(/[.](gif|jpg|png|jpeg)/,'_hover.$1');
	}
};


function goToUrl(url) {
	window.location.href = url;
};

/*
function hrzSliderShow(elm,elmClassName) {
	if (typeof elm == 'string') elm = $(elm);
	var elmListParent = elm.parentNode.parentNode.parentNode;
	var listElm, container, handle, text;

	for (var i=0; i < elmListParent.childNodes.length; ++i) {

		listElm = elmListParent.childNodes[i];
		if (listElm.tagName != 'TD') continue;
		if (listElm.className.search(/shown/i) != -1) {
			container = document.getElementsByClassName('sliderElmContainer', listElm).pop();
			handle = document.getElementsByClassName('handle', listElm).pop();
			text = document.getElementsByClassName('text', listElm).pop();

			container.style.width = handle.getWidth() + 'px';
			text.style.display = 'none';
			listElm.className = elmClassName;
		}
	}

	// show the element
	text = document.getElementsByClassName('text', elm.parentNode).pop();
	elm.parentNode.style.width = (elm.getWidth() + text.getWidth() + 20) + 'px';
	//elm.parentNode.parentNode.className = elm.parentNode.parentNode.className + ' shown';
	elm.parentNode.parentNode.addClassName('shown');
	text.style.display = 'block';
};
*/
/*
var udgminesProdTabs;
var udgminesProdTabsParams = [
	//['label','divId',onFocusCallback,onBlurCallback,onRefreshCallback]
	[dict.central_server,'tabConsole'],
	[dict.gateway,'tabGateway'],
	[dict.infrastructure_device,'tabInfrastructure'],
	[dict.vehicle_device,'tabVehicle'],
	[dict.miner_device,'tabMiner'],
	[dict.scada_rtu,'tabScada']
];*/
/*
var udgminesSectionsTabs;
var udgminesSectionsTabsParams = [
	//['label','divId',onFocusCallback,onBlurCallback,onRefreshCallback,'contentUrl']
	[dict.miningTabs.overview,'tabMiningOverview',null,null,null],
	[dict.miningTabs.vod,'tabMiningVOD',null,null,null,'/'+USERLANG+'/underground/vod/1'],
	[dict.miningTabs.safety,'tabMiningSafety',null,null,null,'/'+USERLANG+'/underground/safety/1'],
	[dict.miningTabs.comparison,'tabMiningTech',null,null,null,'/'+USERLANG+'/underground/comparison/1',onUdgminesTechCompTabLoad],
	[dict.miningTabs.specs,'tabMiningSpecs',null,null,null,'/'+USERLANG+'/underground/specs/1']
];
function onUdgminesBodyLoad(initTab,callback) {
	if (document.getElementById('udgminesProdTabsContainer')) {
		udgminesProdTabs = new Tabs('udgminesProdTabsContainer',udgminesProdTabsParams,'udgminesProdTabs','/img/tabs/',false);
		udgminesProdTabs.build();
	}
	var tabDivId = {
		'overview': 'tabMiningOverview',
		'vod': 'tabMiningVOD',
		'safety': 'tabMiningSafety',
		'comparison': 'tabMiningTech',
		'specs': 'tabMiningSpecs'
	};
	if (document.getElementById('miningTabsContainer')) {
		udgminesSectionsTabs = new Tabs('miningTabsContainer',udgminesSectionsTabsParams,'udgminesSectionsTabs','/img/tabs/',false);
		udgminesSectionsTabs.build(tabDivId[initTab],callback);
	}
};
*/
function showUdgminesSubTab(mainTab,tabNumber) {
	eval('var tabCtrl = udgminesSectionsTabs_'+mainTab);
	tabCtrl.clickOnTab('tab_'+tabNumber);
};

var udgminesSectionsTabs_comparison;
var udgminesSectionsTabs_comparisonParams = [
	//['label','divId',onFocusCallback,onBlurCallback,onRefreshCallback,'contentUrl']
	[dict.miningComparisonTabs.newtrax,'miningTechTab-newtrax'],
	[dict.miningComparisonTabs.leakyfeeder,'miningTechTab-leakyfeeder'],
	[dict.miningComparisonTabs.ethernet,'miningTechTab-ethernet'],
	[dict.miningComparisonTabs.newtraxleakyfeeder,'miningTechTab-newtraxleakyfeeder'],
	[dict.miningComparisonTabs.newtraxethernet,'miningTechTab-newtraxethernet'],
	[dict.miningComparisonTabs.featurecomp,'miningTechTab-featurecomp'],
	[dict.miningComparisonTabs.tcocomp,'miningTechTab-tcocomp']
];
function onUdgminesTechCompTabLoad(transport,initTab) {
	if (document.getElementById('miningTechTabsContainer')) {
		udgminesSectionsTabs_comparison = new Tabs('miningTechTabsContainer',udgminesSectionsTabs_comparisonParams,'udgminesSectionsTabs_comparison','/img/tabs-techComparison/',true);
		udgminesSectionsTabs_comparison.build('miningTechTab-'+initTab);
	}
};

var wwcsProdTabs;
var wwcsProdTabsParams = [
	//['label','divId',onFocusCallback,onBlurCallback,onRefreshCallback]
	[dict.central_server,'tabConsole'],
	[dict.gateway,'tabGateway'],
	[dict.scada_rtu,'tabScada']
];
function onWwcsBodyLoad() {
	if (document.getElementById('wwcsProdTabsContainer')) {
		wwcsProdTabs = new Tabs('wwcsProdTabsContainer',wwcsProdTabsParams,'wwcsProdTabs','/img/tabs/',false);
		wwcsProdTabs.build();
	}
};

var meshTabs;
var meshTabsParams = [
	//['label','divId',onFocusCallback,onBlurCallback,onRefreshCallback]
	[dict.tech_advantages,'tabTechAdv'],
	[dict.comparison_wireless_tech,'tabTechComp'],
	[dict.comparison_sensor_network,'tabSensComp'],
	[dict.comparison_rfic,'tabRFIC']
];
function onMeshBodyLoad() {
	if (document.getElementById('meshTabsContainer')) {
		meshTabs = new Tabs('meshTabsContainer',meshTabsParams,'meshTabs','/img/tabs/',false);
		meshTabs.build();
	}
};

var wnTabs;
var wnTabsParams = [
	//['label','divId',onFocusCallback,onBlurCallback,onRefreshCallback]
	[dict.overview,'tabOverview'],
	[dict.udg_mines,'tabUdgmines'],
	[dict.water_wastewater,'tabWwcs'],
	[dict.border_perimeter,'tabBpb']
];
function onWnBodyLoad() {
	if (document.getElementById('wnTabsContainer')) {
		wnTabs = new Tabs('wnTabsContainer',wnTabsParams,'wnTabs','/img/tabs/',false);
		wnTabs.build(wnDefaultTab);
	}
};

var aboutUsTabs;
var aboutUsTabsParams = [
	//['label','divId',onFocusCallback,onBlurCallback,onRefreshCallback]
//	[dict.newsletter,'tabNews'],
	[dict.company_overview,'aboutustab-overview'],
	[dict.press_releases,'aboutustab-releases'],
	[dict.careers,'aboutustab-careers']
//	['Advisors','tabAdvisors']
//	['Vision and Mission','tabVision'],
//	['Team','tabTeam'],
//	['News & Newsletter','tabNews'],
];
function onAboutUsBodyLoad(initTab) {
	if (document.getElementById('aboutUsTabsContainer')) {
		aboutUsTabs = new Tabs('aboutUsTabsContainer',aboutUsTabsParams,'aboutUsTabs','/img/tabs/',false);
		if (initTab != undefined && initTab != null) aboutUsTabs.build('aboutustab-'+initTab);
		else aboutUsTabs.build();
	}
};



//---------------------------------------------------------
// filtering product list by solution on product page
//---------------------------------------------------------

function solutionPickerClick(optionElm,pickerId,sltnKey) {
	var pickerElm = $(pickerId);
	pickerElm.innerHTML = optionElm.childNodes[(optionElm.childNodes.length - 1)].innerHTML;

	var prodList, prodListToShow;
	prodList = $('prodList');
	for (var i=0; i < prodList.childNodes.length; ++i) {
		if (prodList.childNodes[i].tagName == 'DIV' && prodList.childNodes[i].style.display != 'none') {
			new Effect.Fade(prodList.childNodes[i],{duration:0.6});
		}
	}
	if ((prodListToShow = document.getElementById('prodList-'+sltnKey))) {
		new Effect.Appear(prodListToShow,{delay: 0.7, duration:0.6});
	}
};

function showSpec(elm) {
	// show as selected
	var i;
	var container = elm.parentNode;
	for (i=0; i < container.childNodes.length; ++i) {
		if (container.childNodes[i].className) container.childNodes[i].className = container.childNodes[i].className.replace(/( )?selected/gi,'');
	}
	elm.className = (elm.className) ? elm.className.split(' ').push('selected').join(' ') : 'selected';

	// show details for the selected product
	var idParts = elm.id.split('-');
	var deckElm = $(idParts[0]+'-deck-'+idParts[1]);
	for (i=0; i < deckElm.childNodes.length; ++i) {
		if (deckElm.childNodes[i].nodeType == 3 || deckElm.childNodes[i].tagName.toLowerCase() != 'div') continue;
		if (deckElm.childNodes[i].id == elm.id+'-details') deckElm.childNodes[i].style.display = 'block';
		else  deckElm.childNodes[i].style.display = 'none';
	}
};


//---------------------------------------------------------
// submit form to register to newsletter
//---------------------------------------------------------

function submitNewsletterRegistration(btnElm) {

	//var formParams = btnElm.form.serialize(true);
	//var formParams = $('newsletterReg').serialize(true);
	var formParams = Form.serialize('newsletterReg',true);

	var buff = '', idx;
	for (idx in formParams) {
		if (typeof idx != 'function') buff += idx + ' : '+formParams[idx]+"\n";
	}
	//alert(buff);
	//console.log(formParams);
	var i;

	// make sure email address, first name and last name are specified
	var mandatoryFields = ['firstname','lastname','email'];
	//alert(mandatoryFields.length);
	var formIsComplete = true;
	for (i = 0; i < mandatoryFields.length; ++i) {
		//alert('mandatoryFields[i] : '+mandatoryFields[i]+"\nformParams[mandatoryFields[i]] : "+formParams[mandatoryFields[i]]);
		if (formParams[mandatoryFields[i]] == undefined || formParams[mandatoryFields[i]] == null || formParams[mandatoryFields[i]] == '') {
			formIsComplete = false;
		}
	}

	var feedbackElm = $('newsletterRegFeedback');
	if (!formIsComplete) {
		// put message and highlight mandatory fields
		feedbackElm.innerHTML = "Please submit your email address, first name and last name";
		feedbackElm.className = "warning";
		feedbackElm.style.display = 'block';
		for (i = 0; i < mandatoryFields.length; ++i) {
			if (labelElm = document.getElementById(mandatoryFields[i]+'Label')) {
				labelElm.className = 'emphasis';
			}
		}
		return false;
	}
	else {
		// remove emphasis on mandatory label fields
		for (i = 0; i < mandatoryFields.length; ++i) {
			if (labelElm = document.getElementById(mandatoryFields[i]+'Label')) {
				labelElm.className = '';
			}
		}

		// show loading indicator and hide feedback
		$('newsletterLoading').style.display = 'block';
		if (feedbackElm.style.display != 'none') feedbackElm.style.display = 'none';
		// submit form to server
		formParams['lang'] = USERLANG;
		reqParams = {
			method: 'post',
			asynchronous: true,
			parameters: formParams,
			onSuccess: submitNewsletterRegistration_handler,
			onFailure: function(t) {
				var feedbackElm = $('newsletterRegFeedback');
				feedbackElm.innerHTML = "An error occured, your registration was not completed.";
				feedbackElm.className = "error";
			}
		};
		var url = '/formpost/regnewsletter';
		new Ajax.Request(url,reqParams);
	}

	// return false to block form submit process
	return false;
};

function submitNewsletterRegistration_handler(t) {
	$('newsletterLoading').style.display = 'none';
	var feedbackElm = $('newsletterRegFeedback');
	eval("var serverResp = (" + t.responseText + ")");
	if (serverResp.result == 'OK') {
		feedbackElm.innerHTML = serverResp.message;
		feedbackElm.className = "info";
		feedbackElm.style.display = 'block';
	}
	else {
		feedbackElm.innerHTML = serverResp.message;
		feedbackElm.className = "error";
		feedbackElm.style.display = 'block';
	}
};
