/*********************************************************/
//
// @author : EL KHAMLICHI Rachid
// @date : 15/03/09
//
// @comment : Fichier du site kkomobile.
//
/*********************************************************/
//on recupere la librairie
document.write('<script src="js/celljslib.js"></script>');

var __siteName = 'kkomobile';


/***********************************************************************/
//
// Cette fonction verifie le numero de telephone dans le formulaire
// et envoie une requete au fichier checkAccess.php
// Elle soumet ensuite le formulaire.
// 
/**********************************************************************/

function onValideNumTel(referer , url_referer){
	
	var cao = new cellAjaxObject();
	var cform = new cellFormObject('kkomobile', 'num-op');
	var numtel = cform.getValue('input', 'name','numTel');
	var newsletter = cform.getValue('input','name','newsletter');	
	var pid = cform.getValue('input', 'id', 'pid');
	pid = (cellObject.isset(pid)) ? pid :  cform.getValue('input', 'name', 'idproduct');	 
	
	
	var qso = new queryStringObject();
	qso.addParam('pid', pid);
	qso.addParam('numTel', numtel);
	qso.addParam('newsletter', newsletter);
	var url = 'checkAccess.php?'+qso.getQuery();		

	if(cellObject.checkNumTel(numtel)){
		cellObject.TrackingPixel(numtel, url_referer); 	
		cao.getAjax(url);	
		return true;//we are submitting the form 
	}
	
	return false;//don't submit
}


/*****************************************************************************/
//
// @author : EL KHAMLICHI Rachid
// @date : 19/03/2009
//
// @comment : Cette fonction permet de cacher et d'afficher les encart mtp 
//
//
/****************************************************************************/

function clickmdp(_pDivName){
	
	var cob = new cellObject('kkomobile');
	cellObject.manageDisplayElements('id', _pDivName ,'slide');

}


/****************************************************************************/
//
// @author : EL KHAMLICHI Rachid
// @date : 19/03/2009
//
// @comment : fonction qui affcihe et cache les flux rss
//
/***************************************************************************/
function fluxRss(){
	var cob = new cellObject('kkomobile');
	cellObject.manageDisplayElements('id', 'flux-rss','slide');

}

function hideRss(){
	$('#flux-rss').hide();	
}



/****************************************************************************/
//
// @author : EL KHAMLICHI
// @date : 19/03/2009
//
// @comment : function which show the image of the selected product in the 
//			right of page.
// 			It also retrive the complet description ok the product
//
/****************************************************************************/
function onClickItem(idProduit,extref,offset,size){
	
	var params;
	var temp;
	var cao = new cellAjaxObject();	
	var qso = new queryStringObject();

	
	//on recherche tous les elements dont l'id commence par desc- et on leur
	//met l'attribut class = description
	//sauf pour celui que l'on a cliqué
	$("div[id^='desc-']").each(function (){ 
												if( $(this).attr('id') == 'desc-'+offset ){
										 			$(this).attr('class', 'description-u');
												}else{
													$(this).attr('class', 'description');
												}
								 }); 
	
	//on encode l'url car html4.0 reclame que les lien contenant des caracteres speciaux soient encodées.
	params = {"productid" : idProduit , "id" : "test", "class" : "javagame-ajax-download", "size":"1", "extref":"test"};
	params.extref = extref;
	params.id = "telecharger";
	temp = encodeURIComponent(JSON.stringify(params));
	//clearTimeout(diapo);
		
	//on construit la requete
	qso.addParam('offset', offset);
	qso.addParam('params', temp);
	qso.addParam('taglibid', 'kkomobile');

	cao.postUpdate("/ajax_commands.php", qso.getQuery(), 'telecharger', false);
	diaporama();	
	
}


/********************************************************************/
//
// @author EL KHAMLICHI Rachid
// @date : 23/03/2009
// 
// @comment : Fonction which manage diaporama
//		
// 
/*******************************************************************/

function diaporama(){
	
	var providerid = $("#providerid").val();
	var nbpreview = $("#nbpreview").val();
	var listElements = new Array();
	var diap ;	
		
	//array image construction
	for( var i = 0 ; i < nbpreview ; i++){
		listElements[i] = '<img src="http://ik.0pb.org/image/'+providerid+'_176x208_'+i+'.jpg" border="0"/>'
	}
	diap = new diapObject('diapo', 3000, listElements, 'slide');
	diap.startDiapo();
	

}


/**********************************************************************/
//
// @author  EL KHAMLICHI Rachid
// @date 27/03/2009
//
// @fonction qui gere la pagination
//
//
/********************************************************************/

function update_defined_div(_page, _params, _div)
{

	var co = new cellObject("kkomobile");
	var cao = new cellAjaxObject();

	cao.postUpdate(_page, _params, _div, false);
}






/***********************************************  OLD PART ALREADY USED *************************************************************************/


/*****************************************************************************/
//
// fonction qui permet de changer la liste de selection dans l'encart gratuit
// 
// @todo ameliorer en utilisant la lib
//
/******************************************************************************/

/**
function onChangeItem(idProduit, item, value , extref, id_div, updateDiv){
	var cao = new cellAjaxObject();
	var qso = new queryStringObject();
	var params;
	
	params={"productid" : idProduit ,"id" : id_div , "class" : updateDiv , "size" : "1", "extref" : extref };
	params=encodeURIComponent(JSON.stringify(params));

		
	qso.addParam(item, value);
	qso.addParam('params', params);
	qso.addParam('taglibid', __siteName);
	
	cao.postUpdate('/ajax_commands.php', qso.getQuery(), id_div, false);
	

	//alert('list params '+qso.getQuery());
	//var list_params = item + '=' + value + '&params=' + params + '&taglibid=kkomobile';
	//alert('list params 2 '+list_params);
	//update_defined_div('/ajax_commands.php', item + '=' + value + '&params=' + params + '&taglibid=kkomobile', id_div );
}
***/

/*****************************************************************************/
//
// fonction qui permet de changer la liste de selection dans l'encart gratuit
// 
// @todo ameliorer en utilisant la lib
//
/******************************************************************************/


function checkCompat(value){
	
	var cao = new cellAjaxObject();
	showLayout('compatibility');
	
	if(value == 'modifier'){
		cao.postUpdate('/ajax_commands.php', list_params, id_div, false);
	}else{
		cao.postUpdate('/ajax_compat.php','tpl=compat-gen&taglibid=kkomobile&tag=form&brand='+value,'compat-gen');
	}
	//if(value == 'modifier' )update_defined_div('/ajax_compat.php','tpl=compat-gen&taglibid=kkomobile&tag=form&modif_compat=true','compat-gen');
	//else update_defined_div('/ajax_compat.php','tpl=compat-gen&taglibid=kkomobile&tag=form&brand='+value,'compat-gen');
}
/*****************************************************************************/
//
// fonction qui permet de changer la liste de selection dans l'encart gratuit
// 
// @todo ameliorer en utilisant la lib
//
/******************************************************************************/

function showLayout(div){
	var larg = (document.body.clientWidth);
	var haut = (document.body.clientHeight);
	var select = document.getElementsByTagName("select");
	var embed = document.getElementsByTagName("embed");
	for(i=0;i<select.length;i++){
		select[i].style.visibility ='hidden';
	}
	for(i=0;i<embed.length;i++){
		embed[i].style.visibility ='hidden';
	}
	document.getElementById(div).style.width = larg+'px';
	document.getElementById(div).style.height = haut+'px';
	document.getElementById(div).style.display = "inline";
}
/*****************************************************************************/
//
// fonction qui permet de changer la liste de selection dans l'encart gratuit
// 
// @todo ameliorer en utilisant la lib
//
/******************************************************************************/

function hideLayout(div){
	var select = document.getElementsByTagName("select");
	var embed = document.getElementsByTagName("embed");
	for(i=0;i<select.length;i++){
		select[i].style.visibility ='visible';
	}
	for(i=0;i<embed.length;i++){
		embed[i].style.visibility ='visible';
	}
	document.getElementById(div).style.display = "none";
}



/*******************************************************/
//
// Fonction qui gere la soumission du numero de telephone
// Sur kko mtp 
/*******************************************************/
function valideMtp(referer){

	var numTel = document.getElementById('numtel').value;
	var cgv = document.getElementById('cgv').checked;
	var newsletter = document.getElementById('newsletter').checked;
	var pid = document.getElementById('pid').value;
	
			

	if(newsletter == false ) newsletter = 0; 
	else newsletter = 1;	

	var qso = new queryStringObject();
	qso.addParam('pid', pid);
	qso.addParam('numTel', numTel);
	qso.addParam('newsletter', newsletter);
	
	if(referer  == '')qso.addParam('referer' , referer);	
	
	var url = 'checkAccess.php?'+qso.getQuery();		
	var cao = new cellAjaxObject();
	var co = new cellObject();
	
	if(cellObject.checkNumTel(numTel) && cgv == true ){
		cao.getAjax(url);		
		return true;
	}else{
		if(cgv == false) alert('Vous devez acceptez les conditions ');
		return false;
	}
		return false;
}



/******************************************* OLD JAVASCRIPT *****************************************************/
/* @TODO : refaire les fonctions																				*/
/*  																											*/
/****************************************************************************************************************/


/***
function fluxRss(){
	var displayRss = document.getElementById('flux-rss').style.display;
	if(displayRss =='block') hideRss();
	else showRss();
}
***/

function showRss(){
	if(document.getElementById('select-recherche')!=null)
		document.getElementById('select-recherche').style.visibility ='hidden';
	document.getElementById('flux-rss').style.display='block';
}

/**
function hideRss(){
	if(document.getElementById('select-recherche')!=null)
		document.getElementById('select-recherche').style.visibility ='visible';
	document.getElementById('flux-rss').style.display='none';
}
***/
function getNewPage(wantedPage,currentPage,lastPage,params,size,updateDiv,extref,taglibId){
	wantedPage = wantedPage - 1;
	if ( ( wantedPage != currentPage) && ( wantedPage <= lastPage ) && (wantedPage >= 0)){
		var offset;
		offset = wantedPage * size;
		update_defined_div('/ajax_commands.php', 'offset=' + offset + '&extref=' +extref + '&params=' + params + '&taglibid=' + taglibId , updateDiv);
	}
}


/***
function onClickItem(idProduit,extref,offset,size){
	var params;
	var temp;
	i=0;
	while(document.getElementById("desc-" + i)){
		document.getElementById("desc-" + i).className = "description";
		i++;
		}
	document.getElementById("desc-" + offset).className = "description-u";
	params = {"productid" : idProduit , "id" : "test", "class" : "javagame-ajax-download", "size":"1", "extref":"test"};
	params.extref = extref;
	params.id = "telecharger";
	temp = encodeURIComponent(JSON.stringify(params));
	clearTimeout(diapo);
	update_defined_div('/ajax_commands.php', 'offset=' + offset + '&params=' + temp + '&taglibid=kkomobile', 'telecharger');
	//déclenchement du diaporama
	diapo = setTimeout("diaporama()",1000);
}
***/



function checkAge(lien) {
	showLayout('message-avert');
	update_defined_div('/ajax_compat.php','tpl=contenu-explicit&taglibid=kkomobile&tag=message&lien='+lien,'affiche-message');
//	if (confirm('Avertissement... Cette rubrique est réservée à des personnes âgées de 18 ans et plus.\n En cliquant sur OK vous affirmez correspondre aux conditions suivantes:\n \t - Je suis majeur et averti du caractère érotique de cette rubrique\n \t - Je certifie ne pas le faire connaître à des mineurs et m\'engage à mettre en œuvre tous les moyens existants à ce jour pour empêcher un mineur d\'utiliser mon ordinateur pour parvenir sur cette rubrique\n \t - Je consulte cette rubrique à titre personnel en n\'impliquant aucun organisme d\'État\n')) {
//		window.location.href = lien;
//	} else {
//	}
}


/***
var diapo;
function diaporama(){
	var providerid;
	var nbpreview;
	providerid = document.getElementById('providerid').value;
	nbpreview = document.getElementById('nbpreview').value;
	var i=1;
	if(nbpreview > 1){
		diapo = setTimeout("majdiapo("+i+","+providerid+","+ nbpreview+ ")",3000);
	}	
}

**/


/***
function onValideNumTel(){
	var numTel;
	var pid; 
	var newsletter ;
	var regex = new RegExp(/^(06)[0-9]{8}/gi);
	numTel = document.forms["num-op"].elements["numTel"].value;
	pid = document.forms["num-op"].elements["idproduct"].value;
	
	if(isset(document.forms["num-op"].elements["newsletter"]) && document.forms["num-op"].elements["newsletter"].checked ) newsletter  = 1;
	else newsletter = 0;
	
	var url = 'checkAccess.php?pid='+pid+'&numTel='+numTel+'&newsletter='+newsletter;
	executeSimpleGetRequest(url);
	if(!regex.test(numTel))
		alert('Le numéro indiqué n\'est pas valide');
	else{
		document.forms["num-op"].submit();
	}
}
**/

/**
function onValideNumTel(){

	var cform = new cellFormObject('kkomobile', 'num-op');
	var numtel = cform.getValue('input', 'name','numTel');	
	var newsletter = cform.getValue('input','name','newsletter');	
	cellObject.checkNumTel(numtel)

}
**/
function majdiapo(previewnum,providerid, nbpreview){
	var content;
	content = '<img src="http://ik.0pb.org/image/'+providerid+'_176x208_'+previewnum+'.jpg" border="0"/>';
	document.getElementById('diapo').innerHTML = content;
	previewnum = (previewnum + 1) % nbpreview;
	diapo = setTimeout("majdiapo("+ previewnum +","+providerid+"," + nbpreview + ")",3000);
}


function onChangeItem(idProduit, item, value , extref, id_div, updateDiv){
	var params;
	params={"productid" : idProduit ,"id" : id_div , "class" : updateDiv , "size" : "1", "extref" : extref };
	params=encodeURIComponent(JSON.stringify(params));
	update_defined_div('/ajax_commands.php', item + '=' + value + '&params=' + params + '&taglibid=kkomobile', id_div );
}


function checkCompat(value){
	showLayout('compatibility');
	if(value == 'modifier' )update_defined_div('/ajax_compat.php','tpl=compat-gen&taglibid=kkomobile&tag=form&modif_compat=true','compat-gen');
	else update_defined_div('/ajax_compat.php','tpl=compat-gen&taglibid=kkomobile&tag=form&brand='+value,'compat-gen');
}
function showLayout(div){
	var larg = (document.body.clientWidth);
	var haut = (document.body.clientHeight);
	var select = document.getElementsByTagName("select");
	var embed = document.getElementsByTagName("embed");
	for(i=0;i<select.length;i++){
		select[i].style.visibility ='hidden';
	}
	for(i=0;i<embed.length;i++){
		embed[i].style.visibility ='hidden';
	}
	document.getElementById(div).style.width = larg+'px';
	document.getElementById(div).style.height = haut+'px';
	document.getElementById(div).style.display = "inline";
}
function hideLayout(div){
	var select = document.getElementsByTagName("select");
	var embed = document.getElementsByTagName("embed");
	for(i=0;i<select.length;i++){
		select[i].style.visibility ='visible';
	}
	for(i=0;i<embed.length;i++){
		embed[i].style.visibility ='visible';
	}
	document.getElementById(div).style.display = "none";
}

// THE Magic OBJECT :-)

// What page is under refresh on content area.
var refreshing_web_page;
// What params are send to the refreshed page.
var refreshing_page_params;
// How often the page is refreshed on conent area.
var refreshing_web_page_interval;
// Id of the interval thread (refresher content area)
var content_div_intervarl_id;
// When this gets to 1 it will stop refreshing the content area.
var stop_refresh = 0;

function ajaxObject(url, callbackReady, callbackLoading, item_id)
{
	var that=this;

	this.updating = false;
	this.abort = function()
	{
		if (that.updating)
		{
			that.updating=false;
			that.AJAX.abort();
			that.AJAX=null;
		}
	}

	this.update = function(passData,postMethod)
	{

		passData += __siteNameParam;
		if (that.updating)
		{
			return false;
		}

		that.AJAX = null;

		if (window.XMLHttpRequest)
		{
			that.AJAX=new XMLHttpRequest();
		}
		else
		{
			that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
		}

		if (that.AJAX==null)
		{
			return false;
		}
		else{
			
			that.AJAX.onreadystatechange = function() {

				if(that.AJAX.readyState == 1){
            		that.callback1(item_id);
           		}
				if (that.AJAX.readyState == 4){
            		that.updating=false;
            	    that.callback4(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML,item_id);
            	    that.AJAX=null;
           	 	}
			}

        	that.updating = new Date();

        	if (/post/i.test(postMethod))
        	{
        		var uri=urlCall+'?'+that.updating.getTime();
            	that.AJAX.open("POST", uri, true);
            	that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            	that.AJAX.setRequestHeader("Content-Length", passData.length);
            	that.AJAX.send(passData);
			}
        	else
        	{
        		var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime());
            	that.AJAX.open("GET", uri, true);
            	that.AJAX.send(null);
			}

        	return true;
		}
	}
                
    var urlCall = url;
    this.callback4 = callbackReady || function () { };
    this.callback1 = callbackLoading || function () { };
}

function update_content_div(_web_page_, _refresh_, _params_)
{
	// We clear any possible content div refreshing "thread"
	clearInterval(content_div_intervarl_id);
	
	if(_refresh_ == 0)
	{
	 	// We don't want to refresh the content page.
		_update_content_div(_web_page_, _params_);
	}
	else
	{
			// We want to keep refreshing the content page.
			_update_content_div(_web_page_, _params_);
			
			refreshing_web_page 		 = _web_page_;
			refreshing_page_params 		 = _params_;
			refreshing_web_page_interval = _refresh_;
			content_div_intervarl_id = setInterval('_update_content_div(refreshing_web_page)', refreshing_web_page_interval);			
	}
}

function _update_content_div(_web_page_, _params_)
{
	//var url = "/" + _web_page_;
	var url = _web_page_;
    // var params = "from=" + escape( from_msisdn );
	var params = _params_;

    var page1 = new ajaxObject(url, update_content_ready, update_content_loading, _web_page_);
    page1.update(params, 'POST');
}

function update_content_ready(responseText, responseStatus, responseXML, item_id)
{
	if( responseStatus == 200)
    {
    	document.getElementById('content-div').innerHTML = responseText;
    }
    else
    {
    	document.getElementById('content-div').innerHTML = responseText;
    }
    
    document.getElementById('content-div-loading').style.display = 'none';
}

function update_content_loading(item_id)
{
		document.getElementById('content-div-loading').innerHTML = "<IMG src='/css/images/loading.gif'> <b>Loading ...</b>";
		document.getElementById('content-div-loading').style.display = 'inline';
}

// New added at 31.10.2007 - Tuomas

/***
function update_defined_div(_web_page_, _params_, _div_)
{
	var url = _web_page_;
	var params = _params_;

    var page1 = new ajaxObject(url, update_defined_div_ready, update_defined_div_loading, _div_);
    page1.update(params, 'POST');
}
*****/


function update_defined_div_ready(responseText, responseStatus, responseXML, _div_)
{
	if( responseStatus == 200)
    {
    	document.getElementById(_div_).innerHTML = responseText;
    }
    else
    {
    	document.getElementById(_div_).innerHTML = responseText;
    }
    
    document.getElementById(_div_ + '-loading').style.display = 'none';
    //alert("Setting div '" + _div_ + "-loading' to 'none'");
}

function update_defined_div_loading(_div_)
{
		//document.getElementById(_div_ + '-loading').innerHTML = "<IMG src='/css/images/loading.gif'> <b>Chargement ... </b>";
		document.getElementById(_div_ + '-loading').style.display = 'inline';
}

/**
 * 
 * Fonction qui renvoit l'objet pour faire la requete 
 *
 **/
function getXHR(){

	var xhr = null; 
	
	if(window.XMLHttpRequest) // Firefox et autres
		xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else { // XMLHttpRequest non supportéar le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false; 
	} 
    
	return xhr
}


/**
 * fonction qui execute une requete GET vers lurl
 *
 **/


function executeSimpleGetRequest(url){
	var xhr = getXHR();
	if(xhr){
		xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçet que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){
				//alert(xhr.responseText);
			}
		}
		xhr.open("GET",url,true);
		xhr.send(null);
	}		
}


// fonction isset perso
function isset(variable){
	
	if(typeof(window[variable]) != 'undefined' ){
		return true;
	}else{
		return false;
	}

}
