
var req = new Array();
var counter = 0;
var agt=navigator.userAgent.toLowerCase();
var is_safari = (agt.indexOf("safari") != -1);
var is_opera = (agt.indexOf("opera") != -1);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_gecko = ((!is_safari)&&(agt.indexOf('gecko') != -1));

function makeRequest(reqid, userid, action, params, reqtype) {
	var dt = new Date;

	var tyear = dt.getFullYear();
	var tmonth = "0" + (Number(dt.getMonth()) + 1);
	var tday = "0" + dt.getDate();
	var thour = "0" + dt.getHours();
	var tminute = "0" + dt.getMinutes();
	var tsecond = "0" + dt.getSeconds();

	reqt = tyear;
	if(tmonth.length > 2){ reqt += tmonth.substr(1,2); } else { reqt += tmonth; }
	if(tday.length > 2){ reqt += tday.substr(1,2); } else { reqt += tday; }
	if(thour.length > 2){ reqt += thour.substr(1,2); } else { reqt += thour; }
	if(tminute.length > 2){ reqt += tminute.substr(1,2); } else { reqt += tminute; }
	if(tsecond.length > 2){ reqt += tsecond.substr(1,2); } else { reqt += tsecond; }

	if(!reqtype) reqtype = 2;

	if(reqtype == 2){
		var url = "../ajax.php?reqt=" + encodeURI(reqt) + "&reqid=" + encodeURI(reqid) + "&userid=" + encodeURI(userid) + "&action=" + action + "&params=" + params;
		var param = "";
	} else {
		var url = "../ajax.php";
		var param = "reqt=" + encodeURI(reqt) + "&reqid=" + encodeURI(reqid) + "&userid=" + encodeURI(userid) + "&action=" + action + "&params=" + params;
	}

	//var url = "../ajax.php?reqt=" + encodeURI(reqt) + "&reqid=" + encodeURI(reqid) + "&userid=" + encodeURI(userid) + "&action=" + action + "&params=" + params;
	executeXhr(reqtype, url, param);
}

function executeXhr(type, url, param) {
	// branch for native XMLHttpRequest object
	var reqc = req.length;
	if (window.XMLHttpRequest) {
		req[reqc] = new XMLHttpRequest();
		req[reqc].onreadystatechange = processAjaxResponse;
		if(type == 1){
			req[reqc].open("POST", url, true);
			req[reqc].setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		req[reqc].send(param);
		} else {
			req[reqc].open("GET", url, true);
			req[reqc].send(null);
		}

	} // branch for IE/Windows ActiveX version
	else if (window.ActiveXObject) {
		req[reqc] = new ActiveXObject("Microsoft.XMLHTTP");
		if (req[reqc]) {
    		req[reqc].onreadystatechange = processAjaxResponse;
    		if(type == 1){
    			req[reqc].open("POST", url, true);
    			req[reqc].setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    			req[reqc].send(param);
    		} else {
    			req[reqc].open("GET", url, true);
    			req[reqc].send(null);
    		}
		}
	}
}

function processAjaxResponse() {
	// only if req shows "loaded"
	for(k=0;k<req.length;k++){
		if(req[k]){
			if (req[k].readyState == 4) {
				// only if "OK"
				if (req[k].status == 200) {
					parseAjaxResponse(k);
				} else {
		    		//alert("There was a problem retrieving the XML data:\n" +
		        	//req[k].statusText);
				}
			}
		}
	}
}


function parseAjaxResponse(k){

	var separator = "<|>";

	var responseArray = new Array();
	responseArray = req[k].responseText.split(separator);
	req[k] = null;

	if(responseArray[2] == 'trends_get_ratings'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML = responseArray[4];
		ratingAnimate();
	}

	if(responseArray[2] == 'trends_get_trend_by_id'){
		if(responseArray[5].indexOf('is_advice=1') != -1){
			tmpObj = document.getElementById(responseArray[1]);

			if(is_ie) { tmpObj.style.filter = "alpha(opacity=0)"; }
			if(is_gecko) { tmpObj.style.MozOpacity = 0; }
			if(is_safari) { tmpObj.style.KhtmlOpacity = 0; }
			if(is_opera) { tmpObj.style.opacity = 0; }

			tmpObj.innerHTML = responseArray[4];

		    fadeIn(responseArray[1]);

		    makeRequest('right_rating_part', '', 'trends_get_ratings', '');
		    makeRequest('right_middle_part', '', 'trends_get_comments_form', '');
		    makeRequest('comments_holder_id', '', 'trends_get_comments', '');
		} else {
			waitForImage(responseArray[1],responseArray[4],0,1,1,1,responseArray[5]);
		}
	}

	if(responseArray[2] == 'trends_get_menu_by_advice'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML = responseArray[4];
	}

	if(responseArray[2] == 'trends_get_menu_by_brand'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML = responseArray[4];
	}

	if(responseArray[2] == 'trends_get_menu_by_theme'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML = responseArray[4];
		if(responseArray[5] && responseArray[5].indexOf('first_time=1') != -1){
			setTimeout("_expandMenu('expand')",1000);
			setTimeout("_expandMenu('shrink')",4000);
		}
	}

	if(responseArray[2] == 'trends_post_comment'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML = responseArray[4];
		loadObj = document.getElementById('comments_small_loader');
		if(loadObj) loadObj.style.visibility='hidden';
		errObj = document.getElementById('comments_errors_id');
		if(errObj){
			errposy = get_coords('height','comments_errors_extensions_id');
			errfixedy = 350;
			diffy = parseInt(errposy - errfixedy);
			errObj.style.top = diffy + 'px';
			errObj.style.visibility='visible';
		}
		if(responseArray[5] && responseArray[5].indexOf('success_insert=1') != -1){
			makeRequest('comments_holder_id', '', 'trends_get_comments', '');
		}
	}

	if(responseArray[2] == 'trends_get_comments'){

		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.style.visibility = 'hidden';
		tmpObj.innerHTML = responseArray[4];

		if(is_ie) { tmpObj.style.filter = "alpha(opacity=0)"; }
		if(is_gecko) { tmpObj.style.MozOpacity = 0; }
		if(is_safari) { tmpObj.style.KhtmlOpacity = 0; }
		if(is_opera) { tmpObj.style.opacity = 0; }

	    tmpObj.style.visibility = 'visible';

	    fadeIn(responseArray[1]);
	}

	if(responseArray[2] == 'trends_get_comments_form'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.style.visibility = 'hidden';
		tmpObj.innerHTML = responseArray[4];

		if(is_ie) { tmpObj.style.filter = "alpha(opacity=0)"; }
		if(is_gecko) { tmpObj.style.MozOpacity = 0; }
		if(is_safari) { tmpObj.style.KhtmlOpacity = 0; }
		if(is_opera) { tmpObj.style.opacity = 0; }

	    tmpObj.style.visibility = 'visible';

	    fadeIn(responseArray[1]);
	}

	if(responseArray[2] == 'trends_get_product_details_by_id'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML = responseArray[4];
	}

	if(responseArray[2] == 'trends_get_element_by_id'){
		waitForImage(responseArray[1],responseArray[4],0,1,0,1,responseArray[5]);
	}

	if(responseArray[2] == 'trends_get_all_elements_by_trend_id'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML += responseArray[4];
		_drawBullets();
	}

	if(responseArray[2] == 'trends_get_all_elements_last_by_brand'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML += responseArray[4];
		_drawBullets();
	}

	if(responseArray[2] == 'trends_get_all_elements_last_by_theme'){
		tmpObj = document.getElementById(responseArray[1]);
		tmpObj.innerHTML += responseArray[4];
		_drawBullets();
	}

	if(responseArray[2] == 'trends_get_last_by_advice'){
		allowMenuClick();
		tmpObj = document.getElementById(responseArray[1]);

		if(is_ie) { tmpObj.style.filter = "alpha(opacity=0)"; }
		if(is_gecko) { tmpObj.style.MozOpacity = 0; }
		if(is_safari) { tmpObj.style.KhtmlOpacity = 0; }
		if(is_opera) { tmpObj.style.opacity = 0; }

		tmpObj.innerHTML = responseArray[4];

	    fadeIn(responseArray[1]);

	    makeRequest('right_rating_part', '', 'trends_get_ratings', '');
	    makeRequest('right_middle_part', '', 'trends_get_comments_form', '');
	    makeRequest('comments_holder_id', '', 'trends_get_comments', '');
	}

	if(responseArray[2] == 'trends_get_last_by_brand'){
		waitForImage(responseArray[1],responseArray[4],2,0,1,1);
	}

	if(responseArray[2] == 'trends_get_last_by_theme'){
		waitForImage(responseArray[1],responseArray[4],1,0,1,1);
	}


	if(responseArray[2] == 'mmlib_get_preview_picture'){
		if(parent.parent.document.getElementById(responseArray[1])){
			parent.parent.document.getElementById(responseArray[1]).innerHTML = responseArray[4];
		} else if(window.document.getElementById(responseArray[1])){
			window.document.getElementById(responseArray[1]).innerHTML = responseArray[4];
		}
	}

	if(responseArray[2] == 'setup_set_field_as_filter'){
		if(document.getElementById(responseArray[1]).checked){
			document.getElementById(responseArray[1]).checked = false;
		} else {
			document.getElementById(responseArray[1]).checked = true;
		}
		counter++;
		document.getElementById('process_stack_' + responseArray[1]).innerHTML += '<b>DONE</b>';
		document.getElementById('process_stack_' + responseArray[1]).style.color='#65A574';
		document.getElementById('process_stack_' + responseArray[1]).id='done_process_stack_' + responseArray[1];
		setTimeout("document.getElementById('done_process_stack_" + responseArray[1] + "').style.display='none';document.getElementById('done_process_stack_" + responseArray[1] + "').innerHTML='';document.getElementById('done_process_stack_" + responseArray[1] + "').id='';hideProccessStackBox();",4000);
	}

	if(responseArray[2] == 'todoer_get_tasks_info'){
		document.getElementById(responseArray[1]).innerHTML = responseArray[4];
	}

}

function disallowMenuClick()
{
	men1Obj = document.getElementById('menu_id_1');
	men2Obj = document.getElementById('menu_id_2');
	men3Obj = document.getElementById('menu_id_3');

	men1Obj.onclick='';
	men2Obj.onclick='';
	men3Obj.onclick='';
}


function allowMenuClick()
{
	men1Obj = document.getElementById('menu_id_1');
	men2Obj = document.getElementById('menu_id_2');
	men3Obj = document.getElementById('menu_id_3');

	men1Obj.onclick = presM1;
	men2Obj.onclick = presM2;
	men3Obj.onclick = presM3;
}
function presM1()
{
	_pressButton('menu_id_1');
}
function presM2()
{
	_pressButton('menu_id_2');
}
function presM3()
{
	_pressButton('menu_id_3');
}

function hideProccessStackBox(){
	counter--;
	if(counter == 0){
		document.getElementById('floatLayer').style.display='none';
	}
}


function waitForImage(hDiv, src, last_by, trend_by_id, comments, request, params){

    if(is_safari){
       objImage = document.createElement('img');
    } else {
       objImage = new Image();
    }

    objImage.onload=function(){

		tmpObj = document.getElementById(hDiv);

		tmpObj.style.visibility = 'hidden';
		if(is_ie) { tmpObj.style.filter = "alpha(opacity=0)"; }
		if(is_gecko) { tmpObj.style.MozOpacity = 0; }
		if(is_safari) { tmpObj.style.KhtmlOpacity = 0; }
		if(is_opera) { tmpObj.style.opacity = 0; }

		oDiv = document.createElement("div");
		oDiv.setAttribute("id","styling_canvas_id");
	    oDiv.appendChild(objImage);

	    tmpObj.style.textAlign = "center";
        tmpObj.innerHTML = '';
    	tmpObj.appendChild(oDiv);
	    tmpObj.style.visibility = 'visible';

	    fadeIn(hDiv);

	    if(request == 1){
	    	if(last_by == 1) makeRequest(hDiv, '', 'trends_get_all_elements_last_by_theme', params);
	    	if(last_by == 2) makeRequest(hDiv, '', 'trends_get_all_elements_last_by_brand', params);
	    	if(trend_by_id == 1) makeRequest(hDiv, '', 'trends_get_all_elements_by_trend_id', params);

	    	if(comments == 1){
	    		makeRequest('right_rating_part', '', 'trends_get_ratings', '');
	    		makeRequest('right_middle_part', '', 'trends_get_comments_form', '');
	    		makeRequest('comments_holder_id', '', 'trends_get_comments', '');
	    	}
	    }
	}
    objImage.src=src;
}


function fadeIn(DivID) {
	tmpObj = document.getElementById(DivID);
	if(is_ie) {
		opac = tmpObj.style.filter;
		opac = opac.substr(opac.indexOf('=')+1);
		opac = parseInt(opac.substr(0,parseInt(opac.indexOf(')'))));
	}
	if(is_gecko) { opac = parseInt(tmpObj.style.MozOpacity * 100); }
	if(is_safari) { opac = parseInt(tmpObj.style.KhtmlOpacity * 100); }
	if(is_opera) { opac = parseInt(tmpObj.style.opacity * 100); }

	if(opac < 100){
		opac+=10;
		if(is_ie) { tmpObj.style.filter = "alpha(opacity=" + opac + ")";}
		if(is_gecko) { tmpObj.style.MozOpacity = opac/100; }
		if(is_safari) { tmpObj.style.KhtmlOpacity = opac/100; }
		if(is_opera) { tmpObj.style.opacity = opac/100; }
		setTimeout("fadeIn('"+ DivID +"')", 15);
	} else {
		allowMenuClick();
		loadObj = document.getElementById(DivID + '_loader');
		if(loadObj){
			loadObj.style.display = 'none';
		}
	}
}

function fadeOut(DivID) {
	tmpObj = document.getElementById(DivID);
	if(is_ie) {
		opac = tmpObj.style.filter;
		opac = opac.substr(opac.indexOf('=')+1);
		opac = parseInt(opac.substr(0,parseInt(opac.indexOf(')'))));
	}
	if(is_gecko) { opac = parseInt(tmpObj.style.MozOpacity * 100); }
	if(is_safari) { opac = parseInt(tmpObj.style.KhtmlOpacity * 100); }
	if(is_opera) { opac = parseInt(tmpObj.style.opacity * 100); }

	if(opac > 0){
		opac-=10;
		if(is_ie) { tmpObj.style.filter = "alpha(opacity=" + opac + ")";}
		if(is_gecko) { tmpObj.style.MozOpacity = opac/100; }
		if(is_safari) { tmpObj.style.KhtmlOpacity = opac/100; }
		if(is_opera) { tmpObj.style.opacity = opac/100; }
		setTimeout("fadeOut('"+ DivID +"')", 15);
	}
}
