/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */

// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias
(function($) {
 /**
 * $ is an alias to jQuery object
 *
 */
 $.fn.lightBox = function(settings) {
 // Settings to configure the jQuery lightBox plugin how you like
 settings = jQuery.extend({
 // Configuration related to overlay
 overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color.
 overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9
 // Configuration related to navigation
 fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface.
 // Configuration related to images
 imageLoading: '/skin/frontend/default/default/images/images_lightbox/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon
 imageBtnPrev: '/skin/frontend/default/default/images/images_lightbox/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image
 imageBtnNext: '/skin/frontend/default/default/images/images_lightbox/lightbox-btn-next.gif', // (string) Path and the name of the next button image
 imageBtnClose: '/skin/frontend/default/default/images/images_lightbox/lightbox-btn-close.gif', // (string) Path and the name of the close btn
 imageBlank: '/skin/frontend/default/default/images/images_lightbox/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel)
 // Configuration related to container image box
 containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value
 containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default.
 // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts.
 txtImage: 'Imagen', // (string) Specify text "Image"
 txtOf: 'de', // (string) Specify text "of"
 // Configuration related to keyboard navigation
 keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to.
 keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image
 keyToNext: 'n', // (string) (n = next) Letter to show the next image.
 titleArray: [],
 // Don´t alter these variables in any way
 imageArray: [],
 activeImage: 0
 },settings);
 // Caching the jQuery object with all elements matched
 var jQueryMatchedObj = this; // This, in this context, refer to jQuery object
 /**
 * Initializing the plugin calling the start function
 *
 * @return boolean false
 */
 function _initialize() {
 _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked
 return false; // Avoid the browser following the link
 }
 /**
 * Start the jQuery lightBox plugin
 *
 * @param object objClicked The object (link) whick the user have clicked
 * @param object jQueryMatchedObj The jQuery object with all elements matched
 */
 function _start(objClicked,jQueryMatchedObj) {
 // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay.
 $('embed, object, select').css({ 'visibility' : 'hidden' });
 // Call the function to create the markup structure; style some elements; assign events in some elements.
 _set_interface();
 // Unset total images in imageArray
 settings.imageArray.length = 0;
 // Unset image active information
 settings.activeImage = 0;
 // We have an image set? Or just an image? Let´s see it.
 if ( jQueryMatchedObj.length == 1 ) {
 settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));
 } else {
 // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references 
 for ( var i = 0; i < jQueryMatchedObj.length; i++ ) {
 settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); 
 }
 }
 while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) {
 settings.activeImage++;
 }
 // Call the function that prepares image exibition
 _set_image_to_view();
 }
 /**
 * Create the jQuery lightBox plugin interface
 *
 * The HTML markup will be like that:
 <div id="jquery-overlay"></div>
 <div id="jquery-lightbox">
 <div id="lightbox-container-image-box">
 <div id="lightbox-container-image">
 <img src="../fotos/XX.jpg" id="lightbox-image">
 <div id="lightbox-nav">
 <a href="#" id="lightbox-nav-btnPrev"></a>
 <a href="#" id="lightbox-nav-btnNext"></a>
 </div>
 <div id="lightbox-loading">
 <a href="#" id="lightbox-loading-link">
 <img src="../images/lightbox-ico-loading.gif">
 </a>
 </div>
 </div>
 </div>
 <div id="lightbox-container-image-data-box">
 <div id="lightbox-container-image-data">
 <div id="lightbox-image-details">
 <span id="lightbox-image-details-caption"></span>
 <span id="lightbox-image-details-currentNumber"></span>
 </div>
 <div id="lightbox-secNav">
 <a href="#" id="lightbox-secNav-btnClose">
 <img src="../images/lightbox-btn-close.gif">
 </a>
 </div>
 </div>
 </div>
 </div>
 *
 */
 function _set_interface() {
 // Apply the HTML markup into body tag
 $('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>'); 
 // Get page sizes
 var arrPageSizes = ___getPageSize();
 // Style overlay and show it
 $('#jquery-overlay').css({
 backgroundColor: settings.overlayBgColor,
 opacity: settings.overlayOpacity,
 width: arrPageSizes[0],
 height: arrPageSizes[1]
 }).fadeIn();
 // Get page scroll
 var arrPageScroll = ___getPageScroll();
 // Calculate top and left offset for the jquery-lightbox div object and show it
 $('#jquery-lightbox').css({
 top: arrPageScroll[1] + (arrPageSizes[3] / 10),
 left: arrPageScroll[0]
 }).show();
 // Assigning click events in elements to close overlay
 $('#jquery-overlay,#jquery-lightbox').click(function() {
 _finish(); 
 });
 // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects
 $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() {
 _finish();
 return false;
 });
 // If window was resized, calculate the new overlay dimensions
 $(window).resize(function() {
 // Get page sizes
 var arrPageSizes = ___getPageSize();
 // Style overlay and show it
 $('#jquery-overlay').css({
 width: arrPageSizes[0],
 height: arrPageSizes[1]
 });
 // Get page scroll
 var arrPageScroll = ___getPageScroll();
 // Calculate top and left offset for the jquery-lightbox div object and show it
 $('#jquery-lightbox').css({
 top: arrPageScroll[1] + (arrPageSizes[3] / 10),
 left: arrPageScroll[0]
 });
 });
 }
 /**
 * Prepares image exibition; doing a image´s preloader to calculate it´s size
 *
 */
 function _set_image_to_view() { // show the loading
 // Show the loading
 $('#lightbox-loading').show();
 if ( settings.fixedNavigation ) {
 $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
 } else {
 // Hide some elements
 $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
 }
 // Image preload process
 var objImagePreloader = new Image();
 objImagePreloader.onload = function() {
 $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);
 // Perfomance an effect in the image container resizing it
 _resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
 // clear onLoad, IE behaves irratically with animated gifs otherwise
 objImagePreloader.onload=function(){};
 };
 objImagePreloader.src = settings.imageArray[settings.activeImage][0];
 };
 /**
 * Perfomance an effect in the image container resizing it
 *
 * @param integer intImageWidth The image´s width that will be showed
 * @param integer intImageHeight The image´s height that will be showed
 */
 function _resize_container_image_box(intImageWidth,intImageHeight) {
 // Get current width and height
 var intCurrentWidth = $('#lightbox-container-image-box').width();
 var intCurrentHeight = $('#lightbox-container-image-box').height();
 // Get the width and height of the selected image plus the padding
 var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value
 var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value
 // Diferences
 var intDiffW = intCurrentWidth - intWidth;
 var intDiffH = intCurrentHeight - intHeight;
 // Perfomance the effect
 $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); });
 if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) {
 if ( $.browser.msie ) {
 ___pause(250);
 } else {
 ___pause(100); 
 }
 } 
 $('#lightbox-container-image-data-box').css({ width: intImageWidth });
 $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) });
 };
 /**
 * Show the prepared image
 *
 */
 function _show_image() {
 $('#lightbox-loading').hide();
 $('#lightbox-image').fadeIn(function() {
 _show_image_data();
 _set_navigation();
 });
 _preload_neighbor_images();
 };
 /**
 * Show the image information
 *
 */
 function _show_image_data() {
 $('#lightbox-container-image-data-box').slideDown('fast');
 $('#lightbox-image-details-caption').hide();
 if ( settings.imageArray[settings.activeImage][1] ) {
 $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();
 }
 // If we have a image set, display 'Image X of X'
 if ( settings.imageArray.length > 1 ) {
 $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show();
 } 
 }
 /**
 * Display the button navigations
 *
 */
 function _set_navigation() {
 $('#lightbox-nav').show();

 // Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just.
 $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
 
 // Show the prev button, if not the first image in set
 if ( settings.activeImage != 0 ) {
 if ( settings.fixedNavigation ) {
 $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' })
 .unbind()
 .bind('click',function() {
 settings.activeImage = settings.activeImage - 1;
 _set_image_to_view();
 return false;
 });
 } else {
 // Show the images button for Next buttons
 $('#lightbox-nav-btnPrev').unbind().hover(function() {
 $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' });
 },function() {
 $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
 }).show().bind('click',function() {
 settings.activeImage = settings.activeImage - 1;
 _set_image_to_view();
 return false;
 });
 }
 }
 
 // Show the next button, if not the last image in set
 if ( settings.activeImage != ( settings.imageArray.length -1 ) ) {
 if ( settings.fixedNavigation ) {
 $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' })
 .unbind()
 .bind('click',function() {
 settings.activeImage = settings.activeImage + 1;
 _set_image_to_view();
 return false;
 });
 } else {
 // Show the images button for Next buttons
 $('#lightbox-nav-btnNext').unbind().hover(function() {
 $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' });
 },function() {
 $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
 }).show().bind('click',function() {
 settings.activeImage = settings.activeImage + 1;
 _set_image_to_view();
 return false;
 });
 }
 }
 // Enable keyboard navigation
 _enable_keyboard_navigation();
 }
 /**
 * Enable a support to keyboard navigation
 *
 */
 function _enable_keyboard_navigation() {
 $(document).keydown(function(objEvent) {
 _keyboard_action(objEvent);
 });
 }
 /**
 * Disable the support to keyboard navigation
 *
 */
 function _disable_keyboard_navigation() {
 $(document).unbind();
 }
 /**
 * Perform the keyboard actions
 *
 */
 function _keyboard_action(objEvent) {
 // To ie
 if ( objEvent == null ) {
 keycode = event.keyCode;
 escapeKey = 27;
 // To Mozilla
 } else {
 keycode = objEvent.keyCode;
 escapeKey = objEvent.DOM_VK_ESCAPE;
 }
 // Get the key in lower case form
 key = String.fromCharCode(keycode).toLowerCase();
 // Verify the keys to close the ligthBox
 if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) {
 _finish();
 }
 // Verify the key to show the previous image
 if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) {
 // If we´re not showing the first image, call the previous
 if ( settings.activeImage != 0 ) {
 settings.activeImage = settings.activeImage - 1;
 _set_image_to_view();
 _disable_keyboard_navigation();
 }
 }
 // Verify the key to show the next image
 if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) {
 // If we´re not showing the last image, call the next
 if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) {
 settings.activeImage = settings.activeImage + 1;
 _set_image_to_view();
 _disable_keyboard_navigation();
 }
 }
 }
 /**
 * Preload prev and next images being showed
 *
 */
 function _preload_neighbor_images() {
 if ( (settings.imageArray.length -1) > settings.activeImage ) {
 objNext = new Image();
 objNext.src = settings.imageArray[settings.activeImage + 1][0];
 }
 if ( settings.activeImage > 0 ) {
 objPrev = new Image();
 objPrev.src = settings.imageArray[settings.activeImage -1][0];
 }
 }
 /**
 * Remove jQuery lightBox plugin HTML markup
 *
 */
 function _finish() {
 $('#jquery-lightbox').remove();
 $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); });
 // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay.
 $('embed, object, select').css({ 'visibility' : 'visible' });
 }
 /**
 / THIRD FUNCTION
 * getPageSize() by quirksmode.com
 *
 * @return Array Return an array with page width, height and window width, height
 */
 function ___getPageSize() {
 var xScroll, yScroll;
 if (window.innerHeight && window.scrollMaxY) { 
 xScroll = window.innerWidth + window.scrollMaxX;
 yScroll = window.innerHeight + window.scrollMaxY;
 } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
 xScroll = document.body.scrollWidth;
 yScroll = document.body.scrollHeight;
 } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
 xScroll = document.body.offsetWidth;
 yScroll = document.body.offsetHeight;
 }
 var windowWidth, windowHeight;
 if (self.innerHeight) { // all except Explorer
 if(document.documentElement.clientWidth){
 windowWidth = document.documentElement.clientWidth; 
 } else {
 windowWidth = self.innerWidth;
 }
 windowHeight = self.innerHeight;
 } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
 windowWidth = document.documentElement.clientWidth;
 windowHeight = document.documentElement.clientHeight;
 } else if (document.body) { // other Explorers
 windowWidth = document.body.clientWidth;
 windowHeight = document.body.clientHeight;
 } 
 // for small pages with total height less then height of the viewport
 if(yScroll < windowHeight){
 pageHeight = windowHeight;
 } else { 
 pageHeight = yScroll;
 }
 // for small pages with total width less then width of the viewport
 if(xScroll < windowWidth){ 
 pageWidth = xScroll; 
 } else {
 pageWidth = windowWidth;
 }
 arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
 return arrayPageSize;
 };
 /**
 / THIRD FUNCTION
 * getPageScroll() by quirksmode.com
 *
 * @return Array Return an array with x,y page scroll values.
 */
 function ___getPageScroll() {
 var xScroll, yScroll;
 if (self.pageYOffset) {
 yScroll = self.pageYOffset;
 xScroll = self.pageXOffset;
 } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
 yScroll = document.documentElement.scrollTop;
 xScroll = document.documentElement.scrollLeft;
 } else if (document.body) {// all other Explorers
 yScroll = document.body.scrollTop;
 xScroll = document.body.scrollLeft; 
 }
 arrayPageScroll = new Array(xScroll,yScroll);
 return arrayPageScroll;
 };
 /**
 * Stop the code execution from a escified time in milisecond
 *
 */
 function ___pause(ms) {
 var date = new Date(); 
 curDate = null;
 do { var curDate = new Date(); }
 while ( curDate - date < ms);
 };
 // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once
 return this.unbind('click').click(_initialize);
 };
})(jQuery); // Call and execute the function immediately passing the jQuery object
/*
 * Thickbox 3.1 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
var $j = jQuery.noConflict(); 
var tb_pathToImage = "/images/loadingAnimation.gif";

/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/

//on page load call tb_init
$j(document).ready(function(){ 
 tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
 imgLoader = new Image();// preload image
 imgLoader.src = tb_pathToImage;
});

//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
 $j(domChunk).click(function(){
 var t = this.title || this.name || null;
 var a = this.href || this.alt;
 var g = this.rel || false;
 tb_show(t,a,g);
 this.blur();
 return false;
 });
}

function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link

 try {
 if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
 $j("body","html").css({height: "100%", width: "100%"});
// $("html").css("overflow","hidden");
 if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
 $j("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
 $j("#TB_overlay").click(tb_remove);
 }
 }else{//all others
 if(document.getElementById("TB_overlay") === null){
 $j("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
 $j("#TB_overlay").click(tb_remove);
 }
 }
 
 if(tb_detectMacXFF()){
 $j("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
 }else{
 $j("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
 }
 
 if(caption===null){caption="";}
 $j("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
 $j('#TB_load').show();//show loader
 
 var baseURL;
 if(url.indexOf("?")!==-1){ //ff there is a query string involved
 baseURL = url.substr(0, url.indexOf("?"));
 }else{ 
 baseURL = url;
 }
 
 var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
 var urlType = baseURL.toLowerCase().match(urlString);

 if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
 
 TB_PrevCaption = "";
 TB_PrevURL = "";
 TB_PrevHTML = "";
 TB_NextCaption = "";
 TB_NextURL = "";
 TB_NextHTML = "";
 TB_imageCount = "";
 TB_FoundURL = false;
 if(imageGroup){
 TB_TempArray = $j("a[@rel="+imageGroup+"]").get();
 for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
 var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
 if (!(TB_TempArray[TB_Counter].href == url)) { 
 if (TB_FoundURL) {
 TB_NextCaption = TB_TempArray[TB_Counter].title;
 TB_NextURL = TB_TempArray[TB_Counter].href;
 TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";
 } else {
 TB_PrevCaption = TB_TempArray[TB_Counter].title;
 TB_PrevURL = TB_TempArray[TB_Counter].href;
 TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";
 }
 } else {
 TB_FoundURL = true;
 TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length); 
 }
 }
 }

 imgPreloader = new Image();
 imgPreloader.onload = function(){ 
 imgPreloader.onload = null;
 
 // Resizing large images - orginal by Christian Montoya edited by me.
 var pagesize = tb_getPageSize();
 var x = pagesize[0] - 150;
 var y = pagesize[1] - 150;
 var imageWidth = imgPreloader.width;
 var imageHeight = imgPreloader.height;
 if (imageWidth > x) {
 imageHeight = imageHeight * (x / imageWidth); 
 imageWidth = x; 
 if (imageHeight > y) { 
 imageWidth = imageWidth * (y / imageHeight); 
 imageHeight = y; 
 }
 } else if (imageHeight > y) { 
 imageWidth = imageWidth * (y / imageHeight); 
 imageHeight = y; 
 if (imageWidth > x) { 
 imageHeight = imageHeight * (x / imageWidth); 
 imageWidth = x;
 }
 }
 // End Resizing
 
 TB_WIDTH = imageWidth + 30;
 TB_HEIGHT = imageHeight + 60;
 $j("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>"); 
 
 $j("#TB_closeWindowButton").click(tb_remove);
 
 if (!(TB_PrevHTML === "")) {
 function goPrev(){
 if($j(document).unbind("click",goPrev)){$j(document).unbind("click",goPrev);}
 $j("#TB_window").remove();
 $j("body").append("<div id='TB_window'></div>");
 tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
 return false; 
 }
 $j("#TB_prev").click(goPrev);
 }
 
 if (!(TB_NextHTML === "")) { 
 function goNext(){
 $j("#TB_window").remove();
 $j("body").append("<div id='TB_window'></div>");
 tb_show(TB_NextCaption, TB_NextURL, imageGroup); 
 return false; 
 }
 $j("#TB_next").click(goNext);
 
 }

 document.onkeydown = function(e){ 
 if (e == null) { // ie
 keycode = event.keyCode;
 } else { // mozilla
 keycode = e.which;
 }
 if(keycode == 27){ // close
 tb_remove();
 } else if(keycode == 190){ // display previous image
 if(!(TB_NextHTML == "")){
 document.onkeydown = "";
 goNext();
 }
 } else if(keycode == 188){ // display next image
 if(!(TB_PrevHTML == "")){
 document.onkeydown = "";
 goPrev();
 }
 } 
 };
 
 tb_position();
 $j("#TB_load").remove();
 $j("#TB_ImageOff").click(tb_remove);
 $j("#TB_window").css({display:"block"}); //for safari using css instead of show
 };
 
 imgPreloader.src = url;
 }else{//code to show html
 
 var queryString = url.replace(/^[^\?]+\??/,'');
 var params = tb_parseQuery( queryString );

 TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
 TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
 ajaxContentW = TB_WIDTH - 137;
 ajaxContentH = TB_HEIGHT - 120;

 //ajaxContentW = TB_WIDTH - 137;
 //ajaxContentH = TB_HEIGHT - 120;
 
 if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window 
 urlNoQuery = url.split('TB_');
 $j("#TB_iframeContent").remove();
 if(params['modal'] != "true"){//iframe no modal
 $j("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'><img src='/skin/frontend/default/default/images/cerrarPopup.png'/></a></div></div><iframe AllowTransparency frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe><div id='TB_pie'></div>");
 }else{//iframe modal
 $j("#TB_overlay").unbind();
 $j("#TB_window").append("<iframe AllowTransparency frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
 }
 }else{// not an iframe, ajax
 if($j("#TB_window").css("display") != "block"){
 if(params['modal'] != "true"){//ajax no modal
 $j("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>cerrar</a> or Esc</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
 }else{//ajax modal
 $j("#TB_overlay").unbind();
 $j("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>"); 
 }
 }else{//this means the window is already up, we are just loading new content via ajax
 $j("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
 $j("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
 $j("#TB_ajaxContent")[0].scrollTop = 0;
 $j("#TB_ajaxWindowTitle").html(caption);
 }
 }
 
 $j("#TB_closeWindowButton").click(tb_remove);
 
 if(url.indexOf('TB_inline') != -1){ 
 $j("#TB_ajaxContent").append($j('#' + params['inlineId']).children());
 $j("#TB_window").unload(function () {
 $j('#' + params['inlineId']).append( $j("#TB_ajaxContent").children() ); // move elements back when you're finished
 });
 tb_position();
 $j("#TB_load").remove();
 $j("#TB_window").css({display:"block"}); 
 }else if(url.indexOf('TB_iframe') != -1){
 tb_position();
 if($j.browser.safari){//safari needs help because it will not fire iframe onload
 $j("#TB_load").remove();
 $j("#TB_window").css({display:"block"});
 }
 }else{
 $j("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
 tb_position();
 $j("#TB_load").remove();
 tb_init("#TB_ajaxContent a.thickbox");
 $j("#TB_window").css({display:"block"});
 });
 }
 // Linea insertada para borrar el contenido del elemento cuyo id es 'elementos' aquí es donde se indica de alguna manera que
 // existe un nuevo elemento en el carrito, de tal forma que cuando se revise el carrito se resetee esta señal.
 $j("#elementos").text("");
 }

 if(!params['modal']){
 document.onkeyup = function(e){ 
 if (e == null) { // ie
 keycode = event.keyCode;
 } else { // mozilla
 keycode = e.which;
 }
 if(keycode == 27){ // close
 tb_remove();
 } 
 };
 }
 
 } catch(e) {
 //nothing here
 }
}

//helper functions below
function tb_showIframe(){
 $j("#TB_load").remove();
 $j("#TB_window").css({display:"block"});
}

function tb_remove() {
 $j("#TB_imageOff").unbind("click");
 $j("#TB_closeWindowButton").unbind("click");
 $j("#TB_window").fadeOut("fast",function(){$j('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
 $j("#TB_load").remove();
 if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
 $j("body","html").css({height: "auto", width: "auto"});
 $j("html").css("overflow","");
 }
 document.onkeydown = "";
 document.onkeyup = "";
 return false;
}

function tb_position() {
$j("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
 if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
 $j("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
 }
}

function tb_parseQuery ( query ) {
 var Params = {};
 if ( ! query ) {return Params;}// return empty object
 var Pairs = query.split(/[;&]/);
 for ( var i = 0; i < Pairs.length; i++ ) {
 var KeyVal = Pairs[i].split('=');
 if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
 var key = unescape( KeyVal[0] );
 var val = unescape( KeyVal[1] );
 val = val.replace(/\+/g, ' ');
 Params[key] = val;
 }
 return Params;
}

function tb_getPageSize(){
 var de = document.documentElement;
 var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
 var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
 arrayPageSize = [w,h];
 return arrayPageSize;
}

function tb_detectMacXFF() {
 var userAgent = navigator.userAgent.toLowerCase();
 if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
 return true;
 }
}



 // CARRUSEL CABECERA
 var $j = jQuery.noConflict(); 
 /*
 $j(document).ready(function($){
 image_count = $j("div.img-rotate").hide().size();
 $j("div.img-rotate:eq("+current_image+")").show();
 current_image++;
 $j("div.img-rotate:eq("+current_image+")").show();
 current_image++;
 $j("div.img-rotate:eq("+current_image+")").show();
 current_image++;
 $j("div.img-rotate:eq("+current_image+")").show();
 //setInterval(feature_rotate,5000); //time in milliseconds
 });
 */
/*
 jQuery.easing.easeOutQuart = function (x, t, b, c, d) {
 return -c * ((t=t/d-1)*t*t*t - 1) + b;
 };
*/
 var menuSelected = "";

 $j(document).ready(function($){
 
 /**
 * No need to have only one element in view, you can use it for slideshows or similar.
 * In this case, clicking the images, scrolls to them.
 * No target in this case, so the selectors are absolute.
 */
 $j('#slideshow').serialScroll({
 items:'li',
 prev:'p a.prev',
 next:'p a.next',
 //offset:-230, //when scrolling to photo, stop 230 before reaching it (from the left)
 offset:-213, //when scrolling to photo, stop 230 before reaching it (from the left)
 start:1, //as we are centering it, start at the 2nd
 duration:1000,
 force:true,
 stop:true,
 step:4, // How many items to scroll each time ( 1 is the default, no need to specify )
 lock:false,
 cycle:true, //don't pull back once you reach the end
 //easing:'easeOutQuart', //use this easing equation for a funny effect
 jump: false //click on the images to scroll to them
 });
 
 $j('#reelPrincipal').serialScroll({
 items:'li',
 prev:'p.botReel a.izq',
 next:'p.botReel a.der',
 //offset:-230, //when scrolling to photo, stop 230 before reaching it (from the left)
 //offset:0, //when scrolling to photo, stop 230 before reaching it (from the left)
 start:0, //as we are centering it, start at the 2nd
 duration:1000,
 force:true,
 stop:true,
 step:1, // How many items to scroll each time ( 1 is the default, no need to specify )
 lock:false,
 cycle:true, //don't pull back once you reach the end
 //easing:'easeOutQuart', //use this easing equation for a funny effect
 jump: false //click on the images to scroll to them
 }); 
 
 
 // Preload all rollovers
 $j("p img, #menuNav li img, .header-top ul img, ul.opciones img, .portes img").each(function() {
 // Set the original src
 rollsrc = $j(this).attr("src");
 rollON = rollsrc.replace(/.gif$/ig,"_over.gif");
 $j("<img>").attr("src", rollON);
 });
 
 // Navigation rollovers
 $j("#menuNav li a, .header-top ul a, ul.opciones a, .portes").mouseover(function(){
 // $("#mainNav ul").css("visibility", "hidden"); 
 $j("#menuNav li a img").each(function(){
 ruta = $j(this).attr("src");
 rutaB = ruta.replace(/_over.gif$/ig,".gif");
 $j(this).attr("src",rutaB); 
 });
 
 imgsrc = $j(this).children("img").attr("src");
 matches = imgsrc.match(/_over/);
 $j(".cat-ul").css("display","none");
 var categoria = "."+$j(this).attr("reel"); 
 $j(categoria).css("display","inline");
 
 // don't do the rollover if state is already ON
 if (!matches) {
 imgsrcON = imgsrc.replace(/.gif$/ig,"_over.gif"); // strip off extension
 $j(this).children("img").attr("src", imgsrcON);
 menuSelected = $j(this).children("img");
 } 
 }); 


 $j(" .header-top ul a, ul.opciones a, .portes").mouseout(function(){
 $j(this).children("img").attr("src", imgsrc);
 var categoria = "."+$j(this).attr("reel");
 //$j(categoria).css("display","none");
 });
/*
 $j(".mujer .principal ul.level0").mouseover(function(){
 alert(j$("ul a[reel=mujer]"));
 imgsrc = j$("#menuNav ul a[reel=mujer]").children("img").attr("src"); 
 alert(imgsrc);
 matches = imgsrc.match(/_over/);
 if (!matches) {
 imgsrcON = imgsrc.replace(/.gif$/ig,"_over.gif"); // strip off extension
 $j(this).children("img").attr("src", imgsrcON);
 }
 
 }); 
*/
 // Navigation rollovers
 $j(".cat-ul li.level1, .cat-ul li.level2").mouseover(function(){
 //alert($j(this).parent(".principal").html());
 menuSelected.attr("src",imgsrcON); 
 });
 
 $j(".cat-ul ul, .cat-ul li").mouseout(function(){
 //ruta = menuSelected.attr("src"); 
 //menuSelected.attr("src", ruta.replace(/_over.gif$/ig,".gif"));
 //$j(".cat-ul").css("display","none");
 });
 
 $j(".middle").mouseover(function(){
 $j(".cat-ul").css("display","none");
 $j("#menuNav li a img").each(function(){
 ruta = $j(this).attr("src");
 rutaB = ruta.replace(/_over.gif$/ig,".gif");
 $j(this).attr("src",rutaB); 
 });
 });
 
 var anterior = $j(".pages .linkAnt").attr("href");
 if(anterior)
 $j("#enlaceAnt").attr("href",anterior);
 else
 $j("#enlaceAnt").css("background-image","none");
 
 var siguiente = $j(".pages .linkSig").attr("href");
 if(siguiente)
 $j("#enlaceSig").attr("href",siguiente);
 else
 $j("#enlaceSig").css("background-image","none");
 //initMenu();
 //$j('.cat-ul ul.level0').accordion();
 
 
 setInterval("$j('.botReel .der').click()",10000);
 setInterval("$j('.boton .next').click()",15000);
 
 //MagicZoom de Jquery, no habilitado, prefieren ventana emergente con zoomIn y zoomOut.
 //$j(".MYCLASS").jqzoom();

 //$j("#zoom #contenedor .zoomimg").draggable();
 
 $j("#zoom #contenedor .zoomimg").bind('drag', function( event ){ 
 var ancho = $("#zoom #contenedor").children('img').attr("width");
 var alto = $("#zoom #contenedor").children('img').attr("height");
 
 var offAlto = 196-alto/2;
 var offAncho = 339-ancho/2;
 
 //alert(event.offsetX + " - " + event.offsetY);
 $(this).css({ top:event.offsetY-offAlto, left:event.offsetX-offAncho }); 
 //var a = "";
 });

 
 /*
 $('#contenedor .zoomimg').Draggable(
 {
 zIndex: 1000,
 ghosting: false,
 opacity: 0.7,
 containment : 'parent'
 });
 */ 
 
 });
 
 
 function initMenu() {
 $j('.cat-ul ul.level0 li').hide();
 $j('.cat-ul ul.level0 li:first').show();
 $j('.cat-ul ul.level0 li a').click(
 function() {
 var checkElement = $(this).next();
 if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
 return false;
 }
 if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
 $j('.cat-ul ul.level0 li:visible').slideUp('normal');
 checkElement.slideDown('normal');
 return false;
 }
 }
 );
 }
 
 function querySt(ji) {
 hu = window.location.search.substring(1);
 gy = hu.split("&");
 for (i=0;i<gy.length;i++) {
 ft = gy[i].split("=");
 if (ft[0] == ji) {
 return ft[1];
 }
 }
 }

