var ie  =  document.all
var ns6 =  document.getElementById&&!document.all
var horizontal_offset = "6px"; //horizontal offset of hint box from anchor link
var vertical_offset   = "-10px"; //horizontal offset of hint box from anchor link. No need to change.

function loadField(id) {

	if($(id)) {

		attachTooltip(id);
		Highlight(id);
		clearInterval(int_obj);
	}
}

//Baloon functions

function attachTooltip(elementId){
	if($(elementId)){
		Event.observe(elementId, 'focus', onfocusEle, false);
		Event.observe(elementId, 'blur', onblurEle, false);
		//	   Event.observe(elementId, 'mouseover', onfocusEle, false);
		//	   Event.observe(elementId, 'mouseout', onblurEle, false);
	}
};

function onblurEle(e){
	var id = Event.element(e).id;
	$(id).className = "inputstyle" ;
	$("h-" + id).className = "field-hint-inactive" ;
};

function onfocusEle(e){

	if($(selected_field)) {
		$("h-" + selected_field).className = "field-hint-inactive" ;
		$(selected_field).className = "inputstyle" ;
	}
	var id = Event.element(e).id;
	$(id).className = "inputstyle-focus" ;
	$("h-" + id).className = "field-hint" ;
};

selected_field = '';

//Baloon functions for textarea

function attachTooltipTextarea(elementId){
	if($(elementId)){
		Event.observe(elementId, 'focus', onfocusEleTA, false);
		Event.observe(elementId, 'blur', onblurEleTA, false);
		//	   Event.observe(elementId, 'mouseover', onfocusEle, false);
		//	   Event.observe(elementId, 'mouseout', onblurEle, false);
	}
};

function onblurEleTA(e){
	var id = Event.element(e).id;
	$(id).className = "inputstyleTA" ;
	$("h-" + id).className = "field-hint-inactive" ;
};

function onfocusEleTA(e){

	if($(selected_field)) {
		$("h-" + selected_field).className = "field-hint-inactive" ;
		$(selected_field).className = "inputstyle" ;
	}
	var id = Event.element(e).id;
	$(id).className = "inputstyle-focusTA" ;
	$("h-" + id).className = "field-hint" ;
};

selected_field = '';

function Highlight(id){
	selected_field = id;
	$(id).focus();
};

function setPage(ele, to_show, sortField, sort){
	if (ele.value == 1)
	{
		dispDataList(0, sortField, sort);
	}
	else
	{
		var str = (ele.value - 1) * to_show;
		dispDataList(str, sortField, sort);
	}
}
function setPageDiary(ele, to_show, sortField, sort,stat){
	if (ele.value == 1)
	{
		dispDataList(0, sortField, sort,stat);
	}
	else
	{
		var str = (ele.value - 1) * to_show;
		dispDataList(str, sortField, sort,stat);
	}
}
var corX = 0;
var corY = 0;
function TrapRight(e) {
		if (navigator.appName == 'Netscape'){
				if(e.which == 3) {
					return false;
				}
				else if(e.which == 1) {
					return false;
				}
				
		}
		else if(navigator.appName == 'Microsoft Internet Explorer') {
			if(event.button == 2) {
					return false;
			}
			else if(event.button == 1) {
				return false;
			}
		}
 }
function getXY(e) {
  if(navigator.appName == 'Netscape'){
   corX = e.pageX;
   corY = e.pageY; 
  }
  else{
   corX = event.clientX;
   corY = event.clientY; 
  }
}	


function createHintBox(){
	var divbClock = document.createElement("div");
	divbClock.setAttribute("id", "hintbox");
	$('main_action_div').appendChild(divbClock);
}

function hideTip(){
	var dropMenuObj = $("hintbox");
	dropMenuObj.style.visibility="hidden";
	dropMenuObj.style.left="-500px";
}


function showToolTip(tipContent, obj, e, tipWidth){
	
	if ($("hintbox")){
	     dropMenuObj  = $('hintbox');
	     var msgDivText       = "<div id='new_'>" + tipContent + "</div>";
	     dropMenuObj.innerHTML = msgDivText;
	     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";
	     //this.removeError();
	}
}


function getposOffset(what, offsettype){
	
	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;
	}
	return totalOffset;
}

function clearBrowserEdge(obj, whichedge){
	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){
	    	var 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){
			var edgeoffset = dropMenuObj.contentmeasure - obj.offsetHeight;
		}
	}
	return edgeoffset;
}


function ieCompattest(){
	return (document.compatMode && document.compatMode != 'BackCompat') ? document.documentElement : document.body;
}


function setColor(selectedId, allSelectedId){
  var allSelArr = allSelectedId.split(',');
  for (var i = 0; i < allSelArr.length; i++)
  {
	if(i % 2 == 0) {
		var cls = "lighttableBgcolor";
	}
	else {
		var cls = "ultralighttableBgcolor";
	}
	$('tr_'+allSelArr[i]).className = cls;
  }
  $('tr_'+selectedId).className = 'selectedBgcolor';
}

function setColorBack(allSelectedId){
  var allSelArr = allSelectedId.split(',');
  for (var i = 0; i < allSelArr.length; i++)
  {
	if(i % 2 == 0) {
		var cls = "lighttableBgcolor";
	}
	else {
		var cls = "ultralighttableBgcolor";
	}
	if (i == 0)
	{
		var cls = 'selectedBgcolor';
	}
	$('tr_'+allSelArr[i]).className = cls;
  }
}


function displayAlert(msg)
{
	if(msg) $('msg_div').innerHTML = msg;
	$('alert_div').className = 'alert_show';

}
function hideAlert()
{
	$('msg_div').innerHTML = "";
	$('alert_div').className = 'alert_hide';

}


function displayAlertAdd(msg)
{
	$('showTr').style.display = '';
	if(msg) $('msg_div_add').innerHTML = msg;
	$('alert_div_add').className = 'alert_show';
}

function dispHelp(){
		 var dTop = (screen.height / 4);
		 var dLeft = (screen.width / 3);
		 $('dispHelp').style.top = dTop+'px';
		 $('dispHelp').style.left = dLeft+'px';
		 $('dispHelp').style.width = '450px';
		 //$('dispEditDiv').style.display = 'none';
		 //$('dispDelDiv').style.display = 'none';
		 Effect.Grow('dispHelp');
}

/**
 * field alert
 */
function displayFldErrAlert(msg, divId)
{
	$(divId+'Tr').style.display = '';
	if(msg) $(divId+'Div').innerHTML = "*&nbsp;" + msg;
	$('w'+divId).style.display = '';
}
function hideFldErrAlert(msg, divId)
{
	$(divId+'Tr').style.display = 'none';
	if(msg) $(divId+'Div').innerHTML = "*&nbsp;" + msg;
	$('w'+divId).style.display = '';
}
function hideError(id){
		$(id+'Tr').style.display = 'none';
		$('w'+id).style.display = 'none';
}
function hideError1(id){
		$(id+'Tr').style.display = 'none';
}

function submitLink(formName){
	alert(formName);
	document.forms[formName].submit();
}

function checkBoxSelect(opt){
	var ids = $('depIdCon').value;
	var idsArr = ids.split(',');
	for (var i = 0;i < idsArr.length ; i++ )
	{
		if (opt == 1)
		{
         $('del_'+idsArr[i]).checked = true;
         setDel(idsArr[i]);
		}
		else{
			$('del_'+idsArr[i]).checked = false;
		}
	}
}

function setDel(id){
 document.getElementById('tr_'+id).onclick = '';
}

function getkey(e)
{
	if (window.event)
	return window.event.keyCode;
	else if (e)
	return e.which;
	else
	return null;
}
function goodchars(e, goods)
{
	var key, keychar;
	key = getkey(e);
	if (key == null) return true;
	// get character
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	goods = goods.toLowerCase();
	// check goodkeys
	if (goods.indexOf(keychar) != -1)
	return true;
	// control keys
	if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
	return true;
	// else return false
	return false;
}

/*==================================================================================================================#
# * Function for adding a Filter to an Input Field																																	#
# * @param  : [filterType  ] Type of filter 0=>Alpha, 1=>Num, 2=>AlphaNum																						#
# * @param  : [evt         ] The Event Object																																				#
# * @param  : [allowDecimal] To allow Decimal Point set this to true																								#
# * @param  : [allowCustom ] Custom Characters that are to be allowed																								#
#																																																										#
# * usage1  : onKeyPress="return filterInput(1, event)"   (No Decimal point)																				#
# * usage2  : onKeyPress="return filterInput(1, event, true)"    (With Decimal point)																#
# * usage3  : onKeyPress="return filterInput(0, event)"    (Only Alphabets)																					#
# * usage4  : onKeyPress="return filterInput(2, event)"    (Alphabets and Numeric)																	#
# * usage5  : onKeyPress="return filterInput(2, event, false, '@_-.')"     (With Custom characters [@ _ .])					#
#===================================================================================================================*/
function filterInput(filterType, evt, allowDecimal, allowCustom){
    var keyCode, Char, inputField, filter = '';
    var alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    var num   = '0123456789';
    // Get the Key Code of the Key pressed if possible else - allow
    if(window.event){
        keyCode = window.event.keyCode;
        evt = window.event;
    }else if (evt)keyCode = evt.which;
    else return true;
    // Setup the allowed Character Set
    if(filterType == 0) filter = alpha;
    else if(filterType == 1) filter = num;
    else if(filterType == 2) filter = alpha + num;
    if(allowCustom)filter += allowCustom;
    if(filter == '')return true;
    // Get the Element that triggered the Event
    inputField = evt.srcElement ? evt.srcElement : evt.target || evt.currentTarget;
    // If the Key Pressed is a CTRL key like Esc, Enter etc - allow
    if((keyCode==null) || (keyCode==0) || (keyCode==8) || (keyCode==9) || (keyCode==13) || (keyCode==27) )return true;
    // Get the Pressed Character
    Char = String.fromCharCode(keyCode);
    // If the Character is a number - allow
    if((filter.indexOf(Char) > -1)) return true;
    // Else if Decimal Point is allowed and the Character is '.' - allow
    else if(filterType == 1 && allowDecimal && (Char == '.') && inputField.value.indexOf('.') == -1)return true;
    else return false;
}

function getEditorValue(editorName)
{
	var inst = FCKeditorAPI.GetInstance(editorName);
	var sValue = inst.GetHTML();
	return sValue;
}


/*
usage:

######  Text Area Declaration  ######
<textarea name="message2" wrap="physical" cols="28" rows="5"
onKeyDown="textCounter(document.myForm.message2,document.myForm.remLen2,125)"
onKeyUp="textCounter(document.myForm.message2,document.myForm.remLen2,125)"></textarea>

###### Textbox for character counter declaration  ######
<input readonly type="text" name="remLen2" size="3" maxlength="3" value="125">

*/
function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}

function createErrorMessage(msg, alertDiv)
	{
		var body = '<table align="center" width="100%" border="0" cellspacing="1" cellpadding="5">'
		+'	<tr>'
		+'		<td align="left" width="" class="" valign="middle" style="background-color:#fff6ea; border:1px dotted #ffa611;">'
		+'			 <table align="center" width="100%" border="0" cellspacing="1" cellpadding="5">'
		+'				<tr>'
		+'					<td align="left" width="" class="" valign="middle" style="padding-left:15px">The following error occurred during saving record.</td>'
		+'				</tr>'
		+'				<tr>'
		+'					<td align="left" width="" class="normalError" valign="middle" style="padding-left:60px">'+msg+'</td>'
		+'				</tr>'
		+'			 </table>'
		+'		</td>'
		+'	</tr>'
		+'</table>';
		$(alertDiv).innerHTML = body;
		$(alertDiv).style.display = "";
	}
	function createSuccessMessage($msg)
	{
		var body = '<table align="center" width="100%" border="0" cellspacing="1" cellpadding="5">'
		+'	<tr>'
		+'		<td align="left" width="" class="" valign="middle" style="background-color:#fff6ea; border:1px dotted #ffa611;">'
		+'			 <table align="center" width="100%" border="0" cellspacing="1" cellpadding="5">'
		+'				<tr>'
		+'					<td align="left" width="" class="" valign="middle" style="padding-left:15px"><strong>Success ...</strong></td>'
		+'				</tr>'
		+'				<tr>'
		+'					<td align="left" width="" class="normalError" valign="middle" style="padding-left:60px">'+msg+'</td>'
		+'				</tr>'
		+'			 </table>'
		+'			</td>'
		+'	</tr>'
		+'</table>';
		$(alertDiv).innerHTML = body;
		$(alertDiv).style.display = "";
	}







