var active_preview = null, toggle_timer;
var active_dropdown = null;

jQuery('document').ready(function($){
	$('[title]').removeAttr('title');
}); 

jQuery(document).ready(
	function(){
		
		jQuery.fn.exists = function(){return ($(this).length > 0);}
		
		/****** THE SEARCHFORM ******/
		
		var cookie_options = { path: '/', expires: 10 };
		jQuery('div.searchfield-toggle').click( function() {
			id = jQuery(this).parent().attr('id');
			if (jQuery(this).hasClass('searchfield-doextend')) { // appear
				jQuery('div#'+id+' div.searchfield-extended').slideDown();
				jQuery(this).addClass('searchfield-docompact');
				jQuery(this).removeClass('searchfield-doextend');
				jQuery.cookie(id, '1', cookie_options);
				
				// disappear others
				jQuery('div.searchfield-toggle').each( function(index) {
					otherid = jQuery(this).parent().attr('id');
					if(otherid != id) {
						jQuery('div#'+otherid+' div.searchfield-extended').slideUp(); 
						jQuery(this).removeClass('searchfield-docompact');
						jQuery(this).addClass('searchfield-doextend');
						jQuery.cookie(otherid, '0', cookie_options);
					}

				});
				
			                
			}
			else { // disappear
				jQuery('div#'+id+' div.searchfield-extended').slideUp(); 
				jQuery(this).removeClass('searchfield-docompact');
				jQuery(this).addClass('searchfield-doextend');
				jQuery.cookie(id, '0', cookie_options);
			}
		});
		
		function update_segment_url() {
			/*var count = jQuery('div#searchfield-segment input:checked').length;
			if(count==1 && jQuery('div#searchfield-segment input#segment-kontor').attr('checked')==true) {
				jQuery('form#searchbar').attr('ACTION', '/kontorlokaler');
				return;
			}
			if(count==1 && jQuery('div#searchfield-segment input#segment-butik').attr('checked')==true) {
				jQuery('form#searchbar').attr('ACTION', '/butikslokaler');
				return;
			}
			if(count==1 && jQuery('div#searchfield-segment input#segment-kontorhotel').attr('checked')==true) {
				jQuery('form#searchbar').attr('ACTION', '/kontorhotel');
				return;
			}
			if(count==1 && jQuery('div#searchfield-segment input#segment-logistik').attr('checked')==true) {
				jQuery('form#searchbar').attr('ACTION', '/lagerlokaler');
				return;
			}*/

			jQuery('form#searchbar').attr('ACTION', '/oversigt/lejemaal');
			return;
		}
		
		jQuery('div#searchfield-segment input').change( function() {update_searchfield_checkbox_status('searchfield-segment'); update_segment_url(); }); 
		jQuery('div#searchfield-omraade input').change( function() { update_searchfield_checkbox_status('searchfield-omraade'); });
		jQuery('div#searchfield-areal input').change( function() { update_searchfield_checkbox_status('searchfield-areal'); }); 
		jQuery('div#searchfield-lejepris input').change( function() { update_searchfield_checkbox_status('searchfield-lejepris'); }); 
		
		// start by update the statuses
		update_searchfield_checkbox_status('searchfield-segment');
		update_searchfield_checkbox_status('searchfield-omraade');
		update_searchfield_checkbox_status('searchfield-areal');
		update_searchfield_checkbox_status('searchfield-lejepris');
		if(jQuery('div#searchparams-message').exists()) {
			jQuery('div#searchparams-message').html( jQuery('div#searchfield-segment div.status').text() + ' / ' + jQuery('div#searchfield-omraade div.status').text() + ' / ' + jQuery('div#searchfield-areal div.status').text() + ' / ' + jQuery('div#searchfield-lejepris div.status').text() );
		}
		update_segment_url();
		

		jQuery('div.searchfield-toggle').each( function(index) {
			var id = jQuery(this).parent().attr('id');
			if(jQuery.cookie(id)=='1') {
				jQuery('div#'+id+' div.searchfield-extended').show(0);
				jQuery(this).addClass('searchfield-docompact');
				jQuery(this).removeClass('searchfield-doextend');
			}
		});
		
		jQuery('button#searchsubmit').click( function() {
			jQuery('form#searchbar').submit();
		});

		jQuery('form#searchbar input').change( function () {
			jQuery.post('/ajax/searchcount', jQuery('form#searchbar').serialize(), function(response) {
				if(response!='')
					jQuery('p#searchcount').html('De valgte søgekriterier giver <b>'+response+ '</b>'+' resultater.').fadeIn(200).fadeOut(200).fadeIn(200);

			}, 'text');
			
		})

		/****** ENKELT SAG ******/
		jQuery('div.photonav div.thumb img').each(function() {
			jQuery(this).hover(function() {
				jQuery('div.photonav div.thumb img').stop().animate({ opacity:0.5 }, 80);
				if(jQuery(this).parent().hasClass("newThumb")){
					sized_src = jQuery(this).parent().attr("href");
				}
				else{
					sized_src = jQuery(this).attr('src').replace('_thumb', '_sized');
				}
				jQuery(this).stop().animate({ opacity: 1 }, 80);
				jQuery('img#mainpic').attr('src', sized_src);
				jQuery('p#mainpicdesc').text(jQuery(this).attr('alt'));
			}, function() {
			});
 		});
		
		jQuery('img#mainpic').click( function() {
			full_src = jQuery(this).attr('src').replace('_sized', '');
			Shadowbox.open({
		        content:    full_src,
				gallery: 'photoview',
		        player:     "img"
		    });
		});
		
		
		function isiDevice(){
		    return (
		        (navigator.platform.indexOf("iPhone") != -1) ||
		        (navigator.platform.indexOf("iPad") != -1) ||
		        (navigator.platform.indexOf("iPod") != -1)
		    );
		}



		
		// lejemål photoview hover effekt (fremvis teasertekst)
		if(!isiDevice()){		
			jQuery('div.lejemaal-photo').mouseover(function(){
				id = jQuery(this).attr('id');
				jQuery('div#'+id+' div.lejemaal-photo-desc-inner-mouseover').show();
				jQuery('div#'+id+' div.lejemaal-photo-desc-inner-mouseout').hide();
			}).mouseout(function(){
				id = jQuery(this).attr('id');
				jQuery('div#'+id+' div.lejemaal-photo-desc-inner-mouseover').hide();
				jQuery('div#'+id+' div.lejemaal-photo-desc-inner-mouseout').show();
				
			}).click(function() {
				id = jQuery(this).attr('id');
				href = jQuery('div#'+id+' a:first').attr('href');
				window.location = href;
			});
		}
		else{
			jQuery('div.lejemaal-photo').click(function(){
				id = jQuery(this).attr('id');
				
				if(jQuery('div#'+id+' div.lejemaal-photo-desc-inner-mouseover').css("display") == "none"){
					jQuery('div#'+id+' div.lejemaal-photo-desc-inner-mouseover').show();
					jQuery('div#'+id+' div.lejemaal-photo-desc-inner-mouseout').hide();
				}
				else{
					id = jQuery(this).attr('id');
					href = jQuery('div#'+id+' a:first').attr('href');
					window.location = href;
				}
			});
		}
		
		
		



		/****** NYHEDSBREVSTILMELDING ******/
		if(jQuery('div#nyhedsbrev-box').exists()) {
		
			
			$(function () {
		        $('#nyhedsbrev-form').submit(function (e) {
		            e.preventDefault();
		            $.getJSON(
		            this.action + "?callback=?",
		            $(this).serialize(),
		            function (data) {
		                if (data.Status === 400) {
		                    //alert("Error: " + data.Message);
		                } else { // 200
		                	jQuery('div#nyhedsbrev-form-container').fadeOut(100);
		                   jQuery('p#nyhedsbrev-message').text("Du er nu tilmeldt").fadeIn(200).fadeOut(200).fadeIn(200).fadeOut(200).fadeIn(200);
		                }
		            });
		        });
		    });
			
			/*jQuery('button#nyhedsbrev-tilmeld').click( function() {	
				jQuery.post('/ajax/nyhedsbrevtilmeld', jQuery('form#nyhedsbrev-form').serialize(), function(data) {
					
					if(data.res=='success') {
						jQuery('div#nyhedsbrev-form-container').fadeOut(100);
					}					
					jQuery('p#nyhedsbrev-message').text(data.msg).fadeIn(200).fadeOut(200).fadeIn(200).fadeOut(200).fadeIn(200);
					
				}, 'json');
				return false;
			});*/
			/*jQuery('form#nyhedsbrev-form').submit( function() {
				//jQuery('button#nyhedsbrev-tilmeld').click();
				return false;
			});*/
			jQuery('input#nyhedsbrev-field-firma').focus( function() {
				if(jQuery(this).attr('value')=='Firma')
					jQuery(this).attr('value', '');
			}).blur(function() {
				if(jQuery(this).attr('value')=='')
					jQuery(this).attr('value', 'Firma');
			});
			
			jQuery('input#nyhedsbrev-field-email').focus( function() {
				if(jQuery(this).attr('value')=='E-mail')
					jQuery(this).attr('value', '');
			}).blur(function() {
				if(jQuery(this).attr('value')=='')
					jQuery(this).attr('value', 'E-mail');
			});

		}
		

		/****** SKRIV DIG OP FORMULAR ******/
		if(jQuery('form#skrivdigop').exists()) {
			jQuery('div.field-doextend').click( function() {
				id = jQuery(this).parent().attr('id');
				if(id)
					field_dropdown_show(id);

			});

			jQuery('div.docompact').click( function() {
				id = jQuery(this).parent().parent().parent().attr('id');
				if(id)
					field_dropdown_hide(id);
			});
			jQuery('div#skrivdigop-box .tekst').focus( function(){
				if(active_dropdown!=null) {
					field_dropdown_hide(active_dropdown);
				}
			});
			
			update_searchfield_checkbox_status('field-segment');
			update_searchfield_checkbox_status('field-omraade');
			update_searchfield_checkbox_status('field-areal');
			update_searchfield_checkbox_status('field-lejepris');


			jQuery('button#skrivdigopsubmit').click( function() {
				jQuery('form#skrivdigop').submit();
			});

		}


		/****** SØGERESULTAT ******/
	
		jQuery('tr.tr-lejemaal').click(function() {
			id = jQuery(this).attr('id');
			href = jQuery('tr#'+id+' a:first').attr('href');
			window.location = href;
		});


		if(jQuery('div#searchresults-extratext').exists()) {
			update_search_results_extratext();
		}
		
		
		if(jQuery('td.cell-photo a').exists()) {
			jQuery('td.cell-photo a').imgPreview({
				srcAttr: 'rel',
				onShow: function(link){
					active_preview_str = jQuery(link).attr('id').replace('small-images-', '');
					active_preview = active_preview_str.split('|');
					toggle_timer = setTimeout ( "toggle_preview_image(0)", 1500 );
		    	}, onLoad: function(){
				}, onHide: function(link){
					active_preview = null;
					clearTimeout(toggle_timer);
				}
			});
		}
		
	});
	
	function status_nicify(status) {
		status = jQuery.trim(status.substring(1));
		// status = status.replace(/ /g, ', ');
		status = status.charAt(0).toUpperCase() + status.slice(1);
		if(status=='') {
			status = 'Intet valgt';
		}
		return status;
	}
	
		

	
function update_searchfield_checkbox_status(searchfieldid) {
	var status = '';
	var alle = true;
	
	jQuery('div#'+searchfieldid+' input').each( function() {
		if(jQuery(this).is(':checked')) {
			var id = jQuery(this).attr('id');
			var name = jQuery("div#"+searchfieldid+" label[for='"+id+"']").text().toLowerCase();
			if(searchfieldid=='searchfield-areal' || searchfieldid=='field-areal')
				name = name.replace(' m²', '');
			if(searchfieldid=='searchfield-lejepris' || searchfieldid=='field-lejepris')
				name = name.replace(' kr', '');
			if(name!=null) {
				status += ', '+name;
			}
		}
		else {
			alle = false;
		}

	});
	
	if(searchfieldid=='searchfield-areal' || searchfieldid=='field-areal') {
		if(alle==true) {
			status = 'Alle størrelser';
		}
		else {
			status = status_nicify(status);
			if(status!='Intet valgt')
				status += ' m²';
		}
	}
	else if(searchfieldid=='searchfield-lejepris' || searchfieldid=='field-lejepris') {
		if(alle==true) {
			status = 'Alle priser';
		}
		else {
			status = status_nicify(status);
			if(status!='Intet valgt')
				status += ' kr';
		}
	}
	else {
		if(alle==true) {
			status = 'Alle';
		}
		else {
			status = status_nicify(status);
		}			
	}
	
	jQuery('div#'+searchfieldid+' div.status').text(status);
}


function toggle_preview_image(index) {
	if(active_preview!=null) {
		new_index = index + 1;
		if(new_index>=active_preview.length)
			new_index = 0;
		var new_src = active_preview[new_index];
		jQuery('div#imgPreviewContainer img').attr('src', new_src);
		toggle_timer = setTimeout ( "toggle_preview_image(new_index)", 1500 );
	}
}

function search_set_page(page) {
	jQuery('form#searchbar input#page').attr('value', page);
	jQuery('form#searchbar').submit();
}

function search_set_showall(showall) {
	jQuery('form#searchbar input#showall').attr('value', showall);
	jQuery('form#searchbar').submit();
}

function search_set_order(order_by, order_d) {
	jQuery('form#searchbar input#order_by').attr('value', order_by);
	jQuery('form#searchbar input#order_d').attr('value', order_d);
	jQuery('form#searchbar').submit();
}

function update_search_results_extratext() {
	h_ekstratext = jQuery('div#searchresults-extratext').height();
	h_searchresults = jQuery('div.searchresults').height();
	// jQuery('div#searchresults-extratext').css('top', h_searchresults+40);
	
	// jQuery('div.searchresults').css('padding-bottom', jQuery('div#searchresults-extratext').height()+40);
	
	jQuery('div#searchresults-extratext div.column-small').height(jQuery('div#searchresults-extratext').height());
	
}

function search_set_resview(resview) {
	jQuery('form#searchbar input#resview').attr('value', resview);
	jQuery('form#searchbar').submit();
	/*if(resview=='gallery') {
		jQuery('a.resview-gallery').hide();
		jQuery('a.resview-table').show();
		jQuery('table#searchresults-list').hide();
		jQuery('div#searchresults-gallery').show();
		$(".nav .nav-right a").each(function(){
			var h = $(this).attr("href");
			h = h.replace("resview=table","resview=gallery");
			if(h.indexOf("?") === -1){h += "?resview=gallery";}
			$(this).attr("href",h)
		});
	}
	else {
		jQuery('a.resview-gallery').show();
		jQuery('a.resview-table').hide();
		jQuery('div#searchresults-gallery').hide();
		jQuery('table#searchresults-list').show();
		$(".nav .nav-right a").each(function(){
			var h = $(this).attr("href");
			h = h.replace("resview=gallery","resview=table");
			if(h.indexOf("?") === -1){h += "?resview=table";}
			$(this).attr("href",h);
		});
	}
	
	$(".nav-right a").each(function(){
		$(this).attr("href",this.href.replace());
	});
	update_search_results_extratext();
	// jQuery('form#searchbar').submit();*/
}

function field_dropdown_show(id) {
	if(active_dropdown!=null) {
		field_dropdown_hide(active_dropdown);
	}
	jQuery('div#'+id+' div.field-extended').fadeIn(300);
	active_dropdown = id;
}
function field_dropdown_hide(id) {
	update_searchfield_checkbox_status(id); 
	jQuery('div#'+id+' div.field-extended').fadeOut(300); 
	active_dropdown = null;
}



// for the dropdown submenu

var timeout         = 500;
var closetimer		= 0;
var ddmenuitem      = 0;

function jsddm_open() {
	jsddm_canceltimer();
	jsddm_close();
	ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');
}

function jsddm_close() {
	if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}

function jsddm_timer() {
	closetimer = window.setTimeout(jsddm_close, timeout);
}

function jsddm_canceltimer() {
	if(closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

jQuery(document).ready(function() {
	$('#mainmenu > li').bind('mouseover', jsddm_open);
	$('#mainmenu > li').bind('mouseout',  jsddm_timer);
});
document.onclick = jsddm_close;

