/*
 * Este arquivo e parte de TVFarmaciaIglesias - www.farmaiglesias.com
 * Copyright (C) 2008 Enxenio S.L.
 *
 * == BEGIN LICENSE ==
 *
 * TVFarmaciaIglesias e software libre: vostede pode redistribuilo e/ou modificalo
 * baixo os termos da licenza GPL de GNU, tal e como publica a Free Software Foundation,
 * na version 3 da licenza ou (a sua eleccion) calquera version posterior.
 *
 * A aplicacion distribuese SEN GARANTIA DE NINGUN TIPO. Lea a Licenza GPL para mais detalles.
 *
 * Vostede deberia ter recibido unha copia da licenza GPL de GNU (arquivo COPYING.TXT). 
 * En caso contrario, pode consultala en http://www.gnu.org/licenses/gpl.html
 *
 * == END LICENSE ==
 *
 */

/* Funcion que fai que se iluminen as filas dunha taboa 
   thisRow: fila actual da taboa.
   classOn: clase do css cando se "ilumina"
   classOff: clase do css cando a fila se "apaga"
*/
var swithProduct = false;
var normalColor = '#FFFFFF';
var detachedColor = '#FFFFFF';

	function switchRow(thisRow, classOn, classOff) {
				var rows = thisRow.parentNode.getElementsByTagName('tr');
				
				for(var i=0; i<rows.length; i++) {
					if(thisRow!=rows[i]) {
					rows[i].className = classOff;
					} else {
					rows[i].className = classOn;
					}
				}
	}
	
	function switchProduct(thisRow) {
				var allRowsInTable = thisRow.parentNode.parentNode.getElementsByTagName('td');
				// quitase a iluminacion de toda a taboa
				

				for(var i=0; i<allRowsInTable.length; i++) {
					allRowsInTable[i].style.backgroundColor = normalColor;
				}
				thisRow.style.backgroundColor = detachedColor;
				nameRow = thisRow.id.substring(0, thisRow.id.length -1);
				idRow = thisRow.id.substring(thisRow.id.length -1, thisRow.id.length);
				if(nameRow == "imageTable"){
				    document.getElementById("data" + idRow).style.backgroundColor = normalColor;
				}else{
					document.getElementById("imageTable" + idRow).style.backgroundColor = detachedColor;
				 }
	}

/*
	Funcion que sirve para realizar a iluminacion das filas no estado dos pedidos, sen cambiar a clase da fila,
	xa que se non perderia a cor correspondente ao estado
*/
	function switchRowForState(thisRow) {
		var rows=document.getElementsByTagName('tr');
		
		for(var i=0; i<rows.length; i++) {
		if(thisRow!=rows[i]) {
		rows[i].style.backgroundColor = normalColor;
		} else {
		rows[i].style.backgroundColor = detachedColor;
		}
		}
	 }
		 
/* Funcion que fai que se iluminen as filas dunha taboa, a partir do identificador do tr
   rowId: identificador da fila a iluminar.
   classOn: clase do css cando se "ilumina"
   classOff: clase do css cando a fila se "apaga"
*/

		 function switchRowByRowId(rowId, classOn, classOff) {
			
			var rows= document.getElementsByTagName('tr');
			var thisRow = document.getElementById(rowId);
			for(var i=0; i<rows.length; i++) {
				if(thisRow!=rows[i]) {
				rows[i].style.backgroundColor = normalColor;
				} else {
				rows[i].style.backgroundColor = detachedColor;
				}
			}
		 }	
	
 
// Funcion que fai visible un div		 
		 function mostrardiv(divId) {
			div = document.getElementById(divId);
			if(div!=null)
				div.style.display = '';
		}
		
// Funcion que fai invisible un div		
		function ocultardiv(divId) {
			div = document.getElementById(divId);
			if(div!=null)
				div.style.display = 'none';
		}
		
// Funcion que fai que se mantenha iluminado o ultimo link seleccionado do menu (administracion)
		 function iluminaLink(id) {
			var link=document.getElementById(id);
			if(link!=null){
				link.firstChild.className='clicked';
				}
		 }
// Funcion que fai que se mantenha iluminado o ultimo link seleccionado do menu (service)
// Recibe como argumento o identificador do span, non do li.
		 function iluminaLinkService(id) {
			var link=document.getElementById(id);
			if(link!=null){
			    if(id!="cartMenu"){
				  link.className='currentDepth1over';
				}else{
				  link.className='currentDepth1overCart';
				}
			}
		 }		 
		 
// Funcion que oculta/mostra un div en funcion do valor do checkbox
		 function calculaVisibilidad(checked, divId){
		 
		    if(checked)
		    	mostrardiv(divId);
		    else
		    	ocultardiv(divId);
		 }

// Funcion que cambia o valor seleccionado nun checkbox
function changeSelected(selectId, value){
  
          select = document.getElementById(selectId);
 
          if(select != null){ 
               var options = select.options;
               for(var i = 0; i < options.length; i++){
                  if(options[i].value == value) options[i].selected = true;
               }
          }
}

// Funcion que resetea os valores dos textboxes do formulario de crear familias

function resetForm(){
	var form = document.forms[0];
	if(form!=null){
		if(form.discount != null)
			form.discount.value = "";
		form.name_es.value = "";
		form.name_gl.value = "";
		form.name_da.value = "";
		form.name_en.value = "";
		form.name_fr.value = "";
		form.name_el.value = "";
		form.name_it.value = "";
		form.name_pt.value = "";
		form.name_ro.value = "";
		form.smallPicture.value = "";
		}
}

// Funcion que habilita/deshabilita os campos para subir imaxes no formulario de produtos

function deshabilitaImages(isChecked){
		var form = document.forms[0];
		form.smallPicture.disabled = isChecked;
		form.icon.disabled = isChecked;
}

// Funcion que habilita/deshabilita os campos para subir imaxes no formulario de familias
function deshabilitaImagesFamilies(isChecked){
		var form = document.forms[0];
		form.icon.disabled = isChecked;
}

// Variables que mantenhen o valor copiado no formulario de produtos
var name_p = "";
var description_p = "";

/* Funcion que recolle o valor do formulario de produtos cando se selecciona "copiar" */
/* LanguageId: codigo do idioma do que se recollen os datos */
function copyProductData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		name_p = form.name_gl.value;
		description_p = form.description_gl.value;
	}
	else if(languageId == "es"){
		name_p = form.name_es.value;
		description_p = form.description_es.value;
	}
	else if(languageId == "da"){
		name_p = form.name_da.value;
		description_p = form.description_da.value;
	}
	else if(languageId == "en"){
		name_p = form.name_en.value;
		description_p = form.description_en.value;
	}
	else if(languageId == "fr"){
		name_p = form.name_fr.value;
		description_p = form.description_fr.value;
	}
	else if(languageId == "el"){
		name_p = form.name_el.value;
		description_p = form.description_el.value;
	}
	else if(languageId == "it"){
		name_p = form.name_it.value;
		description_p = form.description_it.value;
	}
	else if(languageId == "pt"){
		name_p = form.name_pt.value;
		description_p = form.description_pt.value;
	}
	else if(languageId == "ro"){
		name_p = form.name_ro.value;
		description_p = form.description_ro.value;
	}
}

/* Funcion establece o valor do formulario de produtos cando se selecciona "pegar" */
/* LanguageId: codigo do idioma no que se establecen datos */
function pasteProductData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		form.name_gl.value = name_p;
		form.description_gl.value = description_p;
	}
	else if(languageId == "es"){
		form.name_es.value = name_p;
		form.description_es.value = description_p;
	}
	else if(languageId == "da"){
		form.name_da.value = name_p;
		form.description_da.value = description_p;
	}
	else if(languageId == "en"){
		form.name_en.value = name_p;
		form.description_en.value = description_p;
	}
	else if(languageId == "fr"){
		form.name_fr.value = name_p;
		form.description_fr.value = description_p;
	}
	else if(languageId == "el"){
		form.name_el.value = name_p;
		form.description_el.value = description_p;
	}
	else if(languageId == "it"){
		form.name_it.value = name_p;
		form.description_it.value = description_p;
	}
	else if(languageId == "pt"){
		form.name_pt.value = name_p;
		form.description_pt.value = description_p;
	}
	else if(languageId == "ro"){
		form.name_ro.value = name_p;
		form.description_ro.value = description_p;
	}
}



// Variables que mantenhen o valor copiado no formulario de familias
var name_f="";

/* Funcion que recolle o valor do formulario de familias cando se selecciona "copiar" */
/* LanguageId: codigo do idioma do que se recollen os datos */
function copyFamilyData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		name_f = form.name_gl.value;
	}
	else if(languageId == "es"){
		name_f = form.name_es.value;
	}
	else if(languageId == "da"){
		name_f = form.name_da.value;
	}
	else if(languageId == "en"){
		name_f = form.name_en.value;
	}
	else if(languageId == "fr"){
		name_f = form.name_fr.value;
	}
	else if(languageId == "el"){
		name_f = form.name_el.value;
	}
	else if(languageId == "it"){
		name_f = form.name_it.value;
	}
	else if(languageId == "pt"){
		name_f = form.name_pt.value;
	}
	else if(languageId == "ro"){
		name_f = form.name_ro.value;
	}
}

/* Funcion establece o valor do formulario de produtos cando se selecciona "pegar" */
/* LanguageId: codigo do idioma no que se establecen datos */
function pasteFamilyData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		form.name_gl.value = name_f;
	}
	else if(languageId == "es"){
		form.name_es.value = name_f;
	}
	else if(languageId == "da"){
		form.name_da.value = name_f;
	}
	else if(languageId == "en"){
		form.name_en.value = name_f;
	}
	else if(languageId == "fr"){
		form.name_fr.value = name_f;
	}
	else if(languageId == "el"){
		form.name_el.value = name_f;
	}
	else if(languageId == "it"){
		form.name_it.value = name_f;
	}
	else if(languageId == "pt"){
		form.name_pt.value = name_f;
	}
	else if(languageId == "ro"){
		form.name_ro.value = name_f;
	}
}

/*
 	Comproba o contrasinal e o contrasinal repetido coinciden.
*/
function validatePasswords(){
	var password = document.getElementById("passwordValidate").value;
	var retypePassword = document.getElementById("retypePassword").value;
	ocultardiv("retypePasswordError");
	if(password != retypePassword){
		mostrardiv("retypePasswordError");
	}

}

function changeWord(select){

     var item = select.value;
     mostrardiv(item);
     
     if(item == 'AND'){
         ocultardiv('OR');
     }else{
         ocultardiv('AND');    
     }

}


/* Funcion que habilita-deshabilita o boton de rexistrarse-facer pedido en funcion
da aceptacion dos termos obligados pola LOPD */
function acceptLOPD(){
	
	checkbox = document.getElementById("checkboxLOPD");
	if(checkbox == null)
		return true;
		
	if(!checkbox.checked){
	  mostrardiv("errorLopd")
	}else{
	  ocultardiv("errorLopd");
	}
	
	return checkbox.checked;
}

/* Funcion para o manexo de pestanhas das rexions de facturacion */
/* idPestanhaActivar: identificador da pestanha a activar */
/* idPestanhaActiva: identificador da pestanha activa */
function mostrarPestanha(idPestanhaActivar, idPestanhaActiva){

	document.getElementById(idPestanhaActivar + "-li").className="ui-tabs-selected";
	document.getElementById(idPestanhaActiva + "-li").className="ui-tabs-notselected";
	mostrardiv(idPestanhaActivar);
	ocultardiv(idPestanhaActiva);
}

/* Funcion que amosa unha pestanha para as estatisticas e oculta as demais */
/* idPestanhaActivar: identificarod da pestanha a activar */
function mostarPestanhaStatistics(idPestanhaActivar){
    var pestanhas = document.getElementById("pestanhas").childNodes;
    //Desactivase a pestanha activa
    for(i=0; i<pestanhas.length; i++){
		if(pestanhas[i].className == "ui-tabs-selected"){
		      idPestanhaActiva = pestanhas[i].id;
		      pestanhas[i].className = "ui-tabs-notselected";
		      ocultardiv(idPestanhaActiva.substring(0, idPestanhaActiva.length-3));
		}
		if(pestanhas[i].id  == idPestanhaActivar + "-li"){
			pestanhas[i].className = "ui-tabs-selected";
			mostrardiv(idPestanhaActivar);
		}
		
	}
}


/* Funcion que recolle o valor do formulario de familias cando se selecciona "copiar" */
/* LanguageId: codigo do idioma do que se recollen os datos */
function copyFactureRegionData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		name_f = form.name_gl.value;
	}
	else if(languageId == "es"){
		name_f = form.name_es.value;
	}
	else if(languageId == "da"){
		name_f = form.name_da.value;
	}
	else if(languageId == "en"){
		name_f = form.name_en.value;
	}
	else if(languageId == "fr"){
		name_f = form.name_fr.value;
	}
	else if(languageId == "el"){
		name_f = form.name_el.value;
	}
	else if(languageId == "it"){
		name_f = form.name_it.value;
	}
	else if(languageId == "pt"){
		name_f = form.name_pt.value;
	}
	else if(languageId == "ro"){
		name_f = form.name_ro.value;
	}
}

/* Funcion establece o valor do formulario de rexions de facturacion cando se selecciona "pegar" */
/* LanguageId: codigo do idioma no que se establecen datos */
function pasteFactureRegionData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		form.name_gl.value = name_f;
	}
	else if(languageId == "es"){
		form.name_es.value = name_f;
	}
	else if(languageId == "da"){
		form.name_da.value = name_f;
	}
	else if(languageId == "en"){
		form.name_en.value = name_f;
	}
	else if(languageId == "fr"){
		form.name_fr.value = name_f;
	}
	else if(languageId == "el"){
		form.name_el.value = name_f;
	}
	else if(languageId == "it"){
		form.name_it.value = name_f;
	}
	else if(languageId == "pt"){
		form.name_pt.value = name_f;
	}
	else if(languageId == "ro"){
		form.name_ro.value = name_f;
	}
}

/* Funcion que recolle o valor do formulario de modos de envio cando se selecciona "copiar" */
/* LanguageId: codigo do idioma do que se recollen os datos */
function copyShipmentModeData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		name_s = form.name_gl.value;
	}
	else if(languageId == "es"){
		name_s = form.name_es.value;
	}
	else if(languageId == "da"){
		name_s = form.name_da.value;
	}
	else if(languageId == "en"){
		name_s = form.name_en.value;
	}
	else if(languageId == "fr"){
		name_s = form.name_fr.value;
	}
	else if(languageId == "el"){
		name_s = form.name_el.value;
	}
	else if(languageId == "it"){
		name_s = form.name_it.value;
	}
	else if(languageId == "pt"){
		name_s = form.name_pt.value;
	}
	else if(languageId == "ro"){
		name_s = form.name_ro.value;
	}
}

/* Funcion establece o valor do formulario de rexions de modos de envio cando se selecciona "pegar" */
/* LanguageId: codigo do idioma no que se establecen datos */
function pasteShipmentModeData(languageId){
	var form = document.forms[0];
	if(languageId == "gl"){
		form.name_gl.value = name_s;
	}
	else if(languageId == "es"){
		form.name_es.value = name_s;
	}
	else if(languageId == "da"){
		form.name_da.value = name_s;
	}
	else if(languageId == "en"){
		form.name_en.value = name_s;
	}
	else if(languageId == "fr"){
		form.name_fr.value = name_s;
	}
	else if(languageId == "el"){
		form.name_el.value = name_s;
	}
	else if(languageId == "it"){
		form.name_it.value = name_s;
	}
	else if(languageId == "pt"){
		form.name_pt.value = name_s;
	}
	else if(languageId == "ro"){
		form.name_ro.value = name_s;
	}
}


/* Funcion que escribe un enderezo de email partindoo en trozos para evitar que sexa
   capturado por spammers.*/
function writeEmail(elementId, makeLink) {
    var email = 'inf' + 'o@sol' + 'arpst.c' + 'om';
    var innerhtml = '';
    if (makeLink) {
		innerhtml = '<a href="mailto:' + email + '">' + email + '</a>';
	} else {
	    innerhtml = email;
	}
    if(document.getElementById(elementId)!=null){
    	document.getElementById(elementId).innerHTML = innerhtml;
    }
}
   
   /* Funcion para o manexo das pestanhas usadas nos formularios para a i18n.*/
function pestanhasI18n(){
	var i = 0;
	var j = 0;
	var idShow1 = "#elhs11";
	var error1 = false;
	var idShow2 = "#elhs21";
	var error2 = false;

	$("#elhs12").hide();
	$("#elhs13").hide();
	$("#elhs14").hide();
	$("#elhs15").hide();
	$("#elhs16").hide();

	$("#elhs22").hide();
	$("#elhs23").hide();
	
	$(".lt1").click(function(event){

		if(error1) {
			$("#"+idShow1.substring(2)).addClass("languageError");
		}
		
		if(i==0) {
			$("#lhs11").removeAttr("style");
			i++;
		}
		var lhs = $(".languageHeaderSelected.languageHeader1");
		lhs.addClass("languageHeader");
		lhs.removeClass("languageHeaderSelected");
		$(this).parent().addClass("languageHeaderSelected");
		$(this).parent().removeClass("languageHeader");

		$(idShow1).hide();
		idShow1 = "#e" + $(this).parent().attr("id");
		error1 = $(this).parent().attr("class").match("languageError") == "languageError";
		$(idShow1).show();
		
		if(error1) {
			$(this).parent().removeClass("languageError");
		}
	});
		
	$(".lt2").click(function(event){

		if(error2) {
			$("#"+idShow2.substring(2)).addClass("languageError");
		}
		
		if(j==0) {
			$("#lhs21").removeAttr("style");
			j++;
		}
		var lhs = $(".languageHeaderSelected.languageHeader2");
		lhs.addClass("languageHeader");
		lhs.removeClass("languageHeaderSelected");
		$(this).parent().addClass("languageHeaderSelected");
		$(this).parent().removeClass("languageHeader");

		$(idShow2).hide();
		idShow2 = "#e" + $(this).parent().attr("id");
		error2 = $(this).parent().attr("class").match("languageError") == "languageError";
		$(idShow2).show();

		if(error2) {
			$(this).parent().removeClass("languageError");
		}
	});	
}

/* Funcion para o manexo das pestanhas usadas nos formularios para a i18n.*/
function pestanhasI18nFr(){
	var i = 0;
	var j = 0;
	var k = 0;
	var idShow1 = "#elhs11";
	var error1 = false;
	var idShow2 = "#elhs21";
	var error2 = false;
	var idShow3 = "#elhs31";
	var error3 = false;

	$("#elhs12").hide();
	$("#elhs13").hide();

	$("#elhs22").hide();
	$("#elhs23").hide();
	
	$("#elhs32").hide();
	$("#elhs33").hide();
	
	$(".lt1").click(function(event){

		if(error1) {
			$("#"+idShow1.substring(2)).addClass("languageError");
		}
		
		if(i==0) {
			$("#lhs11").removeAttr("style");
			i++;
		}
		var lhs = $(".languageHeaderSelected.languageHeader1");
		lhs.addClass("languageHeader");
		lhs.removeClass("languageHeaderSelected");
		$(this).parent().addClass("languageHeaderSelected");
		$(this).parent().removeClass("languageHeader");

		$(idShow1).hide();
		idShow1 = "#e" + $(this).parent().attr("id");
		error1 = $(this).parent().attr("class").match("languageError") == "languageError";
		$(idShow1).show();
		
		if(error1) {
			$(this).parent().removeClass("languageError");
		}
	});
		
	$(".lt2").click(function(event){

		if(error2) {
			$("#"+idShow2.substring(2)).addClass("languageError");
		}
		
		if(j==0) {
			$("#lhs21").removeAttr("style");
			j++;
		}
		var lhs = $(".languageHeaderSelected.languageHeader2");
		lhs.addClass("languageHeader");
		lhs.removeClass("languageHeaderSelected");
		$(this).parent().addClass("languageHeaderSelected");
		$(this).parent().removeClass("languageHeader");

		$(idShow2).hide();
		idShow2 = "#e" + $(this).parent().attr("id");
		error2 = $(this).parent().attr("class").match("languageError") == "languageError";
		$(idShow2).show();

		if(error2) {
			$(this).parent().removeClass("languageError");
		}
	});
	
	$(".lt3").click(function(event){

		if(error3) {
			$("#"+idShow3.substring(2)).addClass("languageError");
		}
		
		if(k==0) {
			$("#lhs31").removeAttr("style");
			k++;
		}
		var lhs = $(".languageHeaderSelected.languageHeader3");
		lhs.addClass("languageHeader");
		lhs.removeClass("languageHeaderSelected");
		$(this).parent().addClass("languageHeaderSelected");
		$(this).parent().removeClass("languageHeader");

		$(idShow3).hide();
		idShow3 = "#e" + $(this).parent().attr("id");
		error3 = $(this).parent().attr("class").match("languageError") == "languageError";
		$(idShow3).show();

		if(error3) {
			$(this).parent().removeClass("languageError");
		}
	});	
}