
/**
 * Stop errors from poppin up
 */
function presserror() {
	return false;
}

//window.onerror = presserror;

/**
 * Trigger _onload_x() function
 * 
 * @return
 * 		void
 */
function _onload() {
	if(typeof REQUEST_URI != 'undefined') {
		_onload_office_main();
		_onload_menu_main();
		switch(REQUEST_URI) {
			case 'admin/campaigns/%':
				_onload_campaign_form();
				break;
			case 'admin/campaigns/%/catalogs/%':
				_onload_catalog_form();
				break;
			case 'admin/campaigns/%/users/%':
				_onload_user_form();
				break;
			case 'admin/campaigns/%/statistics/exchanges':
			case 'admin/campaigns/%/statistics/clientpoints':
			case 'admin/campaigns/%/statistics/productranking':
			case 'admin/campaigns/%/statistics/productdetail':
			case 'admin/campaigns/%/statistics/cmpgnbasics':
			case 'admin/campaigns/%/statistics/givenpoints':
			case 'admin/campaigns/%/statistics/times':
			case 'admin/campaigns/%/statistics/givenpointsmonthly':
			case 'admin/campaigns/%/statistics/givenpointsdetails':
			case 'admin/campaigns/%/statistics/givenpoints/%':
			case 'admin/campaigns/%/statistics/orders':
				_onload_campaign_statistics_exchanges();
				break;
			case 'oficina/shop3':
				_onload_office_shop_categories();
				break;
			case 'oficina/transfers':
			case 'oficina/transfers3':
			case 'oficina/shop':
			case 'oficina/shop4':
				_onload_transfers1();
				break;
			case 'admin/campaigns/%/catalogs/%/products':
				_onload_admin_product_list();
			case 'oficina/catalog':
				_onload_office_catalog_categories();
				break;
			/*
			case 'oficina/transfers':
				_onload_oficina_transfer();
			*/
		}
	}
}

function _onload_office_shop_categories() {
	var selectcategory = $('select[name=category]');
	selectcategory.change(function() { 
		
		$('form[id=categoryselect]').submit(); 
		//$('#categoryselect').submit();
	});	
}
function _onload_office_main(prova)	{
	if(!prova) var prova = true;
	var submenus=$('ul[class=officesubmenu]');
	var submenusheader=$('div[class=submenu]');
	
	if(!prova) submenus.css('display', 'none');
	else submenus.css('display', 'block');
	
	submenusheader.click(function(){
		var subId="#"+this.id+"_submenu";
		$(subId).animate({height:'toggle'}, 20);
		$(this).parent().toggleClass("submenuheader2");
//		if($(subId).is(':visible'))
//		{
//			$(subId).hide('fast');
//			$(this).parent().addClass("submenuheader");
//		}
//		else
//		{
//			$(subId).show('fast');
//			$(this).parent().addClass("submenuheader2");
//			$(this).parent().removeClass("submenuheader");
//		}
	});
}

function _onload_menu_main()	{
	var submenus=$('ul.officemenumenu,ul.officemenumenu.selectedsection');
	var submenusheader=$('div[class=menuSectionTitle]');

	submenus.css('display', 'none');
	
	submenusheader.click(function(){
		var subId="#"+this.id+"_submenu";
		//var marks=$('.menuMark');
		var thisMark=$('#menuSectionMark'+this.id);
		
		var submenus=$('ul.officemenumenu,ul.officemenumenu.selectedsection');
		
		if($(subId).is(':visible'))
		{
			$(subId).animate({height:'toggle'}, 20);
			thisMark.html("[+]");
		}
		else
		{
		    submenus.hide(200);//css('display', 'none');
			$('.menuMark').html('[+]')
			thisMark.html("[-]");
			$(subId).animate({height:'toggle'}, 20);
			//$(this).parent().toggleClass("submenuheader2");
//		if($(subId).is(':visible'))
//		{
//			$(subId).hide('fast');
//			$(this).parent().addClass("submenuheader");
//		}
//		else
//		{
//			$(subId).show('fast');
//			$(this).parent().addClass("submenuheader2");
//			$(this).parent().removeClass("submenuheader");
//		}
		}
	});
}

function _onload_office_catalog_categories() {
	var selectcategory = $('select[name=category]');
	
	selectcategory.change(function() {
		$('form[id=categoryselect]').submit();
	});	
}

function _onload_transfers1() {
	var field = $('input[name=search_input]').parent();
	var button = $('input[name=search_button]').parent();
	field.parent().prepend('<div class="clear"></div>');
	field.removeClass('field-container');
	button.removeClass('field-container');
	field.css('float','left');
	field.css('padding-top','7px');
	field.css('padding-bottom','5px');
	button.css('float','left');
	button.css('padding-top','7px');
	button.css('padding-bottom','5px');
	button.css('margin-left','15px');
	button.css('margin-top','14px');
	field.parent().append('<div class="clear"></div>');
	
}

function _onload_oficina_transfer() {
	
	var elem = $('input[name=sendercode]');
	elem.css('float','left');
	elem.parent().append('<div id="sendername" style="float:left;height:20px;color:maroon;margin-left:20px;display:block;padding:5px;padding-right:10px;padding-left:10px;" href="lol">Nom del client: N/A</div>');
	elem.parent().append('<a id="sendersearch" style="float:left;height:18px;border:1px solid maroon;color:maroon;margin-left:20px;display:block;padding:5px;padding-right:10px;padding-left:10px;background-color:beige;" href="#">Buscar Client</a>');
	elem.parent().append('<div style="clear:both"></div>');
	$('#sendersearch').click(function(){ open = window.open('oficina/transfers','lol','width=640,height=500,scrollbars=yes'); return false; })
	
	var elem = $('input[name=receivercode]');
	elem.css('float','left');
	elem.parent().append('<div id="sendername" style="float:left;height:20px;color:maroon;margin-left:20px;display:block;padding:5px;padding-right:10px;padding-left:10px;" href="lol">Nom del client: N/A</div>');
	elem.parent().append('<a id="receiversearch" style="float:left;height:18px;border:1px solid maroon;color:maroon;margin-left:20px;display:block;padding:5px;padding-right:10px;padding-left:10px;background-color:beige;" href="lol">Buscar Client</a>');
	elem.parent().append('<div style="clear:both"></div>');
	$('#receiversearch').click(function(){alert('search');return false;})
}


function _onload_campaign_statistics_exchanges() {
	var selectyear = $('select[name=any]');
	var selectcatalog = $('select[name=cataleg]');
	var excelbut = $('#excelbut');
	
	selectyear.change(function() { $('form[id=exchangeform]').submit(); });
	
	selectcatalog.change(function() { $('form[id=exchangeform]').submit(); });
	
	excelbut.click(
		function(e) {
		
			var taules=$("table");
			var tauleshtml='';
			
			taules.each(function(i, ele)
					{
						tauleshtml+=ele.innerHTML;
					}
			);
			$('#inputtable').val(tauleshtml);
			$('#exportform').submit();
			return false;
		}
	);
	
	
	
}

/**
 * _onload() for Campaign Form
 * 
 * @return
 * 		void
 */
function _onload_campaign_form() {
	// Show/hide communication channels (sortable)
	var elm = $('select[name=communication]');
	if(elm) {
		elm.change(function() { _show_campaign_channels(this); });
		_show_campaign_channels(elm);
	}
	var div_code = $('input[name=promotor]').parent();


	// Fetch campaign name from EKON, if campaign code is changed
	var elm = $('input[name=promotor]');
	if(elm) {
		var a = $("<a></a>").attr('href','#').text(' Validar').addClass('validate-code').click(function() {
			var c = EKON_promotor(elm.val(), function(rs) {
				$('input[name=promotor_name]').val(rs['name']);
			});
			return false;

		}); 
		div_code.ajaxStart(function(){
			$(this).addClass('res');
		});
		a.ajaxStart(function(){
			$(this).text('Validant...');
		});
		div_code.ajaxStop(function(){
			$(this).removeClass('res');
		});
		a.ajaxStop(function(){
			$(this).text('Validar');
		})
		div_code.append(a);
	}
}




function _onload_catalog_form() {

	var elm = $('select[name=trading_model]');
	if(elm) {
		elm.change(function() { 
			_show_delivery_minims(this);
			_show_formula_pm(this);
		});
		_show_delivery_minims(elm);
		_show_formula_pm(elm);
	}



	var div_code = $('input[name=code]').parent();


	// Fetch campaign name from EKON, if campaign code is changed
	var elm = $('input[name=code]');
	if(elm) {
		
		_initial_code_value = elm.val();
		var a = $("<a></a>").attr('href','#').text(' Validar').addClass('validate-code').click(function() {
			var c = EKON_campaign(elm.val(), function(rs) {
				$('input[name=name]').val(rs['name']);
				$('textarea[name=description]').val(rs['desc']);
				$('input[name=transport]').val(rs['transport']);
				$('input[name=delivery_period]').val(rs['delivery_period']);
			});
			return false;

		}); 
		div_code.ajaxStart(function(){
			$(this).addClass('res');
		});
		a.ajaxStart(function(){
			$(this).text('Validant...');
		});
		div_code.ajaxStop(function(){
			$(this).removeClass('res');
		});
		a.ajaxStop(function(){
			$(this).text('Validar');
		})
		div_code.append(a);
	}
}


function _onload_user_form() {
	
	var profile = $('select[name=profile_ID]');
	var office = $('select[name=office_ID]');
	
	if(profile && office) {
		
		if((profile.val()!=4)&&(profile.val()!=5)) office.parent().hide();
		
		profile.change(function() { 
			
			if((($(this).val())==4)||(($(this).val())==5)) {
				office.parent().show('fast');
			}
			else {
				office.parent().hide('fast');
			}
		});
		
	}
}

/**
 * Get campaign data from EKON, with AJAX
 */
function EKON_campaign(c, callback) {
	var elm = $('input[name=name]');
	if(elm) {
		return $.ajax({
			type: 'GET',
			url: 'jsxml/ekon-campaign.php',
			data: 'code=' + c,
			dataType: 'xml',
			error: function(){
			        alert('Error carregant XML1');
			},
			success: function(xml) {
				var rs = new Array();
				rs['name'] = $('campaign>name', xml).text();
				rs['desc'] = $('campaign>description', xml).text();
				rs['delivery_period'] = $('campaign>delivery_period', xml).text();
				rs['transport'] = $('campaign>transport', xml).text();
				callback(rs);
			}
		});
	}
}


function EKON_promotor(c, callback) {
	var elm = $('input[name=name]');
	if(elm) {
		return $.ajax({
			type: 'GET',
			url: 'jsxml/ekon-promotor.php',
			data: 'code=' + c,
			dataType: 'xml',
			error: function(){
			        alert('Error carregant XML2');
			},
			success: function(xml) {
				var rs = new Array();
				rs['name'] = $('promotor>name', xml).text();
				callback(rs);
			}
		});
	}
}

/**
 * Hide/Show Communication Channels (sortable), in campaign form
 */
function _show_campaign_channels(CommunicationSelectorElement) {
	if(CommunicationSelectorElement.val) {
		var sel = CommunicationSelectorElement.val();
	} else {
		var sel = CommunicationSelectorElement.options[CommunicationSelectorElement.options.selectedIndex].value;
	}
	
	var div = $('input[name=channels]').parent();
	
	if(sel == 'cron' || sel == 'manual') {
		div.show('fast');
	} else {
		div.hide('fast');
	}
}

/**
 * Hide/Show Delivery minims (points/money)
 */
function _show_delivery_minims(TradingSelectorElement) {
	if(TradingSelectorElement.val) {
		var sel = TradingSelectorElement.val();
	} else {
		var sel = TradingSelectorElement.options[TradingSelectorElement.options.selectedIndex].value;
	}
	
	var divP = $('input[name=delivery_p]').parent();
	var divM = $('input[name=delivery_m]').parent();

	switch (sel) {
		case '1':
			divP.show();
			divM.hide();
		break;
		case '2':
			divP.show();
			divM.hide();
		break;
		case '3':
			divP.show();
			divM.show();
		break;
		case '0':
			divP.hide();
			divM.show();
		break;
	}

}

/**
 * Hide/Show Delivery minims (points/money)
 */
function _show_formula_pm(TradingSelectorElement) {
	if(TradingSelectorElement.val) {
		var sel = TradingSelectorElement.val();
	} else {
		var sel = TradingSelectorElement.options[TradingSelectorElement.options.selectedIndex].value;
	}
	
	var div_pm = $('input[name=formula_pm]').parent();
	if(sel=='2') {
		div_pm.show()
	}else{
		div_pm.hide()
	}

}



/**
 * Select row (checkbox
 * 
 */
function checkrow(elm) {
	if(elm.id) {
		var e = $('#' + elm.id);
		if(e) {
			var e = e.parent().parent();
			if(elm.checked) {
				e.addClass('selected');
				if(!$.browser.msie) {
					e.fadeIn();
				}
			} else {
				e.removeClass('selected');
			}
		}
	}
}

/**
 * 
 */
function checkrows(form_id) {
	var e = $('#' + form_id);
	if(e) {
		var c = $('input[type=checkbox]:checked', e);
		var e = $('#delete-selection');
		if(c && e) {
			if(c.length > 0) {
				if(e.css('display') == 'none') {
					e.fadeIn('normal');
				}
			} else {
				e.fadeOut('normal');
			}
		}
	}
}

function collapsable(titleContainer, collapsableContainer, initialState) {
	var t = $('#' + titleContainer);
	var c = $('#' + collapsableContainer);
	if(typeof initialState == 'undefined') {
		initialState = 'hidden';
	}
	if(initialState == 'hidden') {
		c.hide();
		t.addClass('folded');
	} else {
		c.show();
		t.addClass('unfolded');
	}
	t.click(function() {
		var e = $('#' + collapsableContainer);
		e.toggle('fast');
		$(this).attr('class', ($(this).attr('class').indexOf('unfolded') == -1 ? 'unfolded' : 'folded'));
	});
}


function loading_end(){
	var x=$("#ui-dialog-title");
	x.text(x.text()+'end');		
}

function loading(){
	var d = new Date();
	var x=$("#ui-dialog-title");	
	if (x.text().length==100){
		x.text('');
	}else{
		x.text(x.text()+'.');
	}
}

var loading_interval;
var dlgProcessant;

function synchronise_now(url)
{
    dlgProcessant = $("<div />").html("<div style=\"width:auto; height:auto\">Processant, un moment si us plau...</div><div class='clear'><!-- --></div>")
	.dialog({width:"650px",
		 height:"400px", 
		 position:['center','center'],
		 modal:true}).css("height","100px");
	
    $.get(url, function(data)	
	  {	
	      $(dlgProcessant).dialog("close");
	      $("<div />").html("<div style=\"width:auto; height:auto\">" + 
				data + "</div><div class='clear'><!-- --></div>").dialog({width:"650px",
											  height:"400px",
											  position:['center','center'],
											  modal:true}).css("height", "400px");
	  });
}

/* POPUP */
var newMMwindow = '';

function PrintPopUp(url)
{
    if (!newMMwindow.closed && newMMwindow.location) 
    {
    	newMMwindow.location.href = url;
    }
    else 
    {
	var w = '800';
    	var h = '625';
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
    	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
    	settings ='height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',toolbar=0,location=0,status=0,menubar=0,scrollbars=1,toolbar=0,resizable=0';
    	newMMwindow = window.open(url,"Imprimir",settings);
    }
    if (window.focus) newMMwindow.focus();
}

function _onload_admin_product_list() {
	$('.feature-checkbox').click(function(e) {
	
			$.post('admin/featureproduct',{product: $(this).attr('id'), value: $(this).attr('checked')},null);
		}
	);
}

// When the page is done loading, call javascript initiation tasks
window.onload = _onload;

function submitChannel(id){
	switch($('input[name=channel]:checked').val())
	{
	case "P":
	case "T":
		id.value = $('input[name=channel]:checked').val();
		break;
	case "S":
	case "E":
	case "O":
		id.value = $('input[name=channel]:checked').val() + "|"+$('input[name=channel_'+$('input[name=channel]:checked').val()+']').val();
		break;
	default:
		
		return false;
	}


	return true;
}


function enableDisable(checkedValue, thisVal, fieldName)
{
	if(checkedValue == thisVal)
	{
		$('input[name='+fieldName+']').removeAttr('disabled').removeClass('disabled-field');
		$('input[name='+fieldName+']').focus();
		
	}
	else
	{
		$('input[name='+fieldName+"]").attr('disabled', "disabled").addClass('disabled-field');
	}
}


