//	Oxxigeno Networks 2009
//	Jose Luis Garrido
//  Bruno Garcia Echegaray

// global variables 
var debug = true;
var $j = jQuery.noConflict();

Shadowbox.init({
    language:   "es",
    players:    ["img", "iframe", "html"],
    handleUnsupported: "link"
                
});


// onload body
$j(document).ready(function() {
	initAll();
	initReRenderAjax();
	if (typeof(openShadowbox) != "undefined" && openShadowbox)  {
		Shadowbox.open({
	        content:    '/login?protocol=http',
	        player:     "iframe",
	        title:      "identifícate",
	        height:     365,
	        width:      300
	    });
	}
	initNotStockColor();
});

function initNotStockColor() {
	$j("a.notStock").backOpacity();
}

function initAll() {
	initFinder();
	initOrder();		
	initDynamicRadioButtons();
	initCuidadoPrendas();
	initEstadoPedido();
	initCarousel();
	jQuery('ul.sf-menu').superfish();
}

function initCarousel() {
	if (typeof(mycarousel_itemList) != "undefined") {
		if (mycarousel_itemList.length > 3) {
			jQuery('#mycarousel').jcarousel({
		        buttonNextEvent: '',
				buttonPrevEvent: '',
				easing: 'linear',
				scroll: 1,
				animation: 'slow',
				wrap: 'circular',
				itemVisibleInCallback: {
				  onBeforeAnimation: mycarousel_itemVisibleInCallback
				},
				itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback
				},
				initCallback: mycarousel_initCallback
				
			});
		} else {
			jQuery('#mycarousel').jcarousel({
		        buttonNextHTML: null,
				buttonPrevHTML: null,
				size: mycarousel_itemList.length,
				visible: mycarousel_itemList.length,
				itemVisibleInCallback: {
				  onBeforeAnimation: mycarousel_itemVisibleInCallback
				}
			});
		}
	}
}

function mycarousel_itemVisibleInCallback(carousel, itemLi, index, state){
	/*$j(itemLi).find("a").html('<img src="' + mycarousel_itemList[index-1] + '" />');*/
	// The index() method calculates the index from a
	// given index who is out of the actual item range.
	var idx = carousel.index(index, mycarousel_itemList.length);
	var item = mycarousel_itemList[idx - 1];
	var objImage = new Image();
	objImage.src = item.url;
	if (objImage.width == 0) {
		$j(objImage).load(function() { 
			carousel.add(index, mycarousel_getItemHTML(item));
		});
	} else {
		carousel.add(index, mycarousel_getItemHTML(item));
	}
}

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt){
 // carousel.remove(i); Mejor sensación de usuario si no borramos.
};

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item){
	objImage = new Image();
	objImage.src= item.url;
	if (objImage.width != 0) {
		w = objImage.width ;
	} else {
		w = 120;
	}
	ret=  '<a href="' + item.link + '" ><img src="' + item.url + '" width="' + w + '"/></a>';
	return ret;
};

function mycarousel_initCallback(carousel, state){
	if (mycarousel_itemList.length > 3) {
		var timer;
		$j('.jcarousel-clip').mouseover(function(){ 
		   clearInterval(timer);		
		});
		$j('.jcarousel-prev').mouseover(function(){
			clearInterval(timer);						 
			timer = setInterval(function() {carousel.prev();}, 50);
	    });
		$j('.jcarousel-prev').mouseout(function(){
			clearInterval(timer);
		    });
		$j('.jcarousel-next').mouseover(function(){
			clearInterval(timer);		
			timer = setInterval(function() {carousel.next();}, 50);
	    });
		$j('.jcarousel-next').mouseout(function(){
			clearInterval(timer);
	    });
	} else {
		carousel.buttonNextHTML = null;
		carousel.buttonPrevHTML = null;
	}
}

//cuidado prendas
function initCuidadoPrendas() {
	
	$j(".cuidado-prendas").mouseover(function (e) {
	  $j(".cuidado-prendas-txt").hide();
      $j(e.target).next("div").show();
    });
	
	$j(".cuidado-prendas").mouseout(function (e) {
      $j(".cuidado-prendas-txt").hide();
	});
	
	$j(".cuidado-prendas").mousemove(function (e) {
		$j(e.target).next("div").css('left',e.pageX+3);
		$j(e.target).next("div").css('top',e.pageY+3);				
	
	});
}

function initEstadoPedido() {
	
	$j(".estado-pedido").mouseover(function (e) {
	  $j(".estado-pedido-txt").hide();
      $j(e.target).next("div").show();
    });
	
	$j(".estado-pedido").mouseout(function (e) {
      $j(".estado-pedido-txt").hide();
	});
	
	$j(".estado-pedido").mousemove(function (e) {
		$j(e.target).next("div").css('left',e.pageX+3);
		$j(e.target).next("div").css('top',e.pageY+3);				
	
	});
}

// inicializa buscador
function initFinder() {
	$j(".finder > ul > li > span").click(function (e){ 
		if ($j(e.target).parent().children("ul").css("display") == "none"){
			$j(".finder > ul > li > ul").slideUp('fast');
			$j(e.target).parent().children("ul").slideDown('fast');
		} else { 
			$j(".finder > ul > li > ul").slideUp('fast'); 
		}
	});	
}

// inicializa ordenacion
function initOrder() {
	$j(".ordenacion > ul > li > span").click(function (e){ 
			if ($j(e.target).parent().children("ul").css("display") == "none"){
				$j(".ordenacion > ul > li > ul").slideUp('fast');
				$j(e.target).parent().children("ul").slideDown('fast');
			} else { 
				$j(".ordenacion > ul > li > ul").slideUp('fast'); 				
			}
	});	
}

//radio buttons
function initDynamicRadioButtons() {
	$j(".js_dinamic_radiobutton input[type=radio]").attr("checked","");
	$j(".js_dinamic_radiobutton input[type=radio]").click(function (e) { 
				if ($j(e.target).parent().parent().children("div").css("display") == "none"){
						$j(".js_dinamic_radiobutton > div > div").slideUp(); 
						$j(e.target).parent().parent().children("div").slideDown();
				}												
	});
}

// ReRenderAjax
function initReRenderAjax() {
	if (typeof(reRenderAjax) != "undefined") {
		if (typeof(reRenderAjax) == "function")  {
			reRenderAjax();
		}
	}
}

function toggleDivByCheckbox(checkbox, div) {
	if ($j(checkbox).attr("checked"))  {
		$j("#"+div).slideDown('fast');
	} else { 
		$j("#"+div).slideUp('fast');
	}
}

function toggleDiv(div) {
	$j("#"+div).slideToggle('fast');
	
}

function toggleDivByRadiobutton(radiobutton, div) {
	toggleDivByCheckbox(radiobutton, div)
}

function onRequestStart() {
	$j(".ajaxDisabled").each( function() { this.disabled = true } );
}
function onRequestEnd() {
	$j(".ajaxDisabled").each( function() { this.disabled = false } );
}