var validateForm = false;
var	formObj = "";
var ar_error = new Array();
var str_quote = "'";
var allowFlushHidden = new Array("userId","folderId","pageId","pageVersionId","version","status");
var loadingImg1 = "/admin/images/loading.gif";
var color1 = "#FFE4D3";
var excludeFromSerialization = ''; //you wil want to use that on all your forms if you need to exclude a field from being serialized
//check content,users to see if it will be useful there : PEDRO 
//_parentFormObj = "";
//obj_alertBox = $('alertBox'); //ocument.getElementById("alertBox");
//_opStart = 0;
var byPassFieldsNormalState = false;
function addOne()
{
	//var _division = DWRUtil.getValue("division");
	//DWREngine._execute(_cfscriptLocation, null, 'nbadivisionstanding', _division, NBADivisionStandingResult);
}

function NBADivisionStandingResult(teams)
{
	//DWRUtil.removeAllRows("teamsBody");
	//DWRUtil.addRows("teamsBody", teams, [ getState, getWon, getLost ])
}

function init()
{
	//DWRUtil.useLoadingMessage();
	DWREngine._errorHandler =  errorHandler;
	//getNBADivisionStanding();
}


function showHide(i)
{
	i.style.display = (i.style.display=='none')?'':'none';
}


function setInnerHTML(obj,str)
{
	document.getElementById(obj).innerHTML = str;	
}


function checkBoxState(v)
{
	return (v=='Y')?true:false;	
}

function IsNumber(strString)
{
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;
	
	for (i = 0; i < strString.length && blnResult == true; i++)
  	{
		  strChar = strString.charAt(i);
		  if (strValidChars.indexOf(strChar) == -1)
		 {
			 blnResult = false;
		 }
	}
	return blnResult;
}
//Check  Email
function test(src) {
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(src);
  }

function getObjectProperties(obj)
{
	for (var property in obj) {
			alert(property)
		}	
}

function getLanguageFromKey(key)
{
	if(key.split("_")[0]=="EN")
	{
		return "English";
	}
	if(key.split("_")[0]=="FR")
	{
		return "French";
	}
}

/* TODO REVIEW OBJECT ... I THINK YOU CAN GO BACK TO document.appendChild and document.removeChild*/
function killBox(e)
{
	hold = $('cms_tools');
	hold.removeChild(document.getElementById(e));
	hold.removeChild(document.getElementById(e+'IF'));
	window.clearTimeout();
}

function killObj(obj)
{
	p = obj.parentNode;
	//alert(obj.id)
	p.removeChild(obj);
}

function setAlertBox(boxId)
{
	window.clearTimeout();
	
	/*
	Pedro 
	You have to remove the cms_tools div from all the pages
	You will write it with Js and the following code
	
	if(!$('cms_tools'))
	{
		div = document.createElement('DIV');
		div.id = 'cms_tools';
		document.body.appendChild(div);
	}
	
	*/
	
	hold = $('cms_tools');
	
	messageBox = document.createElement("DIV");
	messageBox.id = boxId;
	messageBox.className = "alertBox";
	messageBox.innerHTML = _strMessage;
	//messageBox.style.filter = "alpha(opacity:0)";
	messageBox.style.zIndex = "3000";
	hold.appendChild(messageBox);
	
	messageBoxIF = document.createElement("IFRAME");
	messageBoxIF.id = boxId+"IF";
	messageBoxIF.className = "alertBox";
	messageBoxIF.style.border = "none";
	messageBoxIF.style.frameBorder = "none";
	messageBoxIF.style.zIndex = "2999";
	hold.appendChild(messageBoxIF);
	//alert(messageBox.style.zIndex)
	//
	//hold.appendChild(messageBox);
	//document.body.appendChild(messageBoxIF);
	//new Effect2.Opacity(boxId, {duration:1.0, from:0.0, to:1.0});	
	//new Effect2.Opacity(boxId+'IF', {duration:1.0, from:0.0, to:1.0});	
}

function switchClass(obj,classN,direct)
{
	
	o = $(obj);
	//o.style.display = "none";
	aCopy = o.innerHTML;
	$('insideBody').removeChild(o);
	aCopyObj = document.createElement('DIV');
	aCopyObj.className = classN;
	aCopyObj.id = 'cms_menus';
	aCopyObj.innerHTML = aCopy;
	//alert(aCopyObj.style.display) // = "inherit";

	
	if(direct == 'before')
	{
		$('manageFolder').insertAdjacentElement("beforeBegin",aCopyObj);
	}
	if(direct == 'after')
	{
		$('cms_editContent').insertAdjacentElement("afterEnd",aCopyObj);
	}
	//aCopyObj.style.display = "block";
}

function colapseExpandOverflow(obj,direct)
{
	if(direct.toUpperCase()=='Y')
	{
		$(obj).style.overflowY=($(obj).style.overflowY=='hidden'||$(obj).style.overflowY=='')?'visible':'hidden';
	}
	
	if(direct.toUpperCase()=='X')
	{
		$(obj).style.overflowX=($(obj).style.overflowX=='hidden'||$(obj).style.overflowX=='')?'visible':'hidden';	
	}
}

function switchImageOnOff(obj,img)
{
	baseImage = img.split(".")[0];
	baseExt = img.split(".")[1];
	
	_srcTemp =  obj.src.split("/");
	_src = "";
	
	for(x=0;x<_srcTemp.length-1;x++)
	{
		_src += _srcTemp[x]+"/";
	}
	state = (obj.alt == "on")?"_off":"_on";
	obj.src = _src+baseImage+state+"."+baseExt;
	obj.alt = (obj.alt == "on")?"off":"on";
}

function setLoadingImage(imgPath,imgObj,rowObj,colorHex)
{
	$(imgObj).src = imgPath;
	$(rowObj).style.backgroundColor = colorHex;
}

function setLoadingImg(e,t)
{
	$(e).src = (t)?"/admin/images/loading.gif":"/admin/images/pix.gif";	
}

/*
<div id="insideBody">
		<cfinclude template="../includes/userHeader.cfm">
		<div id="cms_tools"></div>
		<div id="cms_menus" class="leftColumn_float">
			<div class="legend"><span>Folders</span>  <img src="/admin/images/icons/folder_add.gif" border="0" align="absmiddle" ALT="ADD FOLDER" onClick="callEmptyForm('folderMang','manageFolder');setInnerHTML('createFolder','Create Folder');setInnerHTML('boxHeader','Create Folder');switchClass('cms_menus','leftColumn');"></div>
			<cfinclude template="../includes/CMS_leftColumn.cfm">
		</div>*/
//<span id="ss">ss</aspan> 'leftColumn_float',

function replaceCHAR(d) {
    text = d;
    text = text.replace(/"/g,"::QUOTE::");
	text = text.replace(/'/g,"::SINGLEQUOTE::");
	text = text.replace(/#/g,"::POUND::");
	text = text.replace(/,/g,"::COMMA::");
	/* text = replace(text,'%26',unescape('&'));
    text = replace(text,'%3C',unescape('<'));
    text = replace(text,'%3E',unescape('>'));
    text = replace(text,'%A0',unescape(' '));
    text = replace(text,'¡',unescape('%A1'));
    text = replace(text,'¢',unescape('%A2'));
    text = replace(text,'£',unescape('%A3'));
    text = replace(text,'¥',unescape('%A5'));
    text = replace(text,'¦',unescape('%A6'));
    text = replace(text,'§',unescape('%A7'));
    text = replace(text,'¨',unescape('%A8'));
    text = replace(text,'©',unescape('%A9'));
    text = replace(text,'ª',unescape('%AA'));
    text = replace(text,'«',unescape('%AB'));
    text = replace(text,'¬',unescape('%AC'));
    text = replace(text,'­',unescape('%AD'));
    text = replace(text,'®',unescape('%AE'));
    text = replace(text,'¯',unescape('%AF'));
    text = replace(text,'°',unescape('%B0'));
    text = replace(text,'±',unescape('%B1'));
    text = replace(text,'²',unescape('%B2'));
    text = replace(text,'³',unescape('%B3'));
    text = replace(text,'´',unescape('%B4'));
    text = replace(text,'µ',unescape('%B5'));
    text = replace(text,'¶',unescape('%B6'));
    text = replace(text,'·',unescape('%B7'));
    text = replace(text,'¸',unescape('%B8'));
    text = replace(text,'¹',unescape('%B9'));
    text = replace(text,'º',unescape('%BA'));
    text = replace(text,'»',unescape('%BB'));
    text = replace(text,'¼',unescape('%BC'));
    text = replace(text,'½',unescape('%BD'));
    text = replace(text,'¾',unescape('%BE'));
    text = replace(text,'¿',unescape('%BF'));
    text = replace(text,'À',unescape('%C0'));
    text = replace(text,'Á',unescape('%C1'));
    text = replace(text,'Â',unescape('%C2'));
    text = replace(text,'Ã',unescape('%C3'));
    text = replace(text,'Ä',unescape('%C4'));
    text = replace(text,'Å',unescape('%C5'));
    text = replace(text,'Æ',unescape('%C6'));
    text = replace(text,'Ç',unescape('%C7'));
    text = replace(text,'È',unescape('%C8'));
    text = replace(text,'É',unescape('%C9'));
    text = replace(text,'Ê',unescape('%CA'));
    text = replace(text,'Ë',unescape('%CB'));
    text = replace(text,'Ì',unescape('%CC'));
    text = replace(text,'Í',unescape('%CD'));
    text = replace(text,'Î',unescape('%CE'));
    text = replace(text,'Ï',unescape('%CF'));
    text = replace(text,'Ð',unescape('%D0'));
    text = replace(text,'Ñ',unescape('%D1'));
    text = replace(text,'Ò',unescape('%D2'));
    text = replace(text,'Ó',unescape('%D3'));
    text = replace(text,'Ô',unescape('%D4'));
    text = replace(text,'Õ',unescape('%D5'));
    text = replace(text,'Ö',unescape('%D6'));
    text = replace(text,'×',unescape('%D7'));
    text = replace(text,'Ø',unescape('%D8'));
    text = replace(text,'Ù',unescape('%D9'));
    text = replace(text,'Ú',unescape('%DA'));
    text = replace(text,'Û',unescape('%DB'));
    text = replace(text,'Ü',unescape('%DC'));
    text = replace(text,'Ý',unescape('%DD'));
    text = replace(text,'Þ',unescape('%DE'));
    text = replace(text,'ß',unescape('%DF'));
    text = replace(text,'à',unescape('%E0'));
    text = replace(text,'á',unescape('%E1'));
    text = replace(text,'â',unescape('%E2'));
    text = replace(text,'ã',unescape('%E3'));
    text = replace(text,'ä',unescape('%E4'));
    text = replace(text,'å',unescape('%E5'));
    text = replace(text,'æ',unescape('%E6'));
    text = replace(text,'ç',unescape('%E7'));
    text = replace(text,'è',unescape('%E8'));
    text = replace(text,'é',unescape('%E9'));
    text = replace(text,'ê',unescape('%EA'));
    text = replace(text,'ë',unescape('%EB'));
    text = replace(text,'ì',unescape('%EC'));
    text = replace(text,'í',unescape('%ED'));
    text = replace(text,'î',unescape('%EE'));
    text = replace(text,'ï',unescape('%EF'));
    text = replace(text,'ð',unescape('%F0'));
    text = replace(text,'ñ',unescape('%F1'));
    text = replace(text,'ò',unescape('%F2'));
    text = replace(text,'ó',unescape('%F3'));
    text = replace(text,'ô',unescape('%F4'));
    text = replace(text,'õ',unescape('%F5'));
    text = replace(text,'ö',unescape('%F6'));
    text = replace(text,'÷',unescape('%F7'));
    text = replace(text,'ø',unescape('%F8'));
    text = replace(text,'ù',unescape('%F9'));
    text = replace(text,'ú',unescape('%FA'));
    text = replace(text,'û',unescape('%FB'));
    text = replace(text,'ü',unescape('%FC'));
    text = replace(text,'ý',unescape('%FD'));
    text = replace(text,'þ',unescape('%FE'));
    text = replace(text,'ÿ',unescape('%FF'));
    
    text = replace(text,'&amp;',unescape('&'));
    text = replace(text,'&gt;',unescape('>'));
    text = replace(text,'&lt;',unescape('<'));
    text = replace(text,'&nbsp;',unescape(' '));*/
  
	return text;
}

editingPassObj = false;
function setPassword(obj)
{
	
	editingPassObj = obj;
	str = obj.innerHTML;
	
	inp = document.createElement("INPUT");
	inp.name = 'changeMyPass';
	inp.id = 'changeMyPass';
	inp.type = 'password';
	inp.className = 'changePassField';
	
	subm =  document.createElement("INPUT");
	subm.type = 'button';
	subm.name = 'submit';
	subm.value = 'GO';
	subm.className = 'goButton';
	subm.onclick = changePass;
	subm.onblur = setStrBack;
	
	obj.innerHTML = '';
	obj.appendChild(inp);
	obj.appendChild(subm);
	
	inp.focus();
	

}

function changePass()
{
	
	p = $('changeMyPass').value;
	if(p.length<6)
	{
			alert('You must have at least 6 digits in your password.');
	}
	else
	{
			DWREngine._execute(_cfLoginLocation, null, 'changePassword', userId , p,sp_requestDsn ,changePass_Return);
	}
}

function setStrBack()
{
	editingPassObj.innerHTML = '&raquo; change password';
	//window.setTimeout('setStrBack_action()',2000);
	
}
/*
function setStrBack_action()
{
	editingPassObj.innerHTML = '&raquo; change password';
	window.clearTimeout();
}
*/
function changePass_Return(result)
{
	if(!$('cms_tools'))
	{
		div = document.createElement('DIV');
		div.id = 'cms_tools';
		document.body.appendChild(div);
	}
	editingPassObj.innerHTML = '&raquo; change password';
	_strMessage = 'Your password was changed';
	setAlertBox('changePassAlertBox');	
	window.setTimeout("killBox('changePassAlertBox')",3000);
}


// Pedro this should be used for all the press
// pass function and vlues that you want to call
function logFromEnterKey()
{
	if(event.keyCode==13)
	{
		getLogin();
	}
}

function swapResultsLanguage(ob,funct,f_value,langField,altMessage)
{
	//fsearch = $(frm);
	langField.value = ob.lang;
	funct(f_value)
	
	// Pedro you will need to handle more than 2 languages in the future here as well
	for(x=0;x<langs.length;x++)
	{
		if(langs[x]!=ob.lang)	
		{
			nextLang = langs[x];
			nextLangStr = langString[x];
			break;
		}
	}
	
	ob.src = '/admin/images/icons/'+ob.lang+'.gif';
	ob.lang = nextLang;
	
	mountMsgStr = '';
	splitAltMsg = altMessage.split('_');
	
	for(z=0;z<splitAltMsg.length;z++)
	{
		mountMsgStr += (splitAltMsg[z]!='::LANG::')?splitAltMsg[z]+' ':nextLangStr+' ';
	}
	
	ob.alt = mountMsgStr;
	
}


// Pedro you could make this function a bit more generic
function ODBCDateToString(str)
{
	parseString = str.split(" ");
	date = parseString[0].split("-");
	odbcYear = date[0];
	odbcMonth = date[1];
	odbcDay = date[2];
	
	return date[1] + '/' + date[2] + '/' + date[0];
}

function getChildFromParent(objAr,chi)
{
	_ret = false;
	for(chilDEl = 0; chilDEl<objAr.length;chilDEl++)
	{
		if(objAr[chilDEl].id==chi||objAr[chilDEl].name==chi)
		{
			_ret = 	objAr[chilDEl];
			break;
		}
	}
	return _ret;
}

/* 

TODO: add all the language options to getLanguageFromKey
TODO: Add the select boxes for country and position 
TODO: Send an email to the user that was created 
TODO: Colocar um icone para check all on the check boxes for user rghts 
TODO: criar uma area no user rights ou algum outro lugar para user ve oque no front end ex. V ver menus xy, b: z

*/
