/***************************************************************

    FUNCION:    MKT_registro
    FECHA:      01/10/2009
    AUTORES:    (JUNGLEBOX)
    
    Procesa el registro de una nueva entrada de Marketing en el caso
    de que se produzca.
    
***************************************************************/

function MKT_registro(ls_cod_curso,s_parametrosQS) {
    var s_valor_cookie;
    var s_qs_ajax = '';
    	
	//Si existen parámetros continuar con el proceso
	if (s_parametrosQS != ""){
	    
	    //convertir en array de parámetros la QueryString
	    array_parametros = s_parametrosQS.split('&');
	    
	    //obtener la QueryString que se enviará mediante Ajax al fichero que procesará los datos de marketing
	    s_qs_ajax = MKT_interpretar_valores_QS(ls_cod_curso, array_parametros);
    	
    	//Si la QueryString se ha construido vacía, no realizar ninguna acción más; sólo se procesarán datos
    	//de marketing si esta tiene contenido.
    	if(s_qs_ajax != ""){
    	    // comprobar si el usuario ya tiene cookie
	        s_valor_cookie = ExisteCookie("MKT_amas");
            // si no tiene cookie, crearla
	        if(s_valor_cookie==''){  
	            s_valor_cookie = MKT_construye_valor_cookie(); 
	            CreaCookie("MKT_amas",s_valor_cookie,365);
	        }
	        // añadir a los valores de la QueryString que se enviará por Ajax el nombre de la cookie
	        s_qs_ajax = s_qs_ajax+"&cookie="+s_valor_cookie;
	    }
    }
    /*
    if(s_qs_ajax != ''){
        var ajaxM
        ajax=MKT_nuevoAjax(); 
	    ajax.open("POST", "/Ajax/MKT_registro.asp",true); 
    */ 
	    /*
	    ajax.onreadystatechange=function() { 
		    if (ajax.readyState==4) { 
			     contenedor.innerHTML = ajax.responseText 
			    } 
		    } 
		*/
	/*
	    ajax.send(s_qs_ajax) 
    }
    */
}


/***************************************************************

    FUNCION:    MKT_interpretar_valores_QS
    FECHA:      07/10/2009
    AUTORES:    (JUNGLEBOX)
    
    Interpreta la queryString que se recibe en la ficha del curso
    y construye cadena que se enviará por Ajax a un fichero que
    procese la entrada de marketing.
    
***************************************************************/
function MKT_interpretar_valores_QS(s_cod_curso, v_parametros){
    var s_qs_ajax='';
    var array_parametro;
    var i;
    var qs_variable='';
    var qs_valor='';
    var s_afiliado='';
    var s_proveedor='';
    var s_param_return = '';
    var s_ref_return = '';
        
	// recorrer array en busca de los paramentros afiliado y proveedor
	for (i in v_parametros){
		 parametro=v_parametros[i];
		 //alert("elemento:"+i+" valor: "+parametro);
		 array_parametro=parametro.split("=");
		 if (array_parametro.length > 1) {
			 qs_variable=array_parametro[0];
			 qs_valor=array_parametro[1];
			 // Si exite la variable afiliado y tiene valor, asignarlo a variable afiliado
			 if (qs_variable=="afiliado" && qs_valor!=""){
				 s_afiliado = qs_valor;
              }
			 // Si exite la variable proveedor y tiene valor, asignarlo a variable proveedor
			 if (qs_variable=="proveedor" && qs_valor!=""){
				 s_proveedor = qs_valor;
              }    
		 }
	}
    
    //determinar los nombres de los parametros que se esperan devolver a los afiliados cuando se realice una conversión
	switch(s_afiliado){
	    case 'shopall':	 
	        var s_param_return='subid';
		    break;
    }
    
    //si existe parámetro para devolver, recuperarlo
    if(s_param_return != ''){
	    // recorrer array en busca del parametro para devolver a los afiliados
	    for (i in v_parametros){
	        parametro=v_parametros[i];
		    array_parametro=parametro.split("=");
		    if (array_parametro.length > 1) {
			    qs_variable=array_parametro[0];
			    qs_valor=array_parametro[1];
			    // Si exite la variable afiliado y tiene valor, asignarlo a variable afiliado
			    if (qs_variable==s_param_return && qs_valor!=""){
			        s_ref_return = qs_valor;
                }
                          
		    }
        }			
    }
    
    ////////////////////////////////////////////////////////////////////////////////////////
    //construir la cadena que se enviará al Ajax que procesará el seguimiento
    //siempre y cuando se haya introducido un proveedor o afiliado
    ////////////////////////////////////////////////////////////////////////////////////////
    
    //construir cadena para afiliados
    if(s_afiliado!=''){
        s_qs_ajax = "afiliado="+s_afiliado+"&curso"+s_cod_curso
        if(s_ref_return!='') s_qs_ajax=s_qs_ajax+"&ref_return="+s_ref_return
    }
    
    if(s_proveedor!=''){
        s_qs_ajax = "proveedor="+s_proveedor+"&curso"+s_cod_curso
    }
    
    return s_qs_ajax;
}



/***************************************************************

    FUNCION:    MKT_construye_valor_cookie
    FECHA:      07/10/2009
    AUTORES:    (JUNGLEBOX)
    
    Construye el valor que tendrá la cookie de marketing siguiendo 
    el formato AAAAMMDDHHMMSS-RANDOM
    
***************************************************************/
function MKT_construye_valor_cookie(){

    var s_valor_cookie = "";
	var d_fecha = new Date()
        	    
	d_fecha.getFullYear()
        	    
	//Año AAAA
	s_valor_cookie = String(d_fecha.getFullYear())
        	    
	//Mes MM
	if((d_fecha.getMonth()+1)<=9){
	    s_valor_cookie=s_valor_cookie+'0'+String(d_fecha.getMonth()+1)
	}
	else{
	    s_valor_cookie=s_valor_cookie+String(d_fecha.getMonth()+1)
	}
        	    
	//Dia DD
	if((d_fecha.getDate())<=9){
	    s_valor_cookie=s_valor_cookie+'0'+String(d_fecha.getDate())
	}
	else{
	    s_valor_cookie=s_valor_cookie+String(d_fecha.getDate())
	}
        	    
	//Hora HH
	if((d_fecha.getHours())<=9){
	    s_valor_cookie=s_valor_cookie+'0'+String(d_fecha.getHours())
	}
	else{
	    s_valor_cookie=s_valor_cookie+String(d_fecha.getHours())
	}
        	    
	//Minuto mm
	if((d_fecha.getMinutes())<=9){
	    s_valor_cookie=s_valor_cookie+'0'+String(d_fecha.getMinutes())
	}
	else{
	    s_valor_cookie=s_valor_cookie+String(d_fecha.getMinutes())
	}
        	    
	//Segundo ss
	if((d_fecha.getSeconds())<=9){
	    s_valor_cookie=s_valor_cookie+'0'+String(d_fecha.getSeconds())
	}
	else{
	    s_valor_cookie=s_valor_cookie+String(d_fecha.getSeconds())
	}
        	    
	//AAAAMMDDHHMMSS-RANDOM
	s_valor_cookie = s_valor_cookie + String(parseInt(Math.random()*1000000));  
	
	return s_valor_cookie;
}



/***************************************************************

    FUNCION:    ExisteCookie
    FECHA:      01/10/2009
    AUTORES:    (JUNGLEBOX)
    
    Comprueba si existe una cookie a partir de su nombre. En caso
    afirmativo, devuelve su valor
    
***************************************************************/
function ExisteCookie(c_name) {

	if (document.cookie.length>0)
	  {
	  c_start=document.cookie.indexOf(c_name + "=");
	  if (c_start!=-1)
		{
		c_start=c_start + c_name.length+1;
		c_end=document.cookie.indexOf(";",c_start);
		if (c_end==-1) c_end=document.cookie.length;
		return unescape(document.cookie.substring(c_start,c_end));
		}
	  }
	return "";
}



/***************************************************************

    FUNCION:    CreaCookie
    FECHA:      01/10/2009
    AUTORES:    (JUNGLEBOX)
    
    Crea una nueva Cookie asignándole el nombre, el valor y
    fecha de expiración.
    
***************************************************************/
function CreaCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+2);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
	//alert(exdate.toGMTString());
	return value;
}




/***************************************************************

    FUNCION:    MKT_nuevoAjax
    FECHA:      09/10/2009
    AUTORES:    replicada del fichero interfazV5.js
    
    Crea un nuevo objeto Ajax
    
***************************************************************/
function MKT_nuevoAjax(){ 
  var xmlhttp=false; 
  try { 
   // Creación del objeto ajax para navegadores diferentes a Explorer 
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
  } catch (e) { 
   // o bien 
   try { 
     // Creación del objet ajax para Explorer 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { 
     xmlhttp = false; 
   } 
  } 

  if (!xmlhttp && typeof XMLHttpRequest!='undefined') { 
   xmlhttp = new XMLHttpRequest(); 
  } 
  return xmlhttp; 
}
