// ***********************
// * AJAX FUNCTIONS      *
// ***********************


var base_ajax_url="includes/Ajax.php?";

// about Us
var aboutus_ajax_url="";

// products
var products_ajax_url="";

// distributors
var distributors_ajax_url="";

// partners
var partners_ajax_url="";

// testimonials
var testimonials_ajax_url="";

// news
var news_ajax_url="";

// contacts
var contacts_ajax_url="";

// services
var services_ajax_url="";




// New Ajax Engine
var AjaxEngine = new Ace.Engine();
var tmpAjaxEngine = new Ace.Engine();

var URLs = new Array();

function urlEncodeCharacter(c)
{
	return '%' + c.charCodeAt(0).toString(16);
};

function urlDecodeCharacter(str, c)
{
	return String.fromCharCode(parseInt(c, 16));
};

function urlEncode( s )
{
      return encodeURIComponent( s ).replace( /\%20/g, '+' ).replace( /[!'()*~]/g, urlEncodeCharacter );
};

function urlDecode( s )
{
      return decodeURIComponent(s.replace( /\+/g, '%20' )).replace( /\%([0-9a-f]{2})/g, urlDecodeCharacter);
};

function getAjaxInfo(params,target_element_id,base_ajax_url_param){
	
	//alert("getAjaxInfo("+params+","+target_element_id+","+base_ajax_url_param+")");
	
	current_base_ajax_url=base_ajax_url;
	// Redirection to different base urls depends on the third param
	
	if (base_ajax_url_param==undefined) {
		current_base_ajax_url=base_ajax_url;
	}
	
	// Aboutus
	if (base_ajax_url_param=="aboutus") {
		current_base_ajax_url=aboutus_ajax_url;
	}
	
	// products
	if (base_ajax_url_param=="products") {
		current_base_ajax_url=products_ajax_url;
	}
	
	// Distributors
	if (base_ajax_url_param=="distributors") {
		current_base_ajax_url=distributors_ajax_url;
	}
	
	// partners
	if (base_ajax_url_param=="partners") {
		current_base_ajax_url=partners_ajax_url;
	}
	
	// testimonials
	if (base_ajax_url_param=="testimonials") {
		current_base_ajax_url=testimonials_ajax_url;
	}
	
	// news
	if (base_ajax_url_param=="news") {
		current_base_ajax_url=news_ajax_url;
	}
	
	// contacts
	if (base_ajax_url_param=="contacts") {
		current_base_ajax_url=contacts_ajax_url;
	}

	// services
	if (base_ajax_url_param=="services") {
		current_base_ajax_url=services_ajax_url;
	}

	// Banners
	if (document.getElementById("bottom_baner")) {

		if (params.indexOf("php")!=-1) {
	
			if ((params.indexOf("hardware")!=-1) || (params.indexOf("accessories.php")!=-1)) {
				// HARDWARE
				document.getElementById("bottom_baner").innerHTML="<a onclick=\"getAjaxInfo('services_support.php?menu_id=8','main_container','products');\" href=\"#\"><img src='/OpenAds/adview.php?what=zone:2&amp;n=a35ea9cc' border='0' alt=''></a>";
			
			} else {
				// HO HARDWARE
				
				document.getElementById("bottom_baner").innerHTML="<a href='/OpenAds/adclick.php?n=a50f171d' target='_blank'><img src='/OpenAds/adview.php?what=zone:5&amp;n=a50f171d' border='0' alt=''></a>";
		
			}
		}
	}


	eval("var AjaxEngine_"+target_element_id+" = new Ace.Engine();");
	
	//document.getElementById(target_element_id).innerHTML = "<span style='display: block; padding:8px; font-size:12px; color: black;'>зареждане ...</span>";
	URLs[target_element_id]=params;
	var request = new Ace.Request(Ace.Method.Get, current_base_ajax_url+params, null, null, ajaxCallback, target_element_id, Ace.CallbackOption.StatusOK);
	//AjaxEngine.invoke(request, null, null);
	
	eval("AjaxEngine_"+target_element_id+".invoke(request, null, null);");
	
	
	// CALL GOOGLE ANALYTICS FUNCTIONS
	pageTracker._trackEvent('Ajax Clicks', base_ajax_url_param, params);
	
	
	
}



function ajaxCallback(response, args) {

	var JavaScriptStart='<script language="javascript" type="text/javascript"> // LEMON AJAX EXTENTION';
	var JavaScriptEnd='</script>';
	
	document.getElementById(args).innerHTML = response.text; 

	
	// Getting any Javascript text
	if (response.text.indexOf(JavaScriptStart)!=-1) {
		
		// Execute the javascript
		JavaScriptString=response.text.substring(response.text.indexOf(JavaScriptStart)+JavaScriptStart.length+1,response.text.indexOf(JavaScriptEnd));
		//alert(response.text.indexOf(JavaScriptStart)+" -->> "+ JavaScriptString);
		eval(JavaScriptString);
	}
}


// ******************************
// * END OF AJAX FUNCTIONS      *
// ******************************