var urlLocal = "http://www.ultramob.com.br/ultramobPortal";
var tinyurl = "http://idresource.ultramob.com.br"
var urlContent = '';
var urlAccessWap = '';
var idContent = '';
var idUser = '';
var applicationId = '1';
var applicationName = 'ultramob';
var channel = '';
var phoneTemp = '';
var countryPrefix = "55";
var erroNumero = "Por favor, insira corretamente o numero do seu celular (ddd + n&uacute;mero)";
var erroCheck = "Por favor, aceite os termos de condi&ccedil;&otilde;es antes de continuar.";
var erroGenerico = "Ocorreu um erro, por favor, tente novamente mais tarde.";
var erroPassword = "Informe a sua senha";
var urlCheckPortability = urlLocal + "/web/ajax_request/checkPortability/";
var carrierName = '';
var chargeUnit = null;

function paging(cn, page, context, idDiv){
	document.getElementById(idDiv + "Loading").className = "visible";
	document.getElementById(idDiv).className = "invisible";
	var queryString = '?page=' + page + '&cn=' + cn;
	
	var url = urlLocal+"/web/ajax_request/"+context+"/" + queryString;
	
	var IEproperties = navigator.appVersion.split("MSIE");
	var IE_version = parseFloat(IEproperties[1]);
	if (IE_version == 6) { 
		window.scrollTo(0,0);
	}
	
	jQuery.get( url, null, function(data) { returnAjax(data, idDiv); } );
	
	return false;
}

function returnAjax(data, idDiv){
	document.getElementById(idDiv).innerHTML = data;
	document.getElementById(idDiv + "Loading").className = "invisible";
	document.getElementById(idDiv).className = "visible";
}

function login(){
	var divErro = document.getElementById("erro");
	phoneTemp = cookie.get('phoneCookie');

	if(phoneTemp == '' || phoneTemp == null || phoneTemp == 'null'){
		divErro.className = "div_compra_erro";
		divErro.innerHTML = erroNumero;
		return false;
	}

	parent.document.getElementById("containerAssign").className = "div_modulo invisible";
	parent.document.getElementById("div_logarLoading").className = "div_modulo visible";

	if(10 == phoneTemp.length){
		phoneTemp = countryPrefix + phoneTemp;
	}
	
	var url = urlLocal+"/web/login/?phone=" + phoneTemp;
	cookie.set('phoneCookie',phoneTemp);
	
	jQuery.get( url, null, returnAjaxLogin);
}

function returnAjaxLogin(data){
	parent.document.getElementById("containerAssign").innerHTML = data;
	parent.document.getElementById("div_logarLoading").className = "div_modulo invisible";
	parent.document.getElementById("containerAssign").className = "div_modulo visible";
}

function loadDiv(data){
	document.getElementById('container').innerHTML = data;
}

function comprarSearch(cn, en){
	var temp = cn.replace("_", "/");

	temp = temp.toLowerCase();
	
	return comprar(cn, en, temp);
}

function preview(cn, en, channelType){
	urlContent = '?cn='+cn+'&en=content_'+en;
	
	var url = urlLocal+"/web/ajax_request/preview/" + "?cn=" + cn + "&en=content_" + en;;
		
	document.getElementById('container').style.display = 'block';
	document.getElementById('black_overlay').style.display='block';
	
	var IEproperties = navigator.appVersion.split("MSIE");
	var IE_version = parseFloat(IEproperties[1]);
	if (IE_version == 6) { 
		window.scrollTo(0,0);
	}
	
	jQuery.get( url, null, loadDiv);
	
	return false;
}

function comprar(cn, en, charge){
	chargeUnit = charge;
	channel = cn;
	idContent = "content_" + en;
	urlContent = '?cn='+cn+'&en=content_'+en;
	urlAccessWap = tinyurl.replace('idresource','br'+en) + "/?"+cn;

	idUser = document.getElementById('idUser') != null ? document.getElementById('idUser').value : '';
	
	var url = urlLocal+"/web/ajax_request/compra_1/"+urlContent;
		
	document.getElementById('container').style.display = 'block';
	document.getElementById('black_overlay').style.display='block';

	var phoneNumberSession = document.getElementById('phoneNumberSession');

	if(cookie.get('phoneCookie') != null && cookie.get('phoneCookie') != '' && phoneNumberSession != null && phoneNumberSession.value != ''){
		return this.step2();
	}
	
	var IEproperties = navigator.appVersion.split("MSIE");
	var IE_version = parseFloat(IEproperties[1]);
	if (IE_version == 6) { 
		window.scrollTo(0,0);
	}
	
	jQuery.get( url, null, loadDiv);
	
	return false;
}

function step2() {
	var divErro = document.getElementById("erro");

	if(document.getElementById('phone')){
		phoneTemp = document.getElementById('ddd').value + document.getElementById('phone').value;
	}
	else {
		phoneTemp = cookie.get('phoneCookie');
	}
	
	if(phoneTemp == null || phoneTemp == '' || phoneTemp.length < 10){
		divErro.className = "div_compra_erro";
		divErro.innerHTML = "Informe o celular.";
		return false;
	}

	if(document.getElementById('checkbox') != null && document.getElementById('checkbox').checked == false){
		divErro.className = "div_compra_erro";
		divErro.innerHTML = erroCheck;
		return false;
	}

	phoneTemp = 10 == phoneTemp.length ? countryPrefix + phoneTemp : phoneTemp;
	cookie.set('phoneCookie',phoneTemp);

	if(divErro != null){
		divErro.innerHTML = "";
		divErro.className = "invisible";
	}
	
	showProcessing();
	
	ultramob.sendPassword(phoneTemp, applicationId, applicationName, null, null, 'web', urlAccessWap, chargeUnit, null, null, callbackSendPassword, idUser);

	return false;
}

function callbackSendPassword(response) {
	
	hideProcessing();
	if(response == true){
		var url = urlLocal+"/web/ajax_request/compra_2/"+urlContent;
		jQuery.get( url, null, loadDiv);
		return true;
	}
	else if(response == false){
		document.getElementById("erro").innerHTML = erroGenerico;
	}
	else if(response == 'EXISTS_SUBSCRIPTION' || response == 'SUBSCRIPTION_ALREADY_EXISTS'){
		var url = urlLocal+"/web/ajax_request/compra_4/"+urlContent;
		jQuery.get( url, null, loadDiv);
		return true;
	}
	else {
		document.getElementById("erro").innerHTML = erroNumero;
		document.getElementById("erro").className = "div_compra_erro";
	}
	return false;
}

function step3() {
	thisSendPushDownload();
	return false;
}

function thisSendPushDownload() {
	var phone = 10 == phoneTemp.length ? countryPrefix + phoneTemp : phoneTemp;
	var password = document.getElementById('password').value;
	
	showProcessing();
	
	if(password == ''){
		document.getElementById("erro").innerHTML = erroPassword;
		return false;
	}
	
	try {
		return ultramob.sendPushDownload(phone, applicationId, applicationName, null, null, password, 'web', '', urlAccessWap, chargeUnit, null, null, callbackSendPushDownload);
	} catch(err)	{ 
		document.getElementById("erro").innerHTML = erroGenerico;
		return false;
	};
}

function callbackSendPushDownload(response) {
	hideProcessing();
	if(response == true){
		var url = urlLocal+"/web/ajax_request/compra_3/"+urlContent;
		jQuery.get( url, null, loadDiv);
		return true;
	}
	else if(response == 'PASSWORDSESSION_ERROR' || response == 'CHECK_PASSWORD_FAIL'){
		document.getElementById("erro").innerHTML = "Contrase&ntilde;a incorrecta!";
	}
	else {
		document.getElementById("erro").innerHTML = erroGenerico;
	}
	return false;	
}

function assign2() {
	var divErro = document.getElementById("errorAssign");
	phoneTemp = countryPrefix + document.getElementById('dddAssign').value + document.getElementById('phoneAssign').value;
	
	if(phoneTemp == '' || phoneTemp.length < 12 ){
		divErro.className = "div_compra_erro";
		divErro.innerHTML = "Informe corretamente o seu numero";
		return false;
	}

	idUser = document.getElementById('idUser') != null ? document.getElementById('idUser').value : '';

	parent.document.getElementById("containerAssign").className = "div_modulo invisible";
	parent.document.getElementById("div_logarLoading").className = "div_modulo visible";
	
	if(document.getElementById('checkbox') != null && document.getElementById('checkbox').checked == false){
		return ultramob.existsSubscription(phoneTemp, '1', function(data) { callbackCheckbox(data, phoneTemp); }  );
	}

	jQuery.get( urlCheckPortability + "?phone=" + phoneTemp, null, checkPortability);
}

function callbackCheckbox(data, phoneTemp){
	var divErro = document.getElementById("errorAssign");
	if(data != null && (data.result.content.toLowerCase() == 'no')){

		parent.document.getElementById("containerAssign").className = "div_modulo visible";
		parent.document.getElementById("div_logarLoading").className = "div_modulo invisible";

		divErro.className = "div_compra_erro";
		divErro.innerHTML = erroCheck;
	}
	else{
		jQuery.get( urlCheckPortability + "?phone=" + phoneTemp, null, checkPortability);
	}

	return false;
}

function checkPortability(data){
	var divErro = document.getElementById("errorAssign");
	carrierName = data;

	cookie.set('phoneCookie',phoneTemp);

	divErro.innerHTML = "";
	divErro.className = "invisible";
	
	ultramob.sendPassword(phoneTemp, applicationId, applicationName, null, null, 'web', urlLocal + "/wap", null, null, null, callbackAssign2, idUser, carrierName);

	return false;
}

function callbackAssign2(response) {
	if(response == true){
		var url = urlLocal+"/web/ajax_request/assign_2/";
		jQuery.get(url, null, loadDivAssign);
		return true;
	}
	else if(response == false){
		document.getElementById("errorAssign").innerHTML = erroGenerico;
	}
	else if(response == 'EXISTS_SUBSCRIPTION' || response == 'SUBSCRIPTION_ALREADY_EXISTS'){
		var url = urlLocal+"/web/ajax_request/assign_3/?phone_redirect="+phoneTemp+"&carrier_name="+carrierName
		jQuery.get( url, null, loadDivAssign);

		return true;
	}
	else {
		document.getElementById("errorAssign").innerHTML = erroNumero;
	}
	return false;
}

function assign3() {
	var phone = 10 == phoneTemp.length ? countryPrefix + phoneTemp : phoneTemp;
	var password = document.getElementById('passwordAssign').value;
	
	if(password == ''){
		document.getElementById("errorAssign").className = "div_compra_erro";
		document.getElementById("errorAssign").innerHTML = "Insira a senha";
		return false;
	}

	parent.document.getElementById("containerAssign").className = "div_modulo invisible";
	parent.document.getElementById("div_logarLoading").className = "div_modulo visible";
	
	try {
		return ultramob.sendPushDownload(phone, applicationId, 'ultramob', null, null, password, 'web', '', urlLocal + '/wap/', null, null, null, callbackAssign3, carrierName);
	} catch(err)	{ 
		document.getElementById("errorAssign").innerHTML = erroGenerico;
		return false;
	};
}

function callbackAssign3(response) {
	parent.document.getElementById("containerAssign").className = "div_modulo visible";
	parent.document.getElementById("div_logarLoading").className = "div_modulo invisible";

	if(response == true || response == 'EXISTS_SUBSCRIPTION' || response == 'SUBSCRIPTION_ALREADY_EXISTS' ){
		var url = urlLocal+"/web/ajax_request/assign_3/?phone_redirect="+phoneTemp+"&carrier_name="+carrierName;
		jQuery.get( url, null, loadDivAssign);
		return true;
	}
	else if(response == 'PASSWORDSESSION_ERROR' || response == 'CHECK_PASSWORD_FAIL'){
		document.getElementById("errorAssign").innerHTML = "Senha incorrecta!";
	}
	else {
		document.getElementById("errorAssign").innerHTML = erroGenerico;
	}
	return false;	
}

function loadDivAssign(data){
	document.getElementById('containerAssign').innerHTML = data;

	parent.document.getElementById("div_logarLoading").className = "div_modulo invisible";
	parent.document.getElementById("containerAssign").className = "div_modulo visible";
	
	document.getElementById("errorAssign").className = "invisible";
		
	var identifier = document.getElementById('idUserTopo');
	if(identifier != null && identifier.value != '' && document.getElementById('idUser') != null){
		document.getElementById('idUser').value = identifier.value;
	}

	var phoneNumberSession = document.getElementById('phoneNumberSessionTopo');
	if(phoneNumberSession != null && phoneNumberSession.value != '' && document.getElementById('phoneNumberSession') != null){
		document.getElementById('phoneNumberSession').value = phoneNumberSession.value;
	}
}

function fechar(){
	if(document.getElementById('black_overlay')) {
		document.getElementById('black_overlay').style.display='none';
	}

	if(document.getElementById('imgPreview')){
		document.getElementById('imgPreview').src = '';
	}

	if(document.getElementById('container')){
		document.getElementById('container').innerHTML = '';
	}

	document.getElementById('container').style.display = 'none';
}

function numbers(e) {
	var key = null;
	var allow = {8: 1, 13: 1, 27: 1, 46: 1, 35: 1, 36: 1, 37: 1, 38: 1, 39: 1, 40: 1, 46: 1};

	if(window.event) {
		key = e.keyCode;
	}
	else if(e.which) {
		key = e.which;
	}

	return allow[key] || (key == 9) || (key >= 96 && key <= 105) || /\d/.test(String.fromCharCode(key));
};

function showProcessing() {
	if(document.getElementById('load')){
		document.getElementById('load').className = 'visible';
	}
	if(document.getElementById('continue')){
		document.getElementById('continue').className = 'invisible';
	}
}

function hideProcessing() {
	if(document.getElementById('load')){
		document.getElementById('load').className = 'invisible';
	}
	if(document.getElementById('continue')){
		document.getElementById('continue').className = 'visible';
	}
}

if(!this.cookie) {
	this.cookie = new function() {
		var buffer = {};

		this.set = function(name, value) {
			var date = new Date();
			date.setTime(date.getTime() + (60*60*1000));
			var expires = "; expires="+date.toGMTString();
			document.cookie = name + "=" + value + expires + "; path=/";
			buffer[name] = value;
		};

		this.get = function(name) {
			if(buffer[name] != null) {
				return buffer[name];
			}

			var nameEQ = name + "=";
			var ca = document.cookie.split(';');
			for(var i=0;i < ca.length;i++) {
				var c = ca[i];
				while (c.charAt(0)==' ') c = c.substring(1,c.length);
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
			return null;
		};
	};
}

function cleanText(obj) {
	if(!obj.cleaned){
		obj.value = '';
		obj.cleaned = true;
	}
}

function sendContact(){
	try	{
		var submitButton = document.getElementById('submit').disabled='disabled';
		
		var name = document.getElementById('name');
		var email = document.getElementById('email');
		var phone = document.getElementById('phone');
		var message = document.getElementById('message');
		
		var modelo = document.getElementById('modelo');
		
		var helpType = document.getElementById('selectAjuda')[document.getElementById('selectAjuda').selectedIndex].value;
		
		var notaSite = document.getElementsByName('radio4');
		var indicarSite = document.getElementsByName('radio3');
		var encontrou = document.getElementsByName('radio');
		var baixou = document.getElementsByName('radio2');
		var acessou = document.getElementsByName('radio5');
		
		var checkBaixarPreco = document.getElementById('checkBaixarPreco').checked;
		var checkMaisJogos = document.getElementById('checkMaisJogos').checked;
		var checkMaisMusicas = document.getElementById('checkMaisMusicas').checked;
		var checkDarPremios = document.getElementById('checkDarPremios').checked;
		var checkMaisCred = document.getElementById('checkMaisCred').checked;
		var checkOutros = document.getElementById('checkOutros').checked;
		var checkNoticiasEmail = document.getElementById('checkNoticiasEmail').checked;
		
		if(name == null || name.value.length == 0) {
			alert('Por favor, preencha corretamente o seu nome.');
			return false;
		}

		if(email == null || !email.value.match('.+@.+\\..+')) {
			alert('Por favor, preencha corretamente o seu email.');
			return false;
		}

		if(phone == null || !phone.value.match('[0-9]{10}')) {
			alert('Por favor, preencha corretamente o ddd e o numero de seu\ncelular Tim, Oi ou Claro antes de continuar. Ex: 1191112222.');
			return false;
		}
		
		var i; 
		var nota = '';
		
		for (i=0;i<5;i++){ 
		    if (notaSite[i].checked) {
		          nota = notaSite[i].value;
				  break; 
		    }
		} 
		
		var indica = '';
		for (i=0;i<5;i++){ 
		    if (indicarSite[i].checked) {
				  indica = indicarSite[i].value;
				  break; 
		    }
		} 
		
		
		var encontrouCont = '';
		for (i=0;i<2;i++){ 
		    if (encontrou[i].checked) {
				  encontrouCont = encontrou[i].value;
				  break; 
		    }
		} 
		
		
		var baixouCont = '';
		for (i=0;i<2;i++){ 
		    if (baixou[i].checked) {
				  baixouCont = baixou[i].value;
				  break; 
		    }
		} 
		
		var acessouCont = '';
		for (i=0;i<2;i++){ 
		    if (acessou[i].checked) {
				  acessouCont = acessou[i].value;
				  break; 
		    }
		} 
		

		if(message == null || message.value.length == 0) {
			alert('Por favor, preencha a mensagem.');
			return false;
		}

		var parameters = {nameValue : escape(name.value), 
						  emailValue : escape(email.value),
						  phoneValue : escape(phone.value),
						  messageValue : escape(message.value),
						  helpTypeValue : helpType,
						  notaValue : nota,
						  indicaValue : indica,
						  encontrouContValue : encontrouCont,
						  baixouContValue : baixouCont,
						  acessouContValue : acessouCont,
						  checkBaixarPrecoValue : escape(checkBaixarPreco),
						  checkMaisJogosValue : escape(checkMaisJogos),
						  checkMaisMusicasValue : escape(checkMaisMusicas),
						  checkDarPremiosValue : escape(checkDarPremios),
						  checkMaisCredValue : escape(checkMaisCred),
						  checkOutrosValue : escape(checkOutros),
						  checkNoticiasEmailValue : escape(checkNoticiasEmail),
						  modeloValue : escape(modelo.value)};
		
		var url = urlLocal + "/web/contact/" ;

		jQuery.post( url, parameters, function (data){
			if(data.toLowerCase().indexOf("success") >= 0) {
				alert('Mensagem enviada!');
				window.location='http://www.ultramob.com.br';
			} else {
				alert('Ocorreu um erro interno, favor tentar novamente mais tarde.');
			}
		});
	}
	catch (e) {
		alert(e);
	}
	return false;
}


function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) {// if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	} else { 
		countfield.value = maxlimit - field.value.length;
	}
}