function load(file,target) {
    if (target != ''){
        target.window.location.href = file;
		parent.close();
	} else if (file != "") {
		window.location.href = file;
	} else {
        window.location.href = "/members";
		parent.close();
	}
}

function openerload(file,target) {
    target.window.top.opener.window.location.href = file;
	parent.close();
}

// Pop-up functions
function openWin(url,target,width, height) {
        var win = window.open(url,target,"resizable=no,scrollbars=yes,status=0,directories=no,toolbar=no,menubar=no,width="+width+",height="+height);
		if (win.opener == null) win.opener = self;
		if (win.focus) win.focus();
}

function openWinResize(url,target,width,height) {
        var win = window.open(url,target,"resizable=yes,scrollbars=no,status=0,directories=no,toolbar=no,menubar=no,width="+width+",height="+height);
		if (win.opener == null) win.opener = self;
		if (win.focus) win.focus();
}

function isDate(dateStr) {
    var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?
	var isfalse=0;
    if (matchArray == null) {
        // return("AAAA-MM-JR");
		isfalse=1;
		month=0;
		day=0;
		year=0;
    }else{
	    month = matchArray[3]; // parse date into variables
	    day = matchArray[5];
	    year = matchArray[1];
	}
    if (month < 1 || month > 12) { // check month range
        // return("Erreur de mois.");
		isfalse=1;
    }
    if (day < 1 || day > 31) {
        //return("Erreur de jour.");
		isfalse=1;
    }
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        // return(month+"e Mois n'a pas 31 jours!");
		isfalse=1;
    }
    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) {
            // return("F�v. " + year + " n'a pas " + day + " jours!");
			isfalse=1;
        }
    }
	return isfalse;
}

// Cookie functions
// Retrieve a cookie.
/*
function getCookie(name){
var cname = name + "=";
var dc = document.cookie;
    if (dc.length > 0) {
    begin = dc.indexOf(cname);
        if (begin != -1) {
        begin += cname.length;
        end = dc.indexOf(";", begin);
            if (end == -1) end = dc.length;
            return unescape(dc.substring(begin, end));
        }
    }
return null;
}*/

// Save a cookie.
/*
function setCookie(name, value, expires) {
document.cookie = name + "=" + escape(value) + "; path=/" +
((expires == null) ? "" : "; expires=" + expires.toGMTString());
}*/

// Delete a cookie.
/*
function delCookie(name) {
document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" +  "; path=/";
}*/

// Form cookies
// Retrieve form element's value.
/*
function getValue(element) {
var value = getCookie(element.name);
    if (value != null) element.value = value;
}*/

// Save form element's value.
/*
function setValue(element) {
setCookie(element.name, element.value, exp);
}*/

var exp = new Date();
exp.setTime(exp.getTime() + (1000 * 60 * 60 * 24 * 31));


function showHide(id) {
	var element = document.getElementById(id);
	if (element.style.display == "none") {
		element.style.display = "block";
	}
	else {
		element.style.display = "none";
	}
}







var firsttime = 1;


function makeRequest(url) {
	
	if (firsttime == 1) {
		document.getElementById('status').innerHTML = "<b>Traitement en cours... Veuillez patienter...</b>";
		firsttime = 0;
	}

	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = function() { alertContents(http_request, url); };
	http_request.open('GET', url, true);
	http_request.send(null);

}

function alertContents(http_request, url) {
	
	document.getElementById('bauto').disabled = true;
	document.getElementById('btester').disabled = true;

	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			var xmlDoc = http_request.responseXML;
			var status_node = xmlDoc.getElementsByTagName('status').item(0);
			var emails = status_node.firstChild.data;
			var next = status_node.getAttribute("next");
			var progress = status_node.getAttribute("progress");
			var sent = status_node.getAttribute("sent");
			var total = status_node.getAttribute("total");
			var rest = status_node.getAttribute("rest");
			
			document.getElementById('status').innerHTML = "<b>Traitement en cours... Veuillez patienter...<br>Progr&egrave;s : " + progress + "<br>" + sent + " messages envoy&eacute;s sur " + total + "<br>Reste " + rest + " messages &agrave; envoyer</b><br><br><pre>" + emails + "</pre>";
			
			if (rest > 0 && next != "stop") {
				makeRequest(next);
			} else {
				document.getElementById('bauto').disabled = false;
				document.getElementById('btester').disabled = false;
			}
		} else {
			document.getElementById('status').innerHTML = "<b>Traitement en cours... Veuillez patienter...</b>";
			makeRequest(url);
		}
	}

}







var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1));
var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));
if (clientPC.indexOf('opera')!=-1) {
    var is_opera = true;
    var is_opera_preseven = (window.opera && !document.childNodes);
    var is_opera_seven = (window.opera && document.childNodes);
}




function insertTags(txtarea, tagOpen, tagClose, sampleText) {

	// IE
	if(document.selection  && !is_gecko) {
		var theSelection = document.selection.createRange().text;
		if (!theSelection) { theSelection = sampleText; }
		txtarea.focus();
		if (theSelection.charAt(theSelection.length - 1) == " ") {// exclude ending space char, if any
			theSelection = theSelection.substring(0, theSelection.length - 1);
			document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
		} else {
			document.selection.createRange().text = tagOpen + theSelection + tagClose;
		}

	// Mozilla
	} else if (txtarea.selectionStart || txtarea.selectionStart == '0') {
 		var startPos = txtarea.selectionStart;
		var endPos = txtarea.selectionEnd;
		var scrollTop = txtarea.scrollTop;
		var myText = (txtarea.value).substring(startPos, endPos);
		if (!myText) { myText = sampleText; }
		if (myText.charAt(myText.length - 1) == " ") { // exclude ending space char, if any
			subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
		} else {
			subst = tagOpen + myText + tagClose;
		}
		txtarea.value = txtarea.value.substring(0, startPos) + subst + txtarea.value.substring(endPos, txtarea.value.length);
		txtarea.focus();

		var cPos = startPos + (tagOpen.length + myText.length + tagClose.length);
		txtarea.selectionStart = cPos;
		txtarea.selectionEnd = cPos;
		txtarea.scrollTop = scrollTop;

	// All others
	} else {
		var copy_alertText = alertText;
		var re1 = new RegExp("\\$1","g");
		var re2 = new RegExp("\\$2","g");
		copy_alertText = copy_alertText.replace(re1,sampleText);
		copy_alertText = copy_alertText.replace(re2,tagOpen + sampleText + tagClose);
		var text;
		if (sampleText) {
			text = prompt(copy_alertText);
		} else {
			text = "";
		}
		if (!text) { text = sampleText; }
		text = tagOpen + text + tagClose;
		document.infoform.infobox.value = text;
		
		// in Safari this causes scrolling
		if (!is_safari) {
			txtarea.focus();
		}
		noOverwrite=true;
	}

	// reposition cursor if possible
	if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();

}



function makeAjaxRequest(url, param) {

	var http_request = false;

	//url = url + encodeURI(param);
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { alertAjaxContents(http_request); };
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", param.length);
    http_request.setRequestHeader("Connection", "close");
	
	http_request.send(param);

}

var element22 = 'status_description';

function alertAjaxContents(http_request) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var content = http_request.responseText;
			document.getElementById(element22).innerHTML = content;
		}
	}
}

function setElement(param) {
	element22 = param;	
}

function addDate(url, param) {

    var re1 = new RegExp("^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$","g");
	var re2 = new RegExp("^[0-9]+$","g");
	
    if (document.theform.ad_date.value != "" || document.theform.ad_nombre_places.value != "") {
        if (!document.theform.ad_date.value.match(re1)) {
            document.getElementById('labelad_date').style.color = 'red';
            return false;
        } else {
            document.getElementById('labelad_date').style.color = 'black';
        }
        
        if (!document.theform.ad_nombre_places.value.match(re2)) {
            document.getElementById('labelad_nombre_places').style.color = 'red';
            return false;
        } else {
            document.getElementById('labelad_nombre_places').style.color = 'black';
        }
    }
    
    http_request = getRequest(url, param);
	http_request.send(param);
}

function addCovoiturage(url, param) {
	http_request = getRequest(url, param);
	http_request.send(param);
}

function addRegion(url, param) {
    http_request = getRequest(url, param);
	http_request.send(param);
}

function addPhoto(url, param) {
    http_request = getRequest(url, param);
	http_request.send(param);
}

function wisesend(url, param) {
    
    var http_request = false;

    document.getElementById('sendlink').style.display = "none";
    
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
    
    http_request.onreadystatechange = function() { alertWiseSend(http_request, url, param); };
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", param.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(param);
}

function alertWiseSend(http_request, url, param) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var content = http_request.responseText;
            
			document.getElementById(element22).innerHTML = content;
            
            if (content != "end") {
				wisesend(url, param);
			}
		} else {
            wisesend(url, param);  
        }
	}
}

function getRequest(url, param) {
    var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
    
    http_request.onreadystatechange = function() { alertAjaxContents(http_request); };
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", param.length);
    http_request.setRequestHeader("Connection", "close");
    
    return http_request;
}

function updadform()
{
	if (document.getElementById('chkobnl').checked == true) {
		var facteurobnl = 0.20; // si obnl est coché on donne 20% d'escompte
		document.getElementById('obnlnum').disabled = false;
	}
	else {
		var facteurobnl = 0;
		document.getElementById('obnlnum').disabled = true;
	}
	
	if(document.getElementById('categorie_pub').value == 5 || document.getElementById('chkobnl').checked == true)
		var facteurobnl = 0.20; // si obnl est coché on donne 20% d'escompte, même chose pour catégorie des artistes
	else
		var facteurobnl = 0; // sinon prix normal.
	
	if(document.getElementById('chkallowlink').checked == true)
	{
		document.getElementById('adlink').disabled=false;
		if (document.getElementById('chkbanner').checked == true) {
			/**
			 * Si un lien ET une bannière sont pris
			 */
			document.getElementById('spnprice6').innerHTML = formatmoney(1350-(1350*facteurobnl));
			document.getElementById('spnprice12').innerHTML = formatmoney(2160-(2160*facteurobnl));
		}
		else {
			/**
			 * Si seulement un lien est pris
			 */
			document.getElementById('spnprice6').innerHTML = formatmoney(750-(750*facteurobnl));
			document.getElementById('spnprice12').innerHTML = formatmoney(1200-(1200*facteurobnl));
		}
	}
	else
	{
		document.getElementById('adlink').disabled=true;
		if(document.getElementById('chkbanner').checked == true)
		{
			/**
			 * Si pas de lien mais pas de bannière sont pris
			 */
			document.getElementById('spnprice6').innerHTML = formatmoney(1110-(1110*facteurobnl));
			document.getElementById('spnprice12').innerHTML = formatmoney(1775-(1775*facteurobnl));
		}
		else
		{
			/**
			 * Pas de lien et pas de bannière seulement la section cardex
			 */
			document.getElementById('spnprice6').innerHTML = formatmoney(630-(630*facteurobnl));
			document.getElementById('spnprice12').innerHTML = formatmoney(1010-(1010*facteurobnl));
		}
	}
	
	updpriceform();
}

function updpriceform()
{
	var current_radio = null;
	
	var nb_mois = document.publicite.nb_mois_pub;
	
	var counter = nb_mois.length -1;
	
	for(i=0; i<=counter; i++)
	{
		if (nb_mois[i].checked == true)
			current_radio = nb_mois[i];
	}
	
	if(current_radio.id == 'rdoprice6')
		document.getElementById('hidprice').value = removeformatmoney(document.getElementById('spnprice6').innerHTML);
	else
		document.getElementById('hidprice').value = removeformatmoney(document.getElementById('spnprice12').innerHTML);
}

function formatmoney(val){
  val = val.toString();
  val = val.split(".");
  val[0] = val[0].split("").reverse().join("");
  val[0] = val[0].replace(/(\d{3})/g,"$1 ");
  val[0] = val[0].split("").reverse().join("");
  val[0] = val[0].indexOf(",")==0?val[0].substring(1):val[0];
  return val.join(".");
}

function removeformatmoney(val){
  return val.replace(/ /g,"");
}


