/*************************************************************************/
/******************************* AJAX ************************************/
function getHttpRequest() {
	try {
		ob = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			ob = new ActiveXObject ("Microsoft.XMLHTTP");
		} catch (E) {
			ob = false;
		}
	}
	if (! ob && typeof XMLHttpRequest!= 'undefined') {
		ob = new XMLHttpRequest();
	}
	return ob;
}

function ajax(url, afterResponse, isSynchronize, vPost, vGet){
	var method = "GET";
	var post = "";
	if (vPost != null) {
		post = vPost;
		method = "POST";
	}
	var get = vGet == null? "" : vGet;
	var response = false;
	response = getHttpRequest();

	response.onreadystatechange = function () {
		if (response.readyState == 4) {
			text = response.responseText;
			afterResponse(text);
		}
	}

	response.open('POST', url + '?' + get, isSynchronize);
    if(post!=""){
    	response.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    	response.send(post);
    } else {
    	response.send(null);
    }
}

/*******************************************************/
/************************ DIALOG ***********************/
function showElement(id) {
	var elem = document.getElementById(id);
	elem.style.display = 'block';
	
}

function showPage(html) {
	var container = document.getElementById("dialogMail");
	container.className = "dialog";
	document.getElementById("dialogMail").innerHTML = html;
}

function closeDialog(id) {
	var e = document.getElementById(id);
	if (e != null) {
		e.style.display = 'none';
		document.getElementById("sending").innerHTML = "";
		document.getElementById("buttonEmail").disabled = false;
		document.getElementById("closeDialog").style.display = "inline";
		document.getElementById("sending").style.color = "black";
	}
}

/****************************************************/
/******************* SEND EMAIL *********************/
function sendProfile(url,form,searchId){
	try {
	var servletName = "emailpage";
	var paramGet = "sid=&iqf0=duplicated&iqk0=false&iqf1=headquarter&iqt1=fq&iqk1=" + searchId + "&lang=" + form.lang.value;
	var emailPage = "";
	var afterResponseEmailPage = function (response) {
		emailPage = response;
		
		var elementHidde = document.createElement("div");
		elementHidde.style.display = "";
		elementHidde.id = "elementHidde";
		elementHidde.innerHTML = trim(response);
		document.body.appendChild(elementHidde);
		
		var mapCont = document.getElementById("mapHidde");
		if (mapCont != null) {
			var image = document.createElement("img");
			image.src = googleMap;
			image.border = "0";
			image.width = "525";
			image.height = "300";
			var mapCont = document.getElementById("mapHidde");
			mapCont.appendChild(image);
		}

		emailPage = getStringNode(elementHidde.firstChild,0);

		document.body.removeChild(elementHidde);
		
		var param = "to=" + form.to.value + 
		"&cc=" + form.cc.value + 
		"&bcc=" + form.bcc.value + 
		"&content=" + form.content.value +
	    "&pagecontent=" + encodeURIComponent(emailPage) +
	    "&busname=" + form.busname.value +
	    "&urlProfile=" + xmlencode(document.location.href) +
	    "&lang=" + form.lang.value;

		ajax(mainURL + url,emailSent,true,param,null);
	}

	ajax(mainURL + servletName,afterResponseEmailPage,true,null,paramGet);
	document.getElementById("sending").innerHTML = "Sending...";
	document.getElementById("closeDialog").style.display = "none";
	document.getElementById("buttonEmail").disabled = true;
	
	return false;
	} catch(e) {
		document.getElementById("sending").style.color = "red";
		document.getElementById("sending").innerHTML = "The email didn't send.";
		return false;
	}
}

function emailSent() {
	closeDialog("dialogMail");
}
/****************************************************/
function showFormUpdate(lang) {
	var ajaxRequest = new AjaxRequest(mainURL + "ajaxshowform?lang="+ lang, "showResponseText");
 	ajaxRequest.sendRequest();
}

function showResponseText(text) {
	var container = document.getElementById('formUpdateBusiness');
	if (trim(container.innerHTML).length > 0) {
		container.innerHTML = '';
	} else {
		container.innerHTML = text;
		window.scrollTo(0,700);
		document.getElementById('formBusUpdate').companyName.focus();
	}
}

function ltrim(s) {
   return s.replace(/^\s+/, "");
}

function rtrim(s) {
   return s.replace(/\s+$/, "");
}

function trim(s) {
   return rtrim(ltrim(s));
}

var smsSent = "";

function sendSMS(url, form, smsSentParam) {
	var num = validateNumber(form.phoneNumber.value);
	if(num != 0){
		try {
			smsSent = smsSentParam;
			var company = form.companySelector.value;
			var to = num + '@' + company;
			var comment = '; '+ form.contentPhone.value + form.busPhone.value + '; ' + form.contentAddress.value + form.busAddress.value;
			
			var paramMail = 'to=' + to + '&comment=' + comment + '&subject=' + form.busName.value;
			
			document.getElementById('errorSMS').style.display = 'none';
			document.getElementById('smsSend').style.display = 'inline';
			
//			var ajaxRequest = new AjaxRequest(mainURL + url + "?" + paramMail, "afterSendSMS");
//		 	ajaxRequest.sendRequest();
			
			ajax(mainURL + url,afterSendSMS,true,null,paramMail);
			return false;
		} catch(e) {
			return false;
		}
	}
	else{
		document.getElementById('errorSMS').style.display = 'inline';
		return false;
	}
}

function validateNumber(number){
	var num = "";
	var ch = "";
	for(var i = 0; i < number.length; i++){
		ch = number.substring(i, i+1);
		if(ch> '/' && ch < ':'){
			num = num + ch;
		}
	}
	if(num.length != 10){
		return 0;
	}
	return num;
}

function afterSendSMS(text) {
	alert(smsSent);
	document.getElementById('smsSend').style.display = 'none';
	document.getElementById('inputNumber').value = '';
	closeDialog('profileDialogSMS');
}
