/*
* Copyright by CONFTEC GmbH 
*
* Version 2006-11-02
*/

function class_uniconf(name_obj, catalog_line) {
	
	this.name_obj = name_obj;
	
	this.xmlhttp = null;
	
	if (window.XMLHttpRequest) {
		this.xmlhttp = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (ex) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (ex) {
			}
		}
	}
};

class_uniconf.prototype.get_articel = function(itemnumber) {

	ShowHideObject('div_articel_load', 'show');
	
	var Url = 'site_get_data.php?ac=get_articel&itemnumber=' + itemnumber;
	
	this.xmlhttp.open('GET', Url);
	eval("this.xmlhttp.onreadystatechange = function () { " + this.name_obj + ".set_articel()};");
	this.xmlhttp.send(null);
	
}

class_uniconf.prototype.set_articel = function() {
	if (this.xmlhttp.readyState == 4) {
		var obj_data = eval("(" + this.xmlhttp.responseText + ")");
		
	// error
	
		if (obj_data.error != null) {
			
			if(document.getElementById('div_articel_vars'))
				ShowHideObject('div_articel_vars', 'hide');

			ShowHideObject('div_articel_load', 'hide');
			
			ShowHideObject('div_add_articel', 'show');
			ShowHideObject('div_articel_error', 'show');
			return true;
		}
		
	// get basic group of articel
	
		var end_pos		= obj_data.articel.itemnumber.indexOf("-") - 4;
		var basic_group = obj_data.articel.itemnumber.substring(0, end_pos);
		
		document.getElementById('img_articel_picture').src = IMAGE_WWW_DIR + 'script_thumb.jpg?image=' + unescape(obj_data.articel.picture) + '&set=2&max[height]=300&max[width]=250';
		
		document.getElementById('a_articel_picture').title = obj_data.articel.itemnumber;
		
		if(document.getElementById('a_button_print'))
			document.getElementById('a_button_print').title = obj_data.articel.itemnumber;
		
		if(document.getElementById('a_button_buy'))
			document.getElementById('a_button_buy').title 	= obj_data.articel.itemnumber;

		if(document.getElementById('a_button_save'))
			document.getElementById('a_button_save').title 	= obj_data.articel.itemnumber;
		
		document.getElementById('span_art_itemnumber').innerHTML 	= obj_data.articel.itemnumber;
		

		if (obj_data.articel.brand_id == 1) {
			obj_data.articel.title = 'acredo ' + obj_data.articel.title;
		}
		else if (obj_data.articel.brand_id == 6) {
			obj_data.articel.title = '123gold ' + obj_data.articel.title;
		}
				
		document.getElementById('span_art_title').innerHTML 		= unescape(obj_data.articel.title);
		
		document.getElementById('span_art_text').innerHTML 			= unescape(obj_data.articel.text);
		
	// articel price
	
		if (obj_data.articel.org_price == null || obj_data.articel.org_price < 1) {
			document.getElementById('div_art_price_discount').style.display = 'none';
			document.getElementById('div_art_price').style.display = 'block';
			
			var div_price = document.getElementById('div_art_price');
		}
		else {
			document.getElementById('div_art_price_discount').style.display = 'block';
			document.getElementById('div_art_price').style.display = 'none';			
			
			var div_price = document.getElementById('div_art_price_discount');
		}
		
		var items = div_price.getElementsByTagName('span');
		
		for(var j = 0; j < items.length; j++) {
			switch(items[j].title) {
				case 'price':
					items[j].innerHTML = unescape(obj_data.articel.price);
					break;
					
				case 'org_price':
					items[j].innerHTML = unescape(obj_data.articel.org_price);
					break;												
					
				case 'procent':
					items[j].innerHTML = unescape(obj_data.articel.procent);
					break;												
					
			}
		}				
				
	// articel desc
	
		dojo.empty('div_art_desc_list');
		
		var div_art_desc_list = document.getElementById('div_art_desc_list');

		if (obj_data.articel.var_list.length > 0) {	
			for(i = 0; i < obj_data.articel.var_list.length; i++) {
				var tmp_node = art_desc_line.cloneNode(true);
				div_art_desc_list.appendChild(tmp_node);	
				
			// fill in data
			
				var items = tmp_node.getElementsByTagName('span');
				
				for(var j = 0; j < items.length; j++) {
					switch(items[j].title) {
						case 'desc':
							items[j].innerHTML = unescape(obj_data.articel.var_list[i].desc_text);
							break;
							
						case 'text':
							items[j].innerHTML = unescape(obj_data.articel.var_list[i].value_text);
							break;												
					}
				}				
			}	
		}	
		
	// articel add-on
	
		dojo.empty('div_art_addon_list');
	
		var div_art_addon_list = document.getElementById('div_art_addon_list');
		
		if (obj_data.articel.addon_list.length > 0) {
			for(i = 0; i < obj_data.articel.addon_list.length; i++) {
				var tmp_node = art_addon_line.cloneNode(true);
				div_art_addon_list.appendChild(tmp_node);		
						
			// hide size div
			
				if (obj_data.articel.addon_list[i].size == null) {
					var items = tmp_node.getElementsByTagName('div');
					for(var j = 0; j < items.length; j++) {
						if (items[j].title == 'div_size')
							items[j].style.display = 'none';
					}
				}
				
			// fill in data
			
				var items = tmp_node.getElementsByTagName('span');
				
				for(var j = 0; j < items.length; j++) {
					switch(items[j].title) {
						case 'size':
							items[j].innerHTML = unescape(obj_data.articel.addon_list[i].size);
							break;
							
						case 'quality_desc':
							items[j].innerHTML = unescape(obj_data.articel.addon_list[i].quality_desc);
							break;
							
						case 'quality_text':
							items[j].innerHTML = unescape(obj_data.articel.addon_list[i].quality_text);
							break;
							
						case 'size_desc':
							items[j].innerHTML = unescape(obj_data.articel.addon_list[i].size_desc);
							break;
							
						case 'size_text':
							items[j].innerHTML = unescape(obj_data.articel.addon_list[i].size_text);
							break;
							
						case 'form_text':
							items[j].innerHTML = unescape(obj_data.articel.addon_list[i].form_text);
							break;							
							
						case 'number_text':
							items[j].innerHTML = unescape(obj_data.articel.addon_list[i].number_text);
							break;														
					}
				}
			}
		}
		
	// articel variations

		if(document.getElementById('div_articel_vars_list')) {
			dojo.empty('div_articel_vars_list');

			var articel_vars_list = document.getElementById('div_articel_vars_list');
			if (obj_data.var_list.length > 0) {
				for(i = 0; i < obj_data.var_list.length; i++) {
					var tmp_node = articel_vars_line.cloneNode(true);
					articel_vars_list.appendChild(tmp_node);		
							
					var items = tmp_node.getElementsByTagName('a');
					
					items[0].title 		= obj_data.var_list[i].id;
					items[0].innerHTML 	= "&gt; " + unescape(obj_data.var_list[i].desc_text);
				}
			}
		}		
	
	// articel addon variations
		if(document.getElementById('div_articel_addons_list')) {
	
			dojo.empty('div_articel_addons_list');
		
			var articel_addons_list = document.getElementById('div_articel_addons_list');
			
			if (obj_data.addon_list.length > 0) {
				for(i = 0; i < obj_data.addon_list.length; i++) {
					if (obj_data.addon_list[i].type == 'dmarket') 
						var tmp_node = articel_dmarket_line.cloneNode(true);
					else 
						var tmp_node = articel_addons_line.cloneNode(true);
						
					articel_addons_list.appendChild(tmp_node);		
					
				// fill in data
				
					var items = tmp_node.getElementsByTagName('span');
					
					for(var j = 0; j < items.length; j++) {
						switch(items[j].title) {
							case 'addon_key':
								items[j].innerHTML = obj_data.addon_list[i].key;
								break;
								
							case 'addon_form_text':
								items[j].innerHTML = unescape(obj_data.addon_list[i].form_text);
								break;											
						}
					}		
						
						
					var items = tmp_node.getElementsByTagName('a');
					
					if (obj_data.addon_list[i].type == 'dmarket') {
						items[0].title 		= obj_data.addon_list[i].key;
						items[1].title 		= obj_data.addon_list[i].key;
					}
					else {
						items[0].title 		= obj_data.addon_list[i].key;
						items[0].innerHTML 	= "&gt; " + unescape(obj_data.addon_list[i].size_desc);
						
						items[1].title 		= obj_data.addon_list[i].key;
						items[1].innerHTML 	= "&gt; " + unescape(obj_data.addon_list[i].quality_desc);
		
						items[2].title 		= obj_data.addon_list[i].key;
						
						if (items[3] != null) {
							if (basic_group != '14' && basic_group != '16')   
								items[3].style.display 	= 'none';
							else {
								items[3].style.display 	= 'block';
								items[3].title 			= obj_data.addon_list[i].key;
							}
						}
					}					
				}
			}		
		}	
	// windows
		
		if(document.getElementById('div_articel_vars')) 
			ShowHideObject('div_articel_vars', 'show');

		ShowHideObject('div_articel_error', 'hide');
		ShowHideObject('div_var_details', 'hide');
		ShowHideObject('div_articel_load', 'hide');
	}		
}

class_uniconf.prototype.get_vars = function(var_key, search) {
	
	ShowHideObject('div_articel_load', 'show');

	itemnumber = document.getElementById('span_art_itemnumber').innerHTML;
	
	
	var url = 'site_get_data.php?ac=get_var_details_list&itemnumber=' + itemnumber + '&var=' + var_key;
	
	if (search == 'yes') {
		url+= '&search[carat_min]=' + document.getElementById('input_carat_min').value;
		url+= '&search[carat_max]=' + document.getElementById('input_carat_max').value;
		
		url+= '&search[price_min]=' + document.getElementById('input_price_min').value;
		url+= '&search[price_max]=' + document.getElementById('input_price_max').value;
		
		url+= '&search[clarity]=' + document.getElementById('select_clarity').value;
		url+= '&search[color]=' + document.getElementById('select_color').value;
	}
	else {
		document.getElementById('input_carat_min').value = '';
		document.getElementById('input_carat_max').value = '';
		
		document.getElementById('input_price_min').value = '';
		document.getElementById('input_price_max').value = '';
		
		document.getElementById('select_clarity').selectedIndex = 0;
		document.getElementById('select_color').selectedIndex 	= 0;
	}
	
	this.xmlhttp.open('GET', url);
	eval("this.xmlhttp.onreadystatechange = function () { " + this.name_obj + ".set_var_details()};");
	this.xmlhttp.send(null);
	
}

class_uniconf.prototype.set_var_details = function() {
	if (this.xmlhttp.readyState == 4) {
		
		//alert(this.xmlhttp.responseText);
		
		var obj_data = eval("(" + this.xmlhttp.responseText + ")");
		
	// title
	
		document.getElementById('span_var_text').innerHTML = unescape(obj_data.var_text);
		
	// search dmarket
	
		if (obj_data.type == 'dmarket') {
			document.getElementById('div_search_dmarket').style.display = 'block';
			
		// clarity
		
			var select_clarity 	= document.getElementById('select_clarity');
			var selected 		= false;
			
			for(var i = 2; i < select_clarity.options.length; i++) 
				select_clarity.remove(1);
				
			if (obj_data.clarity.length > 0) {
				for(var i = 0; i < obj_data.clarity.length; i++) {
					
					if (obj_data.clarity[i].id == unescape(obj_data.search.clarity))
						selected = true;
					else
						selected = false;
								
					select_clarity.options[i + 1] = new Option(unescape(obj_data.clarity[i].text), obj_data.clarity[i].id, false, selected);
				}
			}
			
		// color
		
			var select_color 	= document.getElementById('select_color');
			var selected 		= false;
			
			for(var i = 2; i < select_color.options.length; i++) 
				select_color.remove(1);
				
			if (obj_data.color.length > 0) {
				for(var i = 0; i < obj_data.color.length; i++) {
					
					if (obj_data.color[i].id == unescape(obj_data.search.color))
						selected = true;
					else
						selected = false;
								
					select_color.options[i + 1] = new Option(unescape(obj_data.color[i].text), obj_data.color[i].id, false, selected);
				}
			}			
		}
		else
			document.getElementById('div_search_dmarket').style.display = 'none';
			
	// fill in data
		
		dojo.empty('div_var_details_list');
		
		var var_details_list = document.getElementById('div_var_details_list');
		
		if (obj_data.list.length > 0) {
			for(i = 0; i < obj_data.list.length; i++) {		
				
				if (obj_data.type == 'dmarket') {
					var tmp_node = var_details_line_dmarket.cloneNode(true);
					var_details_list.appendChild(tmp_node);
					
				// match 
				
					if (obj_data.list[i].match == true)
						tmp_node.className = 'box_var_details_match';
					else
						tmp_node.className = 'box_var_details';
				
				// data	
					
					var items 		= tmp_node.getElementsByTagName('a');
					
					items[0].innerHTML 	= obj_data.list[i].zertifikat_nr;
					items[0].href 		= obj_data.list[i].files_dir + obj_data.list[i].zertifikat;
					
					items[1].title 		= obj_data.list[i].itemnumber;
					
					var items 		= tmp_node.getElementsByTagName('img');
					if (items[0] != null) items[0].src 	= IMAGE_WWW_DIR + 'script_thumb.jpg?id=' + obj_data.list[i].pic_id + '&set=7&max[height]=100&max[width]=100';
					
					var items 		= tmp_node.getElementsByTagName('span');
					
					items[0].innerHTML = obj_data.list[i].form_text;
					items[1].innerHTML = obj_data.list[i].reinheit_text;
					items[2].innerHTML = obj_data.list[i].farbe_text;
					items[3].innerHTML = obj_data.list[i].schliff_text;
					items[4].innerHTML = obj_data.list[i].proportion_text;
					items[5].innerHTML = obj_data.list[i].zertifikat_text;
					
					items[6].innerHTML = obj_data.list[i].carat;
					items[7].innerHTML = obj_data.list[i].price;
					items[8].innerHTML = obj_data.list[i].price_diamond;					
					
				}
				else {
					if (obj_data.list[i].quality != null || obj_data.list[i].carat != null) {
						var tmp_node = var_details_line_addon.cloneNode(true);
						
						if (obj_data.list[i].match == true)
							tmp_node.className = 'box_addon_details_match';
						else
							tmp_node.className = 'box_addon_details';
					}
					else {
						var tmp_node = var_details_line.cloneNode(true);
						
						if (obj_data.list[i].match == true)
							tmp_node.className = 'box_var_details_match';
						else
							tmp_node.className = 'box_var_details';
					}
						
					var_details_list.appendChild(tmp_node);
					
				// fill in data
				
					var items = tmp_node.getElementsByTagName('span');
					
					for(var j = 0; j < items.length; j++) {
						switch(items[j].title) {
							case 'desc':
								items[j].innerHTML = unescape(obj_data.list[i].desc_text);
								break;
								
							case 'price':
								items[j].innerHTML = unescape(obj_data.list[i].price);
								break;											
								
							case 'quality':
								items[j].innerHTML = unescape(obj_data.list[i].quality);
								break;	
																		
							case 'carat':
								items[j].innerHTML = unescape(obj_data.list[i].carat);
								break;											
						}
					}		
				
					var items 		= tmp_node.getElementsByTagName('a');
					items[0].title 	= obj_data.list[i].itemnumber;
					
					var items 		= tmp_node.getElementsByTagName('img');
					if (items[0] != null) items[0].src 	= IMAGE_WWW_DIR + 'script_thumb.jpg?image=' + unescape(obj_data.list[i].picture) + '&set=2&max[height]=120&max[width]=100';
				}
			}
		}
		else {
			var tmp_node = var_empty_line_dmarket.cloneNode(true);
			var_details_list.appendChild(tmp_node);
		}
		
		ShowHideObject('div_var_details', 'show');
		ShowHideObject('div_articel_load', 'hide');
	}
}