//===============================================================================================================
//FUNCTION THAT CENTER AN OVERLAY
//===============================================================================================================
function center(element, box_id){
    try{
        element = $(element);
    }catch(e){
        return;
    }

    var my_width  = 0;
    var my_height = 0;

    if ( typeof( window.innerWidth ) == 'number' ){
        my_width  = window.innerWidth;
        my_height = window.innerHeight;
    }else if ( document.documentElement &&
             ( document.documentElement.clientWidth ||
               document.documentElement.clientHeight ) ){
        my_width  = document.documentElement.clientWidth;
        my_height = document.documentElement.clientHeight;
    }
    else if ( document.body &&
            ( document.body.clientWidth || document.body.clientHeight ) ){
        my_width  = document.body.clientWidth;
        my_height = document.body.clientHeight;
    }

    element.style.position = 'absolute';
    element.style.zIndex   = 32099;

    var scrollY = 0;

    if ( document.documentElement && document.documentElement.scrollTop ){
        scrollY = document.documentElement.scrollTop;
    }else if ( document.body && document.body.scrollTop ){
        scrollY = document.body.scrollTop;
    }else if ( window.pageYOffset ){
        scrollY = window.pageYOffset;
    }else if ( window.scrollY ){
        scrollY = window.scrollY;
    }

    var elementDimensions = Element.getDimensions(element);

    var setX = ( my_width  - elementDimensions.width  ) / 2;
    var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;

    setX = ( setX < 0 ) ? 0 : setX;
    setY = ( setY < 0 ) ? 0 : setY;


	//setY = 50;
	//setY = 50;
	switch(box_id)
	{
		case "overlay_login_details":
			//setY = 50;
		break;
	}

    element.style.left = setX + "px";
    element.style.top  = setY + "px";

    //element.style.display  = 'block';
}



//===================================================================================================================
//FUNCTION THAT SHOWS A REGULLAR OVERLAY
//===================================================================================================================
function showBox(overlay_id, box_id)
{
	
	center(box_id,box_id);
	
	//alert(window.document.body.scrollHeight);
	
    $(overlay_id).style.height=window.document.body.scrollHeight + 'px';


    
    $(overlay_id).style.backgroundColor='#8c969b';

    try{$(overlay_id).style.mozOpacity= 0.85;}catch(err){ }
    try{$(overlay_id).style.filter="alpha(opacity=85)";}catch(e){alert(e);}
    try{$(overlay_id).style.opacity=0.85;}catch(err){}
    


	//Effect.toggle(box_id,'slide');
	
	//center(box_id);
	try{
		
		var element_ = $(box_id);		
		var elementDimensions = Element.getDimensions(element_);	    
	    $(box_id+"_iefix").style.left=element_.style.left;	    
	    $(box_id+"_iefix").style.top=element_.style.top;
    
    }
	catch(e)
	{
	    alert(e);
	}
	
    $(box_id+"_iefix").style.width =elementDimensions.width +'px';
    $(box_id+"_iefix").style.height = elementDimensions.height +'px';
    $(box_id+"_iefix").style.display="block";
    
    var height = $(box_id+"_iefix").style.height;

    //alert(height);

	Element.show(box_id);
	Element.show(overlay_id);
	

	return false;
}

//===================================================================================================================
//===================================================================================================================


function hideBox(overlay_id, box_id)
{
	
	Element.hide(overlay_id);	
	Element.hide(box_id);
	
	//Effect.toggle(box_id,'slide');
	$(box_id+"_iefix").style.display="none";
		
	return false;
	
}


function open_products_details_page(products_id, sess_cart_page)
{
	
	var url = "ajax_shopping_cart.php";
	
	var pars = "products_id="+products_id+"&action_list=show_products_details";
	
	if (sess_cart_page == 1)
	{
		pars += "&cart_page=1";
	}
	
	var myAjax = new Ajax.Updater( 'products_details_overlay_content', url,
	
												{ method: 'get',
												  parameters: pars,
												  evalScripts:true,
												  onComplete: open_products_details_page_from_server
												 
												}
	
											 );
	
	//
}


function open_products_details_page_from_server(originalRequest)
{
	/*
		Try.these(
			function () 
			{				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
							
				action_returned = jsonObject["action_returned"];		
				
								
				switch(action_returned)
				{
					case "show_products_details_ok":											
					$("products_details_overlay_content").innerHTML = jsonObject["product_info"];	
					break;
					
					
					
					case "show_products_details_not_ok":											
																			
					break;
					
					
						
				}//switch(action_returned)
				
								
				
			}//function ()						
			
			
	);
	*/
	
	showBox('overlay_main_page', 'products_details_overlay');
	
}


function open_products_images(products_id)
{
	var url = "ajax_shopping_cart.php";
	
	var pars = "products_id="+products_id+"&action_list=show_products_images";
	
	var myAjax = new Ajax.Updater( 'products_pictures_overlay_content', url,
	
												{ method: 'get',
												  parameters: pars,
												  evalScripts:true,
												  onComplete: open_products_images_server
												 
												}
	
											 );
											 
											 
}

function open_products_images_server(originalRequest)
{
	showBox('overlay_main_page', 'products_pictures_overlay');
}


function set_action_open_login_box()
{
	showBox('overlay_main_page', 'login_box_overlay');
}


function update_price(select, attr_pos, products_id, type)
	{
		//alert (select.selectedIndex);
		//alert(attribs[attr_pos][1][select.selectedIndex][0]);
		
		
		if(type)
		{
			var original_price = $F("original_price"+'_'+type+'_'+products_id);
			var price_unit_multiplicator = $F("price_unit_multiplicator"+'_'+type+'_'+products_id);
		}
		else
		{
			var original_price = $F("original_price_"+products_id);
			var price_unit_multiplicator = $F("price_unit_multiplicator_"+products_id);
		}
				
		
		
		attribs[products_id][attr_pos]['selected_index'] = select.selectedIndex;
	
	
		multiply_by = 1;
		add = 0;
		nr_attribs = attribs[products_id].length;
		
		for (i=0; i<nr_attribs; i++)
		{
			selected_index = attribs[products_id][i]['selected_index'];
			
			//alert(attribs[products_id][i]['options'][selected_index]['add']);
			
			multiply_by *= attribs[products_id][i]['options'][selected_index]['multiply'];			
			add += attribs[products_id][i]['options'][selected_index]['add'];
			
			
			//alert (attribs[i][0]);
		}
		
		add *= 1;
		
		var option_price = original_price * (multiply_by - 1);
		var new_price = ( Math.round(original_price*100)/100 + Math.round(option_price*100)/100) + add ;
		//alert("original_price" + original_price);
		//alert("original_price|" + original_price + "|multiply_by |" + multiply_by + "|add|" +add + "|newprice|" + new_price+"|");
		
		
		//aici de verificat
		try
		{
			products_price_manufacturer_div = document.getElementById('products_price_manufacturer');
			if (new_price == original_price)
			{
				products_price_manufacturer_div.style.display = "block";
			}
			else
			{
				products_price_manufacturer_div.style.display = "none";
			}
		}
		catch(e)
		{
			
		}
		
		
		
		
		
		
		//aici de verificat
		
		if (price_unit_multiplicator != 0)
		{
			new_price_per_unit = new_price / price_unit_multiplicator;
			new_price_per_unit =  formatCurrency (new_price_per_unit) ;
		
			try
			{
				if(type)
				{
					document.getElementById('price_per_unit_location'+'_'+type+'_'+products_id).innerHTML = new_price_per_unit;
				}
				else
				{
					document.getElementById('price_per_unit_location'+'_'+products_id).innerHTML = new_price_per_unit;
				}
			}
			catch(e)
			{
			
			}
		}
		
		new_price =  formatCurrency (new_price) ;
		if(type)
		{
			document.getElementById('price_location_'+type+'_'+products_id).innerHTML = new_price;
		}
		else
		{		
			document.getElementById('price_location_'+products_id).innerHTML = new_price;
		}


//		alert(new_price + "|" + original_price);

	
		
//		alert(new_price);
	
	
	}
	
	
function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + ',' + cents + ' EUR');
}


//FUNCTION HEDGEHOG
function set_action_check_distrib(products_id, field_name)
{
	var nr_distributors_allowed = $F("nr_distributors_allowed");
	var alt_least_one_dis_check = false;
	for(var i=0;i<=nr_distributors_allowed;i++)
	{
		var field_name_dis = "pp_flag_distributors_"+i;
		if(field_name_dis!=field_name)
		{
			if($("pp_flag_distributors_"+i+"_"+products_id))
			{
				$("pp_flag_distributors_"+i+"_"+products_id).checked = false;
			}
		}
		
		if($("pp_flag_distributors_"+i+"_"+products_id))
		{
			if(	$("pp_flag_distributors_"+i+"_"+products_id).checked == true)
			{
				 alt_least_one_dis_check = true;	
			}
		}
	}
	
	if(alt_least_one_dis_check)
	{
		//deselectam procentele
		for(var i=0;i<fields_dis_array.length;i++)
		{
			if($("pp_flag_"+fields_dis_array[i]+"_"+products_id))
			{
				$("pp_flag_"+fields_dis_array[i]+"_"+products_id).checked = false;				
			}
		}
		
		//deselectam lock price
		$("pp_flag_locked_"+products_id).checked = false;
	}
	 
}

function set_action_check_percent(products_id, field_name)
{
	
	var at_leat_one_percent = false;
	for(var i=0;i<fields_dis_array.length;i++)
	{
		var field_name_dis = "pp_flag_"+fields_dis_array[i];
		if(field_name_dis!=field_name)
		{
			if($("pp_flag_"+fields_dis_array[i]+"_"+products_id))
			{
				$("pp_flag_"+fields_dis_array[i]+"_"+products_id).checked = false;
			}
		}
		
		if($("pp_flag_"+fields_dis_array[i]+"_"+products_id))
		{
			if($("pp_flag_"+fields_dis_array[i]+"_"+products_id).checked == true)
			{
				at_leat_one_percent = true;
			}
		}
	}
	
	if(at_leat_one_percent)
	{
		
		var nr_distributors_allowed = $F("nr_distributors_allowed");
		for(var i=0;i<=nr_distributors_allowed;i++)
		{
			if($("pp_flag_distributors_"+i+"_"+products_id))
			{
				$("pp_flag_distributors_"+i+"_"+products_id).checked = false;
			}
		}
		
		//deselectam lock price
		$("pp_flag_locked_"+products_id).checked = false;
	}
	
	
}

function set_action_click_lock_price(products_id)
{
	if($("pp_flag_locked_"+products_id).checked == true)
	{
		var nr_distributors_allowed = $F("nr_distributors_allowed");
		for(var i=0;i<=nr_distributors_allowed;i++)
		{
			if($("pp_flag_distributors_"+i+"_"+products_id))
			{
				$("pp_flag_distributors_"+i+"_"+products_id).checked = false;
			}
		}
		
		for(var i=0;i<fields_dis_array.length;i++)
		{
			if($("pp_flag_"+fields_dis_array[i]+"_"+products_id))
			{
				$("pp_flag_"+fields_dis_array[i]+"_"+products_id).checked = false;				
			}
		}
			
	}
}

function set_action_save_pp_behavior(products_id)
{
	var nr_distributors_allowed = $F("nr_distributors_allowed");
	
	var url = "./actions.php";
	var pars = "products_id="+products_id+"&action_list=ax_save_products_price&nr_distributors_allowed="+nr_distributors_allowed;
	
	//alert(url);
	
	var pp_flag_locked_value = 0;
	if($("pp_flag_locked_"+products_id).checked == true)
	{
		pp_flag_locked_value = 1;
	}	
	var pp_locked_price = $F("pp_locked_price_"+products_id);
	
	pars+="&pp_flag_locked="+pp_flag_locked_value+"&pp_locked_price="+pp_locked_price;
	
	for(i=1;i<=nr_distributors_allowed;i++)
	{
		if( $("pp_flag_distributors_"+i+"_"+products_id) )
		{
			if($("pp_flag_distributors_"+i+"_"+products_id).checked == true)
			{
				pars+="&pp_flag_distributors_"+i+"="+$F("pp_flag_distributors_"+i+"_"+products_id);
			}
		}
	}
	
	for(var i=0;i<fields_dis_array.length;i++)
	{
		var field_name_dis = "pp_flag_"+fields_dis_array[i]+"_"+products_id;
		
		if($(field_name_dis))
		{
			if($(field_name_dis).checked == true)
			{
				pars+="&pp_flag_"+fields_dis_array[i]+"=1";
			}
		}
		
	}
	
	var GRB = $F("GRB_"+products_id);
	
	pars+="&GRB="+GRB;
	
	$("img_loader_"+products_id).src="./images/ajax-loader.gif";
	$("div_id_button_"+products_id).style.display = "none";
	$("div_id_loading_"+products_id).style.display = "block";
	
	//alert(pars);
	
	var myAjax = new Ajax.Request( url,
		
													{ method: 'post',
													  parameters: pars,
													  onComplete: set_action_save_pp_behavior_from_server
													}
		
												);
	
}

function redo_loader(products_id)
{
	$("img_loader_"+products_id).src="./images/ajax-loader.gif";
	$("div_id_button_"+products_id).style.display = "block";
	$("div_id_loading_"+products_id).style.display = "none";
	
}


function set_action_save_pp_behavior_from_server(originalRequest)
{
	Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
								
				action_returned = jsonObject["action_returned"];	

				products_id = jsonObject["products_id"];	
												
				switch(action_returned)
				{

					case "ax_save_products_price_ok":			
						$("img_loader_"+products_id).src="./images/ok.gif";			
						
						setTimeout("redo_loader('"+products_id+"')", 2000);
						
						var page_page  = $F("page_page");
						var sql_query = $F("sql_query");
						var action_list = $F("action_list");
						
						var pars = "action_list=update_pages&page="+page_page+"&sql_query="+sql_query+"&action_list_page="+action_list;
						var url = "actions.php";
						var myAjax = new Ajax.Updater("pages_top_top" , url, { method: 'post',  parameters: pars, evalScripts:true});	
						var myAjax = new Ajax.Updater("pages_bottom" , url, { method: 'post',  parameters: pars, evalScripts:true});	
									
					break;
					
					case "ax_save_products_price_not_ok":
										
						err_msg = jsonObject["err_msg"];
						$("error_div_"+products_id).innerHTML = err_msg;
						$("img_loader_"+products_id).src="./images/ok.gif";			
						
						setTimeout("redo_loader('"+products_id+"')", 2000);
						
					break;
								
				}//switch(action_returned)
				
								
				
			}//function ()			
			
			
	);
		
}


function redo_loader2(products_id)
{
	$("remove_img_loader_"+products_id).src="./images/ajax-loader.gif";
	$("remove_action_div_"+products_id).style.display = "block";
	$("remove_div_id_loading_"+products_id).style.display = "none";
	
}


function set_action_remove_formula(products_id)
{
	var url = "./actions.php";
	var pars = "products_id="+products_id+"&action_list=ax_remove_products_formula";
	
	$("remove_action_div_"+products_id).style.display = "none";
	
	$("remove_img_loader_"+products_id).src="./images/ajax-loader.gif";	
	$("remove_div_id_loading_"+products_id).style.display = "block";
	
	var myAjax = new Ajax.Request( url,
		
													{ method: 'post',
													  parameters: pars,
													  onComplete: set_action_remove_formula_from_server
													}
		
												);
	
}

function set_action_remove_formula_from_server(originalRequest)
{
	Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
								
				action_returned = jsonObject["action_returned"];	

				products_id = jsonObject["products_id"];	
												
				switch(action_returned)
				{

					case "ax_remove_products_formula_ok":			
						$("remove_img_loader_"+products_id).src="./images/ok.gif";			
						
						setTimeout("redo_loader2('"+products_id+"')", 2000);
									
					break;
					
					case "ax_remove_products_formula_not_ok":
										
											
					break;
								
				}//switch(action_returned)
				
								
				
			}//function ()			
			
			
	);
	
}

function set_action_update_status_for_prices()
{
	var url = "./actions.php";
	if($("price_update_products"))
	{
		var price_update_products = $F("price_update_products"); 
		
	
		
		var pars = "action_list=check_update_status&price_update_products="+price_update_products;
		
		var myAjax = new Ajax.Request( url,
			
														{ method: 'post',
														  parameters: pars,
														  onComplete: set_action_update_status_for_prices_from_server
														}
			
													);
	}
	
}

function set_action_update_status_for_prices_from_server(originalRequest)
{
	Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
								
				action_returned = jsonObject["action_returned"];	


												
				switch(action_returned)
				{

					case "check_update_status_ok":					
						window.location='price_calculator_alerts.php';			
					break;
					
					case "check_update_status_not_ok":										
						if($("div_info_text"))
						{
							$("div_info_text").innerHTML = jsonObject["nr_products"];					
						
							setTimeout("set_action_update_status_for_prices()", 1000);
						}
						
					break;
					
					default:
						setTimeout("set_action_update_status_for_prices()", 1000);
					break;
								
				}//switch(action_returned)
				
								
				
			}//function ()			
			
			
	);
	
}
