/**
 * some functions for compare the carto which is selected
 *
 * @copyright Copyright (c) 2010, IDxa (http://www.idxa.net)
 */
 
// the limit number of products selectable
var compare_check_limit = 4;

/**
 * click function for checkbox,check the checkbox is checked or not
 *
 * el:object the chechbox which was clicked
 * @return void 
 */
function compareCheckboxCheck(el){
	
	//the total of products for compare
	var compare_num = parseInt($('#compare_num').val());
	var compare_ids_str = '';
	
	if (el.checked) {
		compare_num = parseInt(compare_num + 1);

		compare_ids_str = $('#compare_ids').val() + ','  + $(el).val();

		$(el).removeClass('compare_checkbox_uncheck').addClass('compare_checkbox_checked');
	}
	else {
		compare_num = parseInt(compare_num - 1);

		var compare_ids_arr = $('#compare_ids').val().substr(1).split(',');
		
		for (var i = 0;i < compare_ids_arr.length;i++) {
			var compare_id = compare_ids_arr[i];
			if (compare_id != $(el).val()) {
				compare_ids_str += ',' + compare_id;
			}
		}
		
		$(el).removeClass('compare_checkbox_checked').addClass('compare_checkbox_uncheck');
	}
	
	$('#compare_num').val(compare_num);
	$('#compare_ids').val(compare_ids_str);
	
	if (compare_num == 0) {
		$('#compare_ids').val('');
	}
	
	bindFunctionOnButton(compare_num);
}

function cDate(date, add){
	date = date.split(/\//g);
	var origin = new Date(date[2], date[1], date[0]);
	var dateracine = new Date(origin.getTime() + (1000 * 60 * 60 * 24 * add));

	var day = '0'+date[0];
	var month = '0'+date[1];

	var day2 = '0'+dateracine.getDate();
	var month2 = '0'+dateracine.getMonth();

	var obj = {
		'start' : {
			'day' : (day.length == 2) ? day : day.substring(1),
			'month' : (month.length == 2) ? month : month.substring(1),
			'year' : ''+date[2]
		},
		'end' : {
			'day' : (day2.length == 2) ? day2 : day2.substring(1),
			'month' : (month2.length == 2) ? month2 : month2.substring(1),
			'year' : ''+dateracine.getFullYear()
		}
	}
	return obj;
}
		
/**
 * Bind or unbind the click function on the compare button
 *
 * compare_num int the total number of the selected products
 * @return void 
 */
function bindFunctionOnButton(compare_num) {

	if (compare_num > 1) {
		$('.compare_button').removeClass('compare_button_disable').addClass('compare_button_activ');
		
		$('.compare_link').attr('href','javascript:;');
		$('.compare_link').unbind('click');
		$('.compare_link').bind('click',function(){
			var type = $('select[name=type]').val();
				type = (!type) ? $('select[name=typeChoix]').val() : type;
			
			var compare_ids = $('#compare_ids').val().substr(1);
			
			var window_open_href = '../../index.php?id=compare_'+type+'_'+compare_ids+'_1_1&HideMenu=1';
			
			if (type == 'CAM') {
				var date = $('input[name=dday]').val();

				if(date != '' && $('input[name=resa]').attr('checked') ==  true) {
					var add = $('select[name=Globales/DureeNuit]:visible,select[name=Globales/DureeSemaine]:visible').val();
					add = ($('select[name=Globales/DureeNuit]:visible').size()>0) ? add : add*7;
					date = cDate(date, add);

					var jd = date.start.day;
					var md = date.start.month;
					var ad = date.start.year;

					var jf = date.end.day;
					var mf = date.end.month;
					var af = date.end.year;

					
					
					var select_pers = $('select[name=Globales/NbAdultes]').val();
					
					var str_camping_compare = '&d_date='+jd+'/'+md+'/'+ad+'&f_date='+jf+'/'+mf+'/'+af+'&select_pers='+select_pers;
					window_open_href += str_camping_compare;
				}
				
				var rec = ($('input[name=locahll]').attr('checked') == true) ? 'L' : 'E' ;
				window_open_href += '&rec='+rec;
				
			}
			
			window.open(window_open_href, '', 'fullscreen=yes, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no');
			return false;
		});
	}
	else {
		$('.compare_button').removeClass('compare_button_activ').addClass('compare_button_disable');
		
		$('.compare_link').attr('href','javascript:;');
		$('.compare_link').unbind('click');
		$('.compare_link').bind('click',function(){
			return false;
		});
	}
	
	if (compare_num == compare_check_limit) {
		$('.compare_checkbox_uncheck').attr('disabled',true);
		$('.compare_text').show().html('').html('Le nombre maximum de sélections est de quatre.');
	}
	else {
		$('.compare_checkbox_uncheck').attr('disabled',false);
		$('.compare_text').html('').hide();
	}
}
/**
 * Init the compare
 *
 * @return void 
 */
function compareInit() {

	var type = $('select[name=type]').val();
		type = (!type) ? $('select[name=typeChoix]').val() : type;
	
	switch (type) {
		case 'HOT':
		case 'CAM':
		case 'GIM':
		case 'CHO':
		case 'RTH':
		case 'CVV':
		case 'GSH':
		case 'RES':
			$(".compare").show();
			$(".compare_checkbox").show();
			bindFunctionOnButton(0);
			break;
	}
}

/**
 * Init the checkbox
 *
 * @return void 
 */
function compareCheckboxInit() {

	var compare_num = parseInt($('#compare_num').val());
	var compare_ids_arr = $('#compare_ids').val().substr(1).split(',');

	for (var i = 0;i < compare_ids_arr.length;i++) {
		var compare_id = compare_ids_arr[i];
		$('#check_'+compare_id).attr('checked',true);
		$('#check_'+compare_id).removeClass('compare_checkbox_uncheck').addClass('compare_checkbox_checked');
	}
	
	bindFunctionOnButton(compare_num);
}

/**
 * Init the hidden value
 *
 * @return void 
 */
function compareInputInit() {

	$('#compare_num').val('0');
	$('#compare_ids').val('');
}

/**
 * remove td which was checked from compare table
 *
 * i:int the index of <td
 * id:int the id of product which will remove
 *  
 * @return void 
 */
function remove_td(i,id) {

	$('.td_'+i).remove();

	var compare_num = parseInt($(window.opener.document).find('#compare_num').val()-1);

	var compare_ids_arr = $(window.opener.document).find('#compare_ids').val().substr(1).split(',');
	var compare_ids_str = '';
	for (var i = 0;i < compare_ids_arr.length;i++) {
		var compare_id = compare_ids_arr[i];
		if (compare_id != id) {
			compare_ids_str += "," + compare_id;
		}
	}
	
	$(window.opener.document).find('#compare_num').val(compare_num);
	$(window.opener.document).find('#compare_ids').val(compare_ids_str);

	$(window.opener.document).find('.compare_checkbox_uncheck').attr('disabled',false);
	$(window.opener.document).find('#check_'+id).attr('checked',false);
	$(window.opener.document).find('.compare_text').html('').hide();
	if (compare_num < 2) {
		$(window.opener.document).find('.compare_link').attr('href','javascript:return false;');
		$(window.opener.document).find('.compare_link').unbind('click');
		$(window.opener.document).find('.compare_link').bind('click',function(){
			return false;
		});
		$(window.opener.document).find('.compare_button').removeClass('compare_button_activ').addClass('compare_button_disable');
	}
}
