$(document).ready(function() {
	$('#workshops').find('h5').each(function() {
		$(this).append('&nbsp;<span class="more">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>');
		$(this).find('.more').hover(showBalloon, hideBalloon);
	});
	
	$('#workshops').find('h3').append('&nbsp;<span class="more">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>');
	$('#workshops').find('h3 > .more').hover(showBalloon, hideBalloon);
	
	$('#shoppingList').find('h3').append('&nbsp;<span class="more">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>');
	$('#shoppingList').find('h3 > .more').hover(showBalloon, hideBalloon);

	$('.btnAddSelectedToCart').click(function() {
		if ($('#OrderItemAddForm').find('input[@type=checkbox][@checked]').size() == 0) {
			var errorMsg = 'You must select an item(s) from the list to add to your cart';
			if (getUrlParam('langId') == '-16') {
				errorMsg = 'Vous devez choisir un ou des articles de la liste pour ajouter à votre panier.';
			}
			alert(errorMsg);
			return false;
		}
	});

	if ($.browser.msie) {
		document.execCommand("BackgroundImageCache", false, true);
	}
});

function showBalloon(e) {
	var x = $(this).offset().left - (($(document).width() - 777)/2);
	var y = $(this).offset().top;
	var content = $(this).parent().next().html();
	$('.balloon > .innerWrapper').html(content);
	$('.balloon').show();
	var height = $('.balloon').height();
	if ($.browser.msie) {
		if ($(this).parent().next().attr('class').indexOf('left') > -1) {
			$('.balloon').css({left: x + 25, top: y - height - 50}).removeClass('right').addClass('left');
		} else {
			$('.balloon').css({left: x - 425, top: y - height - 50}).removeClass('left').addClass('right');
		}
	} else {
		if ($(this).parent().next().attr('class').indexOf('left') > -1) {
			$('.balloon').css({left: x + 10, top: y - height - 50}).removeClass('right').addClass('left');
		} else {
			$('.balloon').css({left: x - 435, top: y - height - 50}).removeClass('left').addClass('right');
		}
	}
}

function hideBalloon() {
	$('.balloon').hide();
}

function getUrlParam (name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null ) return "";
	else  return results[1];
}

function calcFlooring() {
	var performCalc = function() {
		var form = $('#calc > form');
		var length = (Number($(form).find('input[@name=lenghtFt]').val()) * 12) + Number($(form).find('input[@name=lengthIn]').val());
		var width = (Number($(form).find('input[@name=widthFt]').val()) * 12) + Number($(form).find('input[@name=widthIn]').val());
		if (length > 0 && width > 0) {
			var total = length * width / 144;
			var totalY = total / 9;
			$('#results').find('.sqFeet').html(Math.ceil(total));
			$('#results').find('.sqYard').html(Math.round(totalY*100)/100);
			$('#results').show();
			$('.measurement').removeClass('error');
		} else if (length > 0 || width > 0) {
			if (length == 0) {
				$('#calc').find('.measurement[@name=lenghtFt]').addClass('error');
				$('#calc').find('.measurement[@name=lenghtIn]').addClass('error');
			} else {
				$('#calc').find('.measurement[@name=widthFt]').addClass('error');
				$('#calc').find('.measurement[@name=widthIn]').addClass('error');
			}
			var errorMsg = 'Please fill in all required fields.';
			if (getUrlParam('langId') == '-16') {
				errorMsg = 'Veuillez remplir tous les champs requis.';
			}
			alert(errorMsg);
		}
	}
	performCalc();
	$('#calc > form').find('input').change(performCalc);
	$('#calc > form > .btnReset').click(function() {
		$('#results').hide();
		$('#calc > form').find('input').unbind('change');
	});
}

function calcdry(choice) {
	var thearea = Number(choice.options[choice.selectedIndex].value)
	var form = document.cdry

	form.d4x8.value = Math.ceil(thearea/32);
	form.d4x9.value = Math.ceil(thearea/36);
	form.d4x10.value = Math.ceil(thearea/40);
	form.d4x12.value = Math.ceil(thearea/48);
	
	form.tape.value = Math.ceil(thearea*0.37);
	form.nails.value = thearea*2;
	form.screws.value = thearea*1.25;
	
	var comp = 0;
	var sheet = 0;
	switch(thearea)
		{
		case 100:  comp = 7; sheet = 3;  break
		case 200:  comp = 13; sheet = 5;  break
		case 300:  comp = 19; sheet = 8;  break
		case 400:  comp = 25; sheet = 10;  break
		case 500:  comp = 32; sheet = 12;  break
		case 600:  comp = 38; sheet = 15;  break
		case 700:  comp = 44; sheet = 17;  break
		case 800:  comp = 50; sheet = 20;  break
		case 900:  comp = 57; sheet = 22;  break
		case 1000:  comp = 63; sheet = 24;  break
		case 1100:  comp = 69; sheet = 26;  break
		case 1200:  comp = 76; sheet = 29;  break
		case 1300:  comp = 82; sheet = 31;  break
		case 1400:  comp = 88; sheet = 34;  break
		case 1500:  comp = 94; sheet = 36;  break
		case 1600:  comp = 101; sheet = 38;  break
		case 1700:  comp = 107; sheet = 40;  break
		case 1800:  comp = 113; sheet = 43;  break
		case 1900:  comp = 119; sheet = 45;  break
		case 2000:  comp = 126; sheet = 48;  break
		case 2100:  comp = 132; sheet = 50;  break
		case 2200:  comp = 138; sheet = 52;  break
		case 2300:  comp = 144; sheet = 55;  break
		case 2400:  comp = 151; sheet = 57;  break
		case 2500:  comp = 157; sheet = 59;  break
		case 2600:  comp = 163; sheet = 62;  break
		case 2700:  comp = 170; sheet = 64;  break
		case 2800:  comp = 176; sheet = 66;  break
		case 2900:  comp = 182; sheet = 69;  break
		case 3000:  comp = 188; sheet = 71;  break
		case 3100:  comp = 195; sheet = 74;  break
		case 3200:  comp = 201; sheet = 76;  break
		default:
		  comp = 0; sheet = 0;
		}
	
	form.compounds.value = comp;
	form.sheetrock.value = sheet;
	form.durabond.value = Math.ceil(thearea/30.63);
}

function cpaint() {
	var form = document.forms.calcpaint;
	var roomLengthFt = Number(form.roomLengthFt.value);
	var roomLengthIn = Number(form.roomLengthIn.value);
	var roomWidthFt = Number(form.roomWidthFt.value);
	var roomWidthIn = Number(form.roomWidthIn.value);
	var roomHeightFt = Number(form.roomHeightFt.value);
	var roomHeightIn = Number(form.roomHeightIn.value);
	var baseBoardHeight = Number(form.baseBoardHeight.value);

	var ceilingSurface = ((roomLengthFt * 12 + roomLengthIn) * (roomWidthFt * 12 + roomWidthIn)) / 144;
	var wallsSurface = 2 * (((roomLengthFt * 12 + roomLengthIn) * (roomHeightFt * 12 + roomHeightIn)) / 144 + ((roomWidthFt * 12 + roomWidthIn) * (roomHeightFt * 12 + roomHeightIn)) / 144);

	var baseBoardSurface = ((2 * ((roomLengthFt * 12 + roomLengthIn) + (roomWidthFt * 12 + roomWidthIn))) * baseBoardHeight) / 144;

	var windowNumber = Number(form.windowNumber.value);
	var windowHeightFt = Number(form.windowHeightFt.value);
	var windowHeightIn = Number(form.windowHeightIn.value);
	var windowWidthFt = Number(form.windowWidthFt.value);
	var windowWidthIn = Number(form.windowWidthIn.value);
	var windowTrimSize = Number(form.windowTrimSize.value);

	var windowsSurface = windowNumber * (((windowHeightFt * 12 + windowHeightIn) * (windowWidthFt * 12 + windowWidthIn)) / 144);
	var windowTrimSurface = windowNumber * (((2 * ((windowHeightFt * 12 + windowHeightIn) + (windowWidthFt * 12 + windowWidthIn))) * windowTrimSize) / 144);

	var doorNumber = Number(form.doorNumber.value);
	var doorHeightFt = Number(form.doorHeightFt.value);
	var doorHeightIn = Number(form.doorHeightIn.value);
	var doorWidthFt = Number(form.doorWidthFt.value);
	var doorWidthIn = Number(form.doorWidthIn.value);
	var doorTrimSize = Number(form.doorTrimSize.value);

	var doorsSurface = doorNumber * (((doorHeightFt * 12 + doorHeightIn) * (doorWidthFt * 12 + doorWidthIn)) / 144);
	var doorTrimSurface = doorNumber * (((2 * ((doorHeightFt * 12 + doorHeightIn) + (doorWidthFt * 12 + doorWidthIn))) * doorTrimSize) / 144);

	var paintCoverage = Number(form.paintCoverage.value);

	form.wallPaint.value = Math.ceil((wallsSurface - windowsSurface - doorsSurface ) / paintCoverage);
	form.ceilingPaint.value = Math.ceil(ceilingSurface / paintCoverage);
	form.trimPaint.value = Math.ceil((windowTrimSurface + doorTrimSize)  / paintCoverage * 4);
	form.baseboardPaint.value = Math.ceil(baseBoardSurface  / paintCoverage * 4);
}

function cpaintm() {
	var form = document.forms.calcpaintm;
	var roomLengthMt = Number(form.roomLengthMt.value);
	var roomLengthCm = Number(form.roomLengthCm.value);
	var roomWidthMt = Number(form.roomWidthMt.value);
	var roomWidthCm = Number(form.roomWidthCm.value);
	var roomHeightMt = Number(form.roomHeightMt.value);
	var roomHeightCm = Number(form.roomHeightCm.value);
	var baseBoardHeight = Number(form.baseBoardHeight.value);

	var ceilingSurface = ((roomLengthMt * 100 + roomLengthCm) * (roomWidthMt * 100 + roomWidthCm)) / 1000;
	var wallsSurface = 2 * (((roomLengthMt * 100 + roomLengthCm) * (roomHeightMt * 100 + roomHeightCm)) / 1000 + ((roomWidthMt * 100 + roomWidthCm) * (roomHeightMt * 100 + roomHeightCm)) / 1000);

	var baseBoardSurface = ((2 * ((roomLengthMt * 100 + roomLengthCm) + (roomWidthMt * 100 + roomWidthCm))) * baseBoardHeight) / 1000;

	var windowNumber = Number(form.windowNumber.value);
	var windowHeightMt = Number(form.windowHeightMt.value);
	var windowHeightCm = Number(form.windowHeightCm.value);
	var windowWidthMt = Number(form.windowWidthMt.value);
	var windowWidthCm = Number(form.windowWidthCm.value);
	var windowTrimSize = Number(form.windowTrimSize.value);

	var windowsSurface = windowNumber * (((windowHeightMt * 100 + windowHeightCm) * (windowWidthMt * 100 + windowWidthCm)) / 1000);
	var windowTrimSurface = windowNumber * (((2 * ((windowHeightMt * 100 + windowHeightCm) + (windowWidthMt * 100 + windowWidthCm))) * windowTrimSize) / 1000);

	var doorNumber = Number(form.doorNumber.value);
	var doorHeightMt = Number(form.doorHeightMt.value);
	var doorHeightCm = Number(form.doorHeightCm.value);
	var doorWidthMt = Number(form.doorWidthMt.value);
	var doorWidthCm = Number(form.doorWidthCm.value);
	var doorTrimSize = Number(form.doorTrimSize.value);

	var doorsSurface = doorNumber * (((doorHeightMt * 100 + doorHeightCm) * (doorWidthMt * 100 + doorWidthCm)) / 1000);
	var doorTrimSurface = doorNumber * (((2 * ((doorHeightMt * 100 + doorHeightCm) + (doorWidthMt * 100 + doorWidthCm))) * doorTrimSize) / 1000);
	
	var paintCoverage = Number(form.paintCoverage.value);

	form.wallPaint.value = Math.ceil((wallsSurface - windowsSurface - doorsSurface ) / paintCoverage);
	form.ceilingPaint.value = Math.ceil(ceilingSurface / paintCoverage);
	form.trimPaint.value = Math.ceil((windowTrimSurface + doorTrimSize)  / paintCoverage );
	form.baseboardPaint.value = Math.ceil(baseBoardSurface  / paintCoverage );
}

function rpaint() {
	var form = document.forms.calcpaint;
	form.roomLengthFt.value='';
	form.roomLengthIn.value='';
	form.roomWidthFt.value='';
	form.roomWidthIn.value='';
	form.roomHeightFt.value='';
	form.roomHeightIn.value='';
	form.baseBoardHeight.value='';

	form.windowNumber.value='';
	form.windowHeightFt.value='';
	form.windowHeightIn.value='';
	form.windowWidthFt.value='';
	form.windowWidthIn.value='';
	form.windowTrimSize.value='';

	form.doorNumber.value='';
	form.doorHeightFt.value='';
	form.doorHeightIn.value='';
	form.doorWidthFt.value='';
	form.doorWidthIn.value='';
	form.doorTrimSize.value='';

	form.paintCoverage.value=350;
}

function rpaintm() {
	var form = document.forms.calcpaintm;
	form.roomLengthMt.value='';
	form.roomLengthCm.value='';
	form.roomWidthMt.value='';
	form.roomWidthCm.value='';
	form.roomHeightMt.value='';
	form.roomHeightCm.value='';
	form.baseBoardHeight.value='';

	form.windowNumber.value='';
	form.windowHeightMt.value='';
	form.windowHeightCm.value='';
	form.windowWidthMt.value='';
	form.windowWidthCm.value='';
	form.windowTrimSize.value='';

	form.doorNumber.value='';
	form.doorHeightMt.value='';
	form.doorHeightCm.value='';
	form.doorWidthMt.value='';
	form.doorWidthCm.value='';
	form.doorTrimSize.value='';

	form.paintCoverage.value=8.6;
}

function cwallm() {
	var form = document.forms.calcwallm;
	
	var w1h = Number(form.w1h.value);
	var w1w = Number(form.w1w.value);
	var w2h = Number(form.w2h.value);
	var w2w = Number(form.w2w.value);
	var w3h = Number(form.w3h.value);
	var w3w = Number(form.w3w.value);
	var w4h = Number(form.w4h.value);
	var w4w = Number(form.w4w.value);
	
	var wallsSurface = (w1h * w1w) + (w2h * w2w) + (w3h * w3w) + (w4h * w4w);

	var doorH = Number(form.doorH.value);
	var doorW = Number(form.doorW.value);
	var windowH = Number(form.windowH.value);
	var windowW = Number(form.windowW.value);
	var otherH = Number(form.otherH.value);
	var otherW = Number(form.otherW.value);

	var notCovered = (doorH * doorW) + (windowH * windowW) + (otherH * otherW);
	
	var rollsCoverage = 4.65;

	form.rolls.value = Math.ceil((wallsSurface - notCovered ) / rollsCoverage);
}


function rwallm() {
	var form = document.forms.calcwallm;
	form.w1h.value='';
	form.w1w.value='';
	form.w2h.value='';
	form.w2w.value='';
	form.w3h.value='';
	form.w3w.value='';
	form.w4h.value='';
	form.w4w.value='';
	form.doorH.value='';
	form.doorW.value='';
	form.windowH.value='';
	form.windowW.value='';
	form.otherH.value='';
	form.otherW.value='';
	
	form.rolls.value = '';
}

function cwall() {
	var form = document.forms.calcwall;
	
	var w1hf = Number(form.w1hf.value);
	var w1wf = Number(form.w1wf.value);
	var w1hi = Number(form.w1hi.value);
	var w1wi = Number(form.w1wi.value);
	
	var w2hf = Number(form.w2hf.value);
	var w2wf = Number(form.w2wf.value);
	var w2hi = Number(form.w2hi.value);
	var w2wi = Number(form.w2wi.value);
	
	var w3hf = Number(form.w3hf.value);
	var w3wf = Number(form.w3wf.value);
	var w3hi = Number(form.w3hi.value);
	var w3wi = Number(form.w3wi.value);
	
	var w4hf = Number(form.w4hf.value);
	var w4wf = Number(form.w4wf.value);
	var w4hi = Number(form.w4hi.value);
	var w4wi = Number(form.w4wi.value);
	
	var wallsSurface = (((w1hf * 12 + w1hi ) * (w1wf * 12 + w1wi )) / 144) + (((w2hf * 12 + w2hi ) * (w2wf * 12 + w2wi )) / 144) + (((w3hf * 12 + w3hi ) * (w3wf * 12 + w3wi )) / 144) + (((w4hf * 12 + w4hi ) * (w4wf * 12 + w4wi )) / 144)
	
	var doorHf = Number(form.doorHf.value);
	var doorWf = Number(form.doorWf.value);
	var windowHf = Number(form.windowHf.value);
	var windowWf = Number(form.windowWf.value);
	var otherHf = Number(form.otherHf.value);
	var otherWf = Number(form.otherWf.value);
	var doorHi = Number(form.doorHi.value);
	var doorWi = Number(form.doorWi.value);
	var windowHi = Number(form.windowHi.value);
	var windowWi = Number(form.windowWi.value);
	var otherHi = Number(form.otherHi.value);
	var otherWi = Number(form.otherWi.value);

	var notCovered = (((doorHf * 12 + doorHi) * (doorWf * 12 + doorWi)) / 144) + (((windowHf * 12 + windowHi) * (windowWf * 12 + windowWi)) / 144) + (((otherHf * 12 + otherHi) * (otherWf * 12 + otherWi)) / 144)
	
	var rollsCoverage = 50;

	form.rolls.value = Math.ceil((wallsSurface - notCovered ) / rollsCoverage);
}


function rwall() {
	var form = document.forms.calcwall;
	form.w1hf.value='';
	form.w1hi.value='';
	form.w1wf.value='';
	form.w1wi.value='';
	
	form.w2hf.value='';
	form.w2hi.value='';
	form.w2wf.value='';
	form.w2wi.value='';
	
	form.w3hf.value='';
	form.w3hi.value='';
	form.w3wf.value='';
	form.w3wi.value='';
	
	form.w4hf.value='';
	form.w4hi.value='';
	form.w4wf.value='';
	form.w4wi.value='';
	
	form.doorHf.value='';
	form.doorHi.value='';
	form.doorWf.value='';
	form.doorWi.value='';
	
	form.windowHf.value='';
	form.windowHi.value='';
	form.windowWf.value='';
	form.windowWi.value='';
	
	form.otherHf.value='';
	form.otherHi.value='';
	form.otherWf.value='';
	form.otherWi.value='';

	form.rolls.value = '';
}
