// JavaScript Document

function isInteger(string) 
	{
	if (parseInt(string,10)===string) // && string.length == 0) 
		{
		return true;
		}
	}

function goToUrl(selObj, goToLocation) 
	{
    eval("document.location.href = '" + goToLocation + selObj.options[selObj.selectedIndex].value + "'");
	}

function BBCode(Field_ID, Tag, fTag)
	{
	var obj	= document.getElementById(Field_ID);
	obj.focus();
 
	if (!fTag) fTag = '';
	
  	if (document.selection && document.selection.createRange)  // Internet Explorer
  		{
    	sel = document.selection.createRange();

		if (sel.parentElement() == obj)  
			{
			TextTMP = sel.text;
			
			var textLength 	= parseInt(sel.text.length);
			
			sel.text 	= Tag + TextTMP + fTag;
			TextTMP 	= '';
			}
		}
  	else if (obj != "undefined")  // Firefox & safari, etc...
 		{
		var textLength 	= parseInt(obj.textLength);
		var selStart 	= obj.selectionStart;
		var selEnd 		= obj.selectionEnd;

		if (selStart != selEnd) 
			{
			obj.value = obj.value.substring(0,selStart) + Tag + obj.value.substring(selStart,selEnd) + fTag + obj.value.substring(selEnd,textLength);
			}
		else 
			{
			obj.value 	= obj.value + Tag + obj.value.substring(selStart,selEnd) + fTag; 
			TextTMP 	= '';
			}
		}
  	else obj.value += Tag + fTag;

  	obj.focus();
	}

function BBCode_URL(Field_ID,Field_URL,Field_Text,Element_ID)
	{
	var obj		= document.getElementById(Field_ID);
	var objURL	= document.getElementById(Field_URL);
	var objText	= document.getElementById(Field_Text);
	obj.focus();
	
  	if (document.selection && document.selection.createRange)  // Internet Explorer
  		{
    	sel = document.selection.createRange();
		
		alert(sel.text);

		if (sel.parentElement() == obj)  
			{
			sel.text = '[url=' + objURL.value + ']' + objText.value + '[/url]';
			}
		}
  	else if (obj != "undefined")  // Firefox & safari, etc...
 		{
		var textLength 	= parseInt(obj.textLength);
		var selStart 	= obj.selectionStart;
		var selEnd 		= obj.selectionEnd;

		obj.value = obj.value.substring(0,selStart) + '[url=' + objURL.value + ']' + objText.value + '[/url]' + obj.value.substring(selEnd,textLength);
		}

	//else obj.value += Tag + fTag;
	objURL.value	= 'http://';
	objText.value	= 'Text';
	
	ToggleElement(Element_ID);
	
  	obj.focus();
	}

function BBCode_IMG(Field_ID,Field_URL,Field_Text,Field_Align,Element_ID)
	{
	var obj			= document.getElementById(Field_ID);
	var objURL		= document.getElementById(Field_URL);
	var objText		= document.getElementById(Field_Text);
	var objAlign	= document.getElementById(Field_Align);
	obj.focus();
	
	if (objAlign.value == 'center')
		{
		var Tag = '[img';
		}
	else if (objAlign.value == 'left')
		{
		var Tag = '[img-left';
		}
	else
		{
		var Tag = '[img-right';
		}	

	if (objText.value >= '')
		{
		Tag 			= Tag + '=';
		var TagExtra 	= ']';
		}
	else
		{
		Tag 			= Tag + ']';
		var TagExtra 	= '';
		}

  	if (document.selection && document.selection.createRange)  // Internet Explorer
  		{
    	sel = document.selection.createRange();
		
		if (sel.parentElement() == obj)  
			{
			sel.text = Tag + objURL.value + TagExtra + objText.value + '[/img]';
			}
		}
  	else if (obj != "undefined")  // Firefox & safari, etc...
 		{
		var textLength 	= parseInt(obj.textLength);
		var selStart 	= obj.selectionStart;
		var selEnd 		= obj.selectionEnd;

		obj.value = obj.value.substring(0,selStart) + Tag + objURL.value + TagExtra + objText.value + '[/img]' + obj.value.substring(selEnd,textLength);
		}

	//else obj.value += Tag + fTag;
	objURL.value	= 'http://';
	objText.value	= 'Text';
	
	ToggleElement(Element_ID);
	
  	obj.focus();
	}

function ToggleElement(Element_ID,Field_ID,Field_Value) 
	{
	var objElement = document.getElementById(Element_ID);
	
	if (objElement.style.display != 'none') 
		{
		objElement.style.display = 'none';
		}
	else if (objElement.tagName == 'TABLE' && navigator.appName != 'Microsoft Internet Explorer') 
		{
		objElement.style.display = 'table';
		}
	else
		{
		objElement.style.display = 'block';
		}
	
	if (Field_ID && Field_Value)
		{
		TransferElementValue(Field_ID,Field_Value);
		}
	}

function ToggleNaviTab(Target_ID, NaviName, FormName)
	{
	var objParent 	= document.getElementById(NaviName);
	var objTabs		= objParent.getElementsByTagName('a');
	
	for (var i = 0; i < objTabs.length; i++) 
		{
		if (objTabs[i].id) 	var Tab_ID = objTabs[i].id;
		else 				var Tab_ID = objTabs[i].getAttribute('id');
		
		var TabElement = Tab_ID.split('_');
		
		var objElement 	= document.getElementById(NaviName + '_' + TabElement[1]);
		var objTarget	= document.getElementById(FormName + '_' + TabElement[1]);
		
		if (Target_ID == TabElement[1])
			{
			if (NaviName == 'NaviTab') 	objElement.style.background	= '#FFE788';
			else						objElement.style.background	= '#FFFFFF';
			
			objTarget.style.display 	= 'block';
			//alert(TabElement[1] + ' show ' + objElement.style.background);
			}
		else
			{
			if (NaviName == 'NaviTab') 	objElement.style.background	= '#CBEB4B';
			else						objElement.style.background	= '#EAEAEA';
			
			objTarget.style.display 	= 'none';
			//alert(TabElement[1] + ' hide ' + objElement.style.background);
			}
		}
	
	if (document.getElementById(NaviName + 'On') != null)
		{
		document.getElementById(NaviName + 'On').value = Target_ID;
		}
	}
	
function ToggleBG(Element,Action)
	{
	var objHover		= Element;
	
	if (Action == 'out')	var BG = '#ffffff';
	else					var BG = '#fffcdd';
	
	objHover.style.backgroundColor 	= BG;
	
	if (objHover.tagName == 'tr' || objHover.tagName == 'TR')
		{
		var objCells = objHover.getElementsByTagName('td');
		
		for (var i = 0; i < objCells.length; i++) 
			{
			objCells[i].style.backgroundColor = BG; 
			}
		}
	}

	function TransferElementValue(Field_ID,Field_Value)
	{
	var objField 	= document.getElementById(Field_ID);
	var objValue 	= document.getElementById(Field_Value);
	
  	if (document.selection && document.selection.createRange)  // Internet Explorer
  		{
    	sel = document.selection.createRange();

		objValue.value = sel.text;
		}
  	else if (objField != "undefined")  // Firefox & safari, etc...
 		{
		var textLength 	= parseInt(objField.textLength);
		var selStart 	= objField.selectionStart;
		var selEnd 		= objField.selectionEnd;

		if (selStart != selEnd)
			{
			objValue.value = objField.value.substring(selStart,selEnd);
			}
		}
	}

function AssignOnClick(Element_ID,Action)
	{
	var objElement 				= document.getElementById(Element_ID);
	objElement.onclick 			= Action;	
	}	

function AssignValue(Element_ID,Value)
	{
	var objElement 				= document.getElementById(Element_ID);
	objElement.value 			= Value;	
	}

function RemoveElement(Element_ID)
	{
	if (document.getElementById(Element_ID) != null)
		{
		var objElement = document.getElementById(Element_ID);
		objElement.parentNode.removeChild(objElement);
		}
	}

function FetchFileAsTxt(RelativePath)
	{ 
	var oxmlhttp = null;
	try
		{ 
		oxmlhttp = new XMLHttpRequest();
		oxmlhttp.overrideMimeType("text/xml");
		}
	catch(e)
		{ 
		try
			{ 
			oxmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}
		catch(e)
			{ 
			return null;
			}
		}
		
	if(!oxmlhttp) return null;
	try
		{ 
		oxmlhttp.open("GET",RelativePath,false);
		oxmlhttp.send(null);
		}
	catch(e)
		{ 
		return null;
		}
	
	return oxmlhttp.responseText;
	}
	
