function gup( 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 mainInfoTableContentSwitcher(switcher, force) {
	var id = getID();
	if(jQuery("#mainpage_tab_"+switcher).hasClass("tab_selected") && force!=true)
		return;
	jQuery("table.mainpage_tab").removeClass("tab_selected");
	jQuery("#mainpage_tab_"+switcher).addClass("tab_selected");
	var element = jQuery("#current_item_tab");
	jQuery.ajax( {
		type : "GET",
		url : "/ajax_jQuery.php?module=prod&action=gettabdata&tab="+switcher+'&products_id='+id+'&type='+gup("product_type")+"&group_id="+gup("products_id"),
		cache : true,
		dataType:"json",
		success : parsereply
	});
}

function getID(){
	return jQuery("#products_id").val();
}

function getGroupID(){
	return jQuery("#group_id").val();
}

function queryfor(elements){
	var str = elements.join(',');
	var extra = '';
	for(var i=0; i<elements.length; i++){
		var elem = getElements(elements[i]);
		if(elements[i]=="tabdata"){
			
			var elem_id = jQuery(".tab_selected").attr('id');
			var elem_nr = elem_id.substring(elem_id.lastIndexOf("_")+1, elem_id.length);
			//jQuery("table.mainpage_tab").removeClass("tab_selected");
			//jQuery("#mainpage_tab_0").addClass("tab_selected");
			
			extra = extra + "&tab=" + elem_nr;
		}
	}
	id = getID();
	gid = getGroupID();
	uryly = "/ajax_jQuery.php?module=prod&action=basic&type=2&group_id="+gid+"&elements="+str+'&products_id='+id+extra;
	
	jQuery.ajax( {
		type : "GET",
		url : uryly,
		cache : true,
		dataType:"json",
		success : parsereply
	});
	
}

function getElements(name){
	switch(name){
		case 'price':
			return jQuery("#product_price");
		case 'name':
			return jQuery(".product_name");
		case 'tabdata':
			return jQuery("#current_item_tab");
		case 'avinfo':
			return jQuery("#availinfo");
		case 'quantity':
			return jQuery("#quantity");
		case 'quantity_text':
			return jQuery("#quantity_text");	
		case 'previewImage':
			return jQuery("#previewImage");
		case 'imagesList':
			return jQuery("#imagesList");
		case 'modelinfo':
			return jQuery("#modelinfo");
		case 'addtocart':
			return jQuery("#addtocart");			
		case 'countReviews':
			return jQuery("#countReviews");			
		case 'expertReviews':
			return jQuery("#expertReviews");	
		case 'notificationInfo':
			return jQuery("#notificationInfo");			
	}
}

function parsereply(json){
	for(var elem in json){
		var element = getElements(elem);
		switch(elem){
			case 'price':
			case 'name':
			case 'avinfo':
			case 'tabdata':
			case 'quantity':
			case 'quantity_text':
			case 'previewImage':
			case 'imagesList':
			case 'addtocart':
			case 'modelinfo':
			case 'countReviews':
			case 'expertReviews':
			case 'notificationInfo':
				element.html(json[elem]);
				break;
		}
	}
	initLightbox();
}

function reloadItems(){
	//przeladuj nazwe, cene
	id = getID();

	jQuery.ajax( {
		type : "GET",
		url : "/ajax_jQuery.php?module=prod&action=basic&products_id="+id,
		cache : true,
		dataType:"json",
		success : parsereply
	});
}

function getNeeded(){
	var needed = {
			"name":"ok",
			"tabdata":"ok",
			"avinfo":"ok",
			"quantity_text":"ok",
			"modelinfo":"ok",
			"countReviews":"ok",
			"expertReviews":"ok",
			"notificationInfo":"ok"
		};
	if(jQuery("#diff_elements").length == 1){
		var str = jQuery("#diff_elements").val();
		var elements = str.split(",");
		var delete_photos = false;
		for(var i=0; i<elements.length; i++){
			switch(elements[i]){
				case "PRICES":
					needed["price"] = "ok";
					break;
				case "PHOTOS":
					needed["previewImage"] = "ok";
					needed["imagesList"] = "ok";
					break;
				case "EXTENDEDVIEW":
					delete_photos = true;
					break;					
			}
		}
		
		//jeśli jest extended to nie pytaj o imagesList
		if(delete_photos){
			delete needed["imagesList"];
		}
	}
	
	var res = new Array();
	for(var i in needed){
		if(needed[i]=="ok")
			res.push(i);
	}
	
	
	return res;
}



jQuery(document).ready(function(){
	
	
	jQuery("select#products_id").change(function(){
		needed = getNeeded();
		queryfor(needed);
	});
	
	jQuery(".exLookupChange").click(function(){
		var id = (jQuery(this).attr('rel'));
		jQuery("#products_id").selectOptions(id);
		needed = getNeeded();
		queryfor(needed);
	});
		
})