//////////////////////////////////////////
// index.js
//////////////////////////////////////////

//////////////////////////////////////////
// constantes
URL="http://www.grandesrasgos.com/"; 
TITLE="Grandes Rasgos S.L. - Azafatas y Modelos";

//////////////////////////////////////////
// variables globales
var loading,waiting,subLoading,menuTop,submenuTop,nav,lastUrl,preload,thumbs,slides;

//////////////////////////////////////////
// funciones

// ----------------------------------------------------
// agregar_a_favoritos()
// ----------------------------------------------------
function agregar_favoritos(){ 

	if(navigator.appName=="Microsoft Internet Explorer") window.external.AddFavorite(URL,TITLE)
		else if(navigator.appName=="Netscape") window.sidebar.addPanel(TITLE,URL,"")

}

// ----------------------------------------------------
// centerPage
// ----------------------------------------------------
function centerPage(){

	var height,wHeight,main=el('main');

	if(main){

		wHeight=getWindowHeight();
		height=main.clientHeight;

		main.style.position='absolute';
		main.style.top=(wHeight>height?(Math.round(wHeight-height)/2):0)+'px'

	}

}

// ----------------------------------------------------
// startAnim()
// ----------------------------------------------------
function startAnim(){

	var frames,cFrames,i,oldId;
	
	frames=el('frames');
	cFrames=frames.getElementsByTagName('div');

	for(i=0;i<cFrames.length;i++) {
	
		cFrames[i].id='frame'+i;
		changeOpac(cFrames[i].id,60)

	}

	oldId='frame0';
	changeOpac('frame0',100);

	setInterval(function(){

		var id='frame'+Math.floor(Math.random()*6);
		if(id==oldId) return;
		fade(oldId,100,60,10,100);
		fade(id,60,100,10,100);
		oldId=id;

	},15000)

}

// ----------------------------------------------------
// loadContent
// ----------------------------------------------------
function loadContent(url){
	
	var req;

	waiting.show();
	subLoading.show();

	if(req=new ajax()){

		req.onload=function(html){

			setObjProp('contenedor_cuerpo','innerHTML',html);
			subLoading.hide(function(){waiting.hide()});
			initContent(url)

		}

		req.get(url);

	}
	
}

// ----------------------------------------------------
// loadSubmenu
// ----------------------------------------------------
function loadSubmenu(url){
	
	var req=new ajax();

	waiting.show();
	subLoading.show();
	
	req.onload=function(html){

		setObjProp('contenedor_submenu','innerHTML',html);
		initSubmenuTop()

	}

	req.get(url);

}



// ----------------------------------------------------
// initMenuTop
// ----------------------------------------------------
function initMenuTop(){

	menuTop=new Menu('menucss');

	menuTop.onclick=function(a){

		url=a.href.replace('index.php','content.php');

		loadSubmenu(a.href.replace('index','submenu'));
		loadContent(a.href.replace('index','cuerpo'));

		lastUrl=a.href;

	}

}

// ----------------------------------------------------
// initSubmenuTop
// ----------------------------------------------------
function initSubmenuTop(){

	submenuTop=new Menu('submenucss');

	submenuTop.onclick=function(a){

		loadContent(a.href.replace('index','cuerpo'));
		lastUrl=a.href

	}

}

// ----------------------------------------------------
// initMenuPie
// ----------------------------------------------------
function initMenuPie(){

	// localizacion
	setObjProp('link_localizacion','href','#');
	setObjProp('link_localizacion','onclick',function(){
		popup('localizacion.html','localizacion','730','530'); return false; });

	// trabaja
	setObjProp('link_trabaja','href','#');
	setObjProp('link_trabaja','onclick',function(){
		popup('trabaja.php','trabaja','850','1100'); return false; });

	// solicita
	setObjProp('link_solicita','href','#');
	setObjProp('link_solicita','onclick', function(){
		popup('solicita.php','solicita','850','600'); return false; });
		
	// recomiendanos
	setObjProp('link_recomiendanos','href','#');
	setObjProp('link_recomiendanos','onclick',function(){
		popup('recomiendanos.php','recomiendanos','850','550'); return false; });

	// opinion
	setObjProp('link_opinion','href','#');
	setObjProp('link_opinion','onclick',function(){
		popup('opinion.php','opinion','850','550'); return false; })

}

// ----------------------------------------------------
// initNav
// ----------------------------------------------------
function initNav(){

	nav=new Nav('nav');

	nav.onclick=function(a){

		loadContent(a.href.replace('index','cuerpo'));
		
		if(getIdMenu(a.href)!=getIdMenu(lastUrl)){
		
			loadSubmenu(a.href.replace('index','submenu'));
			menuTop.set(menuTop.idxUrl[a.href.replace(/&.*submenu=.*$/,'')])

		} else submenuTop.set(submenuTop.idxUrl[a.href]);

		lastUrl=a.href;

	}

}

// ----------------------------------------------------
// initThumbs
// ----------------------------------------------------
function initThumbs(){

	thumbs=new Thumbs('thumbs_');

	thumbs.onclick=function(a){

		slides.showById(getIdThumb(a.href),
			function(){waiting.hide()});

	}

}

// ----------------------------------------------------
// initLinks
// ----------------------------------------------------
function initLinks(){

	// favoritos
	setObjProp('link_favoritos','href','#');
	setObjProp('link_favoritos','onclick',function(){agregar_favoritos(); return false;});

	// idiomas
	setObjProp('link_idiomas','href','#');
	setObjProp('link_idiomas','onclick',function(){alert('Error: no implementado todavia'); return false;});

}

// ----------------------------------------------------
// num2id
// ----------------------------------------------------
function num2id(num){return '0123456789abcdefghijklmnopqrstuvwxyz'.charAt(num)}

// ----------------------------------------------------
// getIdMenu
// ----------------------------------------------------
function getIdMenu(url){return(url.match(/\?menu=(\d+)/)?url.match(/\?menu=(\d+)/)[1]:1)}

// ----------------------------------------------------
// getIdSubmenu
// ----------------------------------------------------
function getIdSubmenu(url){return(url.match(/submenu=(\w+)/)?url.match(/submenu=(\w+)/)[1]:1)}

// ----------------------------------------------------
// getIdThumb
// ----------------------------------------------------
function getIdThumb(url){return(url.match(/thumb=(\d+)/)?url.match(/thumb=(\d+)/)[1]:0)}

// ----------------------------------------------------
// initContent
// ----------------------------------------------------
function initContent(url){

	var idMenu=getIdMenu(url);
	var idSubmenu=getIdSubmenu(url);

	subLoading=new Loading('subloading');

	initNav();
	initLinks();

	if(slides) slides.stop();

	// la pagina 31 no lleva slides
	if(idMenu!=3||idSubmenu!=1){
	
		slides=new Slides('ilust',IMGHASHLIST[idMenu+''+idSubmenu]);

		// la pagina 4 lleva thumbs
		if(idMenu==4) initThumbs()
			else slides.start()

	}

}

// ----------------------------------------------------
// startLoad
// ----------------------------------------------------
function startLoad() {

	preload=new Preload(IMGPRELOADLIST);

	loading=new Loading('loading');
	waiting=new Waiting('waiting');
	
	loading.show();
	waiting.show()

}

// ----------------------------------------------------
// main
// ----------------------------------------------------
function main(){

	if(isDHTML()){

		if(isDyn()){

			lastUrl=window.location.href;

			initMenuTop();
			initSubmenuTop();

			initContent(lastUrl);
			initMenuPie();

			preload.onload=function(){
				loading.hide(function(){waiting.hide()})};

			if(preload.loaded) preload.onload();

			centerPage();
			startAnim()

		} else initSubmenuTop()

	}

}

//////////////////////////////////////////
// main
window.onload=main;

