function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

var ajaxQuery = '';
var ajaxStatus = false;


function sndRequest(action,id) {
	if(ajaxQuery.length > 0) {
		alert('Se está procesando una solicitud. Debe aguardar hasta que se terminen de procesar los datos para realizar una consulta nueva.');
		return false;
	} else {
		ajaxQuery = action;
		http.open('post', 'inc/files/webservice.php?action='+action+'&cod='+ encodeURI(id));
		http.onreadystatechange = handleResponse;
		http.send(null);
	}
}

function handleResponse() {
	if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
        if(response.indexOf('#@#' != -1)) {
            update = response.split('#@#');
			document.getElementById(update[0]).innerHTML = '';
			document.getElementById(update[0]).innerHTML = update[1];
			if(ajaxQuery == 'phone') {
				var item1 = document.getElementById('contenedor_phone').offsetHeight;
				new Rico.Effect.Size('upd_phones', null, item1, 500, 10,{complete:function() {ajaxStatus = true;}});
			}
			ajaxQuery = '';
        }
    } else {
		if(ajaxQuery == 'phone') {
			document.getElementById('upd_phones').innerHTML = '';
			new Rico.Effect.Size('upd_phones', null, 200, 200, 4,{complete:function() {ajaxStatus = true;}});
			//document.getElementById('upd_phones').style.height = '500px';
			var loader = document.createElement('div');
			loader.id = 'loader';
			loader.style.display='block';
			var loader_img = document.createElement('img');
			var texto = document.createTextNode(' Cargando datos...');
			loader_img.src='images/indicator.gif';
			loader_img.style.width='16px';
			loader_img.style.height='16px';
			loader_img.style.align='absmiddle';
			loader.innerHTML = '';
			loader.appendChild(loader_img);
			loader.appendChild(texto);
			document.getElementById('upd_phones').appendChild(loader);
		}
	}
}

function replace_img(object) {
	object.src = 'images/no_phone.gif';
}

function replace_empty_img(object) {
	object.src = 'images/pixel.gif';
}

function marqueeControl(op){
	obj = document.getElementById("scroller");

	switch (op){
		case 'start' : // Start Scrolling the Marquee
			obj.start();
		break;
		case 'resume' : // Start Scrolling the Marquee
			obj.start();
		break;
		case 'pause' :
			obj.stop();
		break;
	}
}

function prodPreview(cat,subcat,item) {
	if(!cat || !subcat || !item) {return false; }
	//win = window.open("?id=popup&cat="+cat+"&subcat="+subcat+"&item="+item, "", "width=500px,height=300px");
	document.location.href="?id=preview&cat="+cat+"&subcat="+subcat+"&item="+item;
}

function masInfo(t){
	if (t == 'precio'){ h = 230; } else { h = 100; }

	win = window.open("?id=info&ver="+t, "", "width=350px,height="+h+"px");
}

function votar() {
	var contenido_id = document.getElementById('contenido').value;
	var opciones = document.getElementsByTagName('input');
	for(i = 0; i < opciones.length; i++) {
		if(opciones[i].name == 'voto' && opciones[i].checked) {
			sndRequest('votacion',contenido_id+'|'+opciones[i].value);
			break;
		}
	}
}

function votar_sms() {
	var contenido_id = document.getElementById('contenido').value;
	var opciones = document.getElementsByTagName('input');
	for(i = 0; i < opciones.length; i++) {
		if(opciones[i].name == 'voto' && opciones[i].checked) {
			sndRequest('votacion_sms',contenido_id+'|'+opciones[i].value);
			break;
		}
	}
}

function recomendar(cat,subcat,item) {
	var btn_friend = document.getElementById('btn_friend2');
	if(!document.getElementById('friend_form')) {
		var friend_form = document.createElement('div');
		friend_form.id = 'friend_form';
		friend_form.style.zIndex = 50;
		friend_form.style.position = 'absolute';
		friend_form.style.left = (document.body.offsetWidth / 2) - 100;
		friend_form.style.top = btn_friend.offsetTop + 450;
		btn_friend.appendChild(friend_form);
		//btn_friend.innerHTML = btn_friend.-ht + friend_form.innerHTML;
	}
	sndRequest('send_friend',cat+'|'+subcat+'|'+item);
}

function recomendar_sms(item) {
	var btn_friend = document.getElementById('btn_friend2');
	if(!document.getElementById('friend_form')) {
		var friend_form = document.createElement('div');
		friend_form.id = 'friend_form';
		friend_form.style.zIndex = 50;
		friend_form.style.position = 'absolute';
		friend_form.style.left = (document.body.offsetWidth / 2) - 100;
		friend_form.style.top = btn_friend.offsetTop + 450;
		btn_friend.appendChild(friend_form);
		//btn_friend.innerHTML = btn_friend.-ht + friend_form.innerHTML;
	}
	sndRequest('send_friend2','item|'+item);
}

function listar_precios() {
	var loc_foot = document.getElementById('loc_foot');
	if(!document.getElementById('price_list')) {
		var friend_form = document.createElement('div');
		friend_form.id = 'price_list';
		friend_form.style.zIndex = 50;
		friend_form.style.position = 'absolute';
		friend_form.style.left = '-200px';
		//friend_form.style.top = '-348px';
		friend_form.style.top = '-' + ((window.screen.height + 174) / 2) + 'px';
		loc_foot.appendChild(friend_form);
	}
	sndRequest('price_list',"view");
}

function enviarRecomendacion() {
	var formulario = document.getElementById('send_friend');
	var sender_name = formulario.sender_name.value;
	var sender_mail = formulario.sender_mail.value;
	var rcpt_name = formulario.rcpt_name.value;
	var rcpt_mail = formulario.rcpt_mail.value;
	var url = formulario.url.value;
	sndRequest('send_mail',encodeURI(sender_name)+'|'+encodeURI(sender_mail)+'|'+encodeURI(rcpt_name)+'|'+encodeURI(rcpt_mail)+'|'+url);
}

function close_sendfriend() {
	var item = document.getElementById('friend_form');
	item.parentNode.removeChild(item);
}

function close_pricelist() {
	var item = document.getElementById('price_list');
	item.parentNode.removeChild(item);
}

function view_list(obj,id) {
	if(!document.getElementById('b'+id)) {
		sndRequest('phone_list',obj.parentNode.parentNode.id+'|send')
	}
}