// Node Functions

if(!window.Node){
  var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
}

function checkNode(node, filter){
  return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
}

function getChildren(node, filter){
  var result = new Array();
  var children = node.childNodes;
  for(var i = 0; i < children.length; i++){
    if(checkNode(children[i], filter)) result[result.length] = children[i];
  }
  return result;
}

function getChildrenByElement(node){
  return getChildren(node, "ELEMENT_NODE");
}

function getFirstChild(node, filter){
  var child;
  var children = node.childNodes;
  for(var i = 0; i < children.length; i++){
    child = children[i];
    if(checkNode(child, filter)) return child;
  }
  return null;
}

function getFirstChildByText(node){
  return getFirstChild(node, "TEXT_NODE");
}

function getNextSibling(node, filter){
  for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
    if(checkNode(sibling, filter)) return sibling;
  }
  return null;
}
function getNextSiblingByElement(node){
        return getNextSibling(node, "ELEMENT_NODE");
}

// Menu Functions & Properties

var activeMenu = null;

function showMenu() {

  if(activeMenu){
    activeMenu.className = "";
    getNextSiblingByElement(activeMenu).style.display = "none";
  }
  if(this == activeMenu){
    activeMenu = null;
  } else {
    this.className = "active";
    getNextSiblingByElement(this).style.display = "block";
    activeMenu = this;
  }
  return false;
}

function catToSection(id) {
	var result = id;
	
	switch(id) {
		case 1: return 3;
		case 2: return 3;		
		case 9: return 9;
		case 10: return 9;
		case 11: return 9;
		case 12: return 9;						
		case 13: return 9;					
		case 14: return 11;
		case 15: return 11;						
		case 16: return 11;		
		case 19: return 1;				
		break;
	}
	return result;
}

function articleSectionName(id) {
	var result = id;
	switch(id) {
		case 15: result = 'lavaggio';
		break;
		case 16: result = 'friggitrici';
		break;
	}
	return result;
}

function sectionName(id) {

	var result = id;
	switch(id) {
		case 1: result = 'company';
		break;
		case 2: result = 'news';
		break;
		case 3: result = 'lavabicchieri';
		break;
		case 4: result = 'lavaggio';
		break;		
		case 5: result = 'lavaggio';
		break;
		case 6: result = 'lavaggio';
		break;		
		case 7: result = 'lavaoggetti';
		break;		
		case 8: result = 'lavaggio';
		break;		
		case 9: result = 'friggitrici';
		break;	
		case 10: result = 'friggitrici';
		break;	
		case 11: result = 'gelato';
		break;		
		case 13: result = 'gelato';
		break;
		case 14: result = 'gelato';
		break;
		case 15: result = 'gelato';
		break;
		case 16: result = 'gelato';
		break;							
	}
	return result;
}

function decodeSecDesc(name) {
	name = name.toLowerCase().trim()
	if(name.test('friggitrici')) {
		return 'friggitrici'
	}
	else if(name.test('lavaggio')) {
		return 'lavaggio';
	}
	else if(name.test('gelato')) {
		return 'gelato';
	}
	else if(name.test('acqua')) {
		return 'gelato';
	}	
	else if(name.test('company')) {
		hideMenu();
		return 'company';
	}	
}

function isCategoriaDefaultView() {
	qq = getQueryParams();
	return (qq['view'] == 'category' && qq['layout'] == 'default')
}

function setTables() {
	// ridisegno le 'X' nelle tabelle
	var col1 = $('col1');
	if(col1) {
		var tabs = col1.getElementsByTagName('table');
		if(tabs && tabs.length > 0) {

			for(var t = 0; t < tabs.length; t++) {
				tabella = tabs[t];	
					if(tabella.id == 'caratteristiche') {
					celle = tabella.getElementsByTagName('td');

					for(var i = 0; i < celle.length; i++) {
						
						cella = celle[i];
						newdiv = document.createElement('div');

						if(getTextByBrowser(cella) == 'x') {
							if(document.all) {
								cella.innerText = '';							
							}
							else {
								cella.textContent = '';
							}
							newdiv.id = 'marker';
							cella.appendChild(newdiv);	
						}
						
						// testo = cella.childNodes[0];
						
						// if(getTextByBrowser(testo) == 'x') {
						// 	
						// 	Element.replace(testo, '<div id="marker"></div>');
						// }
					}
				}
			}
		}
		
	}
}

function basePath() {
	var ss = document.location.toString();
	return ss.substring(0,ss.search("index.php"));
}

function getQueryParams() {
	var ss = document.location.toString();
	ss = ss.substring(ss.search(".php")+4,ss.length);
	return $H(ss.toQueryParams());	
}

function hideMenu() {
	// $('menu').style.display = 'none';
	if($('col2')) $('col2').style.background = 'none';
}

function hideBackground() {
	if($('col2')) $('col2').style.background = 'none';	
}

function getTextByBrowser(ele) {
  if (document.all) { // IE;
    return ele.innerText
  }
  else{
	return ele.textContent;
  }
}

function decodeSection() {

	var imgName, appo;
	eles = $$('.article-section');
	
	if(eles.length > 0) {
		imgName = decodeSecDesc(getTextByBrowser(eles[0]));
		eles[0].style.display = 'none';
	}

	var ss = document.location.toString();
	ss = ss.substring(ss.search(".php")+4,ss.length);

	var qp1 = $H(ss.toQueryParams());

	if(qp1['view'] == 'section') {
		imgName = sectionName(qp1['id'].toInt());
	}
	else if(qp1['view'] == 'article' && qp1['catid'])  {
		imgName = sectionName(qp1['catid'].toInt());
	}
	else if(qp1['view'] == 'category' && qp1['id'])  {
		var cat = qp1['id'].split("%",1)[0];
		var catdesc = catToSection(cat.trim().toInt());	
		imgName = sectionName(catdesc);
	}	 
	else if(qp1['view'] == 'article' && qp1['id'])  {
		imgName = articleSectionName(qp1['id'].toInt());
	}	
	
	// else if((qp1['option'] == 'com_joomap' || qp1['option'] == 'com_ccnewsletter') && qp1['option'])  {
	// 	hideMenu();
	// }	
	 // else {
	 // 		imgname = 'default.jpg'
	 // }		

	
	if(imgName) {
		$('col2').style.background = 'url(' + basePath() +  getImageDir() + imgName + '.jpg) no-repeat 0 225px';
	}
}

function getImageDir() {
	return '/templates/skymax/images/'
}

function initMenu(){
  var menus, menu, text, a, i;

  var menunode = document.getElementById("menu");

  if(menunode) {
	menus = getChildrenByElement(menunode);
	}

  if(menus && menus.length > 0) {

  for(i = 0; i < menus.length; i++){
    menu = menus[i];
    text = getFirstChildByText(menu);
	if(text) {
    a = document.createElement("a");
    menu.replaceChild(a, text);
    a.appendChild(text);
    a.href = "#";
    a.onclick = showMenu;
    a.onfocus = function(){this.blur()};
	}
  }

  for(i = 0; i < menus.length; i++){
    menu = menus[i];

	if (menu.className.test('active')) {
	  var children = menu.childNodes;
	  if(children) {
  		for(var j = 0; j < children.length; j++){		
  		    child = children[j];
  	  		child.className = "active parent";
  	  		child.style.display = "block";
			var curele = $("current");
			var aelements = curele.getElementsByTagName('a');
			for(var m = 0; m < aelements.length; m++) {
				aelements[m].className = "active";
			}				
  		  }
	  }
	}
  }
}

	// coloro solo l'ultimo elemento dei breadcrumbs
	pathway = document.getElementById("skx_pathway");
	
	if(pathway) {
		breadcrumbs = pathway.getElementsByTagName('span')[0].childNodes;
		var ele = breadcrumbs[breadcrumbs.length-1];
		var appo = ele.data;
		pathway.getElementsByTagName('span')[0].removeChild(ele);	
		
	    a = document.createElement("a");
		a.className = "lastbc";
	    a.href = "#";
		var txt = document.createTextNode(appo);
		a.appendChild(txt);
		pathway.appendChild(a);
    	// a.onclick = showInfo;		
	}
	
	decodeSection();

	
	// sistemo le tabelle
	setTables();
		
}

function showInfo() {
	alert(this.className);
}


if(document.createElement) window.onload = initMenu;
