//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//	PROJET							:	OxygenBay																						//
//	URL SITE						:	tous les sites oxygenbay																		//
//	SOUS PROJET						:																									//
//	NOM DU FICHIER					:	oxb-common.js																					//
//--------------------------------------------------------------------------------------------------------------------------------------//
//	DESCRIPTION						:	code javascript commun a tous les sites oxygenbay												//
//--------------------------------------------------------------------------------------------------------------------------------------//
//	FICHIERS INCLUS					:																									//
//--------------------------------------------------------------------------------------------------------------------------------------//
//	FONCTIONS   EXTERNES			:																									//
//	FONCTIONS   INTERNES			:																									//
//--------------------------------------------------------------------------------------------------------------------------------------//
// :::::::::::::::::::::::::::::::::::::::::::: A U T E U R S :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://
//--------------------------------------------------------------------------------------------------------------------------------------//
//					Demicheli Yannick ( Y.D) , Guillot Jacques ( J.G ) , Molina Stephane ( S.M )										//
//--------------------------------------------------------------------------------------------------------------------------------------//
// ::::::::::::::::::::::::::::::::::::::::: H I S T O R I Q U E ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://
//--------------------------------------------------------------------------------------------------------------------------------------//
//	DATE				AUTEUR			VERSION		DESCRIPTION																			//
//	------------------------------------------------------------------------------------------------------------------------------------//
//	25/10/2008 14:00	S.M				1.00d000	creation																			//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
var clientCountry = "";
var clientLanguage = "";
var clientBrowser = "";
var lg = "EN";
var currency = "USD";
var vat = 1;

var browserIE = false;
var browserFF = false;
var browserOP = false;
var browserNS = false;
var browserSA = false;
*/
function clientInfos()
{
 	var theBrowser = navigator.userAgent;
	var intSplitStart = theBrowser.indexOf("(",0);
	var intSplitEnd = theBrowser.indexOf(")",0);
	var strChStart = theBrowser.substring(0,intSplitStart);
	var strChMid = theBrowser.substring(intSplitStart, intSplitEnd);
	var strChEnd = theBrowser.substring(strChEnd);
	
	//if		( strChMid.indexOf("MSIE 7") != -1		||	strChMid.indexOf("MSIE 6") != -1 )		{ browserIE = true;	clientBrowser = "IE"; clientLanguage = navigator.browserLanguage; }		//	Internet Explorer
	if		( document.all )																	{ browserIE = true;	clientBrowser = "IE"; clientLanguage = navigator.browserLanguage; }		//	Internet Explorer
	else if	( strChEnd.indexOf("Firefox/2") != -1	||	strChEnd.indexOf("Firefox") != -1 )		{ browserFF = true;	clientBrowser = "FF"; clientLanguage = navigator.language; }			//	Firefox
	else if	( strChEnd.indexOf("Netscape/7") != -1	||	strChEnd.indexOf("Netscape") != -1 )	{ browserNS = true;	clientBrowser = "NS"; clientLanguage = navigator.language; }			//	Netscape
	else if	( strChStart.indexOf("Opera/9") != -1	||	strChStart.indexOf("Opera") != -1 )		{ browserOP = true;	clientBrowser = "OP"; clientLanguage = navigator.language; }			//	Opera
	else if	( strChEnd.indexOf("Safari") != -1 )												{ browserSA = true;	clientBrowser = "SA"; clientLanguage = navigator.language; }			//	Safari
}



/*--------------------------------------------------------------------------\
|	Objet representant les preferences du site								|
|		displayMode		: type d'affichage du site admin ou client			|
|						  par defaut, positionné en mode client				|
|		mode			: type de fonctionnement du site admin ou user		|
\--------------------------------------------------------------------------*/
function preferencesDef ()
{
	this.displayMode	= 'client';
	this.mode			= 'user';
}
var preferences = new preferencesDef();

//////////	CHARGEMENT DES COMPOSANTS DE LA PAGE	//////////
var componentsLoaded_C = 0;
/*--------------------------------------------------------------------------\
|																			|
\--------------------------------------------------------------------------*/
function loadClientPageComponents_C()
{
	if ( componentsLoaded_C < pageComponents.length )
	{
		//	On incremente << componentsLoaded_C >> en premier
		componentsLoaded_C++;
		//	On envoit << componentsLoaded_C  -  1 >> à la fonction
		loadTemplate_C(componentsLoaded_C - 1);
	}
	else
	{
		//	Remise à zéro de la variable
		componentsLoaded_C = 0;
		//	La page est chargée
		//	Mode admin avec Drag & Drop
		if ( preferences.displayMode == "admin" )
		{
			//	Initialise les Tabpanes
			//setTab();
			//	Initialisation du Drag & Drop
			//initDragDrop();
			//hideLoading();
			editPage(persoPages.loadedPageId, persoPages.loadedPageBt,persoPages.pagetype );
		}
	}
}
/*--------------------------------------------------------------------------\
|																			|
\--------------------------------------------------------------------------*/
function loadClientPageComponents_C_old()
{
	if ( componentsLoaded_C < pageComponents.length )
	{
		//	On incremente << componentsLoaded_C >> en premier
		componentsLoaded_C++;
		//	On envoit << componentsLoaded_C  -  1 >> à la fonction
		loadTemplate_C(componentsLoaded_C - 1);
	}
	else
	{
		//	Remise à zéro de la variable
		componentsLoaded_C = 0;
		//	La page est chargée
		//	Mode admin avec Drag & Drop
		if ( preferences.displayMode == "admin" )
		{
			//	Resize
			resizePage();
			//	Initialisation du Drag & Drop
			//initDragDrop();
			//	Initialise les Tabpanes
			setTab();
		}
	}
}
/*--------------------------------------------------------------------------\
|																			|
\--------------------------------------------------------------------------*/
function loadTemplate_C( thisNumber )
{
	if ( $(pageComponents[thisNumber][1]) )
	{
	
		//alert('loadTemplate_C -> pageComponents');
		//var thePath = k_clientTemplatePath + "templates/" + pageComponents[thisNumber][0];
		var thePath = pageComponents[thisNumber][0];
		var params = "pid=" + persoPages.loadedPageId + "&lg=fr";
		new Ajax.Updater( pageComponents[thisNumber][1], thePath, { method:"get", parameters: params, onComplete:loadClientPageComponents_C, asynchronous:true, evalScripts:true } );
		pageComponents[thisNumber][2] = true;
	}
	else loadClientPageComponents_C();
}

/*--------------------------------------------------------------------------\
|	Gestion de la creation d'une page perso									|
\--------------------------------------------------------------------------*/
var onloadcontentimageOK = function ( t )
{
	persoPages.onloadcontentimageOK( t );
}
function deleteblockOK( t )
{
	if ( t.responseText != "" )
	{
		$(blocsConfiguration[t.responseText]).style.display = 'block';
	}
}
function pagePersoDefActionComplete(t)
{
	//	Pas de resize ici !!!
	resizePage();
	//	Remonte le calque à la position 0
	document.getElementById('mainOuter').scrollTop = 0;
	hideLoading();
}
function pagePersoDefActionComplete2(t)
{
	resizePage();
	//	Remonte le calque à la position 0
	document.getElementById('mainOuter').scrollTop = 0;
	hideLoading();
}
function pagePersoDefEditComplete(t)
{
	resizePage();
	//	Remonte le calque à la position 0
	document.getElementById('mainOuter').scrollTop = 0;
	hideLoading();
	//editPage(persoPages.loadedPageId, persoPages.loadedPageBt );
}
function duplicatePageOK( t )
{
	//alert( t.responseText );
	persoPages.list('pagetype=20');
}

updatePageOK = function( t )
{
	//alert( t.responseText );
}
function pagePersoDef( name )
{
	this.objName = name;
	this.loadedPageId	= "";
	this.loadedPageBt	= "";
	this.editablePageId = "";
	this.pagetype = '';
	this.bid = "";
	this.part = "";
	pagePersoDef.prototype.create = function( pageTypeNumber )
	{
		showLoading();
		pageType = "normal";		//	Type de page - Fonctions de << Resize >>
		var thisLink = k_pathBackofficeThemesTemplates + "pages-perso/creer-page.php";
		var params = 'pageType=' + pageTypeNumber;
		
		//alert( params );
		
		new Ajax.Updater('mainOuter', thisLink, {method:'get', asynchronous:true, parameters:params, onComplete:pagePersoDefActionComplete2, evalScripts:true });
	};
	pagePersoDef.prototype.list = function( )
	{
		showLoading();
		displayLogo();
		var params = "";
		var sep = "";
		if ( arguments.length > 0 )
		{
			for ( var i = 0; i < arguments.length; i++ )
			{
				params += sep + arguments[i];
				sep = "&";
			}
		}
		pageType = "normal";		//	Type de page - Fonctions de << Resize >>
		var thisLink = k_pathBackofficeThemesTemplates + "pages-perso/lister-pages.php";
		new Ajax.Updater(
			'mainOuter',
			thisLink,
			{
				method:'get',
				asynchronous:true,
				parameters: params,
				onComplete:pagePersoDefActionComplete2,
				evalScripts:true
			}
		);
	};
	pagePersoDef.prototype.del = function( uid )
	{
	};
	pagePersoDef.prototype.activer = function ( uid, status )
	{
	};
	pagePersoDef.prototype.edit = function( uid, bodytype, pagetype )
	{
		//alert( 'bodytype : ' + bodytype );
		$('mainOuter').style.display = 'none';
		$('topOuter').style.display = 'none';
		$('leftOuter').style.display = 'none';
		showLoading();
		this.loadedPageId = uid;
		this.loadedPageBt = bodytype;
		this.pagetype = pagetype;
		pageType = "edit";		//	Type de page - Fonctions de << Resize >>
		var thisLink = k_pathBackofficeThemesTemplates + "pages-perso/load-page.php";
		var params = "uid=" + uid + "&bodytype=" + bodytype + '&pagetype=' + pagetype;
		new Ajax.Updater('mainOuter', thisLink, {method:'get', asynchronous:true, parameters: params, onComplete:pagePersoDefActionComplete, evalScripts:true });
	};
	pagePersoDef.prototype.modify = function( uid, bodytype, pagetype )
	{
		showLoading();
		this.loadedPageId = uid;
		this.loadedPageBt = bodytype;
		pageType = "normal";		//	Type de page - Fonctions de << Resize >>
		var thisLink = k_pathBackofficeThemesTemplates + "pages-perso/modify-page.php";
		var params = "uid=" + uid + "&bodytype=" + bodytype + '&pagetype=' + pagetype;
		new Ajax.Updater('mainOuter', thisLink, {method:'get', asynchronous:true, parameters: params, onComplete:pagePersoDefActionComplete, evalScripts:true });
	};
	pagePersoDef.prototype.duplicate = function( uid, bodytype )
	{
		var url = k_path_root + "library/php/oxygenn/oxy-duplicatepage.php";
		var params = "pid=" + uid + "&bt=" + bodytype;
		var myAjaxCompletion = new Ajax.Request(url, {method: 'post', parameters: params, onSuccess:duplicatePageOK });
	};
	pagePersoDef.prototype.preview = function ( uid, lnk )
	{
		goPagePreview( uid, lnk );
	};
	pagePersoDef.prototype.deleteblock = function( uid )
	{
		//	recuperation du contenu du bloc
		var params	 = "pid=" + this.editablePageId;
		params		+= "&bid=" + uid;
		//this.debug( "params " + params );
		var url = k_path_root + "library/php/oxygenn/oxy-deleteblock.php";
		var myAjaxCompletion = new Ajax.Request(url, {method: 'post', parameters: params, onSuccess:deleteblockOK });
	};
	pagePersoDef.prototype.saveblock = function( uid, blockname, blockzone, comment )
	{		
		//if( window.console ) window.console.log( 'pagePersoDef.prototype.saveblock(' + uid + ',' + blockname + ',' + blockzone + ',' + comment + ')\n' ) ;
		//	recuperation du contenu du bloc
		var wDiv = document.getElementById( uid );
		if ( wDiv )
		{
			if ( wDiv.getAttribute('oxyfile') != null )
			{
				var params = "pid=" + this.editablePageId;
				params += "&bid=" + uid;
				params += "&content=" + wDiv.getAttribute('oxyfile');
				params += "&lg=" + "fr";
				params += "&zone=" + blockzone;
				var url = k_path_root + "library/php/oxygenn/oxy-saveblock.php";
				var myAjaxCompletion = new Ajax.Request(url, {method: 'post', parameters: params });
			}
			else
			{
				alert( 'Probleme enregistrement du bloc' );
			}
		}
	};
	pagePersoDef.prototype.saveblockposition = function ( bid, pos )
	{
		var params = "pid=" + this.editablePageId;
		params += "&bid=" + bid;
		params += "&pos=" + pos;
		params += "&lg=" + "fr";
		
		//alert( params );
		var url = k_path_root + "library/php/oxygenn/oxy-saveblockposition.php";
		var myAjaxCompletion = new Ajax.Request(url, {method: 'get', parameters: params });
	};
	pagePersoDef.prototype.saveblockcontent = function ( bid, content, part )
	{
		var params = "pid=" + this.editablePageId;
		params += "&bid=" + bid;
		params += "&part=" + part;
		params += "&content=" + content;
		params += "&lg=" + "fr";
		var url = k_path_root + "library/php/oxygenn/oxy-saveblockcontent.php";
		var myAjaxCompletion = new Ajax.Request(url, {method: 'post', parameters: params, onComplete:testComplete });
	};
	pagePersoDef.prototype.loadblockcontent = function ( bid, part )
	{
		var params = "pid=" + this.loadedPageId;
		params += "&bid=" + bid;
		params += "&part=" + part;
		params += "&lg=" + "fr";
		var url = k_path_root + "library/php/oxygenn/oxy-loadblockcontent.php";
		var myAjaxCompletion = new Ajax.Updater( part, url, {method: 'get', parameters: params });
	};
	pagePersoDef.prototype.onloadcontentimageOK = function ( t )
	{
		var wDiv = document.getElementById( this.part );
		if ( wDiv )
		{
			if ( wDiv.hasChildNodes() )
			{
				var wNodes = wDiv.childNodes;
				for ( var i = 0; i < wNodes.length; i++ )
				{
					if ( wNodes.item(i).tagName == "IMG" )
					{
						wNodes.item(i).src = t.responseText;
					}
				}
			}
		}
	};
	pagePersoDef.prototype.loadblockcontentimage = function ( bid, part )
	{
		this.bid = bid;
		this.part = part;
		var params = "pid=" + this.loadedPageId;
		params += "&bid=" + bid;
		params += "&part=" + part;
		params += "&lg=" + "fr";
		var url = k_path_root + "library/php/oxygenn/oxy-loadblockcontent.php";
		var myAjaxCompletion = new Ajax.Request(url, {method: 'get', parameters: params, onSuccess:onloadcontentimageOK });
	};
	pagePersoDef.prototype.maskblock = function ( bid, status )
	{
		var params = "pid=" + this.editablePageId;
		params += "&bid=" + bid;
		params += "&status=" + status;
		params += "&lg=" + "fr";
		var url = k_path_root + "library/php/oxygenn/oxy-maskblock.php";
		var myAjaxCompletion = new Ajax.Request(url, {method: 'post', parameters: params });
	};
	pagePersoDef.prototype.savePageOK = function ( t, pagetype )
	{
		//alert( 'savePageOK : ' + t.responseText );
		eval( 'var response = ' + t.responseText );
		this.list( 'pagetype=' + response.pagetype );
	};
	pagePersoDef.prototype.savePage = function ( f, actionOK )
	{
		var wForm = document.getElementById( f );
		if ( wForm )
		{
			var params = "title=" + escape(wForm.title.value);
			
			//	verifier si ce nom existe deja
			
			params += "&name=" + escape(wForm.name.value);
			params += "&desc=" + escape(wForm.descpage.value);
			params += "&keywords=" + escape(wForm.kw.value);
			params += "&pageType=" + wForm.pageType.value;
			params += "&packId=" + wForm.packId.value;

			for ( var i = 0; i < wForm.bodytype.length; i++ )
			{
				if ( wForm.bodytype[i].checked )
				{
					params += "&bodytype=" + wForm.bodytype[i].value;
					break;
				}
			}
			var url = k_path_root + "library/php/oxygenn/oxy-makepage.php";
			//alert( params );
			var myAjaxCompletion = new Ajax.Request(url, {method: 'post', parameters: params, onSuccess:actionOK });
		}
	};
	pagePersoDef.prototype.updatePage = function ( f, actionOK )
	{
		var wForm = document.getElementById( f );
		if ( wForm )
		{
			//var params = "title=" + escape(wForm.title.value);
			var params = "title=" + wForm.title.value;
			//var params = 'title=' + escape('éèà');
			params += "&name=" + escape(wForm.name.value);
			params += "&desc=" + escape(wForm.descpage.value);
			params += "&keywords=" + escape(wForm.kw.value);
			
			//alert(wForm.kw.value);
			
			params += "&pageType=" + wForm.pageType.value;
			params += "&uid=" + wForm.uid.value;
			
			for ( var i = 0; i < wForm.bodytype.length; i++ )
			{
				if ( wForm.bodytype[i].checked )
				{
					params += "&bodytype=" + wForm.bodytype[i].value;
					break;
				}
			}
			
			var url = k_path_root + "library/php/oxygenn/oxy-updatepage.php";
			
			if (window.console) 
			{
				window.console.log('\n');
				window.console.log('params : ' + params + '\n');
				window.console.log('url : ' + url + '\n');
				window.console.log('call : ' + url + '?' + params + '\n');
			}

			var myAjaxCompletion = new Ajax.Request(url, {method: 'get',encoding:'iso-8859-1', parameters: params, onSuccess:actionOK });
		}
	};
	pagePersoDef.prototype.shopCategories = function( )
	{
		showLoading();
		displayLogo();
		var params = "";
		var sep = "";
		if ( arguments.length > 0 )
		{
			for ( var i = 0; i < arguments.length; i++ )
			{
				params += sep + arguments[i];
				sep = "&";
			}
		}
		pageType = "normal";		//	Type de page - Fonctions de << Resize >>
		var thisLink = k_pathBackofficeThemesTemplates + "shop/shop_categories.php";
		new Ajax.Updater(
			'mainOuter',
			thisLink,
			{
				method:'get',
				asynchronous:true,
				parameters: params,
				onComplete:pagePersoDefActionComplete2,
				evalScripts:true
			}
		);
	};
	pagePersoDef.prototype.shopParameters = function( )
	{
		showLoading();
		displayLogo();
		var params = "";
		var sep = "";
		if ( arguments.length > 0 )
		{
			for ( var i = 0; i < arguments.length; i++ )
			{
				params += sep + arguments[i];
				sep = "&";
			}
		}
		pageType = "normal";		//	Type de page - Fonctions de << Resize >>
		var thisLink = k_pathBackofficeThemesTemplates + "shop/shop_parameters.php";
		new Ajax.Updater(
			'mainOuter',
			thisLink,
			{
				method:'get',
				asynchronous:true,
				parameters: params,
				onComplete:pagePersoDefActionComplete2,
				evalScripts:true
			}
		);
	}
}
var persoPages = new pagePersoDef( 'persoPages' );

var accordion1;
var accordion1Clicks;
var accordion1Contents;
function initMenuList( container )
{
	var wContainer = document.getElementById( container );
	if ( wContainer )
	{
		accordion1Clicks = document.getElementsByClassName('menutitle');
		accordion1Contents = document.getElementsByClassName('menucontent');
		accordion1 = new Fx.Accordion(accordion1Clicks, accordion1Contents,
			{
				onActive: function(toggle)
				{
					toggle.setStyle('background', '#BF60A7');
				},
				onBackground: function(toggle)
				{
					toggle.setStyle('background', '#E6E6CF');
				},
				opacity: true
			}
		);
		accordion1.showThisHideOpen( 0 );
	}
}

/*
63 65 6E 74 65 72 5F 31
*/

/*--------------------------------------------------------------------------------------------------------------------------\
|																															|
\--------------------------------------------------------------------------------------------------------------------------*/
//	Rollovers sur images multiples
var preloadFlag = false;
function newImage(arg) {
	if (document.images) {
		var rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function makeRollover( theButton )
{
	if ( document.images && ( preloadFlag == true ) )
	{
		$( theButton + "_left" ).className = theButton + "_left_hover";
		$( theButton + "_center" ).className = theButton + "_center_hover";
		$( theButton + "_right" ).className = theButton + "_right_hover";
	}
}

function makeRollout( theButton )
{
	if ( document.images && ( preloadFlag == true ) )
	{
		$( theButton + "_left" ).className = theButton + "_left";
		$( theButton + "_center" ).className = theButton + "_center";
		$( theButton + "_right" ).className = theButton + "_right";
	}
}
