// Favola Basic js

// Add class when JS is enabled
if(document.getElementById){
	var html = document.getElementsByTagName("html")[0];
	html.className = 'js';
}

// Add class when page is in iframe
if(top.location != self.location){
	var html = document.getElementsByTagName("html")[0];
	html.className = 'js iframe';
}

// DOM ready
var slider1;
var slider2;
jQuery(document).ready(function($){
	labelToInput();
	wheel();
	removeTitle();
	
	// Initiate Slider 1
	slider1 = jQuery('#slider1').slider({
		min: 1000,
		max: 20000,
		step: 200,
		range: 'min',
		animate: true,
		change: calculateSliders,
		slide: calculateSliders
	});
	// Initiate Slider 2
	slider2 = jQuery('#slider2').slider({
		min: 100,
		max: 2000,
		step: 20,
		range: 'min',
		animate: true,
		change: calculateSliders,
		slide: calculateSliders
	});
	
	// Bind button to move sliders handle
	jQuery('#focusTest').click(function() {
		slider1.slider('value', 20000);
		slider2.slider('value', 2000);
		setTimeout(function() {
			slider1.slider('value', 1);
			slider2.slider('value', 1);
		}, 450);
		
	});
	
	
	// Validate comment form
	$('#writecomment').parent().submit(function(e) {
		var error = 0;
		var errormsg = '';
		$(this).find(':input').each(function() {
			if ($(this).hasClass('required')) {
				if ($(this).val() == '' || $(this).val() == $('label[for="' + $(this).attr('id') + '"]').text()) {
					switch($(this).attr('name')) {
					case 'author':
						errormsg += 'Du skal indtaste dit navn\n';
						break;
					case 'email':
						errormsg += 'Du skal indtaste en gyldig e-mailadresse\n';
						break;
					case 'comment':
						errormsg += 'Du mangler at indtaste en kommentar';
						break;
					}
					
					error = 1;
				}
			}
		});
		
		if (error > 0) {
			alert(errormsg);
			e.preventDefault();
			return false;
		} else {
			return true;
		}
	});
	
	$('#contactForm').submit(function(e) {
		var error = 0;
		var errormsg = '';
		$(this).find(':input').each(function() {
			if ($(this).hasClass('required')) {
				if ($(this).val() == '' || $(this).val() == $('label[for="' + $(this).attr('id') + '"]').text()) {
					switch($(this).attr('name')) {
					case 'navn':
						errormsg += 'Du skal indtaste dit navn\n';
						break;
					case 'email':
						errormsg += 'Du skal indtaste en gyldig e-mailadresse\n';
						break;
					case 'virksomhed':
						errormsg += 'Du skal indtaste virksomhed\n';
						break;
					case 'telefon':
						errormsg += 'Du skal indtaste telefon\n';
						break;
					case 'kampagne':
						errormsg += 'Du skal indtaste kampagner\n';
						break;
					case 'inventory':
						errormsg += 'Du skal indtaste inventory\n';
						break;
					}
					
					error = 1;
				}
			}
		});
		
		if (error > 0) {
			alert(errormsg);
			e.preventDefault();
			return false;
		} else {
			return true;
		}
	});
	
	
	// Video popup
	var videoPopup = jQuery('a.videoPopup').fancybox({
		type: 'iframe',
		width: 900,
		height: 557,
		overlayColor: '#000000',
		overlayOpacity: 0.7,
		padding: 0
	});
	
	// Iframe Popup
	var fancyIframe = jQuery('a.fancybox-iframe').fancybox({
		type: 'iframe',
		width: 400,
		height: 538,
		overlayColor: '#000000',
		overlayOpacity: 0.7,
		padding: 0,
		scrolling: 'no'
	});
	
	if ((top.location != self.location) && jQuery('html.iframe body').hasClass('lightboxAutoClose')) {
		setTimeout(function() {
			parent.jQuery.fancybox.close();
		}, 3000);
	}
});

function calculateSliders(event, ui) {
	
	// Update value
	jQuery(this).parent().parent().find('span').html(addThousandPoints(ui.value));
	
	// Result box
	var resultBox = jQuery('#slideResult');
	
	// Calculate
	var s1Result = parseInt(slider1.slider('value'));
	var s2Result = parseInt(slider2.slider('value'));
	var slidersResult = s2Result * s1Result;
	
	if (s2Result >= 800 && slidersResult >= 8000000) {
		// P1 = Above 800
		// P2 = Above 8.000.000
		// = Yes
		
		// Manipulate button's link to contain the sliders values
		var addressBtn = jQuery('#slider-address');
		var addressBtnUrl = jQuery('#slider-address-url').val();
		addressBtnUrl += '&s1=' + s1Result;
		addressBtnUrl += '&s2=' + s2Result;
		
		// Add source to link aswell
		addressBtnUrl += '&source[]=kaffemaskine';
		
		addressBtn.attr('href', addressBtnUrl);

		if (!resultBox.hasClass('yes')) {
			// Update resultbox
			resultBox.removeAttr('class').addClass('yes');
		}
	} else if (s2Result >= 400 && slidersResult >= 2000000) {
		// P1 = 400-799
		// P2 = 2.000.000-8.000.0000
		// = Call
		
		// Manipulate button's link to contain the sliders values
		var callBtn = jQuery('#slider-call');
		var callBtnUrl = jQuery('#slider-call-url').val();
		callBtnUrl += '&s1=' + s1Result;
		callBtnUrl += '&s2=' + s2Result;
		
		// Add source to link aswell
		callBtnUrl += '&source[]=interessant';
		
		callBtn.attr('href', callBtnUrl);
		
		if (!resultBox.hasClass('call')) {
			// Update resultbox
			resultBox.removeAttr('class').addClass('call');
		}
	} else if (s2Result >= 200 && slidersResult >= 400000) {
		// P1 = 200-399
		// P2 = 400.000-2.000.000
		// = Maybe
		if (!resultBox.hasClass('maybe')) {
			resultBox.removeAttr('class').addClass('maybe');
		}
	} else {
		// P1 = Below 200
		// P2 = Below 400.000
		// = No
		if (!resultBox.hasClass('no')) {
			resultBox.removeAttr('class').addClass('no');
		}
	}
}

function compareValueToGoal(value, goal, action) {
	switch (action) {
	case 'gt':
		return (value > goal);
		break;
	case 'lt':
		return (value < goal);
		break;
	case 'gteq':
		return (value >= goal);
		break;
	case 'lteq':
		return (value <= goal);
		break;
	default:
		return (value == goal);
	}
}

function addThousandPoints(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + '.' + '$2');
	}
	return x1 + x2;
}

function labelToInput(){
	jQuery("label.labelToInput[for]").each(function(i){
		var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;
		var newVal = this.innerHTML.replace(regexp,"");
		if(jQuery("#"+this.htmlFor).is("input") || jQuery("#"+this.htmlFor).is("textarea")){
			if((jQuery("#"+this.htmlFor).val() == "") || (jQuery("#"+this.htmlFor).val() == newVal)){
				jQuery("#"+this.htmlFor).attr("value",newVal);
				jQuery("#"+this.htmlFor).focus(function(){if(this.value == newVal) this.value = "";});
				jQuery("#"+this.htmlFor).blur(function(){if(this.value == "") this.value = newVal;});
			}
		} else if(jQuery("#"+this.htmlFor).is("select")){
			var orgOptions = jQuery("#"+this.htmlFor).html();
			jQuery("#"+this.htmlFor).html("")
			strSelected = ' selected="selected"';
			if(orgOptions.indexOf("selected=") > -1) strSelected = "";
			newOptions = "<option"+strSelected+">"+newVal+"</option>"+orgOptions;
			jQuery("#"+this.htmlFor).html(newOptions)
		}
		jQuery(this).hide();
	})
	//cleanForms();
}

function cleanForms(){
	jQuery("form:has(label.labelToInput)").submit(function(){
		jQuery("label.labelToInput[for]").each(function(){
			var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;
			var newVal = this.innerHTML.replace(regexp,"");
			if(jQuery("#"+this.htmlFor).attr("value") == newVal){
				jQuery("#"+this.htmlFor).attr("value","");
			}
		})
	})
}

function wheel(){
	jQuery('#wheelmap area').hover(function(){
		jQuery('#wheel div').removeAttr('class');
		jQuery('#wheel div').addClass(jQuery(this).attr('id'));
		jQuery('.wheelbox .wheeloption').hide();
		jQuery('.' + jQuery(this).attr('id')).show();
		/*
		jQuery('#wheel div').removeAttr('class');
		jQuery('#wheel div').addClass(jQuery(this).attr('id'));
		jQuery('#wheel figcaption').find('h2').text(jQuery(this).attr('title')).end().find('p').text(jQuery(this).attr('alt'));
		jQuery('#wheel figcaption').find('a').attr('href', 'http://' + jQuery(this).attr('class'));
		*/
	}).click(function(){
		location.href = 'http://' + jQuery(this).attr('class');
	})
}

function removeTitle(){
	jQuery('.attachment-column').attr('title','');
}

