/* DEBUGGING VARIABLES*/

var javascriptPage_string = "CORE_clientside_lib.js";


/***********************************************
* Show Hint script- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
		
var horizontal_offset="9px" //horizontal offset of hint box from anchor link

/////No further editting needed

var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
var ie=document.all
var ns6=document.getElementById&&!document.all


function findAndShowHint(p_hintType, p_transactionID, p_hintAnchor, p_event, p_hintSize){
	/*DEBUGGING VARIABLES*/
	var functionName_string = "function findAndShowHint(p_hintType, p_transactionID, p_hintAnchor, p_event, p_hintSize)";
	var functionParameters_string = "";
	var trackingVariables_string = "";
	var trackingProgress_string = "";
	functionParameters_string = functionParameters_string + "p_hintType: "+ p_hintType +"<br/>";
	functionParameters_string = functionParameters_string + "p_transactionID: "+ p_transactionID +"<br/>";	
	functionParameters_string = functionParameters_string + "p_hintAnchor: "+ p_hintAnchor +"<br/>";		
	functionParameters_string = functionParameters_string + "p_event: "+ p_event +"<br/>";	
	functionParameters_string = functionParameters_string + "p_hintSize: "+ p_hintSize +"<br/>";	
	try{	
		var strHintContent = "";
		// GO GET HINT STRING
		strHintContent = CC_renderTransHintDetails(p_transactionID, p_hintType);
		// SHOWHINT
		if(String(strHintContent)!="undefined"){
			showhint(strHintContent,  p_hintAnchor, p_event, p_hintSize);
		}
		else{
			showhint("No information",  p_hintAnchor, p_event, p_hintSize);
		}
		strHintRenderedContent = "";
	}
	catch(e){
		receiveErrorMessage(e, websitePage_string, javascriptPage_string, functionName_string, functionParameters_string, trackingVariables_string, trackingProgress_string);
	}		
}

function getposOffset(what, offsettype){

	/*DEBUGGING VARIABLES*/
	var functionName_string = "function getposOffset(what, offsettype)";
	var functionParameters_string = "";
	var trackingVariables_string = "";
	var trackingProgress_string = "";
	functionParameters_string = functionParameters_string + "what: "+ what +"<br/>";
	functionParameters_string = functionParameters_string + "offsettype: "+ offsettype +"<br/>";

	try{
		var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
		var parentEl=what.offsetParent;
		while (parentEl!=null){
			totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
			parentEl=parentEl.offsetParent;
		}
	}
	catch(e){
		receiveErrorMessage(e, websitePage_string, javascriptPage_string, functionName_string, functionParameters_string, trackingVariables_string, trackingProgress_string);
	}
	return totaloffset;
}

function iecompattest(){

	/*DEBUGGING VARIABLES*/
	var functionName_string = "function iecompattest()";
	var functionParameters_string = "";
	var trackingVariables_string = "";
	var trackingProgress_string = "";

	try{
	}
	catch(e){
		receiveErrorMessage(e, websitePage_string, javascriptPage_string, functionName_string, functionParameters_string, trackingVariables_string, trackingProgress_string);
	}
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){

	/*DEBUGGING VARIABLES*/
	var functionName_string = "function clearbrowseredge(obj, whichedge)";
	var functionParameters_string = "";
	var trackingVariables_string = "";
	var trackingProgress_string = "";
	functionParameters_string = functionParameters_string + "obj: "+ obj +"<br/>";
	functionParameters_string = functionParameters_string + "whichedge: "+ whichedge +"<br/>";

	try{
		var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1;
		if (whichedge=="rightedge"){
			var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40;
			dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
			if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure){
				edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset);
			}
		}
		else{
			var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
			dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
			if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){
				edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight;
			}
		}
	}
	catch(e){
		receiveErrorMessage(e, websitePage_string, javascriptPage_string, functionName_string, functionParameters_string, trackingVariables_string, trackingProgress_string);
	}
	return edgeoffset
}

function showhint(menucontents, obj, e, tipwidth){
	
	/*DEBUGGING VARIABLES*/
	var functionName_string = "function showhint(menucontents, obj, e, tipwidth)";
	var functionParameters_string = "";
	var trackingVariables_string = "";
	var trackingProgress_string = "";
	functionParameters_string = functionParameters_string + "menucontents: "+ menucontents +"<br/>";
	functionParameters_string = functionParameters_string + "obj: "+ obj +"<br/>";
	functionParameters_string = functionParameters_string + "e: "+ e +"<br/>";
	functionParameters_string = functionParameters_string + "tipwidth: "+  tipwidth +"<br/>";	

	try{
		if ((ie||ns6) && document.getElementById("hintbox")){
			dropmenuobj=document.getElementById("hintbox");
			dropmenuobj.innerHTML=menucontents;
			dropmenuobj.style.left=dropmenuobj.style.top=-500;
			if (tipwidth!=""){
				dropmenuobj.widthobj=dropmenuobj.style;
				dropmenuobj.widthobj.width=tipwidth;
			}
			dropmenuobj.x=getposOffset(obj, "left");
			dropmenuobj.y=getposOffset(obj, "top");
			dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px";
			dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px";
			dropmenuobj.style.visibility="visible";
			obj.onmouseout=hidetip;
		}
	}
	catch(e){
		receiveErrorMessage(e, websitePage_string, javascriptPage_string, functionName_string, functionParameters_string, trackingVariables_string, trackingProgress_string);
	}
}

function hidetip(e){

	/*DEBUGGING VARIABLES*/
	var functionName_string = "function hidetip(e)";
	var functionParameters_string = "";
	var trackingVariables_string = "";
	var trackingProgress_string = "";
	functionParameters_string = functionParameters_string + "e: "+ e +"<br/>";

	try{
		dropmenuobj.style.visibility="hidden";
		dropmenuobj.style.left="-500px";
	}
	catch(e){
		receiveErrorMessage(e, websitePage_string, javascriptPage_string, functionName_string, functionParameters_string, trackingVariables_string, trackingProgress_string);
	}
}

function createhintbox(){

	/*DEBUGGING VARIABLES*/
	var functionName_string = "function createhintbox()";
	var functionParameters_string = "";
	var trackingVariables_string = "";
	var trackingProgress_string = "";

	try{
		var divblock=document.createElement("div");
		divblock.setAttribute("id", "hintbox");
		document.body.appendChild(divblock);
	}
	catch(e){
		receiveErrorMessage(e, websitePage_string, javascriptPage_string, functionName_string, functionParameters_string, trackingVariables_string, trackingProgress_string);
	}
}

if (window.addEventListener){
	window.addEventListener("load", createhintbox, false);
}else if (window.attachEvent){
	window.attachEvent("onload", createhintbox);
}else if (document.getElementById){
	window.onload=createhintbox;
}

/***********************************************/


function InnerHTMLIntoDiv(strContent, strDivName){
	document.getElementById(strDivName).innerHTML = strContent;
}

function checkNewSystemUserForm(){
		
	strUserName 			= document.forms[0].txtUserName.value;
	strPassword 			= document.forms[0].txtPassword.value;
	strPasswordConfirm 		= document.forms[0].txtConfirmPassword.value;
	strName 				= document.forms[0].txtName.value;
	strLastName 			= document.forms[0].txtLastName.value;
	strLastNameSecond 		= document.forms[0].txtSecondLastName.value;
	
	DataFine = true;
	
	if(strUserName.length == 0){
		document.getElementById("UserNameAvailableLabel").innerHTML = "Username is requiered";
		DataFine = false;
	} else if(strUserName.length < 4){
		document.getElementById("UserNameAvailableLabel").innerHTML = "Username must be 4 characters minimun";
		DataFine = false;
	} else 
		document.getElementById("UserNameAvailableLabel").innerHTML = "";
		
	if(strPassword.length == 0){
		document.getElementById("PasswordLabel").innerHTML = "Password is requiered";
		DataFine = false;
	} else {
		if(strPassword.length < 6){
			document.getElementById("PasswordLabel").innerHTML = "Password must be minimun 6 characters";
			DataFine = false;
		} else 
			document.getElementById("PasswordLabel").innerHTML = "";
	}
	
	
	if(strPassword.length > 0 && strPasswordConfirm.length > 0){
		if(strPasswordConfirm != strPassword){
			document.getElementById("ConfirmPasswordLabel").innerHTML = "The Passwords doesn't match";
			DataFine = false;
		} else 
			document.getElementById("ConfirmPasswordLabel").innerHTML = "";
	}
		
	if(strName.length == 0){
		document.getElementById("NameLabel").innerHTML = "Name is requiered";
		DataFine = false;
	} else 
		document.getElementById("NameLabel").innerHTML = "";
	
	if(strLastName.length == 0){
		document.getElementById("LastNameLabel").innerHTML = "Last Name is requiered";
		DataFine = false;
	} else
		document.getElementById("LastNameLabel").innerHTML = "";
		
	if(strLastNameSecond.length == 0){
		document.getElementById("SecondLastNameLabel").innerHTML = "Second Last Name is requiered";
		DataFine = false;
	} else
		document.getElementById("SecondLastNameLabel").innerHTML = "";
	
	return(DataFine);
}

function checkEditSystemUserForm(){
	
	strName 				= document.forms[0].txtFirstName.value;
	strLastName 			= document.forms[0].txtLastName.value;
	strLastNameSecond 		= document.forms[0].txtSecondLastName.value;
	
	DataFine = true;
		
	if(strName.length == 0){
		document.getElementById("FirstNameLabel").innerHTML = "Name is requiered";
		DataFine = false;
	} else 
		document.getElementById("FirstNameLabel").innerHTML = "";
	
	if(strLastName.length == 0){
		document.getElementById("LastNameLabel").innerHTML = "Last Name is requiered";
		DataFine = false;
	} else 
		document.getElementById("LastNameLabel").innerHTML = "";
		
	if(strLastNameSecond.length == 0){
		document.getElementById("SecondLastNameLabel").innerHTML = "Second Last Name is requiered";
		DataFine = false;
	} else
		document.getElementById("SecondLastNameLabel").innerHTML = "";
	
	return(DataFine);
	
}

function checkResetPasswordForm(){

	strPassword 			= document.forms[0].txtPassword.value;
	strPasswordConfirm 		= document.forms[0].txtConfirmPassword.value;
	
	DataFine = true;
	
	if(strPassword.length == 0){
		document.getElementById("PasswordLabel").innerHTML = "Password is requiered";
		DataFine = false;
	} else {
		if(strPassword.length < 6){
			document.getElementById("PasswordLabel").innerHTML = "Password must be minimun 6 characters";
			DataFine = false;
		} else
			document.getElementById("PasswordLabel").innerHTML = "";
	}
	
	if(strPassword.length > 0 && strPasswordConfirm.length > 0){
		if(strPasswordConfirm != strPassword){
			document.getElementById("ConfirmPasswordLabel").innerHTML = "The Passwords doesn't match";
			DataFine = false;
		} else 
			document.getElementById("ConfirmPasswordLabel").innerHTML = "";
	}
	
	return(DataFine);
}

function checkAddNewOrganizationalForm(){

	strName  = document.forms[0].txtName.value;
	DataFine = true;
	
	if(strName.length == 0){
		document.getElementById("nameLabel").innerHTML = "Name is requiered";
		DataFine = false;
	} else
		document.getElementById("nameLabel").innerHTML = "";
	
	return(DataFine);
}

function window_openFrom()
{
	var newWindow;
	var urlstring = '/core/includes/calendar/calendarFrom.htm'
	newWindow = window.open(urlstring,'','height=200,width=280,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no')
}

function window_openTo()
{
	var newWindow;
	var urlstring = '/core/includes/calendar/calendarTo.htm'
	newWindow = window.open(urlstring,'','height=200,width=280,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no')
}

function CheckSendMessageForm(){

	strSubject  = document.forms[0].txtSubject.value;
	strMessage  = document.forms[0].txtMessage.value;
	strExpDate  = document.forms[0].txtDateFrom.value;
	
	DataFine = true;
	
	if(strSubject.length == 0){
		document.getElementById("SubjectLabel").innerHTML = "Subject is requiered";
		DataFine = false;
	} else
		document.getElementById("SubjectLabel").innerHTML = "";
	
	if(strExpDate.length == 0){
		document.getElementById("ExpDateLabel").innerHTML = "Expiration Date is requiered";
		DataFine = false;
	} else {
		oDate = new Date(strExpDate);
		if(String(oDate) == 'Invalid Date'){
			document.getElementById("ExpDateLabel").innerHTML = "Expiration Date is not valid";
			DataFine = false;
		} else
			document.getElementById("ExpDateLabel").innerHTML = "";
	}
	
	if(strMessage.length == 0){
		document.getElementById("MessageLabel").innerHTML = "Message must have a content";
		DataFine = false;
	} else
		document.getElementById("MessageLabel").innerHTML = "";
	
	return(DataFine);
}

function ResetLoginForm(){
	var strLoginName  = document.forms[0].txtLogin.value;
	var DataFine = true;
	
	if(strLoginName.length == 0){
		document.getElementById("LoginLabel").innerHTML = "Login Name is requiered";
		DataFine = false;
	} else {
		if(strLoginName.length < 4){
			document.getElementById("LoginLabel").innerHTML = "The Login Name must be of 4 character minimum";
			DataFine = false;
		} else
			document.getElementById("LoginLabel").innerHTML = "";
	}
	
	return(DataFine);
}

function CheckAddUserAddressForm(){
	
	strAddresType = document.forms[0].txtAddressType.value;
	strCountryID  = document.forms[0].txtCountryID.value;
	strState 	  = document.forms[0].txtStateID.value;
	strCity 	  = document.forms[0].txtCity.value;
	strZip 		  = document.forms[0].txtZip.value;
	strStreet1 	  = document.forms[0].txtStreet1.value;
	
	DataFine = true;
	
	if(strAddresType.length == 0){
		document.getElementById("AddressTypeLabel").innerHTML = "Address Type is requiered";
		DataFine = false;
	} else
		document.getElementById("AddressTypeLabel").innerHTML = "";
		
	if(strCountryID.length == 0){
		document.getElementById("inf_ccCountryLabel").innerHTML = "Country is requiered";
		DataFine = false;
	} else 
		document.getElementById("inf_ccCountryLabel").innerHTML = "";
	
	if(strState.length == 0){
		document.getElementById("inf_ccStateLabel").innerHTML = "State is requiered";
		DataFine = false;
	} else 
		document.getElementById("inf_ccStateLabel").innerHTML = "";
		
	if(strCity.length == 0){
		document.getElementById("inf_ccCityLabel").innerHTML = "City is requiered";
		DataFine = false;
	} else 
		document.getElementById("inf_ccCityLabel").innerHTML = "";
	
	if(strZip.length == 0){
		document.getElementById("inf_ccZipLabel").innerHTML = "Zip is requiered";
		DataFine = false;
	} else 
		document.getElementById("inf_ccZipLabel").innerHTML = "";
		
	if(strStreet1.length == 0){
		document.getElementById("inf_ccAddress1Label").innerHTML = "Address line is requiered";
		DataFine = false;
	} else 
		document.getElementById("inf_ccAddress1Label").innerHTML = "";
	
	if(document.forms[0].txtShipping != undefined){
		if(document.forms[0].txtShipping[0].checked == false && document.forms[0].txtShipping[1].checked == false){
			document.getElementById("inf_ccShippingLabel").innerHTML = "Select a default option";
			DataFine = false;		
		} else 
			document.getElementById("inf_ccShippingLabel").innerHTML = "";
	}
	
	return(DataFine);
}

function ResetLoginForm(){
	var strLoginName  = document.forms[0].txtLogin.value;
	var DataFine = true;
	
	if(strLoginName.length == 0){
		document.getElementById("inf_ccLoginLabel").innerHTML = "Login Name is requiered";
		DataFine = false;
	} else {
		if(strLoginName.length < 4){
			document.getElementById("inf_ccLoginLabel").innerHTML = "The Login Name must be of 4 character minimum";
			DataFine = false;
		} else
			document.getElementById("inf_ccLoginLabel").innerHTML = "";
	}
	
	return(DataFine);
}

function checkMail(strEmail){
	var x = strEmail;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if (filter.test(x)) 
		return(true);
	else 
		return(false);
}

function SetInitialFocus(strInputName){
	oInput = document.getElementsByName(strInputName);
	oInput[0].focus()
}

var StateMenuRender_Callback =   
{   
 	success: function(o) {
		var strRenderResult = o.responseText;
		InnerHTMLIntoDiv(strRenderResult, "StateDiv");
	},   

	failure: function(o) {
		InnerHTMLIntoDiv('There is a problem trying Render the State Menu. Please contact system administrator.', "StateDiv");
	}   
}  


function Render_State_Menu_By_CountryID(strCountryID){
	
	var strURL = "/CORE/CORE_includes/renderStatesMenu.asp?countryid=" + strCountryID;
	
	var oStateTrans = YAHOO.util.Connect.asyncRequest('GET', strURL, StateMenuRender_Callback, null);
}

function Render_State_Menu_By_CountryID_By_StateID(strCountryID, strStateID){
	
	var strURL = "/CORE/CORE_includes/renderStatesMenuByStateID.asp?countryid=" + strCountryID + "&stateid=" + strStateID;
	
	var oStateTrans = YAHOO.util.Connect.asyncRequest('GET', strURL, StateMenuRender_Callback, null);
}

function Render_State_Menu_By_State(strFieldName, strStateID, strStateName,strAdditionalClass, blnDisabled){
	var strMenu = "";
	
	strMenu += '<select name="' + strFieldName + '" id="' + strFieldName + '" class="'+strAdditionalClass+'"';
	if(blnDisabled){
		strMenu += 'disabled="disabled" '
	}
	strMenu +='>';
	strMenu += '<option value="' + strStateID + '">' + strStateName + '</option>';
	strMenu += '</select>';		
	
	InnerHTMLIntoDiv(strMenu, "StateDiv");
}



