
        
$(document).ready(function () {
    initWizard();
});
var categories = [];
var cards = [];
var banks = [];
var services = [];
var city;
function initWizard(){  
        $.ajax({
        type: "POST",
        url: "default.aspx/loadPref",
        data: "",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {  
            $('#wizardbox').html(msg.d);
            $(function() {
			    $('.defaultP input').ezMark();
		    });
            initAllNone();
            initOthers();
            initAjax();
            initModals();
            initAnimation();
            initPromosChks();
        },
        error: function (result) {
            jumpToSearch();
        }
    });
}
//si por algun motivo se rompió lo derivo al search sin ninguna preferancia (ningun check)
function jumpToSearch()
{
    categories = [];
    cards = [];
    banks = [];
    services = [];
    EndWizard();
}

function initAllNone(){
    InitializeCheckAll('#m_banca','#allB'); 
    InitializeUncheckAll('#m_banca','#noneB'); 
    InitializeCheckAll('#m_tarjeta','#allC'); 
    InitializeUncheckAll('#m_tarjeta','#noneC'); 
    InitializeCheckAll('#m_club','#allS'); 
    InitializeUncheckAll('#m_club','#noneS'); 
    InitializeCheckAll('#m_cats','#allCats'); 
    InitializeUncheckAll('#m_cats','#noneCats'); 
}
function initPromosChks()
{
    $('#promo_opt .ez-checkbox').each(function(){$(this).addClass('ez-disabled');});
}
function InitializeCheckAll(container, btn) {
    $(btn).click( 
        function() {
            $(container + ' input:checkbox').each(function (e) {
                $(this).attr({"checked":"checked"}); 
                $(this).trigger('change'); // trigger change 
            });
    }                
    );
}        
function InitializeUncheckAll(container, btn) {
    $(btn).click( 
        function() {
            $(container + ' input:checkbox').each(function (e) {
                $(this).removeAttr("checked"); 
                $(this).trigger('change'); // trigger change 
            });
    }                
    );
}

function initOthers() {
  	$('#SlBanco').click( function() { 
        if($('#otrob').attr('value') =='false'){   
            $('#otrob').attr('value', 'true');
   			$('#SlBanco').css({backgroundPosition: '0px -19px'});
    		$('#m_banca').slideDown();
			$('#bothome').animate({ marginTop : "+=250px" });				
			$('#container').animate({ height : "+=250px" });
        }else {
            $('#otrob').attr('value', 'false');
   			$('#SlBanco').css({backgroundPosition: '0px 0px'});
    		$('#m_banca').slideUp();
			$('#bothome').animate({ marginTop : "-=250px" });				
			$('#container').animate({ height : "-=250px" });
        }
	});
  	$('.oBanco').click( function() { 
        $('#otrob').attr('value', 'false');
   		$('#SlBanco').css({backgroundPosition: '0px 0px'});
    	$('#m_banca').slideUp();
		$('#bothome').animate({ marginTop : "-=250px" });				
		$('#container').animate({ height : "-=250px" });
	});
			
  	$('#SlCard').click( function() { 
        if($('#otroc').attr('value') =='false'){    
            $('#otroc').attr('value', 'true');
   			$('#SlCard').css({backgroundPosition: '0px -19px'});
    		$('#m_tarjeta').slideDown();
			$('#bothome').animate({ marginTop : "+=250px" });			
			$('#container').animate({ height : "+=250px" });  
        }
        else{
            $('#otroc').attr('value', 'false');
   			$('#SlCard').css({backgroundPosition: '0px 0px'});
    		$('#m_tarjeta').slideUp();
			$('#bothome').animate({ marginTop : "-=250px" });				
			$('#container').animate({ height : "-=250px" });
        }
	});
  	$('.oCard').click( function() { 
        $('#otroc').attr('value', 'false');
   		$('#SlCard').css({backgroundPosition: '0px 0px'});
    	$('#m_tarjeta').slideUp();
		$('#bothome').animate({ marginTop : "-=250px" });				
		$('#container').animate({ height : "-=250px" });
	});
			
  	$('#SlClub').click( function() {             
        if($('#otros').attr('value') =='false'){   
            $('#otros').attr('value', 'true');
   			$('#SlClub').css({backgroundPosition: '0px -19px'});
    		$('#m_club').slideDown();
			$('#bothome').animate({ marginTop : "+=250px" });			
			$('#container').animate({ height : "+=250px" });
        }else{
            $('#otros').attr('value', 'false');
   			$('#SlClub').css({backgroundPosition: '0px 0px'});
    		$('#m_club').slideUp();
			$('#bothome').animate({ marginTop : "-=250px" });				
			$('#container').animate({ height : "-=250px" });
        }
	});
  	$('.oClub').click( function() { 
        $('#otros').attr('value', 'false');
   		$('#SlClub').css({backgroundPosition: '0px 0px'});
    	$('#m_club').slideUp();
		$('#bothome').animate({ marginTop : "-=250px" });				
		$('#container').animate({ height : "-=250px" });
	});
}
function initAjax(){
    $('#btnfin').click(
        function () {
            categories = getChecked('#m_cats');
            cards = getChecked('#checksC');
            banks = getChecked('#checksB');
            services = getChecked('#checksS');
            city = $('#selectCity').attr('value');
            EndWizard();
            //Tracking Event 10500
            var count = categories.length;
            _gaq.push(['_trackEvent', 'Wizard', 'Finished', $('#selectCity').attr('name') , count]);
        }
    );
}

function getChecked(container) {
    var chkdItems = [];
    $(container + ' input:checked').each(function () {
        chkdItems.push(this.value);
    });
    return chkdItems;
} 
function countChecked(container) {
    var i = 0;
    $(container + ' input:checked').each(function () {
        i++;
    });
    return i;
}

function EndWizard() {
    var pdata = "{'banks':'" + banks + "'," + "'cards':'" + cards + "'," + "'servs':'" + services + "'," + "'cats':'" + categories + "'," + "'city':'" + city + "'" + "}";
    $.ajax({
        type: "POST",
        url: "default.aspx/endWizard",
        data: pdata,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {  
        window.location.href = 'members/search.aspx';
        },
        error: function (result) {
            //Mostrar un mensaje de error localizado
        }
    });
}


function initAnimation(){
	$('.next').click(function() {        
    	$('#box1').animate({
        	marginLeft : "-100%",
			"opacity": "0.5"}, 500, 
			function() {
       			// $(this).css('left', '150%');
       			$('#box1').appendTo('#container');
    		});
        $('#boxh2').hide();
        $('#boxh3').show();
        //cierro los abiertos
        if($('#otrob').attr('value') =='true'){
                    $('#otrob').attr('value', 'false');
   				    $('#SlBanco').css({backgroundPosition: '0px 0px'});
    			    $('#m_banca').slideUp();
				    $('#bothome').animate({ marginTop : "-=250px" });				
				    $('#container').animate({ height : "-=250px" });         
        }
        if($('#otroc').attr('value') =='true'){ 
                    $('#otroc').attr('value', 'false');
   				    $('#SlCard').css({backgroundPosition: '0px 0px'});
    			    $('#m_tarjeta').slideUp();
				    $('#bothome').animate({ marginTop : "-=250px" });				
				    $('#container').animate({ height : "-=250px" });        
        }
        if($('#otros').attr('value') =='true'){ 
                    $('#otros').attr('value', 'false');
   				    $('#SlClub').css({backgroundPosition: '0px 0px'});
    			    $('#m_club').slideUp();
				    $('#bothome').animate({ marginTop : "-=250px" });				
				    $('#container').animate({ height : "-=250px" });
        }        

    	$('#box2').animate({
        	"left": '50%',
			"opacity": "1"}, 500);

        $('html, body').animate({ scrollTop: 0 }, 'slow');
        //Tracking Event 10400

        var selchks = 0;
        selchks+= countChecked('#checksC');
        selchks+= countChecked('#checksB');
        selchks+= countChecked('#checksS');
        _gaq.push(['_trackEvent', 'Wizard', 'Nexted', '#Items Selected', selchks]);
	});
}
function initSelectCity() {
    // first locate all of the select tags on the page and hide them
    $("select.changeMe").css('display', 'none');
    //now, for each select box, run this function
    $("select.changeMe").each(function () {
        var curSel = $(this);
        // get the CSS width from the original select box
        var gddWidth = $(curSel).css('width');
        var gddWidthL = gddWidth.slice(0, -2);
        var gddWidth2 = gddWidthL - 28;
        var gddWidth3 = gddWidthL - 16;
        // build the new div structure
        var gddTop = '<div id="citySelect" style="width:' + gddWidthL + 'px" class="selectME" tabindex="0"><div class="cornerstop"><div><div></div></div></div><div class="middle"><div><div><div>';
        //get the default selected option
        var whatSelected = $(curSel).children('option:selected').text();
        //write the default
        var gddFirst = '<div class="first"><span class="selectME gselected" style="width:' + gddWidth2 + 'px;">' + whatSelected + '</span><span id="arrowImg"></span><div class="clears"></div></div><ul class="selectME" style="overflow-y:auto;overflow-x:hidden; max-height:200px; width:305px; z-index:10;">';
        // create a new array of div options from the original's options
        var addItems = new Array();
        $(curSel).children('option').each(function () {
            var text = $(this).text();
            var selVal = $(this).attr('value');
            var before = '<li style="width:' + gddWidthL + 'px;"><a href="#" rel="' + selVal + '" tabindex="0"  style="width:' + gddWidth3 + 'px;">';
            var after = '</a></li>';
            addItems.push(before + text + after);
        });
        //hide the default from the list of options 
        var removeFirst = addItems.shift();
        // create the end of the div selectbox and close everything off
        var gddBottom = '</ul></div></div></div></div><div class="cornersbottom"><div><div></div></div></div></div>';
        //write everything after each selectbox
        var GDD = gddTop + gddFirst + addItems.join('') + gddBottom;
        $(curSel).after(GDD);
        //this var selects the div select box directly after each of the origials
        var nGDD = $(curSel).next('div.selectME');

        $(nGDD).find('li:first').addClass("first");

        $(nGDD).find('li:last').addClass('last');
        //handle the on click functions - push results back to old text box
        $(nGDD).click(function (e) {
            var myTarA = $(e.target).attr('rel');
            var myTarT = $(e.target).text();
            var myTar = $(e.target);
            //if closed, then open
            if ($(nGDD).find('li').css('display') == 'none') {
                //this next line closes any other selectboxes that might be open
                $('div.selectME').find('li').css('display', 'none');
                $(nGDD).find('li').css('display', 'block');

                //if user clicks off of the div select box, then shut the whole thing down
                $(document.window || 'body').click(function (f) {
                    var myTar2 = $(f.target);
                    if (myTar2 !== nGDD) { $(nGDD).find('li').css('display', 'none'); }
                });
                return false;
            }
            else {
                if (myTarA === null) {
                    $(nGDD).find('li').css('display', 'none');
                    return false;
                }
                else {
                    //set the value of the old select box
                    $(curSel).val(myTarA);
                    //set the text of the new one
                    $(nGDD).find('span.gselected').text(myTarT);
                    $(nGDD).find('li').css('display', 'none');
                    //----------------------------------------------------- CUSTOMIZED>>
                    var ctrl = $(curSel).find('[value="' + $(curSel).val() + '"]');
                    $('#selectCity').attr('value', $(ctrl).attr('value'));
                    $('#selectCity').attr('name', $(ctrl).text());
                    //----------------------------------------------------------------<<
                    return false;
                }
            }
            //handle the tab index functions
        }).focus(function (e) {
            $(nGDD).find('li:first').addClass('currentDD');
            $(nGDD).find('li:last').addClass('lastDD');
            function checkKey(e) {
                //on keypress handle functions
                function moveDown() {
                    var current = $(nGDD).find('.currentDD:first');
                    var next = $(nGDD).find('.currentDD').next();
                    if ($(current).is('.lastDD')) {
                        return false;
                    } else {
                        $(next).addClass('currentDD');
                        $(current).removeClass('currentDD');
                        return true;
                    }
                }
                function moveUp() {
                    var current = $(nGDD).find('.currentDD:first');
                    var prev = $(nGDD).find('.currentDD').prev();
                    if ($(current).is('.first')) {
                        return false;
                    } else {
                        $(prev).addClass('currentDD');
                        $(current).removeClass('currentDD');
                        return true;
                    }
                }
                var curText = $(nGDD).find('.currentDD:first').text();
                var curVal = $(nGDD).find('.currentDD:first a').attr('rel');
                switch (e.keyCode) {
                    case 40:
                        $(curSel).val(curVal);
                        $(nGDD).find('span.gselected').text(curText);
                        moveDown();
                        return false;
                        break;
                    case 38:
                        $(curSel).val(curVal);
                        $(nGDD).find('span.gselected').text(curText);
                        moveUp();
                        return false;
                        break;
                    case 13:
                        $(nGDD).find('li').css('display', 'none');
                        return false;
                        break;
                    default:
                        return false;
                        break;
                }
            }
            $(document).keydown(checkKey);
        }).blur(function () {
            $(document).unbind('keydown');
        });
    });
}
