var alarmInterval = null;

function getChangeValues(fieldRif, value, fieldChange, start, type, selectValue) {
	if(!selectValue) selectValue = "";
	$.ajax({
    	url: "/getValuesSelect.php?type="+type+"&value="+value,
    	type: 'GET',
		timeout: 25000,
		error: function(){
        	alert('Si e\' verificato un errore nel caricamento dei valori. Riprova!');
	    },
    	success: function(msg){
			var fieldSelect = document.getElementById(fieldRif);
			var fieldSelectChange = document.getElementById(fieldChange);
			//alert(msg);
			if(msg.indexOf('|' != -1)) {
				var update = msg.split('|');
				//var formCampo = update[0].split('^');
				var l=fieldSelectChange.length;
				for(var j=start; j<l; j++) {
					//alert(fieldSelect.options[j].value);
					fieldSelectChange.options[start]=null;
				}
				for(var i=0; i<(update.length-1); i++) {
					var selectField = update[i].split('^');
					var nuovo = new Option(selectField[1],selectField[0]);
					fieldSelectChange.options[fieldSelectChange.length] = nuovo;
					if(selectValue==selectField[0]) fieldSelectChange.options[(fieldSelectChange.length-1)].selected = true;
				}
				if(selectValue=="")
					fieldSelectChange.options[0].selected = true;
			}
	    }
	});
}

function loadContent(url_s) {
	$.ajax({
    	url: url_s,
    	type: 'GET',
		timeout: 25000,
		beforeSend: function(){
        	waiting();
	    },
		error: function(){
        	alert('Si e\' verificato un errore nel caricamento della pagina richiesta\nRiprova! Se l\'errore persiste contattare il webmaster');
			unWaiting();
	    },
    	success: function(data){
			unWaiting();
			if(data.indexOf("-|-")!=-1) {
				var dataPos = data.indexOf("-|-");
				//alert("OOOKKK"+dataPos);
				var dataDiv = data.substr(0, dataPos);
				var dataData = data.substr(dataPos+3);

				//alert("dataData:"+dataData);
				if(dataData.substr(0,4)=='_OK_') {
					$("#"+dataDiv).html(dataData.substr(4));
					if(dataDiv.indexOf("testo")!=-1)
						$(document).scrollTop($("#"+dataDiv).offset().top);
					else
						$(document).scrollTop(0);
					if(url_s.indexOf("logout.html")!=-1)
						loadContent('/_ajax_/menu.html', 'menu');
					funcLoad("#"+dataDiv);
					tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
				}
			}
	    }
	});
}

function MakeAjaxLink(div) {
	if(div==undefined) div = '';
	else div += ' ';
	$(div+"a").filter(".ajax").click(function(){
	
	 var parentTag = $(this).parent().get(0).tagName;
        $('.menuitemclicked').removeClass('menuitemclicked');
        if (parentTag == 'LI'){
           $(this).addClass('menuitemclicked');
           
        }
	   var ajaxLink = '/_ajax_'+this.href.replace("http://"+window.location.host, "");
	   //alert(ajaxLink);
	   loadContent(ajaxLink);
	   return false;
	 })
	.end();
	$(div+".ajax").not("form").find("a").click(function(){
	   var ajaxLink = '/_ajax_'+this.href.replace("http://"+window.location.host, "");
	   loadContent(ajaxLink);
	   return false;
	 })
	.end();
	
	$(div+".rowAct").hover(function() {
		$(this).addClass("rowHover");
	},function(){
		$(this).removeClass("rowHover");
   });
	$(div+".rowAct").click(function() {
		loadContent("/_ajax_"+$(this).find("a").attr("href").replace("http://"+window.location.host, ""));
	});
}

function MakeAjaxForm(div) {
	if(div==undefined) div = '';
	else div += ' ';
	$(div+"form").filter(".ajax").validate({ 
		submitHandler: function(form) {
			$(form).attr("action", $(form).attr("action").replace("/_ajax_", ""));
			var ajaxLink = '/_ajax_'+$(form).attr("action").replace("http://"+window.location.host, "");
			//alert(ajaxLink);
			$(form).attr("action", ajaxLink);
			//$(form).attr("action", 'get')
			//alert($(form).attr("action"));
			$(form).ajaxSubmit({
				beforeSubmit: function(a,f,o) {
					o.dataType = 'html';
					waiting();
				},
				error: function() {
					alert('Si e\' verificato un errore nel caricamento della pagina richiesta\nRiprova! Se l\'errore persiste contattare il webmaster');
					unWaiting();
				},
				success: function(data) {
					var dataDiv = 'content';
					if (typeof data == 'object' && data.nodeType)
						data = elementToString(data.documentElement, true);
					else if (typeof data == 'object')
						data = objToString(data);
					//alert(data);
					if(data.length>0) {
						if(data.indexOf("-|-")!=-1) {
							var dataPos = data.indexOf("-|-");
							//alert("OOOKKK"+dataPos);
							var dataDiv = data.substr(0, dataPos);
							var dataData = data.substr(dataPos+3);
	
							//alert("dataData:"+dataData);
							if(dataData.substr(0,4)=='_OK_') {
								/*var ajaxLink = '/_ajax_'+$(form).attr("action").replace("http://"+window.location.host, "");
								alert(ajaxLink);*/
								//alert("sdafasdfdsafdsf");
								$("#"+dataDiv).html(dataData.substr(4));
								funcLoad();
								//loadContent(ajaxLink, dataDiv);
							}
							else if(dataData.substr(0,7)=='_LOGIN_') {
								loadContent('/_ajax_/menu.html', 'menu');
								loadContent('/_ajax_/area-trading/', 'contentPage');
							}
							else if(dataData.substr(0,7)=='_ERROR_') {
								//alert("EEEEE"+dataDiv+dataData.substr(7));
								$("#"+dataDiv).show();
								$("#"+dataDiv).html(dataData.substr(7));
								//alert(data.substr(7,data.length-14));
							}
							else if(dataData.substr(0,10)=='_REDIRECT_') {
								window.location = dataData.substr(10);
							}
							else
								alert(data);
						} else
							alert(data);
					} else {
						alert("No data loaded");
					}
					unWaiting();
				}
			});
		} 
	});
}

function confirmDeleteAgg(url) {
	var conferma = window.confirm("PROCEDERE CON L'ELIMINAZIONE DELL'AGGIORNAMENTO?\n OK per continuare, Annulla per interrompere.");
	if(conferma) {
		var conferma2 = window.confirm("NE SEI VERAMENTE SICURO?\n OK per continuare, Annulla per interrompere.");
		if(conferma2) {
			var ajaxLink = '/_ajax_'+url.replace("http://"+window.location.host, "");
		   loadContent(ajaxLink);
		}
	}
	return false;
}

function confirmDeleteAll(url) {
	var conferma = window.confirm("PROCEDERE CON L'ELIMINAZIONE?\n\nVERRAVVON CANCELLATI TUTTI GLI AGGIORNAMENTI\n\n**************** WARNING ****************\n\n OK per continuare, Annulla per interrompere.");
	if(conferma) {
		var conferma2 = window.confirm("NE SEI VERAMENTE SICURO?\n OK per continuare, Annulla per interrompere.");
		if(conferma2) {
			var ajaxLink = '/_ajax_'+url.replace("http://"+window.location.host, "");
		   loadContent(ajaxLink);
		}
	}
	return false;
}

function funcLoad(div) {
	if($('input').is('.WTDate')) {
		$('.WTDate').datepicker({showOn: 'both', buttonImage: '/img/calendar.gif', buttonImageOnly: true});
	}
	if($('input').is('.WTTime')) {
		$('.WTTime').clockpick({minutedivisions: 12, starthour: 0, endhour: 23, military: true});
		$('.WTTime').after('<img src="/img/clock.gif" class="CP_clockimg" />');
		$('.WTTime').focus( function() { this.blur(); } );
	}
	MakeAjaxLink(div);
	if($('form').is('.ajax'))
		MakeAjaxForm();
	if(alarmInterval==null && $("#refreshBox").attr("id")) {
		alarmStart();
	}
		
	$(".fck").each(function(i){
		eval('$("#"+this.id).fck({'+$("#"+this.id+"_options").attr("value")+'})');
	});
}

function alarmAlert() {
	self.focus();
	var dataAlert = new Date();
	/*alert("^^^^^^^^^^^^^^^^^^ NUOVO AGGIORNAMENTO ^^^^^^^^^^^^^^^^^^\n\n"+
	"                                                          "+dataAlert.getHours()+" : "+dataAlert.getMinutes()+"\n\n\n");*/
	alert("^^^^^^^^^^^^^^^^^^ NUOVO AGGIORNAMENTO ^^^^^^^^^^^^^^^^^^");
}

function alarmGo(id, flgAlert, flgMp3, soundMp3, soundRepeat) {
	$.ajax({
		url: '/_ajax_/area-trading/',
		type: 'GET',
		timeout: 25000,
		/*error: function(){
			alert('Error loading XML document'+url_s);
		},*/
		success: function(data){
			if(data.indexOf("-|-")!=-1) {
				var dataPos = data.indexOf("-|-");
				var dataDiv = data.substr(0, dataPos);
				var dataData = data.substr(dataPos+3);
				if(dataData.substr(0,4)=='_OK_') {
					$("#"+dataDiv).html(dataData.substr(4));
					alarmGo2(id, flgAlert, flgMp3, soundMp3, soundRepeat);
					funcLoad("#"+dataDiv);
				}
			}
		}
	});
}

function alarmGo2(id, flgAlert, flgMp3, soundMp3, soundRepeat) {
	$.ajax({
		url: '/_ajax_/area-trading/alarm-'+id+'.html',
		type: 'GET',
		timeout: 25000,
		/*error: function(){
			alert('Error loading XML document'+url_s);
		},*/
		success: function(data){
			if(data.indexOf("-|-")!=-1) {
				var dataPos = data.indexOf("-|-");
				var dataDiv = data.substr(0, dataPos);
				var dataData = data.substr(dataPos+3);
				if(dataData.substr(0,4)=='_OK_') {
					$("#"+dataDiv).html(dataData.substr(4));
					$(document).scrollTop($("#soundAlarmBox").offset().top);
					if(flgMp3=='1') {
						$('#soundAlarmBox').show('');
						$('#soundAlarmBox').html('<span id="sound" class="media"></span>');
						$('#sound').jmp3({ 
							filepath: "/mp3/"+soundMp3+".mp3",
							autoplay: true,
							repeat: soundRepeat,
							backcolor: '000000',
							forecolor: 'FF9900',
							width: '100',
							volume: '100'
						});
						$('#mp1').focus();
					}
					if(flgAlert=='1') {
						setTimeout("alarmAlert()", 1000);
					}
					funcLoad("#"+dataDiv);
					tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
				}
			}
		}
	});
}

function alarmCtrl() {
	var oldText = $("#refreshBox").html();
	$.ajax({
    	url: '/alarmcontrol.php',
    	type: 'GET',
		timeout: 25000,
    	success: function(msg){
			if(msg.substr(0,3)=='LT:') {
				var msgArr = msg.replace("LT:","");
				msgArr = msgArr.split("-");
				$("#refreshBox").html(msg);
				if(oldText!="") {
					var oldTextArr = oldText.replace("LT:","").split("-");
					if(oldTextArr[0]!=msgArr[0] || oldTextArr[1]!=msgArr[1])
						alarmGo(msgArr[0], msgArr[2], msgArr[3], msgArr[4], msgArr[5]);
				}
			}
	    }
	});
}

function alarmStart() {
	alarmInterval = setInterval("alarmCtrl()", 10000);
}

function pippina(){
	$('#soundAlarmBox').html('');
	$('#soundAlarmBox').hide('');
}

function waiting() {
	if(!$("#waitBox").attr("id"))
		$("body").append('<div id="waitBox">... ATTENDERE ...</div>');
	$("#waitBox").css({position:"absolute", top:$(document).scrollTop()+"px", left:($(document).width()-130)+"px"});
	$("#waitBox").show();
}
function unWaiting() {
	$("#waitBox").remove();
}

$(document).ready(function(){
	funcLoad();
});
