var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers && window.innerWidth ? true : false);
var re_email = /^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/;
var preload = Array();
preload[0] = new Image();
preload[0].src = '/img/bouton-o.gif';
var buffer = bufferMenu = bufferPreview = '';
var mapOver = Array();
mapOver['left'] = 'thumbs_';
mapOver['thumbs'] = 'left_';

function getElement(id) {
	if (isDOM) return document.getElementById(id);
	if (isIE4) return document.all[id];
	if (isNS4) return document.layers[id];
}

function deleteFlag(id) {
	getElement('f'+id+'_mod').value = '1';
	if (getElement('f'+id+'_del').value.match(/^1$/)) {
		getElement('f'+id+'_del').value = '0';
		getElement('f'+id+'_btndel').src = '../img/btn/delete.gif';
	} else {
		getElement('f'+id+'_del').value = '1';
		getElement('f'+id+'_btndel').src = '../img/btn/delete-o.gif';
	}
}

function adjustPic(src, picWidth, picHeight) {
	getElement('container').innerHTML = '<img id="image" src="'+src+'" width="'+picWidth+'" height="'+picHeight+'" alt="" />';
	var width = picWidth - 480;
	var height = picHeight - 480;
	window.resizeBy(width, height);
	window.focus();
}

function pageInit() {
	//External Links
	if (document.getElementsByTagName) {
		var anchors = document.getElementsByTagName("a");
		var m = false;
		for (var i=0; i<anchors.length; i++) {
			var anchor = anchors[i];
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
				anchor.target = "_blank";
			} else if (m = anchor.id.match(/^(left|thumbs)_([a-z0-9-]+)$/)) {
				if (!preload[m[2]]) {
					preload[m[2]] = new Image();
					preload[m[2]].src = anchor.rel;
				}
				anchor.onmouseover = modeleOver;
				anchor.onmouseout = modeleOut;
			}
		}
		var tabs = document.getElementsByTagName("h3");
		var m = false;
		for (var i=0; i<tabs.length; i++) {
			var tab = tabs[i];
			if (m = tab.id.match(/^onglets_(specs|prix)$/)) {
				tab.onclick = tabClick;
			}
		}
	}
	var m;
	for (var i = 0; i < document.forms[0].elements.length; i++) {
		m = document.forms[0].elements[i].id.match(/^(f(\d+)_(date_(debut|fin)))$/);
		if (m) {
			Calendar.setup(
				{
					inputField : m[1], // ID of the input field
					ifFormat : "%Y-%m-%d", // the date format
					button : m[1]+'_btn' // ID of the button
				}
			);
		}
	}
	if (m = document.location.href.match(/(promotions|modeles-courants)\.php/)) {
		loadFCKFields();
	}

	//Set the top subscribe text field onchange and onclick handler
	try {
		getElement('courriel').onfocus = eraseFieldValue;
		getElement('courriel').onblur = restoreFieldValue;
	} catch (e) {
	}

	document.forms[0].onsubmit = soumettreFormulaire;
}

function loadFCKFields() {
	var m, FCK;
	var current = '';
	for (var i in document.forms[0].elements) {
		try {
			if (m = document.forms[0].elements[i].id.match(/^f(\d+)_(en|fr)_(description|promo|note)$/)) {
				if (m[1] != current) {
					current = m[1];
					if (getElement('f'+current+'_en_'+m[3]) && getElement('f'+current+'_fr_'+m[3])) {
						FCK = new FCKeditor('f'+current+'_en_'+m[3]);
						FCK.BasePath = "/js/FCKeditor/";
						FCK.Config['CustomConfigurationsPath'] = '/js/fckconfig.js';
						FCK.Config['DefaultLanguage'] = 'fr';
						FCK.ReplaceTextarea();
						FCK = new FCKeditor('f'+current+'_fr_'+m[3]);
						FCK.BasePath = "/js/FCKeditor/";
						FCK.Config['CustomConfigurationsPath'] = '/js/fckconfig.js';
						FCK.Config['DefaultLanguage'] = 'fr';
						FCK.ReplaceTextarea();
					}
				}
			}
		} catch (e) {
		}
	}
}

function eraseFieldValue() {
	if (this.value.match(/^(courriel|email)$/i)) {
		buffer = this.value;
		this.value = '';
	}
}

function restoreFieldValue() {
	if (this.value.replace(/\s/g,'').length == 0) {
		this.value = buffer;
	}
}

function modeleOver() {
	try {
		var m = false;
		if (m = this.id.match(/^(left|thumbs)_([a-z0-9-]+)$/)) {
			bufferMenu = getElement(mapOver[m[1]]+m[2]).className;
			getElement(mapOver[m[1]]+m[2]).className = 'o';
			bufferPreview = getElement('apercu_modele').src;
			getElement('apercu_modele').src = this.rel;
		}
	} catch (e) {
	}
}

function modeleOut() {
	try {
		var m = false;
		if (m = this.id.match(/^(left|thumbs)_([a-z0-9-]+)$/)) {
			getElement(mapOver[m[1]]+m[2]).className = bufferMenu;
			if (bufferPreview.match(/\/preview\//)) {
				getElement('apercu_modele').src = bufferPreview;
			}
		}
	} catch (e) {
	}
}

function basculer(id,show) {
	try {
		var exp = new Date();
		exp.setTime(exp.getTime() + (30*24*60*60*1000));
		if (show) {
			getElement(id+'_enveloppe').style.display = 'block';
			getElement(id+'_off').style.display = 'block';
			getElement(id+'_on').style.display = 'none';
			setCookie('vignettes',1,exp,'/');
		} else {
			getElement(id+'_enveloppe').style.display = 'none';
			getElement(id+'_off').style.display = 'none';
			getElement(id+'_on').style.display = 'block';
			setCookie('vignettes',0,exp,'/');
		}
	} catch (e) {
	}
}




function getCookie(name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i,j) == arg) {
			return getCookieVal (j);
		}
		i = document.cookie.indexOf(" ",i)+1;
		if (i == 0) {
			break;
		}
	}
	return null;
}

function setCookie(name,value) {
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie =	name + "=" + escape(value) +
						((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
						((path == null) ? "" : ("; path=" + path)) +
						((domain == null) ? "" : ("; domain=" + domain)) +
						((secure == true) ? "; secure" : "");
}

function deleteCookie (name) {
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var cval = getCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

function checkCount(name) {
	var count = getCookie(name);
	if (count == null) {
		count=1;
		setCookie(name,count,exp);
		return true;
	} else {
		count++;
		setCookie(name,count,exp);
		return false;
	}
}

function tabClick() {
	var m = false;
	if (m = this.id.match(/^onglets_(specs|prix)$/)) {
		var exp = new Date();
		exp.setTime(exp.getTime() + (30*24*60*60*1000));
		this.className = 'o';
		if (m[1] == 'prix') {
			getElement('specs').className = 'hidden';
			getElement('prix').className = '';
			getElement('onglets_specs').className = '';
			setCookie('prix',1,exp,'/');
		} else {
			getElement('specs').className = '';
			getElement('prix').className = 'hidden';
			getElement('onglets_prix').className = '';
			setCookie('prix',0,exp,'/');
		}
	}
}

function soumettreFormulaire() {
	if (!document.location.href.match(/\/abonnement\.php/) && !document.location.href.match(/\/cms\//)) {
		return false;
	}
}

function keyUp(e) {
	if (!e) { e = window.event; }
	try {
		if (e.keyCode == 13) {
			if (!document.location.href.match(/\/abonnement\.php/) && getElement('courriel').value.match(re_email)) {
				document.location.href = '/abonnement.php?courriel='+getElement('courriel').value;
			} else if (document.location.href.match(/\/abonnement\.php/)) {
				document.forms[0].submit();
			}
		}
	} catch(exc) {
	}
}

window.onload = pageInit;
document.onkeyup = keyUp;