var idioma='es';

$.fn.matuselects = function() {
	
    var ample_scroll=20;
    var alt_fletxes=20;
    var pixels_segon=150;
	
    this.each( function(){

        o_values=$('option', this);
        o_style=$(this)[0].className;
        o_id=$(this)[0].id;
        o_name=$(this)[0].name;
        o_val=$(this).val();
        o_text=$('option:selected', this).text();
        o_scrolled=$(this).hasClass('scrolled_select');
        o_centrat=$(this).hasClass('centra_vertical');
		
        substitut  = '<input type="hidden" name="' + o_name + '" value="' + o_val + '" id="' + o_id + '" />';
        substitut += '<input type="text" id="' + o_id + '_view" class="' + o_style + '" value="' + o_text + '" readonly="readonly" />';
        substitut += '<div class="popup_select ' + o_style + '" id="' + o_id + '_popup">';
		
        //if (o_scrolled && o_centrat) substitut += '<div class="popup_contingut" style="margin-top:1px">';
        //if (o_scrolled && !o_centrat) substitut += '<div class="popup_contingut" style="margin-top:0px">';
        if (o_centrat) substitut += '<div class="popup_contingut" style="margin-top:1px">';
        if (!o_centrat) substitut += '<div class="popup_contingut" style="margin-top:0px">';

        for( var x=0; x<o_values.length; x++) {
            if (o_values[x].value != '') substitut += '<a href="#" onclick="$.fn.matuselects.cscv(\'' + o_values[x].text + '\',\'' + o_values[x].value + '\', \'' + o_id + '\'); return false;">' + o_values[x].text + '</a>';
        }

        substitut += '</div>';
        if (o_scrolled)substitut += '</div>';

        $(this).replaceWith(substitut);
		
        if (o_scrolled) {

            obj_popup=$('#'+o_id+'_popup')[0];
            obj_ample=parseFloat($(obj_popup).css('width'))-ample_scroll;
            obj_alt=parseFloat($(obj_popup).css('height'));

            $('div.popup_contingut',obj_popup).css('width', obj_ample+'px');
            //$('div.popup_contingut',obj_popup).css('height', obj_alt+'px');

            html_scroll='<a class="popup_fletxa popup_fletxa_up" style="margin-left:' + obj_ample + 'px"></a><a class="popup_fletxa popup_fletxa_down" style="margin-top:' + (obj_alt - alt_fletxes) + 'px; margin-left:' + obj_ample + 'px"></a>';

            $(obj_popup).append(html_scroll);
						
            $('a.popup_fletxa_down', obj_popup)
            .mouseover(function () {
                obj=$(this).prev().prev();
                pixels_joc=parseFloat($(obj).height()) - parseFloat($(obj).parent().css('height'));
                pixels_mou=pixels_joc + parseFloat($(obj).css('marginTop'));
					
                if (pixels_mou > 0) {
                    tempo = Math.floor((pixels_mou / pixels_segon) * 1000);
                    $(obj).animate({
                        marginTop:-pixels_joc
                        },tempo);
                }
            })
            .mouseout(function () {
                $(this).prev().prev().stop(true, false);	
            })
            .click(function () {
                return false;
            });


            $('a.popup_fletxa_up', obj_popup)
            .mouseover(function () {
                obj=$(this).prev();
                pixels_mou=parseFloat($(obj).css('marginTop')) * -1;
                if (pixels_mou > 0) {
                    tempo = Math.floor((pixels_mou / pixels_segon) * 1000);
                    $(obj).animate({
                        marginTop:0
                    },tempo);
                }
            })
            .mouseout(function () {
                $(this).prev().stop(true, false);	
            })
            .click(function () {
                return false;
            });

        }

        var handler = function() {
            $('div.popup_select').fadeOut('fast');
            $('div.maq_land_footer').css('zIndex',2);
        };

        $('#' + o_id + "_view").click(function() {
            $('div.maq_land_footer').css('zIndex',0);
            this.blur();
            $('div.popup_select').fadeOut('fast');
            $(this).next()
            .css('left', ($(this).offset().left - $('div.maq_landing').offset().left) + 'px')
            .css('display','block')
				
            .css('marginTop', '0px')
            .css('height','0px')
            .animate({
                'marginTop':-110, 
                'height':227
            });

            $('body').bind('click', handler);
			
            if ($('div.popup_contingut', $(this).next()).css('marginTop') == '1px') {
                altura_content=parseFloat($('div.popup_contingut', $(this).next()).height());
                altura_contenidor=parseFloat($(this).next().height());
                $('div.popup_contingut', $(this).next()).css('marginTop', Math.floor((altura_contenidor-altura_content)/2)+'px');
            }
			
            return false;
        });

    });
	
    $.fn.matuselects.cscv = function  (o_text, o_value, o_id) {
        $('div.maq_land_footer').css('zIndex',2);
        handler=null;
        $('body').unbind('click', handler);

        $('#' + o_id).val(o_value);
        $('#' + o_id + '_view').val(o_text);
        $('#' + o_id + '_popup').css('display','none');
        return false;
    }
}


$.extend(
{
    getUrlVars: function () {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    },
    getUrlVar: function(name) {
        return $.getUrlVars()[name];
    }
});


$(document).ready( function () {
	
    //Car(gar imagen de fondo del landing
    if ($('div.maq_landing').length == 1);
    $(window).bind("load", function() {  
        $('<img />')
        .attr('src', 'img/landing_bg.jpg')
        .attr('width', '346')
        .attr('height', '328')
        .load(function(){
            $('div.maq_land_bg').append( $(this) );
            $('div.maq_land_bg img').fadeIn(2000, function () {
                $('div.idioma_es, div.idioma_es p').fadeIn(1000);
            });
        });
    });
	
    $('select.custom_select').matuselects();

    $('form.fecha_pais').bind("submit", function(e){

        $('div.form_error').css('display','none');
		
        if ($('#elije_pais_'+idioma).val() == '' || $('#elije_pais_'+idioma).val() == '-') {
            //No hemos elegido paÌs
            $('div.form_malament_'+idioma).css('display','block');
            return false;
        }
		
        if (!validarFecha($('#dia_'+idioma).val(), $('#mes_'+idioma).val(), $('#any_'+idioma).val()) ) {
            //La fecha es incorrecta (no elegida o 31 de febrero p.e.
            $('div.form_malament_'+idioma).css('display','block');
            return false;
        }
		
        if (!validarEdad($('#dia_'+idioma).val(), $('#mes_'+idioma).val(), $('#any_'+idioma).val()) ) {
            $('div.form_menor_'+idioma).css('display','block');
            return false;
        }
		
        var url_redir = $.getUrlVar('u');

        var referer_ok = false;
        var referer_url = '';
		
        if(url_redir)
        {	
            var procedenciaValida = new Array(
                "http://matusalem.local",
                "http://www.matusalem.com",
                "http://www.matusalem.com.es",
                "http://matusalem.com",
                "http://matusalem.com.es",
                "http://test.matusalem.com",
                "http://matusalem.decpreproduccion.com",
				"http://webmatusalem.com.mialias.net"
                );
			
            for(i in procedenciaValida) {
                if(url_redir.indexOf(procedenciaValida[i]) > -1) {
                    referer_ok = true;
                }
            }
			
            var procedenciaNOValida = new Array(
                "http://matusalem.com.es/landingFB/index.php",
                "http://www.matusalem.com.es/landingFB/index.php"
                );
			
            for(i in procedenciaNOValida) {
                if(url_redir.indexOf(procedenciaNOValida[i]) > -1) {
                    referer_ok = false;
                }
            }
        }
				
        if(referer_ok) referer_url='&url=' + escape(url_redir);
		
        anar_url = "?d=" + $('#dia_'+idioma).val() + "&m=" + $('#mes_'+idioma).val() + "&y=" + $('#any_'+idioma).val() + "&p=" + $('#elije_pais_'+idioma).val() + referer_url;
			
        if ($('#elije_pais_'+idioma).val() == 'ES') {
            anar_url = 'http://www.matusalem.com.es/' + anar_url;
            location.href = arreglar_url(anar_url);
			//alert( 'Anar a la URL: ' + anar_url);
            //return false;
        } else {
			
            var only_domain = false;
            for(i in procedenciaValida) {
                if( url_redir == (procedenciaValida[i] + "/") ) {
                    only_domain = true;
                }
                if( url_redir == (procedenciaValida[i] ) ) {
                    only_domain = true;
                    anar_url += "/";
                }
            }
			
            if(only_domain)  anar_url += idioma;
            //anar_url += "&p="+$('#elije_pais_'+idioma).val();
            //anar_url = BASE_URL + "index.php/" + idioma + "/" + anar_url + "&u=" + url_redir;
            anar_url = 'http://www.matusalem.com/' + idioma + '.html' + anar_url;
            location.href = arreglar_url(anar_url) + '.html';
			//alert( 'Anar a la URL: ' + anar_url);
            //return false;
        }
        //alert('return false, no vaig enlloc');
        return false;		
    })

    $('a.boto_es').click (function() {
        $('div.idioma_es').fadeIn();
        $('div.idioma_en').fadeOut();
        idioma='es';
    });
    $('a.boto_en').click (function() {
        $('div.idioma_en p').css('display','block');
        $('div.idioma_es').fadeOut();
        $('div.idioma_en').fadeIn();
        idioma='en';
    });
	
    //El peu sempre sota
    function arregla_peu() {
        if (jQuery(window).height()>605) {
            jQuery('body').removeClass('no_cap_js');
        } else {
            jQuery('body').addClass('no_cap_js');
        }
    }
    arregla_peu();	
	
    jQuery(window).resize(function() {
        arregla_peu();
    });

});


function arreglar_url(cual) {
	//alert(cual);
	primer_trozo=cual.substr(0, cual.indexOf('?'));
	segundo_trozo=cual.substr(cual.indexOf('url=http')+4,cual.lastIndexOf('/')-(cual.indexOf('url=http')+3));
	
	if (primer_trozo.substr(primer_trozo.length-1) == '/') primer_trozo=primer_trozo.substr(0, primer_trozo.length-1)
	if (segundo_trozo.substr(segundo_trozo.length-1) == '/') segundo_trozo=segundo_trozo.substr(0, segundo_trozo.length-1)
	//alert (primer_trozo);
	//alert (segundo_trozo);
	if (escape(primer_trozo) != segundo_trozo) {
		if ( $('#elije_pais_'+idioma).val() == 'ES' && segundo_trozo.indexOf('matusalem.com.es') > -1) {
			//alert("no toquem la url, pq venim de i anem a Espanya");
			//cual=cual.replace(segundo_trozo) + escape(primer_trozo);
		} else {
			cual=cual.substr(0,cual.indexOf(segundo_trozo)) + escape(primer_trozo);
		}
		//alert ('diferents, arreglat: ' + cual);
	} else {
		//alert ('iguals: ' + cual);
	}
	//alert(cual);
	return cual;

}


function validarFecha(dia,mes,any) { 
    var data=new Date(mes+'/'+dia+'/'+any);
    var dia2=data.getDate();
    var mes2=data.getMonth()+1;
    var any2=data.getFullYear();

    if (parseInt(dia,10) != parseInt(dia2,10)) return false;
    if (parseInt(mes,10) != parseInt(mes2,10)) return false;
    if (parseInt(any,10) != parseInt(any2,10)) return false;
	
    return true;
}

function validarEdad(dia,mes,any) { 
    any=parseInt(any,10);
	
    var data=new Date(mes+'/'+dia+'/'+(any+18));

    var data2=new Date();
    var dia2=data2.getDate();
    var mes2=data2.getMonth()+1;
    var any2=data2.getFullYear();
    data2=new Date(mes2+'/'+dia2+'/'+any2);
		
    if (data>data2) return false;

    return true;
}

function urlencode(str) {
    return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}

