
var xmlHttp;  // XMLHttpRequest object...
var jsonPageContent; // ensemble de paires [target,url]

// shortcut to getElementById
function $(element){
	return document.getElementById(element);
}


// Trim...
function trim(string){
	return string.replace(/(^\s*)|(\s*$)/g,'');
}

// s?lectionne une paire [target,url]
function refreshPage(jsonPageContentRowNum){
	getData(jsonPageContentRowNum,jsonPageContent.data[jsonPageContentRowNum].target,jsonPageContent.data[jsonPageContentRowNum].url);
}

// remplace le innerHTML du 'target' avec le output de 'url'
function getData(jsonPageContentRowNum,target,url){
	xmlHttp=GetXmlHttpObject();
	var jsonPageContentNumRow = jsonPageContent.data.length; // nombre de paires dans l'objet JSON...
	url = '/ajax.php?'+url+"&sid="+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	xmlHttp.onreadystatechange=function(){
		if (xmlHttp.readyState==1){
			//reWriteContent(target,'...');
		}
		if (xmlHttp.readyState==4){
			reWriteContent(target,trim(xmlHttp.responseText));
			if(++jsonPageContentRowNum < jsonPageContentNumRow){
				// call back si il y a plus qu'une seule paire target:url
				refreshPage(jsonPageContentRowNum);
				var message = $('systemMessages');
				message.innerHTML = '';
			}
		}
	}
}

// remplace le contenu du target selon le type d'?l?ment
function reWriteContent(target,newValue){
	if(document.getElementById(target).tagName=='DIV'){document.getElementById(target).innerHTML=newValue;}
	if(document.getElementById(target).tagName=='INPUT'){document.getElementById(target).value=newValue;}
	if(document.getElementById(target).tagName=='IMG'){document.getElementById(target).src=newValue;}
	if(document.getElementById(target).tagName=='A'){document.getElementById(target).href=newValue;}
}


// V?rification la disponibilit? du username...
function checkUsernameAvailability(formControl,lang){
	xmlHttp=GetXmlHttpObject();
	url = '/ajax.php?checkUsernameAvailability='+formControl.value+'&lang='+lang+'&sid='+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	xmlHttp.onreadystatechange=function(){
		if(xmlHttp.readyState==4){
			var response = trim(xmlHttp.responseText);
			if(response!='ok' && response != ''){
				alert(response);
				formControl.value='';
				formControl.focus();
			}
		}
	}
}

function toggleAlertStatus(checkBox,alertID,lang){
  xmlHttp = GetXmlHttpObject();
  if(checkBox.checked==true) url = '/ajax.php?doAlert='+alertID+'&lang='+lang;
  if(checkBox.checked==false) url = '/ajax.php?noAlert='+alertID+'&lang='+lang;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	xmlHttp.onreadystatechange=function(){
		if(xmlHttp.readyState==4){
			var response = trim(xmlHttp.responseText);
			var alertCell = document.getElementById('alert'+alertID);
			var alertCellMsg = document.createElement('div');
			alertCellMsg.id = 'alertCellMsg'+alertID;
			alertCellMsg.innerHTML = response + '!!!';//affichage temp. de la reponse
			alertCell.appendChild(alertCellMsg);
			setTimeout("removeAlertCellMsg("+alertID+")",1500);
		}
	}
}


function removeAlertCellMsg(alertID){
	var toDelete = document.getElementById('alertCellMsg'+alertID);
	toDelete.parentNode.removeChild(toDelete);
}


// retourne le request object
function GetXmlHttpObject(){
	var xmlHttp=null;
	try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
		}
	catch (e){
		// Internet Explorer
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
		catch (e){
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
	return xmlHttp;
}


/*
 Ci-dessous : Achat d'un package d'annonces...
*/

function choosePackage(price,lang, mid){
  price = parseInt(price);
  var divContainer = document.getElementById('totalAmount');
  var divDetailPackage = document.getElementById('detailsAchats');
  var paypalPrice = document.getElementById('amount');
  var paypalItem = document.getElementById('item_name');
  var paypalTax = document.getElementById('tax');
  var inetsecurePrice = document.getElementById('inetsecurePrice');
  var innerHTMLValue = divContainer.innerHTML;
  var innerHTMLValue = innerHTMLValue.split(':');
  var inputsPage = document.getElementsByTagName('input');
  var adID = document.getElementById('adID')? document.getElementById('adID').value : null;
  var boxs = [];
  for(var i = 0; i < inputsPage.length; i++){
    if((inputsPage[i].type == 'radio') && (inputsPage[i].name == 'forfait')){
      if(inputsPage[i].checked){
        //ckecker les values
        document.getElementById('custom').value = mid+','+inputsPage[i].value;
        var valuesForm = inputsPage[i].value.split(',');
        var resumeAchat = price.toFixed(2) + "$  (+tx) soit "+ valuesForm[1] + " annonces pour "+ valuesForm[0] + " mois ";
        //affichage des details du package
        if(divDetailPackage.style.display == 'none') divDetailPackage.style.display = 'block';
        //Math.round(original*100)/100
        var priceTaxed = getTaxedAmount(price.toFixed(2));
        document.getElementById('custom').value = document.getElementById('custom').value+'||'+adID;
        priceTaxed = Math.round(priceTaxed*100)/100;
       	if(lang == 'en'){
        	if(arguments[3]){ //renouvellement annonce unitaire
				divDetailPackage.innerHTML = "Your choice : <strong>Renew 1 ad</strong> for a parution of " + valuesForm[0] + " months";
          		document.getElementById('productString').value = "Price::Qty::Code::Description::Flags|"+priceTaxed+"::1::Renew::1 ad for " + valuesForm[0] + " months::";
          		paypalItem.value = 'Renew (1 ad(s)/'+valuesForm[0]+' months)';
			}
			else{
				divDetailPackage.innerHTML = "Your choice : <strong>PACKAGE " + valuesForm[1] + "</strong> that means " + valuesForm[1] + " ad(s) for a parution of " + valuesForm[0] + " months each";
          		document.getElementById('productString').value = "Price::Qty::Code::Description::Flags|"+priceTaxed+"::1::Package"+valuesForm[1]+"::" + valuesForm[1] + " ad(s) for " + valuesForm[0] + " months::";
          		paypalItem.value = 'Package '+valuesForm[1]+' ('+valuesForm[1]+' ad(s)/'+valuesForm[0]+' months)';
			}
        }
        else{
			if(arguments[3]){ //renouvellement annonce unitaire
				divDetailPackage.innerHTML = "Votre choix : <strong>Renouvellement 1 annonce</strong> pour une dur&eacute;e de parution de " + valuesForm[0] + " mois";
          		document.getElementById('productString').value = "Prix::Qt::Code::Description::Flags|"+priceTaxed+"::1::Renouvellement::1 annonce pour " + valuesForm[0] + " months::";
          		paypalItem.value = 'Renouvellement (1 annonce/'+valuesForm[0]+' mois)';
			}
			else{
				divDetailPackage.innerHTML = "Votre choix : <strong>PACKAGE " + valuesForm[1] + "</strong> soit " + valuesForm[1] + " annonce(s) pour une dur&eacute;e de parution de " + valuesForm[0] + " mois chacune";

				
          		document.getElementById('productString').value = "Prix::Qt::Code::Description::Flags|"+priceTaxed+"::1::Package"+valuesForm[1]+"::" + valuesForm[1] + " annonce(s) pour " + valuesForm[0] + " months::";
          		paypalItem.value = 'Forfait '+valuesForm[1]+' ('+valuesForm[1]+' annonces/'+valuesForm[0]+' mois)';
			}
        }
        divContainer.innerHTML = innerHTMLValue[0] + ": <strong>" + price.toFixed(2) + "$ (+tx)</strong>";
        inetsecurePrice.value = price.toFixed(2);
        paypalPrice.value = price.toFixed(2);
        taxTmp = priceTaxed - price.toFixed(2)
        paypalTax.value = Math.round(taxTmp*100)/100;
        // Looping in radioGroup
      }
    }
  }
  document.getElementById('choosePayment').style.display='inline';
  var containerError = document.getElementById('errorForfait');
  containerError.style.display = 'none';
}

function displayFormPaiement(){
	var packInputs = document.getElementsByTagName('input');
	var packInputsArray = new Array();
	for(var i = 0; i < packInputs.length; i++){
		if(packInputs[i].name == 'forfait') packInputsArray.push(packInputs[i]);
		else continue;
	}
	//determiner si un element checked
	var checkedValue = false;
	for(var i = 0; i < packInputsArray.length; i++){
		if(packInputsArray[i].checked == true){
			var elementChecked = packInputsArray[i];
			checkedValue = true;
			var formPaiement = document.getElementById('inetsecureLayer');
			formPaiement.style.display = 'block';
			break;
		}
	}

	if(!checkedValue){ //si aucun element checked
		var containerError = document.getElementById('errorForfait');
		containerError.style.display = 'block';
	}
	return false;
}

function getTaxedAmount(bill) {
    bill = parseInt(bill);
    var taxProv = document.getElementById('b_province').value;
    var taxes = getTaxesByProvince(taxProv);
    if (typeof(taxes) == "object") {
        var tax1 = bill*taxes[0];
        var tax2 = (bill+(bill*taxes[0]))*taxes[1];
        document.getElementById('custom').value = document.getElementById('custom').value+'@'+tax1.toFixed(2)+','+tax2.toFixed(2);
        document.getElementById('inetsecureTax').value = tax1.toFixed(2)+','+tax2.toFixed(2);
        return (bill+(bill*taxes[0])) + (bill+(bill*taxes[0]))*taxes[1];
    }
    else {
        var tax1 = bill*taxes;
        document.getElementById('custom').value = document.getElementById('custom').value+'@'+tax1.toFixed(2);
        document.getElementById('inetsecureTax').value = tax1.toFixed(2);
        return bill+(bill*taxes);
    }

}

/**
* Returns taxes based on province
* @param mixed province
* @return mixed
* This can return one of two things:
* 1. The TVH % as an int or a float
* 2. The TPS/TVH (0) and TVQ (1) as an object.
*/

function getTaxesByProvince(province) {
    // ON, PEI, BC, SK, MB, AB, YK, NT & NV: TPS @ 6%
    if ((province == "provOntario") || (province == "ON") || (province == "provIlePrinceEdward") || (province == "PEI") || (province == "provAlberta") || (province == "AB") || (province == "provYukon") || (province == "YK") || (province == "provNorthwest") || (province == "NWT") || (province == "provNunavut") || (province == "NV") || (province == "provColombieBrit") || (province == "BC") || (province == "provSaskatchewan") || (province == "SK") || (province == "provManitoba") || (province == "MB")) { var tax = 0.06; }
    // NB, NS & NF: TVH @ 14%
    else if ((province == "provNewBrunswick") || (province == "NB") || (province == "provTerreNeuve") || (province == "NF") || (province == "provNouvelleEcosse") || (province == "NS")) { var tax = 0.14; }
    // QC: TPS @ 6% & TVQ @ 7.5%
   	//else if ((province == "provQuebec") || (province == "QC")) { var tax = new Array(0.06,0.075); }
   	else if ((province == "provQuebec") || (province == "QC")) { var tax = new Array(0.05,0.075); }
    else { var tax = 1; }
    return tax;
}

/*
 Ci-dessous : Event handlers pour cr?ation d'une nouvelle annonce...
*/
function provinceChange(newValue){
	initSelect();
	if(newValue == 'prov_yukon'){
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"updateProvince="+newValue},
				{"target":"area1","url":"formItem=city"}
			]
		}
	}
	else{
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"updateProvince="+newValue},
				{"target":"area1","url":"formItem=county"}
			]
		}
	}
	refreshPage(0);
}

function countyChange(newValue){
	var city = document.getElementById('area2');
	city.innerHTML = '';
	jsonPageContent = {
		"data":[
			{"target":"systemMessages","url":"updateCounty="+newValue},
			{"target":"area2","url":"formItem=city"}
		]
	}
	refreshPage(0);
}

function cityChange(newValue){
	jsonPageContent = {
		"data":[
			{"target":"systemMessages","url":"updateCity="+newValue},
			{"target":"ctrlButton1","url":"txtContent=step2btn"}
		]
	}
	refreshPage(0);
	var nextStepLink = document.getElementById('nextStepLink');
	nextStepLink.onclick = function(){
		if(checkLocationAd()){
			step3();
		}
	}
}

function categoryChange(newValue){
	initSelect();
	if(newValue == '9,5'){ //cas particulier du terrain
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"updateCategory="+newValue}
			]
		}
		refreshPage(0);
		checkPackage();
	}
	else{
		if(document.getElementById('numCategory').value != 0){
			jsonPageContent = {
				"data":[
					{"target":"systemMessages","url":"updateCategory="+newValue},
					{"target":"area1","url":"formItem=type"}
				]
			}
			refreshPage(0);
		}
		else{
			initSelect();
		}
	}
}

function typeChange(newValue){
	jsonPageContent = {
		"data":[
			{"target":"systemMessages","url":"updateType="+newValue}
		]
	}
	refreshPage(0); //lance la req. Ajax
	checkPackage(); //verifie si les packs sont dispo.
	return false;
}

function checkPackage(){
	document.getElementById('area2').innerHTML = '';
	jsonPageContent = {
		"data":[
			{"target":"area2","url":"verifPack=true"},
			{"target":"systemMessages","url":"txtContent=empty"}
		]
	}
	refreshPage(0);
}

function changeForfait(newValue){
	jsonPageContent = {
		"data":[
			{"target":"systemMessages","url":"updatePack="+newValue},
			{"target":"ctrlButton1","url":"txtContent=step1btn"}
		]
	}
	refreshPage(0);
	var container = document.getElementById('newAdForm');
	var nextStepLink = container.getElementsByTagName('a')[0];
	nextStepLink.onclick = function(){
		if(checkValueAnnonce()){
			step1();
		}
	};
}

function initFormAd(){
	return false;
}

function checkValueAnnonce(){
	var numCategory = (document.getElementById('numCategory'))? document.getElementById('numCategory').value : false;
	var numType = (document.getElementById('numType'))? document.getElementById('numType').value : false;
	var numForfait = (document.getElementById('numForfait'))? document.getElementById('numForfait').value : false;
	if(!numCategory || numCategory == 0){
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"txtContent=nocategorie"}
			]
		}
		refreshPage(0);
		return false;
	}
	else if((!numType || numType == 0) && numCategory != '9,5'){
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"txtContent=notype"}
			]
		}
		refreshPage(0);
		return false;
	}
	else if(!numForfait || numForfait == 0){
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"txtContent=noforfait"}
			]
		}
		refreshPage(0);
		return false;
	}
	else return true;
}

function commencer(){
	var numCategory = (document.getElementById('numCategory'))? document.getElementById('numCategory').value : false;
	var numType = (document.getElementById('numType'))? document.getElementById('numType').value : false;
	var numForfait = (document.getElementById('numForfait'))? document.getElementById('numForfait').value : false;

	if(numCategory != '9,5'){
		if(numCategory != 0 && numType != 0 && numForfait != 0) var etape1 = true;
		else var etape1 = false;
	}
	else{
		if(numForfait != 0) var etape1 = true;
		else var etape1 = false;
	}

	var container = document.getElementById('newAdForm');
	var nextStepLink = container.getElementsByTagName('a')[0];
	nextStepLink.onclick = function(){
		if(etape1){
			step1();
		}
		else{
			checkValueAnnonce();
		}
	};
}

function initSelect(){
	document.getElementById('systemMessages').innerHTML = '';
	document.getElementById('area1').innerHTML = '';
	document.getElementById('area2').innerHTML = '';
	document.getElementById('area3').innerHTML = '';
	return true;
}

function step1(){
	initSelect();
	jsonPageContent = {
		"data":[
			{"target":"info","url":"txtContent=step5"},
			{"target":"area0","url":"formItem=province"}
		]
	}
	refreshPage(0);
	var nextStepLink = document.getElementById('nextStepLink');
	nextStepLink.onclick = function(){
		checkLocationAd();
	}
}

function checkLocationAd(){
	var selectProvince = (document.getElementById('selectProvince'))? document.getElementById('selectProvince').value : false;
	var selectCounty = (document.getElementById('county'))? document.getElementById('county').value : false;
	var selectCity = (document.getElementById('city'))? document.getElementById('city').value : false;

	if(!selectProvince || selectProvince == 0){
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"txtContent=noprovince"}
			]
		}
		refreshPage(0);
		return false;
	}
	else if((!selectCounty || selectCounty == 0) && selectProvince != 'prov_yukon'){
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"txtContent=nocounty"}
			]
		}
		refreshPage(0);
		return false;
	}
	else if(!selectCity || selectCity == 0){
		jsonPageContent = {
			"data":[
				{"target":"systemMessages","url":"txtContent=nocity"}
			]
		}
		refreshPage(0);
		return false;
	}
	else return true;
}

function step2(){
	//test de modification de l'etape 1 du depot annonce
	alert('etape2');
	return;
	var divSelect = $('area0');
	var selectPackCollection = divSelect.getElementsByTagName('select');
	//provinces
	var divProvince = $('area1');
	var selectProvinceCollection = divProvince.getElementsByTagName('select');
	for(var i = 0; i < selectPackCollection.length; i++){
		if(i == 0){
			var selectPack = selectPackCollection[i];
			var selectProvince = selectProvinceCollection[i];
			if(selectPack.value != 0 && selectProvince.value != 0){
				//faire la req. ajax pour set de la value de la session
				var newValue = selectPack.value;
				var newProvince = selectProvince.value;
				jsonPageContent = {
					"data":[
						{"target":"systemMessages","url":"updatePack="+newValue+"&province="+newProvince}
					]
				}

				refreshPage(0);
				//vider les contenus des divs
				divSelect.innerHTML = '';
				divProvince.innerHTML = '';
				if(newProvince != 'prov_yukon'){
					jsonPageContent = {
						"data":[
							{"target":"info","url":"txtContent=step1"},
							{"target":"area1","url":"formItem=county"},
							/*{"target":"ctrlButton1","url":"txtContent=step1btn"}*/
							{"target":"ctrlButton1","url":"txtContent=step2btn"}
						]
					}
					refreshPage(0);

					var nextStepLink = document.getElementById('nextStepLink');
					nextStepLink.onclick=function(){
						jsonPageContent = {
							"data":[
								{"target":"systemMessages","url":"txtContent=message"}
							]
						}
						refreshPage(0);
					}
				}
				else{
					jsonPageContent = {
						"data":[
							{"target":"info","url":"txtContent=step1Yukon"},
							{"target":"systemMessages","url":"updateCounty="},
							{"target":"area2","url":"formItem=city"},
							/*{"target":"ctrlButton1","url":"txtContent=step1btn"}*/
							{"target":"ctrlButton1","url":"txtContent=step2btn"}
						]
					}

					refreshPage(0);
					var nextStepLink = document.getElementById('nextStepLink');
					nextStepLink.onclick=function(){
						jsonPageContent = {
							"data":[
								{"target":"systemMessages","url":"txtContent=message"}
							]
						}
						refreshPage(0);
					}
				}
			}
			else{
				jsonPageContent = {
					"data":[
						{"target":"systemMessages","url":"txtContent=stepPack"}
					]
				}
				refreshPage(0);
			}
		}
	}
}

function step3(){
	var area0 = document.getElementById('area0').innerHTML = '';
	jsonPageContent = {
		"data":[
			{"target":"info","url":"txtContent=step3"},
			{"target":"area1","url":"formItem=details"},
			{"target":"area2","url":"txtContent=empty"},
			{"target":"ctrlButton1","url":"txtContent=step3btn"}
		]
	}
	refreshPage(0);
	var container = document.getElementById('newAdForm');
	var nextStepLink = container.getElementsByTagName('a')[0];
	nextStepLink.onclick = function(){
		document.getElementById('newAdForm').submit();
	};
}

// superficie habitable - user friendly...
function int_superfhabutile_unit(newValue){
	$('int_superfhabutile_unit').value = newValue;
}

// atelier - user friendly...
function int_atelier(newValue){
	$('int_atelier').value = newValue;
}

// espace de stationnement - user friendly...
function ext_espstation(newValue){
	$('ext_espstation').value = newValue;
}

// garage - user friendly...
function ext_garage(newValue){
	$('ext_garage').value = newValue;
}

//fonction generique pour afficher la valeur correcte d'une liste
function setValueDropList(element,newValue){
	$(element).value = newValue;
}

/*

  ci-dessous : formulaire de paiement...

*/


// v?rifie l'?tat du formulaire...
function checkContactInfo(formName){
  	var mandatoryFields = new Array();
	mandatoryFields[0] = "b_firstname";
	mandatoryFields[1] = "b_lastname";
	mandatoryFields[2] = "b_address1";
	mandatoryFields[3] = "b_city";
	mandatoryFields[4] = "b_province";
	mandatoryFields[5] = "b_country";
	mandatoryFields[6] = "b_postalcode_1";
	mandatoryFields[7] = "b_postalcode_2";
	mandatoryFields[8] = "ccname";
	mandatoryFields[9] = "ccnumber";
	mandatoryFields[10] = "ccmonth";
	mandatoryFields[11] = "ccyear";
	mandatoryFields[12] = "cvv2";

	var checkStatus = true;

	//verification des terms
	var elt = document.getElementById('terms');
	var checkStatus = (elt.checked != true)? false : true ;
	if(checkStatus){ // les termes sont acceptes -> on fait la validation
		// v?rifie que tous les champs obligatoires sont remplis...
		for (i=0;i<mandatoryFields.length;i++) {
    		//alert(mandatoryFields[i]);
    		var control = document.getElementById(mandatoryFields[i]);
			if(control.value==''){
				control.style.border = "1px solid #c00";
				control.style.background = "#fee";
				control.style.color = "#300";
				switch(mandatoryFields[i]){
					case 'b_postalcode_1':
					case 'b_postalcode_2':
						var label = document.getElementById('label_b_postalcode');
					break;
					default:
						var label = document.getElementById('label_' + mandatoryFields[i]);
					break;
				}
				label.style.color = '#c00';
			  	label.style.fontWeight = 'bold';
				checkStatus = false;
			} else {
			  control.style.border = "1px solid green";
			}
  		}
		// donn?es incompl?tes
		if(checkStatus==false){
			alert('formulaire incomplet...');
		}
	}
	else{
		alert('termes & conditions...');
	}

	// donn?es compl?tes
	if(checkStatus==true){
		document.getElementById('transactionForm').submit();
	}
}

// affiche les infos sur le contact
function showContactForm(){
  document.getElementById('userData').style.display = 'block';
}



// affiche les infos de carte de cr?dit
function showCCForm(){
  document.getElementById('userData').style.display = 'block';
}



// copie les infos "billing" vers les infos "shipping"
function importBillingInfo(){
  document.getElementById('s_firstname').value = document.getElementById('b_firstname').value;
  document.getElementById('s_lastname').value = document.getElementById('b_lastname').value;
  document.getElementById('s_address1').value = document.getElementById('b_address1').value;
  document.getElementById('s_address2').value = document.getElementById('b_address2').value;
  document.getElementById('s_city').value = document.getElementById('b_city').value;
  document.getElementById('s_province').value = document.getElementById('b_province').value;
  document.getElementById('s_country').value = document.getElementById('b_country').value;
  document.getElementById('s_postalcode').value = document.getElementById('b_postalcode').value;
  document.getElementById('s_email').value = document.getElementById('b_email').value;
  document.getElementById('s_telephone').value = document.getElementById('b_telephone').value;
}





/**
*
*  AJAX IFRAME METHOD (AIM)
*  http://www.webtoolkit.info/
*
**/

AIM = {

	frame : function(c) {

		var n = 'f' + Math.floor(Math.random() * 99999);
		var d = document.createElement('DIV');
		d.innerHTML = '<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';
		document.getElementById('pictureUpload').appendChild(d);
		//document.body.appendChild(d);

		var i = document.getElementById(n);
		if (c && typeof(c.onComplete) == 'function') {
			i.onComplete = c.onComplete;
		}

		return n;
	},

	form : function(f, name) {
		f.setAttribute('target', name);
	},

	submit : function(f, c) {
		AIM.form(f, AIM.frame(c));
		if (c && typeof(c.onStart) == 'function') {
			return c.onStart();
		} else {
			return true;
		}
	},

	loaded : function(id) {
		var i = document.getElementById(id);
		if (i.contentDocument) {
			var d = i.contentDocument;
		} else if (i.contentWindow) {
			var d = i.contentWindow.document;
		} else {
			var d = window.frames[id].document;
		}
		if (d.location.href == "about:blank") {
			return;
		}

		if (typeof(i.onComplete) == 'function') {
			i.onComplete(d.body.innerHTML);
		}
	}

}



// fonctions pour file upload...
function startCallback() {
	 // make something useful before submit (onStart)
	 return true;
}

function completeCallback(response) {
	 // make something useful after (onComplete)
	 document.getElementById('nr').innerHTML = parseInt(document.getElementById('nr').innerHTML) + 1;
	 document.getElementById('r').innerHTML = response;
}


function toPhp(a) {
    var a_php = "";
    var total = 0;
    for (var key in a) {
        //alert(key);
        ++ total;
        a_php = a_php + "s:" +
                String(key).length + ":\"" + String(key) + "\";s:" +
                String(a[key]).length + ":\"" + String(a[key]) + "\";";
    }
    a_php = "a:" + total + ":{" + a_php + "}";
    return a_php;
}
