var APP_FILTER = {
	'digitalPublishing': [
		'13',
		'14',
		'15'
	],
	
	'soft': [
		'1',
		'2',
		'3',
		'4',
		'5',
		'7',
		'8',
		'9',
		'10',
		'11',
		'12'
	]
};


function filterSoft(selectedSoft) {
	for (var i = 0; i < APP_FILTER['digitalPublishing'].length; i++) {
		var monid = APP_FILTER['digitalPublishing'][i];
		var contentTab = document.getElementById("contentTab");
		var mesdiv = contentTab.getElementsByTagName("div");
		for (var j = 0; j < mesdiv.length; j++) {
			var div = mesdiv[j];
			if(div.id == 'tab' + monid){
				var tab = document.getElementById("tab" + monid);
				tab.className = 'tab';
				
				div.style.display = "none";
				document.getElementById("panel" + monid).style.display = 'none';
			}
		}
	}
	
	for (var i = 0; i < APP_FILTER['soft'].length; i++) {
		var monid = APP_FILTER['soft'][i];
		var contentTab = document.getElementById("contentTab");
		var mesdiv = contentTab.getElementsByTagName("div");
		for (var j = 0; j < mesdiv.length; j++) {
			var div = mesdiv[j];
			if(div.id == 'tab' + monid){
				var tab = document.getElementById("tab" + monid);
				tab.className = 'tab';			
			
				div.style.display = "block";
				document.getElementById("panel" + monid).style.display = 'block';
			}
		
		}
	}
	
	selectedSoft = selectedSoft || 3;
	document.getElementById('tab' + selectedSoft).className = "tabActive";
	spLogiciel.showPanel('panel' + selectedSoft);
};

function filterPublishing() {
	for (var i = 0; i < APP_FILTER['soft'].length; i++) {
		var monid = APP_FILTER['soft'][i];
		var contentTab = document.getElementById("contentTab");
		var mesdiv = contentTab.getElementsByTagName("div");
		for (var j = 0; j < mesdiv.length; j++) {
			var div = mesdiv[j];
			if(div.id == 'tab' + monid){
				var tab = document.getElementById("tab" + monid);
				tab.className = 'tab';	
				
				div.style.display = "none";
				document.getElementById("panel" + monid).style.display = 'none';
			}
		
		}
	}
	
	for (var i = 0; i < APP_FILTER['digitalPublishing'].length; i++) {
		var monid = APP_FILTER['digitalPublishing'][i];
		var contentTab = document.getElementById("contentTab");
		var mesdiv = contentTab.getElementsByTagName("div");
		for (var j = 0; j < mesdiv.length; j++) {
			var div = mesdiv[j];
			if(div.id == 'tab' + monid){
				var tab = document.getElementById("tab" + monid);
				tab.className = 'tab';
								
				div.style.display = "block";
				document.getElementById("panel" + monid).style.display = 'block';
			}
		
		}
	}
	
	document.getElementById("tab15").className = "tabActive";	
	spLogiciel.showPanel('panel15');	
};

/* SUPPORT JS */




//CHANGE MAIL
function launchChangeMail(url, slideFormZone, slideFormResponse) {
	$('ajaxFormZone').style.height = '180px';
	var update = $('ajaxFormZone').empty().addClass('ajax-loading');
	var request = new Ajax(url, { 
		method: 'get', 
		update: update, 
		//evalScript: true,
		onComplete: function() {
			update.removeClass('ajax-loading');
			$('ajaxFormZone').style.height = '280px';
			slideFormZone.slideIn();
			//FORM EVENT
			//Event - close response div on input click
			//Event -> click on input type
			function addEventOnInput() {
				var inputList = $$('#ajaxFormZone').getElements('input');
				inputList.each( function(input) {
					for( var i=0;i<input.length;i++) {
						// exclude the submitter button
						// there's conflict on Safari with slideOut and slideIn
						// calling method by events
						if( input[i].id != "submitter" ) {
							input[i].addEvent('click', function(e) {
								//alert( "hide" );
								slideFormResponse.slideOut();
							});
						}
					}					
				});
				return inputList;
			}
			var inputList = addEventOnInput();
			//FORM SUBMITION
			$('updateMail').addEvent('submit', function(e) {
				new Event(e).stop();
				//$('getSnSubmit').style.display = 'none';
				//$('getSnSubmitWait').style.display = 'block';
				$('cSubmitWait').style.display = 'block';
				$('cSubmit').style.display = 'none';
				//Sending form
				this.send({
					update: $('ajaxFormResponse'),
					onComplete: function() {
						//$('getSnSubmit').style.display = 'block';
						//$('getSnSubmitWait').style.display = 'none';
						
						$('cSubmitWait').style.display = 'none';
						$('cSubmit').style.display = 'block';
						var response = this.response.text.split('||');
						if (response[0] == "OK") {
							var urlActivation = 'html/form/getActivationCode.php?logiciel=';
							//Form Reset
							inputList.each( function(inputType) {
								inputType.each( function(input) {
									if (input.name != 'idLogiciel') {
										if(input.id != 'submitter') {
											input.value = '';
										}
									} else if (input.name == 'idLogiciel') {
										urlActivation+=input.value;
									}
								});
							});
							$('ajaxFormResponse').innerHTML = response[1];
							var links = $('ajaxFormResponse').getElements('a');
							links.each(function(a) {
								a.addEvent('click', function() {
									slideFormResponse.slideOut();
									launchACSpecifiy(urlActivation, slideFormZone, slideFormResponse);
								});
							});
						}
						slideFormResponse.slideIn();
					}
				});
			});
		}
	}).request();
}

//GET SERIAL PAGE
function launchSNSpecifiy(url, slideFormZone, slideFormResponse) {
	$('ajaxFormZone').style.height = '170px';
	var update = $('ajaxFormZone').empty().addClass('ajax-loading');
	var request = new Ajax(url, { 
		method: 'get', 
		update: update, 
		//evalScript: true,
		onComplete: function() {
			update.removeClass('ajax-loading');
			$('ajaxFormZone').style.height = '150px';
			slideFormZone.slideIn();
			
			//FORM EVENT
			//Event - close response div on input click
			//Event -> click on input type
			function addEventOnInput() {
				var inputList = $$('#ajaxFormZone').getElements('input');
				inputList.each( function(input) {
					for( var i=0;i<input.length;i++) {
						// exclude the submitter button
						// there's conflict on Safari with slideOut and slideIn
						// calling method by events
						if( input[i].id != "submitter" ) {
							input[i].addEvent('click', function(e) {
								//alert( "hide" );
								slideFormResponse.slideOut();
							});
						}
					}
				});
				return inputList;
			}
			var inputList = addEventOnInput();
			
			//FORM SUBMITION
			//Events activation -> new page loaded
			//Form submit event
			$('getSN').addEvent('submit', function(e) {
				new Event(e).stop();
				$('getSnSubmit').style.display = 'none';
				$('getSnSubmitWait').style.display = 'block';
				//Sending form
				this.send({
					update: $('ajaxFormResponse'),
					onComplete: function() {
						$('getSnSubmit').style.display = 'block';
						$('getSnSubmitWait').style.display = 'none';
						var response = this.response.text.split('||');
						if (response[0] == "OK") {
						//Form Reset
							inputList.each( function(inputType) {
								inputType.each( function(input) {
									if (input.name != 'idLogiciel') {
										input.value = '';
									}
								});
							});
							$('ajaxFormResponse').innerHTML = response[1];
						}
						slideFormResponse.slideIn();
					}
				});
			});
		}
	}).request();
}


//GET ACTIVATION CODE PAGE
function launchACSpecifiy(url, slideFormZone, slideFormResponse) {
	$('ajaxFormZone').style.height = '220px';
	var update = $('ajaxFormZone').empty().addClass('ajax-loading');
	var request = new Ajax(url, { 
		method: 'get', 
		update: update, 
		onComplete: function() {
			//FORM DISPLAY
			//Slide opening
			update.removeClass('ajax-loading');
			$('ajaxFormZone').style.height = '170px';
			slideFormZone.slideIn();
			
			//FORM EVENT
			//Event - close response div on input click
			//Event -> click on input type
			function addEventOnInput() {
				var inputList = $$('#ajaxFormZone').getElements('input');
				inputList.each( function(input) {
					for( var i=0;i<input.length;i++) {
						// exclude the submitter button
						// there's conflict on Safari with slideOut and slideIn
						// calling method by events
						if( input[i].id != "submitter" ) {
							input[i].addEvent('click', function(e) {
								//alert( "hide" );
								slideFormResponse.slideOut();
							});
						}
					}
				});
				return inputList;
			}
			var inputList = addEventOnInput();
			
			//FORM SUBMITION
			//Events activation -> new page loaded
			//Form submit event
			$('getAC').addEvent('submit', function(e) {
				new Event(e).stop();
				$('getAcSubmit').style.display = 'none';
				$('getAcSubmitWait').style.display = 'block';
				
				//Sending form
				this.send({
					update: $('ajaxFormResponse'),
					onComplete: function() {
						$('getAcSubmit').style.display = 'block';
						$('getAcSubmitWait').style.display = 'none';
						var response = this.response.text.split('||');
						if (response[0] == "EJS") {
							$('cInput').style.width = '789px';
							$('oldSn').style.display = 'block';
							$('ajaxFormResponse').innerHTML = response[1];
						}
						if (response[0] == "OK") {
						//Form Reset
							if($('oldSn').style.display == 'block')
							{
								$('oldSn').style.display = 'none';
							}
							inputList.each( function(inputType) {
								inputType.each( function(input) {
									if (input.name != 'applicationId') {
										input.value = '';
									}
								});
							});
							$('ajaxFormResponse').innerHTML = response[1];
						}
						slideFormResponse.slideIn();
					}
				});
			});
		}
	}).request();
}


//DO REPORT PAGE
function launchReportSpecifiy(url, slideFormZone, slideFormResponse) {
	//new Effect.ScrollTo('link1', {offset:-140});

	$('ajaxFormZone').style.height = '180px';
	var update = $('ajaxFormZone').empty().addClass('ajax-loading');
	var request = new Ajax(url, { 
		method: 'get', 
		update: update, 
		onComplete: function() {
			//FORM CONFIGURATION -> insert values
			//Langue
			$('locale').value = navigator.language;			
				
			$('selectOSType').addEvent('change', function() {
				var wOShtml = '<div class="lZone">System version* :</div><div class="rZone"><select class="select" style="width:200px;" name="vOS"><option selected="selected" value="">-</option>';
				switch($('selectOSType').value) {
					case '':
						$('ajaxFormZone').style.height = '490px';
						slideFormZone.slideIn();
						$('platform').value = 'Intel';
						$('vOS').style.display = 'none';
					break;
					case '1':
						$('ajaxFormZone').style.height = '700px';
						slideFormZone.slideIn();
						$('OS').value = 'MacOS';
						$('platform').value = 'Intel';
						for (var i=0; i<vMacOS.length; i++) {
							wOShtml += '<option value="'+vMacOS[i]+'">'+vMacOS[i]+'</option>';
						}
						wOShtml += '<option value="Other">Other</option>';
						$('vOS').style.display = 'block';
					break;
					case '2':
						$('ajaxFormZone').style.height = '700px';
						slideFormZone.slideIn();
						$('OS').value = 'Windows';
						$('platform').value = 'Intel';
						for (var i=0; i<vWindow.length; i++) {
							wOShtml += '<option value="'+vWindow[i]+'">'+vWindow[i]+'</option>';
						}
						wOShtml += '<option value="Other">Other</option>';
						$('vOS').style.display = 'block';
					break;
				}
				wOShtml += '</select></div>';
				$('vOS').innerHTML = wOShtml;
				inputList = addEventOnInput();
			});		
			
			
			//Get Flash Player Version
			$('vFlashPlayer').value = GetSwfVer();
			
			//qt Version
			if (getVQuickTime()) { 
				var vQThtml = '<div class="lZone">QuickTime version : </div><div class="rZone"><select class="select" style="width:200px;" name="vQuickTime"><option selected="selected" value="">-</option>';
				for (var i=0; i<vQuickTime.length; i++) {
					vQThtml += '<option value="'+vQuickTime[i]+'">'+vQuickTime[i]+'</option>';
				}
				vQThtml += '</select></div>';
				$('qtVersion').innerHTML = vQThtml;
				$('qtVersion').style.display = 'block';
			}
			
			//Event - onChange select(post type)
			$('selectPostType').addEvent('change', function() {
				var priorityHtml = '<div class="lZone">Priority : </div><div class="rZone"><select class="select" style="width:200px;" name="priority"><option selected="selected" value="">-</option>';
				switch($('selectPostType').value) {
					case '':
						$('ajaxFormZone').style.height = '490px';
						slideFormZone.slideIn();
						$('priority').style.display = 'none';
						break;
					case '1':
						$('ajaxFormZone').style.height = '700px';
						slideFormZone.slideIn();
						priorityHtml += '<option value="0">Minor</option>';
						priorityHtml += '<option value="1">Major</option>';
						priorityHtml += '<option value="2">Critical</option>';
						$('priority').style.display = 'block';
						break;
					case '2':
						$('ajaxFormZone').style.height = '700px';
						slideFormZone.slideIn();
						priorityHtml += '<option value="0">Nice</option>';
						priorityHtml += '<option value="1">Important</option>';
						priorityHtml += '<option value="2">Essential</option>';
						$('priority').style.display = 'block';
						break;
					case '3':
						$('ajaxFormZone').style.height = '700px';
						slideFormZone.slideIn();
						$('priority').style.display = 'none';
						break;
				}
				priorityHtml += '</select></div>';
				$('priority').innerHTML = priorityHtml;
				inputList = addEventOnInput();
			});		
			
			//FORM DISPLAY
			//Slide opening
			update.removeClass('ajax-loading');
			$('ajaxFormZone').style.height = '700px';
			slideFormZone.slideIn();
			
			//Event - close response div on input click
			//Event -> click on input type
			function addEventOnInput() {
				var textList = $$('#ajaxFormZone').getElements('input');
				var selectList = $$('#ajaxFormZone').getElements('select');
				var textareaList = $$('#ajaxFormZone').getElements('textarea');
				var inputList = textList.concat(selectList.concat(textareaList));
				inputList.each( function(input) {
					for( var i=0;i<input.length;i++) {
						// exclude the submitter button
						// there's conflict on Safari with slideOut and slideIn
						// calling method by events
						if( input[i].id != "submitter" ) {
							input[i].addEvent('click', function(e) {
								//alert( "hide" );
								slideFormResponse.slideOut();
							});
						}
					}
				});
				return inputList;
			}
			var inputList = addEventOnInput();
			
			//FORM SUBMIT
			$('supportForm').addEvent('submit', function(e) {		
				//Stop classic submit event
				new Event(e).stop();
				$('cSubmit').style.display = 'none';
				$('cSubmitWait').style.display = 'block';
				//Send Form via Ajax
				//var log = $('supportFormResponse').empty().addClass('ajax-loading');
				this.send({
					update: $('ajaxFormResponse'),
					onComplete: function() {
						$('cSubmit').style.display = 'block';
						$('cSubmitWait').style.display = 'none';
						
							//log.removeClass('ajax-loading');
							$('ajaxFormResponse').innerHTML = this.response.text;
							//Form Reset
							inputList.each( function(inputType) {
								inputType.each( function(input) {
									if (input.name != 'idLogiciel') {
										if(input.id != 'submitter') {
											input.value = '';
										}
									}
								});
							});
						
						slideFormResponse.slideIn();
					}
				});
			});
		}
	}).request();
}



//LOADING PAGE - Apres chargement du html...
window.addEvent('domready', function() {
	//smoothscroll
	new SmoothScroll();

	//declare slide
	var slideFormZone = new Fx.Slide('ajaxFormZone').hide();
	var slideFormResponse = new Fx.Slide('ajaxFormResponse').hide();
	
	/*
	slideFormZone.toggle();
	slideFormResponse.toggle();
	*/
	
	
	
	
	//events
	//Evennement -> formZone :: open
	var listFZOpen = $$('#spLogiciel').getElements('a[slide=open]');
	listFZOpen.each( function(element) {
		element.addEvent('click', function(e) {
			//Ajax Loading request
			var page = this.getProperty('page');
			var url = this.getProperty('ajaxUrl');
			switch(page) {
				//To -> Serial Page
				case 'getAC':
					slideFormResponse.slideOut();
					launchACSpecifiy(url, slideFormZone, slideFormResponse);
					break;
				case 'getSN':
					slideFormResponse.slideOut();
					launchSNSpecifiy(url, slideFormZone, slideFormResponse);
					break;
				//To -> changeMail page
				case 'getChangeMail':
					slideFormResponse.slideOut();
					launchChangeMail(url, slideFormZone, slideFormResponse);
					break
				//To -> Report Page
				case 'getReport':
					slideFormResponse.slideOut();
					launchReportSpecifiy(url, slideFormZone, slideFormResponse);
					break;
			}
		});
	});
	
	//Evennement -> formZone :: close
	var listFZClose = $$('#contentTab').getElements('div[slide=close]');
	listFZClose.each( function(element) {
		element.addEvent('click', function(e) {
			//Slide closing
			slideFormZone.slideOut();
			slideFormResponse.slideOut();
			//Update tabs -> class
			element.each( function(object) { object.className = 'tab'; }); //Desactivate all
			this.className = 'tabActive'; //Activate the one
		});
	});
	
	//ToolTips (slidingPanel)
	var listToolTip1 = $('spLogiciel').getElements('div[tool=spGetAc]');
	listToolTip1.each(function(myTips) {
		var someTips1 = new Tips(myTips, {
			showDelay: 800,
			offsets: {x:30, y:-50},
			initialize:function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0); },
			onShow: function(toolTip) { this.fx.start(1); },
			onHide: function(toolTip) { this.fx.start(0); }
		});
	});
	var listToolTip2 = $('spLogiciel').getElements('div[tool=spGetSn]');
	listToolTip2.each(function(myTips) {
		var someTips2 = new Tips(myTips, {
			showDelay: 800,
			offsets: {x:30, y:-50},
			initialize:function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0); },
			onShow: function(toolTip) { this.fx.start(1); },
			onHide: function(toolTip) { this.fx.start(0); }
		});
	});
	var listToolTip3 = $('spLogiciel').getElements('div[tool=spReport]');
	listToolTip3.each(function(myTips) {
		var someTips3 = new Tips(myTips, {
			showDelay: 800,
			offsets: {x:30, y:-50},
			initialize:function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0); },
			onShow: function(toolTip) { this.fx.start(1); },
			onHide: function(toolTip) { this.fx.start(0); }
		});
	});
	/*
	var listToolTip4 = $('spLogiciel').getElements('div[tool=spDoc]');
	listToolTip4.each(function(myTips) {
		var someTips4 = new Tips(myTips,  {
			showDelay: 800,
			offsets: {x:30, y:-73},
			initialize:function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0); },
			onShow: function(toolTip) { this.fx.start(1); },
			onHide: function(toolTip) { this.fx.start(0); }
		});
	});
	var listToolTip5 = $('spLogiciel').getElements('div[tool=spFaq]');
	listToolTip5.each(function(myTips) {
		var someTips5 = new Tips(myTips, {
			showDelay: 800,
			offsets: {x:30, y:-73},
			initialize:function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', { duration: 500, wait: 400}).set(0); },
			onShow: function(toolTip) { this.fx.start(1); },
			onHide: function(toolTip) { this.fx.start(0); }
		});
	});
	*/
	var listToolTip6 = $('spLogiciel').getElements('div[tool=spChangeMail]');
	listToolTip6.each(function(myTips) {
		var someTips5 = new Tips(myTips, {
			showDelay: 800,
			offsets: {x:30, y:-50},
			initialize:function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', { duration: 500, wait: 400}).set(0); },
			onShow: function(toolTip) { this.fx.start(1); },
			onHide: function(toolTip) { this.fx.start(0); }
		});
	});
});
