/**
 * @author jeremy@eolas.fr
 */

function ownWindowOpen(url) {
	ownFrame.show(url);
	return false;
}

function ownInitPopup(marge, idEntete, idConteneur, idPied) {
	height = (YAHOO.util.Dom.getDocumentHeight());
	try {
		marge += Element.getHeight(idEntete);
		marge += Element.getHeight(idPied);
	} catch (ex) {
		//alert(ex);
	}
	if (height > 620) {
		height = 640 - marge;
		
	}
	document.getElementById(idConteneur).style.overflow = 'auto';
	document.getElementById(idConteneur).style.height = (height - marge) + 'px';
}
 
ownFrame = {
	divId : 'ownFrame',
	timeScroll : 0,

	show : function(url) {
		ownFrame.showCover();

		oBloc = document.getElementById(ownFrame.divId);
		winH = YAHOO.util.Dom.getViewportHeight();
		winW = YAHOO.util.Dom.getViewportWidth();
		if (!oBloc) {
			var objBody = document.getElementsByTagName("body").item(0);
			oBloc = document.createElement("div");
			oBloc.setAttribute('id', ownFrame.divId);
			YAHOO.util.Dom.setStyle(oBloc, "position", "absolute");
			YAHOO.util.Dom.setStyle(oBloc, "z-index", 200);
			objBody.appendChild(oBloc);
		}	
		oBloc.innerHTML = '<div><a href="javascript:void(0);" onclick="ownFrame.close(false)"><img src="../images/bo/ownFrameClose.png" alt="Fermer" title="Fermer"></a></div><iframe id="frameEditor" src="" frameborder="no" style="width:100%;"></iframe>';
		YAHOO.util.Dom.setStyle(oBloc, "display", "block")
		YAHOO.util.Dom.setStyle(oBloc, "width", '770px');

		ownFrame.positionUpdate();
				
		iFrame = document.getElementById('frameEditor');
		iFrame.setAttribute('src', url);
		iFrame.focus();

		YAHOO.util.Event.addListener(iFrame, 'load', function() {
			o = this.contentWindow;
			if (o) o = o.document;
			if (o) o = o.getElementById('popup');
			if (o) ownFrame.updateHeight(o.offsetHeight);
		}); 

		YAHOO.util.Event.addListener(window, 'resize', ownFrame.moveScroll);
		YAHOO.util.Event.addListener(window, 'scroll', ownFrame.moveScroll);
	},

	updateHeight : function(taille) {
		iFrame = document.getElementById('frameEditor');
		oBloc = document.getElementById(ownFrame.divId);
		winH = YAHOO.util.Dom.getViewportHeight();
		winW = YAHOO.util.Dom.getViewportWidth();	

		// Ajout marge inner
		if (taille > 620) {	
			YAHOO.util.Dom.setStyle(oBloc, "height", '640px');
			YAHOO.util.Dom.setStyle(iFrame, "height", '610px');
		} else if (taille > 150) {
			YAHOO.util.Dom.setStyle(oBloc, "height", (taille + 30) + 'px');
			YAHOO.util.Dom.setStyle(iFrame, "height", taille + 'px');
		} else {
			YAHOO.util.Dom.setStyle(oBloc, "height", '180px');
			YAHOO.util.Dom.setStyle(iFrame, "height", '150px');
		}

		ownFrame.positionUpdate();
		iFrame.focus();
	},
		
	positionUpdate : function() {
		clearTimeout(ownFrame.timeScroll)
		oBloc = document.getElementById(ownFrame.divId);
		winH = YAHOO.util.Dom.getViewportHeight();
		winW = YAHOO.util.Dom.getViewportWidth();	
	
		try {
			// Mise a jour positionnement
			eleW = oBloc.offsetWidth;
			if (winW >= eleW) YAHOO.util.Dom.setX(oBloc, YAHOO.util.Dom.getDocumentScrollLeft() + (winW - eleW) / 2);
			eleH = oBloc.offsetHeight;
			if (winH >= eleH) 
				YAHOO.util.Dom.setY(oBloc, YAHOO.util.Dom.getDocumentScrollTop() + (winH - eleH) / 2);
			else 
				YAHOO.util.Dom.setY(oBloc, YAHOO.util.Dom.getDocumentScrollTop());
		} catch(ex) {}		
	},

	moveScroll : function(){
		ownFrame.timeScroll = setTimeout(ownFrame.positionUpdate, 200);
	},

	close : function(reload) {
		if (reload) {
			window.location = window.location.href.replace(new RegExp("#[a-zA-Z0-9]*$", "g"), "");
		} else {
			oBloc = document.getElementById(ownFrame.divId);
			if (oBloc) YAHOO.util.Dom.setStyle(oBloc, 'display', 'none');
				
			ownFrame.hideCover();
				
			YAHOO.util.Event.removeListener(window, 'resize', ownFrame.moveScroll);
			YAHOO.util.Event.removeListener(window, 'scroll', ownFrame.moveScroll);
		}
	},

	showCover : function() {
		var oTemplatecover = document.getElementById('cover');
		if (!oTemplatecover) {
			var oTemplatecover = document.createElement('div');
			oTemplatecover.id = 'cover';
			document.getElementsByTagName('body')[0].appendChild(oTemplatecover);
		}
		oTemplatecover.style.display = "block";
		oTemplatecover.style.height = YAHOO.util.Dom.getDocumentHeight() + 'px';
		oTemplatecover.style.width = YAHOO.util.Dom.getDocumentWidth() + 'px';

 		ownFrame.hideSelectBoxes();
		ownFrame.hideFlash();
		return oTemplatecover;
	},

	hideCover : function() {
		ownFrame.showSelectBoxes();
		ownFrame.showFlash();
		var oTemplatecover = document.getElementById('cover');
		if (oTemplatecover) oTemplatecover.style.display = "none";
	},
	
	showSelectBoxes : function() {
		var selects = document.getElementsByTagName("select");
		for (i = 0; i != selects.length; i++) {
			selects[i].style.visibility = "visible";
		}
		var o = document.getElementById('colonnePub');
		if (o) o.style.visibily = 'visible';
	},
	
	hideSelectBoxes : function() {
		var selects = document.getElementsByTagName("select");
		for (i = 0; i != selects.length; i++) {
			selects[i].style.visibility = "hidden";
		}
		var o = document.getElementById('colonnePub');
		if (o) o.style.visibily = 'hidden';
	},
	
	showFlash : function() {
		var flashObjects = document.getElementsByTagName("object");
		for (i = 0; i < flashObjects.length; i++) {
			flashObjects[i].style.visibility = "visible";
		}
	
		var flashEmbeds = document.getElementsByTagName("embed");
		for (i = 0; i < flashEmbeds.length; i++) {
			flashEmbeds[i].style.visibility = "visible";
		}
	},

	hideFlash : function() {
		var flashObjects = document.getElementsByTagName("object");
		for (i = 0; i < flashObjects.length; i++) {
			flashObjects[i].style.visibility = "hidden";
		}
	
		var flashEmbeds = document.getElementsByTagName("embed");
		for (i = 0; i < flashEmbeds.length; i++) {
			flashEmbeds[i].style.visibility = "hidden";
		}
	}
}


function numberFormat(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? ',' + (x[1].length ==1 ? x[1] + '0' : x[1]) : ',00';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ' ' + '$2');
	}
	return x1 + x2;
}

function numberFormat_en(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + (x[1].length == 1 ? x[1] + '0' : x[1]) : '.00';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
