﻿
var rootdomain="http://"+window.location.hostname;
var bustcachevar=1; //bust potential caching of external pages after initial request? (1=yes, 0=no)

var loadedobjects="";
var defaultcontentarray=new Object();
var bustcacheparameter="";

/* ************************************************************************************************************** */

// Menu Top Items array:  [ menu item ID, menu item name, filename block left, filename block right, filename(s) to load, onload functions ]
var navigationItems = new Object();
  navigationItems = [ 
	[ 'inicio',	'', 	'inicio', 	'nada', 	'', 		''	], 
	[ 'nosotros',	'', 	'menuizq', 	'nada', 	'',	 	"insertNavigationLeft( 'nosotros', 'leftTab' ); expandtabLeft('empresa');"	], 
	[ 'catalogo',	'', 	'menuizq', 	'nada', 	'', 		"insertNavigationLeft( 'catalogo', 'leftTab' ); expandtabLeft('pendientes');"	], 
	[ 'noticias',	'', 	'nada', 	'noticias', 	'', 		''	], 
	[ 'tienda',	'', 	'nada', 	'tienda', 	'', 		''	], 
	[ 'contacto',	'', 	'nada', 	'contacto', 	'contacto.js', 	''	]
  ];

// Menu Left Items array[ menu ID ]:  [ menu item ID, menu item name, filename block right, filename(s) to load, onload functions ]
var navigationLeft = new Object();
  navigationLeft['nosotros'] = [ 
	[ '-cabecera-',	'', 	'', 			'', 	''	], 
	[ 'empresa',	'', 	'empresa.htm',		'', 	''	], 
	[ 'estilo',	'', 	'estilo.htm', 		'', 	''	], 
	[ 'materiales',	'', 	'materiales.htm', 	'', 	''	], 
	[ 'coleccion',	'', 	'coleccion.htm', 	'', 	''	], 
	[ 'servicio',	'', 	'servicio.htm', 	'', 	''	], 
	[ 'equipo',	'', 	'equipo.htm', 		'', 	''	],  
	[ 'donde',	'',	'donde.htm', 		'', 	''	]
  ];

  navigationLeft['catalogo'] = [ 
	[ '-cabecera-',	'', 	 '', 			'', 	''	], 
	[ 'pendientes',	'', 	 'menuabajo.htm', 	'', 	"insertNavigationBottom( 'pendientes', 'bottomTab' );"	], 
	[ 'collares',	'', 	 'menuabajo.htm', 	'', 	"insertNavigationBottom( 'collares'  , 'bottomTab' );"	], 
	[ 'broches',	'', 	 'menuabajo.htm', 	'', 	"insertNavigationBottom( 'broches'   , 'bottomTab' );"	], 
	[ 'sortijas',	'', 	 'menuabajo.htm', 	'', 	"insertNavigationBottom( 'sortijas'  , 'bottomTab' );"	], 
	[ 'pulseras',	'', 	 'menuabajo.htm', 	'', 	"insertNavigationBottom( 'pulseras'  , 'bottomTab' );"	], 
	[ 'gemelos',	'', 	 'menuabajo.htm', 	'', 	"insertNavigationBottom( 'gemelos'   , 'bottomTab' );"	]
  ];



// Retrieve menu XML file
 url = 'content/'+ lang + '/menu/menu.xml'; // Select language
//if bust caching of external page
 if (bustcachevar) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();

 var payload = {};
 var myAjax = new Ajax.Request(
   url+bustcacheparameter, 
   {
    asynchronous: false,
    method: 'get', 
    parameters: payload,
    onComplete: function(xhr){
	xmlCat = xhr.responseXML;
    }
   });

var navigationAllItems = xmlCat.documentElement;   // .getElementsByTagName("item");

// Main Menu
var navItems = (navigationAllItems.getElementsByTagName("supPrincipal")[0]).getElementsByTagName("item");

  for (var i=0; i<navigationItems.length; i++) {
	navigationItems[i][1]=navItems[i].firstChild.nodeValue;
  }

// Left Menu
// Nosotros
navItems = (navigationAllItems.getElementsByTagName("izqNosotros")[0]).getElementsByTagName("titulo");
navigationLeft['nosotros'][0][1]=navItems[0].firstChild.nodeValue;

navItems = (navigationAllItems.getElementsByTagName("izqNosotros")[0]).getElementsByTagName("item"); 

  for (var i=1; i<navigationLeft['nosotros'].length; i++) {
	navigationLeft['nosotros'][i][1]=navItems[i-1].firstChild.nodeValue;
  }

// Catálogo
navItems = (navigationAllItems.getElementsByTagName("izqCatalogo")[0]).getElementsByTagName("titulo");
navigationLeft['catalogo'][0][1]=navItems[0].firstChild.nodeValue;

navItems = (navigationAllItems.getElementsByTagName("izqCatalogo")[0]).getElementsByTagName("item"); 

  for (var i=1; i<navigationLeft['catalogo'].length; i++) {
	navigationLeft['catalogo'][i][1]=navItems[i-1].firstChild.nodeValue;
  }

/* ************************************************************************************************************** */
// Build Main Menu Tabs


function onclickNavigationItem(objeto){
	objeto.blur();
	loadobjs(objeto.getAttribute("rev"));
	ajaxContent(objeto.getAttribute("href") , objeto.getAttribute("rel") , objeto, "");
	ajaxContent(objeto.getAttribute("hrefr"), objeto.getAttribute("relr"), objeto, objeto.getAttribute("rexec"));
	// eval( objeto.getAttribute("rexec") );
}

function insertNavigationTop() {
  for (var i=0; i<navigationItems.length; i++) {
	  document.write('<td><a id="menu_' + navigationItems[i][0] + '" rel="blockLeft" href="content/' + lang + '/' + navigationItems[i][2] + '.htm" onclick="onclickNavigationItem(this);return false;" relr="blockRight" hrefr="content/' + lang + '/' + navigationItems[i][3] + '.htm" rev="javascripts/' +  navigationItems[i][4] + '" rexec="' + navigationItems[i][5] + '">' + navigationItems[i][1] + '</a></td> ');
  }
}


function expandtab(tabID){ //interface for selecting a tab (plus expand corresponding content)
	onclickNavigationItem($('menu_' + tabID));
}

function ajaxContent(url, containerid, targetobj, onCompleteExecute){

$(containerid).innerHTML=loadstatustext;   // Cargando...

//if bust caching of external page
if (bustcachevar) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();

var ullist=$( targetobj.parentNode.parentNode.getElementsByTagName("td") );

// deselect all tabs
for (var i=0; i<ullist.length; i++) {
	if ( $(ullist[i]).classNames().find(function(s) {   return s=="TopItemSelected"; }) )  ullist[i].removeClassName("TopItemSelected");
}

$(targetobj.parentNode).addClassName("TopItemSelected");  //highlight currently clicked on tab

 var payload = {};
 var myAjax = new Ajax.Updater(
   {
    success: containerid, 
    failure: 'notice' 
   },
   url+bustcacheparameter, 
   {
    asynchronous: false,
    evalScripts: true,
    method: 'get', 
    parameters: payload,
    onComplete: function(){
       eval(onCompleteExecute);
    } 
   });
}

function loadobjs(revattribute){
if (revattribute!=null && revattribute!=""){ //if "rev" attribute is defined (load external .js or .css files)
var objectlist=revattribute.split(/\s*,\s*/) //split the files and store as array
for (var i=0; i<objectlist.length; i++){
var file=objectlist[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
}


/* ************************************************************************************************************** */
// Build Left Menu lines

function onclickNavigationLeftItem(objeto){
	loadobjs(objeto.getAttribute("rev"));
	ajaxContentR(objeto.getAttribute("href") , objeto.getAttribute("rel") , objeto, objeto.getAttribute("rexec"));
	// eval( objeto.getAttribute("rexec") );
}

function insertNavigationLeft( menu, targetTable ) {

  var navigationItems = navigationLeft[menu];
  
  trh=document.createElement('TR');
  thh=document.createElement('TH');
  thh.className="MenuLeftHead";
  thh.colSpan=2;
  thh.innerHTML=navigationItems[0][1];
  trh.appendChild(thh);
  $(targetTable).appendChild(trh);

  for (var i=1; i<navigationItems.length; i++) {
	tr=document.createElement('TR');

	td1=document.createElement('TD');
	td1.className="MenuLeftTopo";
	td1.innerHTML='<img src="images/Arrow10x20.gif" align="right">';
	tr.appendChild(td1);

	td2=document.createElement('TD');
	td2.className="MenuLeftItem";
	td2.innerHTML='<a id="menu_' + navigationItems[i][0] + '" rel="blockRight" href="content/' + lang + '/' + navigationItems[i][2] + '" onclick="onclickNavigationLeftItem(this);return false;" rev="javascripts/' +  navigationItems[i][3] + '" rexec="' + navigationItems[i][4] + '">' + navigationItems[i][1] + '</a></td></tr>';
	tr.appendChild(td2);
	
	$(targetTable).appendChild(tr);
  }
}

function expandtabLeft(tabID){ //interface for selecting a tab (plus expand corresponding content)
	onclickNavigationLeftItem($('menu_' + tabID));
}

function ajaxContentR(url, containerid, targetobj, onCompleteExecute){

$(containerid).innerHTML=loadstatustext;   // Cargando...

//if bust caching of external page
if (bustcachevar) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();

var ullist=$( targetobj.parentNode.parentNode.parentNode.getElementsByTagName("tr") );

// deselect all tabs
for (var i=1; i<ullist.length; i++) {
	if ( $(ullist[i].getElementsByTagName("td")[1] ).classNames().find(function(s) {   return s=="MenuLeftItemSelected"; }) )  ullist[i].getElementsByTagName("td")[1].removeClassName("MenuLeftItemSelected");
// alert(ullist[i].getElementsByTagName("a")[0].getAttribute("id"));
}

$(targetobj.parentNode).addClassName("MenuLeftItemSelected");  //highlight currently clicked on tab

 var payload = {};
 var myAjax = new Ajax.Updater(
   {
    success: containerid, 
    failure: 'notice' 
   },
   url+bustcacheparameter, 
   {
    method: 'get', 
    parameters: payload,
    onComplete: function(){
       eval(onCompleteExecute);
    }
   });

}

/* ************************************************************************************************************** */
// Build Bottom Menu boxes

function cambiaJoya( imgID ) 
{
	$('imgZoomWin').src='images/loading.gif';
	$('imgZoomWinText').style.display='none';
	$('imgZoomWinTitle').style.display='none';

	var imgZ = document.createElement('img');
	imgZ.onload = function () {
		$('imgZoomWin').style.display='none';
		$('imgZoomWin').src = this.src;
 	
		$('imgZoomWinTitle').innerHTML = $(imgID+'Title').innerHTML + '<hr width="60%">';
		$('imgZoomWinText').innerHTML = $(imgID+'Text').innerHTML;

 		new Effect.Appear('imgZoomWin', {duration:1.5} );
 		new Effect.Appear('imgZoomWinTitle', {duration:1.5} );
 		new Effect.Appear('imgZoomWinText', {duration:1.5} );
	}
	imgZ.src = $(imgID).srcbig;

	new Effect.Pulsate( imgID, {duration:1, pulses: 1} );
	
}

function insertNavigationBottom( catID, targetRow ) {

// Retrieve category
 url = 'content/'+ lang + '/catalogo/' + catID + '.xml'; // Select language

//if bust caching of external page
 if (bustcachevar) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();

 var payload = {};
 var myAjax = new Ajax.Request(
   url+bustcacheparameter, 
   {
    asynchronous: false,
    method: 'get', 
    parameters: payload,
    onComplete: function(xhr){
	xmlCat = xhr.responseXML;
    }
   });


var navigationItems = xmlCat.getElementsByTagName("item");

  for (var i=0; i<navigationItems.length; i++) {
	td=document.createElement('TD');

	img=document.createElement('IMG');
	img.id="img" + catID + i;
	img.className="imgMini";
	img.onclick=function(){ cambiaJoya(this.id); };
	img.onmouseover=function(){ this.style.cursor= 'hand'; };
	img.alt=" " + navigationItems[i].childNodes[0].firstChild.nodeValue + " ";
	img.border=0;
	img.src = 'images/catalogo/' + navigationItems[i].childNodes[3].firstChild.nodeValue;
	img.srcbig = 'images/catalogo/' + navigationItems[i].childNodes[2].firstChild.nodeValue;
	td.appendChild(img);

	span=document.createElement('SPAN');
	span.id="img" + catID + i + "Title";
	span.style.display="none";
	texto=document.createTextNode( navigationItems[i].childNodes[0].firstChild.nodeValue );
	span.appendChild(texto);
	td.appendChild(span);

	spant=document.createElement('SPAN');
	spant.id="img" + catID + i + "Text";
	spant.style.display="none";
	textot=document.createTextNode(navigationItems[i].childNodes[1].firstChild.nodeValue);
	spant.appendChild(textot);
	td.appendChild(spant);
	
	$(targetRow).appendChild(td);
  }
  cambiaJoya('img' + catID + '0');

}


/* ************************************************************************************************************** */


function muestraNoticia( unaNoticia )
{
 var url = "content/" + lang + "/noticias/" + unaNoticia.replace(/^http:\/\/[^\/]+\//i, ""); 
//if bust caching of external page
if (bustcachevar) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();

 var payload = {};
 var myAjax = new Ajax.Request(
   url+bustcacheparameter, 
   {
    asynchronous: true,
    method: 'get', 
    parameters: payload,

	onComplete: function(xhr) {
			Dialog.alert( xhr.responseText, {top: 46, width: 600, maxHeight: 400, okLabel: lang == 'es' ? "Volver" : "Back" , buttonClass: "buttonClassName" } );
	}

   });

	
}



