//ADDED BY FILIPPO
function encodeNameAndValue(Name, Value) {
	var param = escape(Name) + '=' + escape(Value);
	return param;	
}


// JavaScript Document
function openCart(codice, rgb, path) {
	var parametri = new Array();
	parametri.push(encodeNameAndValue('id', codice));
	parametri.push(encodeNameAndValue('RGB', rgb));
	var myRequest = new Request({
			url: path+'cart.php', 
			method: 'post',
			onSuccess: function(responseText) {	saveResult(responseText, 0, 0, 0, path); },
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));	
}


function openCartAcc(codice, img, W, H, path) {
	var parametri = new Array();
	parametri.push(encodeNameAndValue('id', codice));
	parametri.push(encodeNameAndValue('img', img));
	var myRequest = new Request({
			url: path+'cart.php', 
			method: 'post',
			onSuccess: function(responseText) {	saveResult(responseText, 1, W, H, path); },
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));	

}

function saveResult(risposta, acc, W, H, path) {
	BrowserDetect.init();
	$('carrello_back').setStyle('display', 'block'); 
	if (risposta != '') {
		$('container_carrello').innerHTML = risposta;
	}
	$('container_carrello').setStyle('height', '223px');
	var top = 0;
	if (BrowserDetect.version < 7 && navigator.appName == "Microsoft Internet Explorer") {
		$('selez_lingua').setStyle('visibility', 'hidden');
		altezza_back = document.documentElement.clientHeight;
		top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
	} else {
		altezza_back = $('carrello_back').offsetHeight;
	}
	if(acc == 1) {
		$('container_carrello').setStyle('height', 'auto');
		$('container_carrello').setStyle('padding', '10px 0');
		if (parseInt(W) < 302) {
			$('container_carrello').setStyle('width', '350px');
		} else {
			$('container_carrello').setStyle('width', (parseInt(W) + 48) + 'px');
		}
	}
	altezza_container = $('container_carrello').offsetHeight;
	new_altezza = Math.ceil(altezza_back / 2) - Math.ceil(altezza_container / 2); 
	$('container_carrello').setStyle('margin-top', top + new_altezza + 'px');
}

function showvid() {
	BrowserDetect.init();
	$('video_back').setStyle('display', 'block'); 
	$('videocontent').setStyle('height', 'auto');
	$('videocontent').setStyle('padding', '10px 0');
	var top = 0;
	if (BrowserDetect.version < 7 && navigator.appName == "Microsoft Internet Explorer") {
		$('selez_lingua').setStyle('visibility', 'hidden');
		altezza_back = document.documentElement.clientHeight;
		top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
	} else {
		altezza_back = $('video_back').offsetHeight;
	}
	altezza_container = $('videocontent').offsetHeight;
	new_altezza = Math.ceil(altezza_back / 2) - Math.ceil(altezza_container / 2); 
	$('videocontent').setStyle('margin-top', top + new_altezza + 'px');
}

/*  - - - - */
function load_Lung(i, path) {
	if ($('alt_'+i).value != 'null') {
	var codice = $('codice').value;
	var altezza = $('alt_'+i).value;
	var parametri = new Array();
	parametri.push(encodeNameAndValue('get_L', altezza));
	parametri.push(encodeNameAndValue('codice_L', codice));
	parametri.push(encodeNameAndValue('i_L', i));
	var myRequest = new Request({
			url: path+'cart.php', 
			method: 'post',
			onSuccess: function(responseText) {	
				/* Carica le Lunghezze */
				$('tdB_'+i).innerHTML = responseText;
				$('tdC_'+i).innerHTML = '<img src="'+path+'immagini/star.gif" alt="star" />';
				
				if($('lun_'+i).value != 'null') {
					load_Forato(i, path);	
				} else {
					$('tdC_'+i).innerHTML = '<img src="'+path+'immagini/star.gif" alt="star" />';	
				}
			
			},
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));		
	} else {
		$('tdB_'+i).innerHTML = '<img src="'+path+'immagini/star.gif" alt="star" />';
		$('tdC_'+i).innerHTML = '<img src="'+path+'immagini/star.gif" alt="star" />';
	}
}

function load_Forato(i, path) {
	if ($('lun_'+i).value != 'null') {
	var codice = $('codice').value;
	var altezza = $('alt_'+i).value;
	var lunghezza =  $('lun_'+i).value;
	
	var parametri = new Array();
	parametri.push(encodeNameAndValue('get_F', lunghezza));
	parametri.push(encodeNameAndValue('codice_F', codice));
	parametri.push(encodeNameAndValue('i_F', i));
	parametri.push(encodeNameAndValue('altezza_F', altezza));
	var myRequest = new Request({
			url: path+'cart.php', 
			method: 'post',
			onSuccess: function(responseText) {	
				/* Carica le Lunghezze */
				$('tdC_'+i).innerHTML = responseText;
				if (altezza>0) {
					$('num_'+i).set ('value', 1);
					
				} else {
					if (i == 1) {
							$('num_'+i).set ('value', 1);
							$('num_'+i).focus();
					}
					$('tdD_'+i).setStyle('width', $('tdD_'+i).getStyle('width'));
					$('tdD_'+i).innerHTML = '<img src="'+path+'immagini/star.gif" alt="star" /><input type="hidden" value="" name="part['+i+']" id="part_'+i+'" />';
				}
			},
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));
	} else {
		$('tdC_'+i).innerHTML = '<img src="'+path+'immagini/star.gif" alt="star" />';
	}
}

/* Add To Cart */
function add_to_cart(path) {
	$('button_carrello').disabled = "disabled";
	var codice = $('codice').value;
	var altezza = '';
	var lunghezza = '';
	var forato = '';
	var numero = '';
	var particolare = '';
	var parametri = new Array();
	
	for (var i = 1; i <= 3; i++) {
		if ($('for_'+i)) {
			altezza = $('alt_'+i).value;
			lunghezza =  $('lun_'+i).value;
			forato = $('for_'+i).value;
			numero = $('num_'+i).value;
			particolare = $('part_'+i).value;
			parametri.push(encodeNameAndValue('alt['+i+']', altezza));
			parametri.push(encodeNameAndValue('lun['+i+']', lunghezza));
			parametri.push(encodeNameAndValue('for['+i+']', forato));
			parametri.push(encodeNameAndValue('num['+i+']', numero));
			parametri.push(encodeNameAndValue('part['+i+']', particolare));
		}
	}
	parametri.push(encodeNameAndValue('addtocart', '1'));
	parametri.push(encodeNameAndValue('codice', codice));
	var myRequest = new Request({
			url: path+'cart_add.php', 
			method: 'post',
			onSuccess: function(responseText) {	
				if (parseInt(responseText) > 0) {
					$('carrello_back').style.display = 'none';
					carrello_top(path);
				}
				$('button_carrello').removeAttribute('disabled');
			},
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));
}

/*---*/
function update_cart(begin, end, action, path) {
	var altezza = '';
	var lunghezza = '';
	var forato = '';
	var numero = '';
	var particolare = '';
	var codice = '';
	var parametri = new Array();
	for (i = begin; i <= end; i++) {
		if ($('for_'+i)) {
			altezza = $('alt_'+i).value;
			lunghezza =  $('lun_'+i).value;
			forato = $('for_'+i).value;
			numero = $('rot_'+i).value;
			particolare = $('part_'+i).value;
			codice = $('cod'+i).value;
			parametri.push(encodeNameAndValue('alt['+i+']', altezza));
			parametri.push(encodeNameAndValue('lun['+i+']', lunghezza));
			parametri.push(encodeNameAndValue('for['+i+']', forato));
			parametri.push(encodeNameAndValue('rot['+i+']', numero));
			parametri.push(encodeNameAndValue('part['+i+']', particolare));
			parametri.push(encodeNameAndValue('cod['+i+']', codice));
		}
	}
	parametri.push(encodeNameAndValue('updatecart', action));
	var myRequest = new Request({
			url: path+'cart_add.php', 
			method: 'post',
			onSuccess: function(responseText) {
				/* Carica */
				$('prodotti_field').innerHTML = responseText;
				init_suggest();
				carrello_top(path);
			},
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));
}

function cancella_riga(i, path) {
	var parametri = new Array();
	var id_row = $('id_row_'+i).value;
	parametri.push(encodeNameAndValue('delfromcart', '1'));
	parametri.push(encodeNameAndValue('id', id_row));
	var myRequest = new Request({
			url: path+'cart_add.php', 
			method: 'post',
			onSuccess: function(responseText) {
				$('ordini_table').deleteRow($('tr_'+i).rowIndex);
				var x = $('ordini_table').rows.length;
				carrello_top(path);
				if (x == 1) {
					$('carrello_fieldset').style.display = 'none';
					$('carrello_top').style.display = 'none';
				}
			},
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));
}

function svuota_cart(path) {
	var tot_row = parseInt($('tot_row').value) + 20;
	for (var i = 20; i < tot_row; i++) {
		 cancella_riga(i, path);
	}
	$('carrello_fieldset').style.display = 'none';
	$('carrello_top').style.display = 'none';
}

function init_suggest() {
	var ff = new Array();  
	for (var i = 1; i <= 6; i++) {
		ff[i] = new AutoSuggestControl($('cod'+i), new SuggestionProvider(), i);
	}
}

function check_ordine(path) {
	var continua = true;
	for (var i = 1; i <= 6; i++) {
		if ($('cod'+i).get('value') != '' && !$chk('for_'+i)) {
			continua = false;
		}
	}
	if (continua) {
		update_cart(1, 6, 'add', path);
	} 
	return continua;
}

/*---- CARRELLO TOP  -----*/
function carrello_top(path) {
	var parametri = new Array();
	parametri.push(encodeNameAndValue('cart_top', '1'));
		var myRequest = new Request({
			url: path+'cart_top.php', 
			method: 'post',
			onSuccess: function(responseText) {
					if (!$('carrello_top') && responseText != '') {
						var testata = $('testata');
						var login = $('login');
						var carrello = document.createElement('div');
						carrello.id = 'carrello_top';
						if (carrello.addEventListener){
							carrello.addEventListener('click', function() { modifyText(path); }, false); 
						} else if (carrello.attachEvent){
							carrello.attachEvent('onclick', function() { modifyText(path); });
						}
						testata.insertBefore(carrello, $('last_testata'));
					}
					if (responseText != '') {
						$('carrello_top').style.display = 'block';
						$('carrello_top').innerHTML = responseText;
					}
			},
			onFail: function() { this.cancel();	}
	}).send(parametri.join('&'));	
}

function modifyText(path) {
	document.location = path+'ordini.php';	
}

function display_error(err) {
	BrowserDetect.init();
	$('carrello_back').style.display = 'block';
	$('display_error').innerHTML = err;
	var top = 0;
	if (BrowserDetect.version < 7 && navigator.appName == "Microsoft Internet Explorer") {
		$('selez_lingua').style.visibility = 'hidden';
		altezza_back = document.documentElement.clientHeight;
		top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
	} else {
		altezza_back = $('carrello_back').offsetHeight;
	}
	
	altezza_container = $('display_error').offsetHeight;
	new_altezza = Math.ceil(altezza_back / 2) - Math.ceil(altezza_container / 2); 
	$('display_error').style.marginTop = top + new_altezza + 'px';	
}

/**/
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};






