// Script pour l'animation de l'en-tete du contenu principal
$(document).ready(function() {
	var header_slide = new jsAnimManager(); 
    var header_anim = header_slide.createAnimObject("main_header");  
   	header_anim.add({property: Prop.right, to: 0, duration: 300});
	header_anim.add({property: Prop.right, to: 13, duration: 300});
	header_anim.add({property: Prop.left, to: 0, duration: 300});
});

// Script pour la validation et l'envoi du formulaire d'ouverture de compte
var language;

var b = true;

var send_method;

var postal_code_patt = /^[abceghjklmnprstvxyABCEGHJKLMNPRSTVXY][0-9][abceghjklmnprstvwxyzABCEGHJKLMNPRSTVWXYZ] {0,1}[0-9][abceghjklmnprstvwxyzABCEGHJKLMNPRSTVWXYZ][0-9]$/;
var tel_patt = /^[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}$/;
var extension_patt = /^\d+$/;
var email_patt = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
var years_patt = /^[1-9]([0-9]{0,2})$/;

var customer_transport = "Transport du client";

function lang() {
	if (language == "fr") {
		required = "<span class='error_message'> * Requis</span>";
		invalid = "<span class='error_message'> * Invalide</span>";
		print_title = "Demande d'ouverture d'un compte d'achat";
	}
	else {
		required = "<span class='error_message'> * Required</span>";
		invalid = "<span class='error_message'> * Invalid</span>";
		print_title = "Credit application form";
	}
}

function content_validation(id,value,patt) {
	if (!patt.test(value) && value.length>0) {
		$(id).find(".error_message").remove();
		$(id).append(invalid);
		b = false;
	}
	return b;
}

function radio_validation(id,radio) {
	var selected = radio.length + 1;
	for (var i = 0;i<radio.length;i++) {
		if (radio[i].checked) {
			selected = i;
			break;
		}
	}
	if (selected == radio.length +1) {
		$(id).append(required);
		b = false;
	}
	return b;
}

function checkbox_validation(id,checkbox) {
	if (!checkbox.checked) {
		$(id).append(required);
		b = false;
	}
	return b;
}

function check_both_filled(array,id) {
	if (array[0] || array[1]) {
		if (!array[0] || !array[1]) {
			for (var i = 0;i<array.length;i++) {
				if (!array[i]) {
					$(id[i]).find(".error_message").remove();
					$(id[i]).append(required);
					b = false;
				}
			}
		}
	}
	return b;
}

function form_validation() {
	var mandatory = new Array();
	mandatory[0] = document.forms["credit_application_form"]["corporate_name"].value;
	mandatory[1] = document.forms["credit_application_form"]["billing_address"].value;
	mandatory[2] = document.forms["credit_application_form"]["billing_city"].value;
	mandatory[3] = document.forms["credit_application_form"]["billing_postal_code"].value;
	mandatory[4] = document.forms["credit_application_form"]["telephone"].value;
	mandatory[5] = document.forms["credit_application_form"]["prov_tax"].value;
	mandatory[6] = document.forms["credit_application_form"]["fed_tax"].value;
	mandatory[7] = document.forms["credit_application_form"]["owner_admin1_name"].value;
	mandatory[8] = document.forms["credit_application_form"]["owner_admin1_address"].value;
	mandatory[9] = document.forms["credit_application_form"]["in_business_since"].value;
	mandatory[10] = document.forms["credit_application_form"]["bank_name"].value;
	mandatory[11] = document.forms["credit_application_form"]["bank_account"].value;
	mandatory[12] = document.forms["credit_application_form"]["bank_address"].value;
	mandatory[13] = document.forms["credit_application_form"]["supplier1_name"].value;
	mandatory[14] = document.forms["credit_application_form"]["supplier1_address"].value;
	mandatory[15] = document.forms["credit_application_form"]["supplier2_name"].value;
	mandatory[16] = document.forms["credit_application_form"]["supplier2_address"].value;
	mandatory[17] = document.forms["credit_application_form"]["supplier3_name"].value;
	mandatory[18] = document.forms["credit_application_form"]["supplier3_address"].value;
	
	var id = new Array();
	id[0] = "#corporate_name_field";
	id[1] = "#billing_address_field";
	id[2] = "#billing_city_field";
	id[3] = "#billing_postal_code_field";
	id[4] = "#telephone_field";
	id[5] = "#prov_tax_field";
	id[6] = "#fed_tax_field";
	id[7] = "#owner_admin1_name_field";
	id[8] = "#owner_admin1_address_field";
	id[9] = "#in_business_since_field";
	id[10] = "#bank_name_field";
	id[11] = "#bank_account_field";
	id[12] = "#bank_address_field";
	id[13] = "#supplier1_name_field";
	id[14] = "#supplier1_address_field";
	id[15] = "#supplier2_name_field";
	id[16] = "#supplier2_address_field";
	id[17] = "#supplier3_name_field";
	id[18] = "#supplier3_address_field";
	
	var shipping = new Array();
	shipping[0] = document.forms["credit_application_form"]["shipping_address"].value;
	shipping[1] = document.forms["credit_application_form"]["shipping_city"].value;
	shipping[2] = document.forms["credit_application_form"]["shipping_postal_code"].value;
	
	var shipping_id = new Array();
	shipping_id[0] = "#shipping_address_field";
	shipping_id[1] = "#shipping_city_field";
	shipping_id[2] = "#shipping_postal_code_field";
	
	var person2 = new Array();
	person2[0] = document.forms["credit_application_form"]["owner_admin2_name"].value;
	person2[1] = document.forms["credit_application_form"]["owner_admin2_address"].value;
	
	var person2_id = new Array();
	person2_id[0] = "#owner_admin2_name_field";
	person2_id[1] = "#owner_admin2_address_field";
	
	var person3 = new Array();
	person3[0] = document.forms["credit_application_form"]["owner_admin3_name"].value;
	person3[1] = document.forms["credit_application_form"]["owner_admin3_address"].value;
	
	var person3_id = new Array();
	person3_id[0] = "#owner_admin3_name_field";
	person3_id[1] = "#owner_admin3_address_field";
	
	var person4 = new Array();
	person4[0] = document.forms["credit_application_form"]["owner_admin4_name"].value;
	person4[1] = document.forms["credit_application_form"]["owner_admin4_address"].value;
	
	var person4_id = new Array();
	person4_id[0] = "#owner_admin4_name_field";
	person4_id[1] = "#owner_admin4_address_field";
	
// Enleve les messages d'erreurs d'une tentative de soumission precedente
	$(".error_message").remove();
	
// Valide si les champs obligatoires ont ete remplis
	for (var i = 0;i<mandatory.length;i++) {
		if (!mandatory[i]) {
			$(id[i]).find(".error_message").remove();
			$(id[i]).append(required);
			b = false;
		}
		else {
			if (b == false) {
				b;
			}
			else {
			b = true;
			}
		}
	}
	
	if (shipping[0] || shipping[1] || shipping[2]) {
		if (!shipping[0] || !shipping[1] || !shipping[2]) {
			for (var i = 0;i<shipping.length;i++) {
				if (!shipping[i]) {
					$(shipping_id[i]).find(".error_message").remove();
					$(shipping_id[i]).append(required);
					b = false;
				}
			}
		}
	}
	
	for (var i = 0;i<document.forms["credit_application_form"]["transport"].length;i++) {
		if (document.forms["credit_application_form"]["transport"][i].checked && document.forms["credit_application_form"]["transport"][i].value == customer_transport) {
			if (!document.forms["credit_application_form"]["customer_transport"].value || !document.forms["credit_application_form"]["customer_transport_account"].value) {
				$("#customer_transport_field").append(required);
				b = false;
			}
		}
	}
	
// Valide le contenu des champs
	content_validation("#billing_postal_code_field",document.forms["credit_application_form"]["billing_postal_code"].value,postal_code_patt);
	content_validation("#shipping_postal_code_field",document.forms["credit_application_form"]["shipping_postal_code"].value,postal_code_patt);
	content_validation("#telephone_field",document.forms["credit_application_form"]["telephone"].value,tel_patt);
	content_validation("#extension_field",document.forms["credit_application_form"]["extension"].value,extension_patt);
	content_validation("#fax_field",document.forms["credit_application_form"]["fax"].value,tel_patt);
	content_validation("#email_field",document.forms["credit_application_form"]["email"].value,email_patt);
	radio_validation("#po_field",document.forms["credit_application_form"]["po"]);
	radio_validation("#transport_field",document.forms["credit_application_form"]["transport"]);
	content_validation("#in_business_since_field",document.forms["credit_application_form"]["in_business_since"].value,years_patt);
	radio_validation("#building_owner_field",document.forms["credit_application_form"]["building_owner"]);
	content_validation("#supplier1_fax_field",document.forms["credit_application_form"]["supplier1_fax"].value,tel_patt);
	content_validation("#supplier2_fax_field",document.forms["credit_application_form"]["supplier2_fax"].value,tel_patt);
	content_validation("#supplier3_fax_field",document.forms["credit_application_form"]["supplier3_fax"].value,tel_patt);
	checkbox_validation("#accept_conditions_field",document.forms["credit_application_form"]["accept_conditions"]);
	checkbox_validation("#declaration_field",document.forms["credit_application_form"]["declaration"]);
	check_both_filled(person2,person2_id);
	check_both_filled(person3,person3_id);
	check_both_filled(person4,person4_id);
	
	if (b == true) {
		
// Resultat du script Perl
		if (send_method == "email") {
			var form = $(document.getElementById("#credit_application_form"));
			$.ajax({
				url: "http://www.inolec.com/cgi-bin/email_form.pl",
				data: $("#credit_application_form").serialize(),
				type: "post",
				dataType: "html",
				success: function(strData){
					$("#main_content").html(strData);
				}
			})
			return false;
		}
		else {
			
// Version imprimable
			$("#main_content").printElement({pageTitle:print_title,overrideElementCSS:["../css/print.css"],printMode:"popup"});
		}
	}
	else {
		return b;
	}
	return b;
}

// Script pour Google Analytics

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26372772-1']);
_gaq.push(['_trackPageview']);

(function() {
	var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

// Script pour detecter vieux navigateurs (IE6 et -, Mozilla, Firefox 3.5 et -, Netscape)

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera",
			versionSearch: "Version"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
//		{
//			string: navigator.userAgent,
//			subString: "Gecko",
//			identity: "SeaMonkey",
//			versionSearch: "SeaMonkey"
//		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
