function showmap(element){
    $('#mapa').toggle();
    if (document.map == null) {
		document.geocoder;
        document.map;
        var latlng = new google.maps.LatLng(40.416944, -3.703611);
        var myOptions = {
            zoom: 18,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        document.map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        document.geocoder = new google.maps.Geocoder();
    }
	
	 if($(element).attr('lat') != ''){
		var latLng = new google.maps.LatLng($(element).attr('lat'), $(element).attr('lng'));
		posicionarEnMapa(element, latLng);
	} else { 
		document.geocoder.geocode({address: $(element).attr('address') + " SPAIN"}, 
			function(results, status){geoCodeCallback(element, results, status) });
	 }
}

function geoCodeCallback(element, results, status){
	if (status == google.maps.GeocoderStatus.OK) {
		posicionarEnMapa(element, results[0].geometry.location);
	}
	else {
		$('#infoLocal').html('Lo sentimos, google maps no ha podido encontrar esta dirección.');
		$('#nombreLocal').html($(element).attr('nombre'));
	}
}

function posicionarEnMapa(element, location){
	window.console.log(location);
	document.map.setCenter(location);
	var marker = new google.maps.Marker({
		map: document.map,
		position: location
	});
	$('#infoLocal').html($(element).attr('address') + ". " + $(element).attr('telefono'));
	$('#promoLink').attr('href', 'local_promociones.php?i=' + $(element).attr('i'));
	$('#eventLink').attr('href', 'local_eventos.php?i=' + $(element).attr('i'));
	$('#nombreLocal').html($(element).attr('nombre'));
}


function createMarker(latlng, number, html) {
	var marker = new GMarker(latlng, {draggable: true});
	marker.value = number;
		var myHtml = html;
		var center = marker.getLatLng();
		map.openInfoWindowHtml(latlng, "<font color=black>" + myHtml + "<br>" + center.toString() + "</font>");
	GEvent.addListener(marker, "dragstart", function() {
		map.closeInfoWindow();
	});
	GEvent.addListener(marker, "dragend", function() {
		var center = marker.getLatLng();
		marker.openInfoWindowHtml("<font color=black>" + myHtml + "<br>" + center.toString() + "</font>");
	});
	return marker;
}

function closemap(){
    $('#mapa').toggle();
}
function resetscroll(){
	$('.scroll').jScrollPane({showArrows:false,scrollbarWidth:13,animateTo:true});
}
function getLocalidad(){
    var provincia = $('#provincia').val();
    var ajaxOptions = {
        url: '_getLocalidad.php',
        data: {
            id: provincia
        },
        async: false,
        type: 'post',
        success: function(res){
            $('#localidad').html(res);
        }
        
    };
    $.ajax(ajaxOptions);
}


function addCompany(){
    $('.empresas:first').clone().each(function(){
        var index = $("#experiencia").children().length;
        $(this).find(":input").each(function(){
            $(this).attr("name", function(i, v){
                var chunk1 = v.substring(0, v.indexOf("[") + 1) + index;
                var chunk2 = v.substring(v.indexOf("]"), v.length);
                return chunk1 + chunk2;
            }).val("");
        });
    }).appendTo('#experiencia');
	resetscroll();
}

function input_focus(id){
    $("#l" + id).addClass('lcurrent');
}

function input_blur(id){
    $("#l" + id).removeClass('lcurrent');
}

function sendRegistro(){
	$("#email-error2").slideUp(500);
    // check for email
    var email = $("#email").val();
    var filter = /^([a-zA-Z0-9_.\-])+@(([a-zA-Z0-9\-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
        $("#email-error").slideDown(500,resetscroll);
        $("#email").focus();
        return false;
    }
    else {
        $("#email-error").slideUp(500);
    }

    // check Aviso legal
    if ($('#aviso:checked').val() == null) {
        $("#aviso-error").slideDown(500,resetscroll);
        return false;
    }
    else {
        $("#aviso-error").slideUp(500);
    }

	//Check PostalCode
   var pcode = $('#cp').val();
       if (pcode.length === 0) {
        $("#cp-error").slideDown(500,resetscroll);
        $("#cp").focus();
        return false;
    }
    else {
        $("#cp-error").slideUp(500);
    }
   
   var filter  = /^[0-9]{5,5}$/;
   if (!filter.test(pcode)) {
       $("#cp-error2").slideDown(500,resetscroll);
       $("#cp").focus();
       return false;
   }else {
        $("#cp-error2").slideUp(500);
    }	

    // check for name
    var name = $("#name").val();
    if (name.length === 0) {
        $("#name-error").slideDown(500,resetscroll);
        $("#name").focus();
        return false;
    }
    else {
        $("#name-error").slideUp(500);
    }
    document.form.submit();
}

function sendContactCV(){
    // check Aviso legal
    if ($('#aviso:checked').val() == null) {
        $("#aviso-error").slideDown(500,resetscroll);
        return false;
    }
    else {
        $("#aviso-error").slideUp(500);
    }
    // check for email
    var email = $("#email").val();
    var filter = /^([a-zA-Z0-9_.\-])+@(([a-zA-Z0-9\-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
        $("#email-error").slideDown(500,resetscroll);
        $("#email").focus();
        return false;
    }
    else {
        $("#email-error").slideUp(500);
    }
    
    // check for name
    var name = $("#name").val();
    if (name.length === 0) {
        $("#name-error").slideDown(500,resetscroll);
        $("#name").focus();
        return false;
    }
    else {
        $("#name-error").slideUp(500);
    }
    
    // check for apellidos
    var name = $("#apellidos").val();
    if (name.length === 0) {
        $("#apellidos-error").slideDown(500,resetscroll);
        $("#apellidos").focus();
        return false;
    }
    else {
        $("#apellidos-error").slideUp(500);
    }
    
    // check for telefono
    var name = $("#telefono").val();
    if (name.length === 0) {
        $("#telefono-error").slideDown(500,resetscroll);
        $("#telefono").focus();
        return false;
    }
    else {
        $("#telefono-error").slideUp(500);
    }
    
    // check experiencias
    var experienciacheck = true;
    $('#experiencia').each(function(){
        if (experienciacheck === false) {
            return false;
        }
        $(this).find("input:not([type='checkbox'])").each(function(){
            if (experienciacheck === false) {
                return false;
            }
            var campo = $(this).val();
            if (campo.length === 0) {
                $("#experiencia-error").slideDown(500,resetscroll);
                $(this).focus();
                experienciacheck = false;
                return false;
                
            }
            else {
                $("#experiencia-error").slideUp(500);
            }
        });
    });
    if (experienciacheck === false) {
        return false;
    }
    document.form.submit();
}

function sendContact(){

    /*// check for captcha
     var captcha = $("#captcha").val();
     if(captcha != captcha_c)
     {
     $("#captcha-error").slideDown(500);
     $("#captcha").focus();
     return false;
     }
     else {
     $("#captcha-error").slideUp(500);
     }*/
    // check Aviso legal
    if ($('#aviso:checked').val() == null) {
        $("#aviso-error").slideDown(500,resetscroll);
        return false;
    }
    else {
        $("#aviso-error").slideUp(500);
    }
    // check for email
    var email = $("#email").val();
    var filter = /^([a-zA-Z0-9_.\-])+@(([a-zA-Z0-9\-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
        $("#email-error").slideDown(500,resetscroll);
        $("#email").focus();
        return false;
    }
    else {
        $("#email-error").slideUp(500);
    }
    
    // check for message
    var msg = $("#message").val();
    if (msg.length === 0) {
        $("#message-error").slideDown(500,resetscroll);
        $("#message").focus();
        return false;
    }
    else {
        $("#message-error").slideUp(500);
    }
    
    
    
    /*var data = $("#contact_form > form").serialize();
     $.ajax({
     type: "POST",
     url: "sendContact.php",
     data: data,
     cache: false,
     success: function(msg){}
     });
     */
    $("#contact_form").fadeOut(1000, function(){
        $("#message_sent").slideDown(500);
    });
    
    
    /*return false;*/
    $('.scroll').jScrollPane({showArrows:false,scrollbarWidth:13,animateTo:true});
    document.form.submit();
}

var captcha_a = Math.ceil(Math.random() * 10);
var captcha_b = Math.ceil(Math.random() * 10);
var captcha_c = captcha_a + captcha_b;
function generate_captcha(id){
    var id = (id) ? id : 'lcaptcha';
    $("#" + id).html(captcha_a + " + " + captcha_b + " = ");
}

var jGalleryTimer = 0;
var jGalleryFirstStart = true;
var jGallery_action = false;
function jGallery(id, visible, timeInterval, transitionInterval){
    var visible = (visible) ? visible : 1;
    var timeInterval = (timeInterval) ? timeInterval : 5000;
    var transitionInterval = (transitionInterval) ? transitionInterval : 200;
    var w = (w) ? w : $("." + id + "-gallery-div :first").width();
    var cnt = $("#gallery-" + id + "-holder > div").size();
    
    if (jGalleryTimer) {
        clearInterval(jGalleryTimer);
        jGalleryTimer = 0;
    }
    
    if (!jGalleryFirstStart) {
        if (!jGallery_move(id, cnt, -1, w, visible, transitionInterval)) {
            jGallery_restart(id, cnt, transitionInterval);
        }
    }
    
    jGalleryFirstStart = false;
    
    jGalleryTimer = setInterval(function(){
        jGallery(id, visible, timeInterval, transitionInterval);
    }, timeInterval);
}

function jGallery_move(id, cnt, dir, w, visible, transitionInterval){
    if (jGallery_action) {
        return false;
    }
    
    var curr = document.getElementById("gallery-" + id + "-holder").style.left;
    
    curr = parseFloat(curr);
    
    
    if (isNaN(curr)) {
        curr = 0;
    }
    if (dir > 0) {
        if (curr >= 0) {
            return false;
        }
    }
    else {
        if (curr + cnt * w - visible * w <= 0) {
            return false;
        }
    }
    
    jGallery_action = true;
    var offset = w;
    
    if (dir < 0) {
        dir = "-";
    }
    else {
        dir = "+";
    }
    
    $("#gallery-" + id + "-holder").animate({
        left: dir + "=" + offset + "px"
    }, {
        queue: true,
        duration: transitionInterval,
        complete: function(){
            jGallery_action = false;
        }
    });
    
    return true;
}

function jGallery_restart(id, cnt, transitionInterval){
    if (jGallery_action) {
        return false;
    }
    
    var curr = document.getElementById("gallery-" + id + "-holder").style.left;
    curr = parseFloat(curr);
    
    if (isNaN(curr)) {
        curr = 0;
    }
    if (curr >= 0) {
        return false;
    }
    
    jGallery_action = true;
    var offset = curr * (-1);
    
    $("#gallery-" + id + "-holder").animate({
        left: "+=" + offset + "px"
    }, {
        queue: true,
        duration: transitionInterval * cnt,
        complete: function(){
            jGallery_action = false;
        }
    });
    
    return true;
}

var jMenu_timeout = 500;
var jMenu_effectTime = 200;
var jMenu_closetimer = 0;
var jMenu_ddmenuitem = 0;
var jMenu_openid = 0;
var jMenu_action = false;
function jMenu_open(){
    jMenu_canceltimer();
    
    if ($("a", this).html() == jMenu_openid) {
        return;
    }
    
    if (jMenu_action) {
        return;
    }
    
    jMenu_close();
    
    if ($("ul", this).size() === 0) {
        return;
    }
    
    jMenu_action = true;
    jMenu_ddmenuitem = $(this).find('ul').slideDown(jMenu_effectTime, function(){
        jMenu_action = false;
    });
    jMenu_openid = $("a", this).html();
    if (document.getElementById('ul')) 
        document.getElementById('ul').className = 'current';
}

function jMenu_close(){
    if (jMenu_action) {
        return;
    }
    
    if (jMenu_ddmenuitem) {
        jMenu_action = true;
        jMenu_ddmenuitem.fadeOut(jMenu_effectTime, function(){
            jMenu_action = false;
        });
        jMenu_ddmenuitem = null;
        jMenu_openid = null;
    }
}

function jMenu_timer(){
    jMenu_closetimer = window.setTimeout(jMenu_close, jMenu_timeout);
}

function jMenu_canceltimer(){
    if (jMenu_closetimer) {
        window.clearTimeout(jMenu_closetimer);
        jMenu_closetimer = null;
    }
}

$(document).ready(function(){
    $('#jMenu > li').bind('mouseover', jMenu_open);
    $('#jMenu > li').bind('mouseout', jMenu_timer);
    $('#jMenu > li > ul').bind('mouseover', jMenu_canceltimer);
    $('#jMenu > li > ul > li').bind('mouseover', jMenu_canceltimer);
});
document.onclick = jMenu_close;

