function get(id)
{
	return document.getElementById(id);
}

function loadField(id, value)
{	
	var field = document.getElementById(id);
	if(field != null)
		field.value = value;
}

function clearField(id)
{	
	var field = document.getElementById(id);
	if(field != null)
		field.value = '';
}

function setChecked(id, checked)
{	
	var checkbox = document.getElementById(id);
	if(checkbox != null)
		checkbox.checked = checked;
}

function setDisabled(id, disabled)
{	
	var checkbox = document.getElementById(id);
	if(checkbox != null)
		checkbox.disabled = disabled;
}

function setFocus(id){
	
	var field = document.getElementById(id);
	if(field != null)
		field.focus();
}

function hideShowElement(id,show)
{
	var element = get(id);
	if(element != null)
	{	
		element.style.display = (show ? '': 'none');
	}
}


function hideShowToggle(id)
{
	var element = get(id);
	if(element != null)
	{
		if(element.style.display == '')
		{
			element.style.display='none';
		}
		else if(element.style.display == 'none')
		{
			element.style.display='';
		}
	}
}

function hideShowToggleMultiple(tagName,divClass)
{
	var x = document.getElementsByTagName(tagName);
	
  	var show = null;
  	
  	for(i=0; i<x.length; i++)
  	{
  		if(x[i].className == divClass)
  		{
  			if(show == null)
  			{
  				show = x[i].style.display == 'none';
  			}
  			
  			x[i].style.display = (show ? '': 'none');
  			
  		}
  	}
}

function innerHtmlToggle(id,content1,content2)
{
	var element = get(id);
	if(element != null)
	{
		if(element.innerHTML == content1)
		{
			element.innerHTML = content2;
		}
		else if(element.innerHTML == content2)
		{
			element.innerHTML = content1;
		}
		else
		{
			element.innerHTML = content1;
		}
	}
}

function imgSrcToggle(id,src1,src2)
{
	var element = get(id);
	if(element != null)
	{
		if(element.alt == '1')
		{
			element.src = src2;
			element.alt = '2';
		}
		else if(element.alt == '2')
		{
			element.src = src1;
			element.alt = '1';
		}
		else
		{
			element.src = src1;
			element.alt = '1';
		}
	}
}

function innerHtmlAlternateContent(id,defaultContent,alternateContent, showAlternate)
{
	var element = get(id);
	if(element != null)
	{	
		element.innerHTML = (showAlternate ? alternateContent: defaultContent);
	}
}

function sendFile(formId,divId1)
{
	var bindArgs = {
       transport: "IframeTransport",
       formNode: document.getElementById(formId),
       mimetype: "text/html",
       load: function(type, data, evt){
       		if(document.getElementById(divId1)!= null){
       			document.getElementById(divId1).innerHTML = data.firstChild.innerHTML;
       		}
       }
   };
   var request = dojo.io.bind(bindArgs);
}

function clearFieldOnFocus(field, defaultValue)
{
	if(field.value == defaultValue)
	{
		field.value = '';
	}
}

function restoreFieldOnBlur(field, defaultValue)
{
	if(field.value == '' || field.value == ' ' || field.value == '  ')
	{
		field.value = defaultValue;
	}
}










/*********************************************************
* BEGIN: HELP FUNCIONS
**********************************************************/

var defaultContentHolder = null;

//change this to use other box name
var defaultHelpBox = 'helpContent';

//Shows the html passed as parameter
function setHelpContent(contentHTML)
{
	var helpContent = get(defaultHelpBox);
	if(helpContent!=null)
	{
		//Save default content before change the fisrt
		if(defaultContentHolder == null)
		{
			defaultContentHolder=helpContent.innerHTML;
		}
		
		helpContent.innerHTML=contentHTML;
	}
}

//Load the initial text that was shown in the help.
function resetHelp()
{
	if(defaultContentHolder != null)
	{
		setHelpContent(defaultContentHolder);
	}
}

//Shows the innerHTML content from the element with the id passed  
function showHelp(contentId)
{
	var contentHolder = get(contentId);
	if(contentHolder != null)
	{
		setHelpContent(contentHolder.innerHTML);
	}
}

//Shows the innerHTML from an element which the id equals to 'help.'+input.name; 
function showHelpByFieldName(inputField)
{	
	if(inputField != null && inputField.name != null)
	{
		var helpId = 'help.'+inputField.name;
		showHelp(helpId);
	} 
}

//Same as above 
function showInputHelp(inputField)
{
	showHelpByFieldName(inputField);
}


/*********************************************************
* END: HELP FUNCIONS
**********************************************************/


/*********************************************************
* BEGIN: MASK FIELDS FUNCIONS
**********************************************************/
function maskDate(field , format)
{
	oDateMask = new Mask(format,"date");//mm/dd/yyyy
	oDateMask.attach(field);
}

function maskTime(field)
{
	oNumberMask = new Mask("##:##");
	oNumberMask.attach(field);
}

function maskDatetime(field)
{
	oNumberMask = new Mask("##/##/#### ##:##");
	oNumberMask.attach(field);
}

function maskMoney(field)
{
	oNumberMask = new Mask("###.00", "number");
	oNumberMask.attach(field);
}

function maskInt(field)
{
	oNumberMask = new Mask("#", "number");//###
	oNumberMask.attach(field);
}

/*********************************************************
* END: MASK FIELDS FUNCIONS
**********************************************************/

/********************* BEGIN: Read/write cookies ***************************/
function createCookie(name,value,days) {
	var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toUTCString();
	}
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(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 eraseCookie(name) {
	createCookie(name,"",-1);
}
/********************* END: Read/write cookies ***************************/

/********************* BEGIN: Top Menu scripts***************************/
var menus = ["menu_my_area","menu_my_events","menu_my_data","menu_my_contacts","menu_my_tickets","menu_sales","menu_partners"];
var defaultMenu = "menu_my_area";
var activeMenu = "menu_my_area";

function hideAllSubmenus()
{
	for(var i = 0; i<menus.length ; i++)
	{
		var menu = document.getElementById(menus[i]);
		var submenu = document.getElementById('sub_'+menus[i]);
		if(submenu != null && submenu.style != null)
		{
			submenu.style.display = "none";
		}
		if(menu != null)
		{
			menu.className = "";
		}
	}
}
function showSubmenu(menu)
{
	if(menu != null)
	{
		hideAllSubmenus();
		var submenu = document.getElementById('sub_'+menu.id);
		if(submenu != null && submenu.style != null)
		{
			menu.className = "home";
			submenu.style.display = "";
		}
	}
}
function resetSubmenus()
{
	showSubmenu("sub_"+defaultMenu);
}

function setLastClickedMenu(menuId)
{
	createCookie('menu',menuId);
}

function setActiveMenu(menuId)
{
	activeMenu = menuId;
}


function showLastClickedMenu()
{
	var menuId = readCookie('menu');
	var menu = null;
	if(menuId)
	{
		menu = document.getElementById(menuId);
	}
	else
	{
		menu = document.getElementById(defaultMenu);
	}
	showSubmenu(menu);
}

function showActiveMenu()
{
	var menuId = activeMenu;
	var menu = null;
	if(menuId)
	{
		menu = document.getElementById(menuId);
	}
	else
	{
		menu = document.getElementById(defaultMenu);
	}
	showSubmenu(menu);
}
/********************* END: Top Menu scripts***************************/

/********************* BEGIN: URL Alias Validation ***************************/
var waitingForValidation = false;

function setWaitingForValidation(wait){
	if(wait){
		get('aliasAvaliableMsg').style.display = 'none';
		get('aliasAvaliableMsgIndicator').style.display = 'inline';
	}
	else{
		get('aliasAvaliableMsg').style.display = 'inline';
		get('aliasAvaliableMsgIndicator').style.display = 'none';
	}
	waitingForValidation = wait;
}

function waitThenValidateAlias(){
	if(!waitingForValidation){
		setTimeout("validateAlias()", 1000);
		setWaitingForValidation(true);
	}
}

function validateAlias(){
	get('validateAliasId').value=get('alias_field').value;
	get('validateFormSubmit').click();
	setWaitingForValidation(false);
}

/*
function validChar(f) {
	!(/^[A-zÑñ0-9]*$/i).test(f.value)?f.value = f.value.replace(/[^A-zÑñ0-9]/ig,''):null;
}
*/
function validChar(f) {
	//f.value = f.value.replace(/[^a-z\u00D1\u00F10-9]*/ig,'');
	f.value = f.value.replace(/[^a-zA-Z0-9_\-]*/ig,'');
}


/********************* END: URL Alias Validation ***************************/
