//////////////////////////////////////////////////////////////////////////////////////
// Filename : funclib.js
// Writer : Andrew(ratsbomb@gmail.com)
// Create Date : 01-06-2006
// Last Update : 01-25-2006
// Description : For using Affiliate Booking Site in common libarary.
//////////////////////////////////////////////////////////////////////////////////////

// Function Name : checkSearchForm
// Description : when onClick Search Button, Check out Form Values in Search Box.(in Hostel Booking)
// Paramter : SelBoxName = select box name(string), BookStartDate = Server's Book Enable Date
// Return : nothing
function checkSearchForm(SelBoxName, BookStartDate)
{
    var objForm = document.forms["frmSearchBox"];
    var objSelect2 = objForm.elements[SelBoxName];
    var UserSelectValue = objSelect2.options[objSelect2.selectedIndex].value;
	var objCurrency = objForm.elements['curr'];

    // Get Server's Date
    var sBookDate = BookStartDate.split("/");
    var sYear = sBookDate[2];
    var sMonth = sBookDate[0];
    var sDay = sBookDate[1];
    var xSec=1000;
    var xMin=1000*60;
    var xHour=xMin*60;
    var xDate=xHour*24;
    // Get User's Date
    var userGetDate = objForm.elements["start"].value;
    var userDate = userGetDate.split("/");
    var userYear = userDate[2];
    var userMonth = userDate[0];
    var userDay = userDate[1];
    
    var sTime = Date.UTC(sYear, sMonth, sDay);
    var uTime = Date.UTC(userYear, userMonth, userDay);

    var gap = Math.round((uTime - sTime)/xDate);

    if (UserSelectValue == "" || UserSelectValue == "Choose a Country First")
    {
        alert(msg_err_selcity);
        // Need Line highlighting
        objForm.elements["selCountry"].focus();
        return false;
    }

    if (gap < 0)
    {
        alert(msg_err_seldate);
        // Need Line highlighting
        return false;
    }

    if (SelBoxName != "city")
    {
        //! Create Hidden Input Form Object
        var obj = document.createElement("input"); 
        obj.setAttribute("type", "hidden");
        obj.setAttribute("name", "city");
        obj.setAttribute("value", arrPropertyCity[UserSelectValue]);
        document.forms[0].appendChild(obj);

        //objForm.elements["city"].value = arrPropertyCity[objSelect2.options[objSelect2.selectedIndex].value];
        objForm.action = "Hostel_ViewDetail.asp";
    }

	// added 6 lines by Andrew, 02-24-2006
	if (objCurrency.value == "")
	{
		alert("You must select your currency");
		objCurrency.focus();
		return false;
	}

    objForm.submit();
    return false;
}

// Function Name : checkTourSearchForm
// Description : when onClick Search Button, Check out Form Values in Search Box.(in Tour Booking Site)
// Paramter : SelBoxName = select box name(string), BookStartDate = Server's Book Enable Date
// Return : nothing
function checkTourSearchForm(SelBoxName, BookStartDate)
{
    var objForm = document.forms["frmSearchBox"];
    var objSelect2 = objForm.elements[SelBoxName];
    var UserSelectValue = objSelect2.options[objSelect2.selectedIndex].value;
	var objCurrency = objForm.elements['curr'];

    // Get Server's Date
    var sBookDate = BookStartDate.split("/");
    var sYear = sBookDate[2];
    var sMonth = sBookDate[0];
    var sDay = sBookDate[1];
    var xSec=1000;
    var xMin=1000*60;
    var xHour=xMin*60;
    var xDate=xHour*24;
    // Get User's Date
    var userGetDate = objForm.elements["start"].value;
    var userDate = userGetDate.split("/");
    var userYear = userDate[2];
    var userMonth = userDate[0];
    var userDay = userDate[1];
    
    var sTime = Date.UTC(sYear, sMonth, sDay);
    var uTime = Date.UTC(userYear, userMonth, userDay);

    var gap = Math.round((uTime - sTime)/xDate);

    if (UserSelectValue == "" || UserSelectValue == "Choose a Country First")
    {
        alert(msg_err_selcity);
        // Need Line highlighting
        objForm.elements["selCountry"].focus();
        return false;
    }

    if (gap < 0)
    {
        alert(msg_err_seldate);
        // Need Line highlighting
        return false;
    }

    if (SelBoxName != "city")
    {
        //! Create Hidden Input Form Object
        var obj = document.createElement("input"); 
        obj.setAttribute("type", "hidden");
        obj.setAttribute("name", "city");
        obj.setAttribute("value", arrPropertyCity[UserSelectValue]);
        document.forms[0].appendChild(obj);

        //objForm.elements["city"].value = arrPropertyCity[objSelect2.options[objSelect2.selectedIndex].value];
        objForm.action = "Tour_ViewDetail.asp";
    }

	// added 6 lines by Andrew, 02-24-2006
	if (objCurrency.value == "")
	{
		alert("You must select your currency");
		objCurrency.focus();
		return false;
	}

    objForm.submit();
    return false;
}

// Function Name : fillNextByCountry
// Description : When onChange Country List.
// Paramter : idx = selected country's index's value(countrycode), SelBoxName = select box name(string)
// Return : nothing
function fillNextByCountry(idx, SelBoxName, isMain)
{
    var objForm = document.forms["frmSearchBox"];
    var objSelect2 = objForm.elements[SelBoxName];

    if (idx == "" || idx == "Choose a Country")
    {
        initSelectBox(objSelect2);
        //! Form Color Change
        document.getElementById("searchbtn").setAttribute("src", "http://book.hosteltimes.com/Include/Images/bt_search_gray.gif"); 
		if (isMain == 'y')
	        document.getElementById("select2nd_title").className = "text_grey12_verdana_off";
        document.getElementById("select2nd_box").className = "select_off";

    } else
    {
        if (SelBoxName == "city")
        {
            insert_selCity(idx);
        } else
        {
            insert_selProperties(idx, objSelect2);
        }

        //! Form Color Change
        document.getElementById("searchbtn").setAttribute("src", "http://book.hosteltimes.com/Include/Images/bt_search.gif"); 
		if (isMain == 'y')
	        document.getElementById("select2nd_title").className = "text_grey12_verdana";
        document.getElementById("select2nd_box").className = "";
    }
}

// Function Name : SelBoxSort
// Description : Sorting Select Box
// Paramter : boxIdObj = select box Object(select box), isValuesort = sort by value(default is false, sort by text)
// Return : nothing
function SelBoxSort(boxIdObj, isValuesort) 
{ 
    var obj, sArr, oArr, idx, op; 
    var numOfSortedCountries; //number of countries should come before sorted countries.
    
    if (typeof boxIdObj == 'string') 
		obj = document.getElementById(boxIdObj); 
    else 
		obj = boxIdObj; 

    if (obj.tagName.toLowerCase() != 'select') 
		return false; 
		
    if (typeof isValuesort == 'undefined') 
		isValuesort = false; 
	
	if(obj.options.length > 14) {
		if(obj.options[14].value == -1)
			numOfSortedCountries = 15;
		else
			numOfSortedCountries = 0;
	}
	else
		numOfSortedCountries = 0;
	
    sArr = new Array(obj.options.length - numOfSortedCountries); 
    oArr = new Array; 
		//tempArr = new Array(obj.options.length); 
			
    for (idx = numOfSortedCountries; idx < obj.options.length; idx++) 
    { 
        if (isValuesort) 
        	sArr[idx - numOfSortedCountries] = obj.options[idx].value; 
        else
			sArr[idx - numOfSortedCountries] = obj.options[idx].text.toUpperCase(); 
					
        oArr[sArr[idx - numOfSortedCountries]] = obj.options[idx]; 
    } 
    sArr.sort(); 

	var i;
    for (i = 0; i < sArr.length; i++)
	{
		//document.write("idx : " + i + " - ");
		//document.write("sArr : " + sArr[i] + " <BR /> ");
		obj.appendChild(oArr[sArr[i]]); 
	}
}

// Function Name : initSelectBox
// Description : Initializing Select Box
// Paramter : objElement = Form's Element Object(select box), msg = string that default select message
// Return : nothing
function initSelectBox(objElement, msg)
{
	var i;
	var nLastIndex = objElement.options.length - 1;

	for(i = nLastIndex; i > 0; i--)
	{
		objElement.options[i] = null;
	}

	if (msg == null)
		msg = "Choose Country First...";

	objElement.options[0] = new Option(msg, ''); 
}

// Function Name : insert_selProperties
// Description : Insert Property List to select box
// Paramter : objForm = form object
// Return : nothing
function insert_selProperties(nCountryIdx, objPropertyList)
{ 
	var i;
	var nCountIdx;

	nCountIdx = 0;

	// Initializing Select Box
	if (objPropertyList != undefined)
	{
		initSelectBox(objPropertyList);
	}

	for (i in arrProperty[nCountryIdx])
	{
//		if (IsActive(arrProperty[nCountryIdx][i].value, arrNotAvailProperty))
//		{
			objPropertyList.options[nCountIdx] = new Option(arrProperty[nCountryIdx][i].text, arrProperty[nCountryIdx][i].value); 
			nCountIdx = nCountIdx + 1;
//		}
	}
} 

// Function Name : insert_selCurrency
// Description : Insert Currency List to select box
// Paramter : objForm = form object
// Return : nothing
function insert_selCurrency()
{ 
	var i;
	var nCountIdx;
	var objCurrencyList = document.forms["frmSearchBox"].elements["curr"];			// Select Box Name
	var nCountTotalCurrency;														// number of total Currency

	nCountTotalCurrency = arrCurrency.length - 1;
	nCountIdx = 0;
	for (i = 0; i < nCountTotalCurrency; i++) 
	{ 
//		if (IsActive(arrCurrency[i + 1].value, arrNotAvailCurrency))
//		{
			objCurrencyList.options[nCountIdx] = arrCurrency[i + 1]; 
			nCountIdx = nCountIdx + 1;
//		}
	}
	

	// User Rank : Currency's Value List that should be top ranked.
	var arrCurrencyRank = new Array;
	arrCurrencyRank[0] = 'United States Dollars'
	arrCurrencyRank[1] = 'Euro';
	arrCurrencyRank[2] = 'Japan Yen';
	arrCurrencyRank[3] = 'South Korea Won';
	arrCurrencyRank[4] = 'China Yuan Renminbi';
	arrCurrencyRank[5] = 'United Kingdom Pounds';
	arrCurrencyRank[6] = 'Australia Dollars';
	arrCurrencyRank[7] = 'Canada Dollars';
	SelBoxSortByUserRank(objCurrencyList, arrCurrencyRank);
} 

// Function Name : insert_selCity
// Description : Insert CityList to select box
// Paramter : nCountryIdx = Country Index Value, arrNotAvailCity =
// Return : nothing
function insert_selCity(nCountryIdx)
{ 
	var i;
	var nCountIdx;

	var objCityList = document.forms["frmSearchBox"].elements["city"];

	// Initializing Select Box
	initSelectBox(objCityList);

	nCountIdx = 0;
	for (i in arrCity[nCountryIdx])
	{
//		if (IsActive(arrCity[nCountryIdx][i].value, arrNotAvailCity))
//		{
			objCityList.options[nCountIdx] = new Option(arrCity[nCountryIdx][i].text, arrCity[nCountryIdx][i].value); 
			nCountIdx = nCountIdx + 1;
//		}
	}
	//alert("Total City : " + nCountIdx);
}

// Function Name : insert_selCountry
// Description : Insert Country List to select box
// Paramter : objForm = form object
// Return : nothing
function fillout_select(objElement, objUserList)
{ 
	var i;
	var nListIdx;

	var nTotalCount;				// number of total country(source from country.js)

	nTotalCount = objUserList.length;

	nListIdx = 1;
	for (i = 1; i < nTotalCount; i++) 
	{
//		if (IsActive(objUserList[i].value, arrNotAvailCountry))
//		{
			objElement.options[nListIdx] = objUserList[i]; 
			nListIdx = nListIdx + 1;
//		}
	}

	SelBoxSort(objElement);
}

// Function Name : insert_selCountry
// Description : Insert Country List to select box
// Paramter : objForm = form object
// Return : nothing
function insert_selCountry(arrNotAvailCountry)
{ 
	var i;
	var nCountIdx;

	var objCountryList = document.forms["frmSearchBox"].elements["selCountry"];

	var nCountTotalCountry;				// number of total country(source from country.js)

	nCountTotalCountry = arrCountry.length;

	nCountIdx = 1;
	for (i = 1; i < nCountTotalCountry; i++) 
	{
		if (IsActive(arrCountry[i].value, arrNotAvailCountry))
		{
			objCountryList.options[nCountIdx] = arrCountry[i]; 
			nCountIdx = nCountIdx + 1;
		}
	}
}
// Name : IsActive
// Desc : Check It's current status is active. if inactive status, then do not show in list.
// Parameter : compare Value, InActive Value List
// Return : True/False
function IsActive(compareValue, compareArray)
{
	var i;
	var returnValue; 
	nCountNotAvail = compareArray.length;

	returnValue = true;

	for (i = 0; i < nCountNotAvail; i++)
	{
		if (compareValue == compareArray[i])
		{
			returnValue = false;
			break;
		}
	}

	return returnValue;
}

/* ------------------------------------------------------------------------------------------------------------------ */

// Window Open in Center on Parent Window.
// page : url, w : width, h : height, s : scrollbars, r : resizable
function WindowOpen(page,w,h,s,r) 
{ 
	var win=null; 
	// If frame exists
	// parent.window.screenLeft
	// document.body.offsetWidth, document.body.offsetHeight can editable follow window size.
	var x=window.screenLeft; 
	var y=window.screenTop; 
	var l=x+((document.body.offsetWidth-w)/2); 
	var t=y+((document.body.offsetHeight-h)/2); 
	var settings=''; 
	 
	settings ='width='+w+'px,'; 
	settings +='height='+h+'px,'; 
	settings +='top='+t+'px,'; 
	settings +='left='+l+'px,'; 
	settings +='scrollbars='+s+','; 
	settings +='resizable='+r+','; 
	settings +='status=0'; 
	 
	var windows=window.open(page,win,settings); 
	windows.focus(); 
} 

// Array for Language List
var arrLanguage = new Array();
arrLanguage[1] = new Option('ENGLISH','1');
arrLanguage[2] = new Option('KOREAN','2');
arrLanguage[3] = new Option('JAPANESE','3');
arrLanguage[4] = new Option('CHINESE','4');


function insert_selBankCountry(objElement)
{ 
	var i, j;

	var objBankCountryList = objElement;

	var nCountTotalCountry;				// number of total country(source from country.js)

	nCountTotalCountry = arrCountry.length;

	for (i = 1; i < nCountTotalCountry; i++) 
	{ 
		objBankCountryList.options[i] = new Option(arrCountry[i].text, arrCountry[i].value); 
	}
}

// Function Name : insert_selLanguage
// Description : Insert Language List to select box
// Paramter : objForm = form object
// Return : nothing
function insert_selLanguage(objForm)
{ 
	var i;
	var objLanguageList = objForm.elements['selLanguage'];			// Select Box Name
	var nCountTotalLanguage;										// number of total Language

	nCountTotalLanguage = arrLanguage.length - 1;

	for (i = 0; i < nCountTotalLanguage; i++) 
	{ 
		objLanguageList.options[i] = arrLanguage[i + 1]; 
	}
} 

//--------------------------- Admin Account -------------------------//
// Window Position  Setting to Center in Monitor
// Body Onload Event
function set_window_pos()
{
	var scrWidth = window.screen.width;
	var scrHeight = window.screen.height;
	var left = (scrWidth - 290) / 2;
	var top = (scrHeight - 165) / 2;

	this.resizeTo(290, 165);
	this.moveTo(left, top);
}
// Form(select, radio, checkbox) initialize by value
function select_input(input_name,input_value) {
    for ( i = 0 ; i < document.forms.length; i ++ ) {
        for ( j = 0 ; j < document.forms[i].elements.length; j++) {
            with(document.forms[i].elements[j]) {
                if(name == input_name) {
                    if( value == input_value) { checked=true; }
                        else if(type!='radio' && type != 'checkbox') { value=input_value; }
                }
            }
        }
    }
}

// Form(select, radio, checkbox) initialize by value
// Same upper, form_name added
function select_input2(form_name,input_name,input_value) {
    form_name = eval("document."+form_name);
    for ( j = 0 ; j < form_name.elements.length; j++) {
        with(form_name.elements[j]) {
            if(name == input_name) {
                if( value == input_value) { checked=true; }
                    else if(type!='radio' && type != 'checkbox') { value=input_value; }
            }
        }
    }
}

// Select Tag Initialize by value.
// obj : select name, value : option value
function setSelect(obj,value)
{
	if(value)
	{
		var tgtObj = document.getElementById(obj);
		tgtObj.value = value;
	}
}

// Edit Selected Affiliate Information
function edit_select()
{
	var s = get_sequence_string();
	if ( s == "" )
	{
		alert( "There are no selected affiliates..." );
		return;
	}
	var dm = "";
	if ( dm != "" || confirm( "Are  you sure that selected affiliate to edit??" ) )
	{
		//location = '/AUTH/mail.cgi?c=d&fm=&rnd=437b7cd117ff5145&m=SU5CT1g@&dm='+dm+'&n='+s+'&sk=&st=&so=0msgno&nc=l&r=0';
		alert(s);
	}
}

function approve_select()
{
	var s = get_sequence_string();
	if ( s == "" )
	{
		alert( "There are no selected affiliates..." );
		return;
	}
	var dm = "";
	if ( dm != "" || confirm( "Are  you sure that selected affiliate to approve??" ) )
	{
		//location = '/AUTH/mail.cgi?c=d&fm=&rnd=437b7cd117ff5145&m=SU5CT1g@&dm='+dm+'&n='+s+'&sk=&st=&so=0msgno&nc=l&r=0';
		alert(s);
	}
}

// Get Checkbox Number String.(delimiter ",")
function get_sequence_string(form_name)
{
	var s = "";
	//var o = document.frmAccount.chkbox;
	var o = eval("document." + form_name + ".chkbox");
	if ( o != null )
	{
		var lenobj = eval(o.length);
		if(lenobj != null)
		{	
			for ( var i = 0 ; i < o.length ; i++ )
			{
				if ( o[i].checked )
					s += (( s.length > 0 ? "," : "" ) + o[i].value );
			}
		}
		else {
			if ( o.checked )
				s += (( s.length > 0 ? "," : "" ) + o.value );
		}
	}
	return s;
}

// Change Table Row Color 
function display_row(cnt, form_name)
{
	var tcolor='#F5FBF2';
	var fcolor='ffffff';
	var val;
	var o;
		
   // var o=document.frmAccount.chkbox;
	o = eval("document." + form_name + ".chkbox");
    if ( o.length != null ){
        clr = ( o[cnt-1].checked == true ) ? tcolor: fcolor; 
	}
	else
	{
		clr = ( o.checked == true ) ? tcolor: fcolor; 
	}
    val = "tr_" + cnt; 	

	eval(val).style.backgroundColor= clr;
}

var __select_mode = 0;

// SELECT/UNSELECT ALL CHECKBOX
function select_message(form_name)
{
	var value;
	var clr;
	var o = document.all['allsel'];

	if ( __select_mode == 0 )
	{
		value = true;
		__select_mode = 1;
		o.innerHTML = "UNSELECT ALL";
		clr = '#F5FBF2';	
	}
	else
	{
		value = false;
		__select_mode = 0;
		o.innerHTML = "SELECT ALL";
		clr = '#FFFFFF';	
	}
	//o = document.frmAccount.chkbox;
	//o = document.frmMember.chkbox;
	o = eval("document." + form_name + ".chkbox");

	if ( o != null )
	{
		if ( o.length != null ) 
		{
			for ( var i = 0 ; i < o.length ; i++ )
			{
				o[i].checked = value;
				display_row(i+1, form_name);
			}
		}
		else 
		{
			o.checked = value;
			display_row(1, form_name);
		}
	} 
}

// Close Window in Time
function startTime(){ 
        var time= new Date(); 
        hours= time.getHours(); 
        mins= time.getMinutes(); 
        secs= time.getSeconds(); 
        closeTime=hours*3600+mins*60+secs; 
        closeTime+=5;  // This number is how long the window stays open 
        Timer(); 
} 

function Timer(){ 
        var time= new Date(); 
        hours= time.getHours(); 
        mins= time.getMinutes(); 
        secs= time.getSeconds(); 
        curTime=hours*3600+mins*60+secs 
        if (curTime>=closeTime){ 
                self.close();} 
        else{ 
                window.setTimeout("Timer()",1000)} 
} 

// Change Cell Color in Table HTML Tag
function mouse_over(src, m_over){ 
  if (!src.contains(event.fromElement)) { 
   src.bgColor = m_over; 
  }
}

function mouse_out(src,m_out) { 
  if (!src.contains(event.toElement)) { 
   src.style.cursor = 'default'; 
   src.bgColor = m_out; 
  }
}

// Confirm Delete Command
function confirmDel(form, idx)
{
	if (confirm("Are you sure this deletion?\n it will be deleted!!!"))
	{
		form.idx.value = idx;
		form.submit();
	} 
	return true;
}

//open new window
function openWnd(url, name, height, width, directories, location, menubar, resizable, scrollbars, status, toolbar) {
	wnd = window.open(url, name, "alwaysRaised=1,height=" + height + ",width=" + width + ",directories=" + directories + ",locaton=" + location + ",menubar=" + menubar + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",status=" + status + ",toolbar=" + toolbar)
	wnd.focus()

}

//check whether text-box is empty
function isEmpty(field, fieldName, msg) {
	if (trim(field.value) == "") {
		if (msg == null)
			msg = "Please enter " + fieldName + "."
		alert(msg)
		field.focus()
		return true
	}
	return false
}

//trim string
function trim(stringToTrim) {
	var i, j

	//left trim
	for(i=0; i<stringToTrim.length; i++) {
		if (stringToTrim.charAt(i) != " ") break
	}

	//right trim
	for(j=stringToTrim.length-1; j>=i; j--) {
		if (stringToTrim.charAt(j) != " ") break
	}

	return stringToTrim.substring(i, j + 1)
}

//validate email address
function notEmail(field, fieldName, msg) {
	var email = trim(field.value)

	if (email == "") return false

	var at = false
	var dot = false

	for (var i=0; i<email.length; i++) {
		if (email.charAt(i) == "@") at = true
		if (email.charAt(i) == "." && at) dot = true
	}

	if (!(at && dot && email.length > 5)) {
		if (msg == null)
			msg = "The " + fieldName + " you entered is not a valid e-mail address."

		alert(msg)
		field.focus()
		field.select()
		return true
	}

	//check for invalid characters
	if (invalidChars(field, "E-mail", '%,;|" <>\\/')) return true

	return false
}

//check whether passed validated control contains any of passes invalid characters (case insensitive)
function invalidChars(validatedControl, validatedName, charString, msg) {
	var validatedString = trim(validatedControl.value).toLowerCase()
	charString = charString.toLowerCase()

	for (var i=0; i<validatedString.length; i++) {
		for (var j=0; j<charString.length; j++) {
			if (validatedString.charAt(i) == charString.charAt(j)) {

				if (typeof (Common_Scripts_FuncLib_Space) == "undefined")
					Common_Scripts_FuncLib_Space = "space"

				var alertString = charString.split("").join("  ")
				alertString = alertString.split("     ").join("  " + Common_Scripts_FuncLib_Space + "  ")

				if (msg == null)
					msg = validatedName + " cannot contain any of the following illegal characters:\n\n " + alertString

				msg = msg.replace(/\[IllegalCharacters\]/, alertString)
				alert(msg)
				validatedControl.focus()
				return true
			}
		}
	}

	return false
}


// when click the input box, input box area cleared.
function clearText(thefield){
	if (thefield.defaultValue==thefield.value)
		thefield.value = ""
} 

// select all textarea's contents
function selectAll(element) {
  var tval = eval("document.selForm." + element)
  tval.focus()
  tval.select()
}

////////////////////////////////////////////// {Hidden Layer} ///////////////////////////////////////
// toggle div area show & hide
function toggleDiv(Id)
{
	div = document.getElementById(Id);
	if(div.style) {
	  if ( div.style.display == 'block' ) {
		HideDiv(Id);
	  }else if ( div.style.display == 'none' ) {
		ShowDiv(Id);
	  }
	} else {
	  if ( div.display == 'block' ) {
		HideDiv(Id);
	  }else if ( div.display == 'none' ) {
		ShowDiv(Id);
	  }
	}
}

function ShowDiv(Id) {
	div = document.getElementById(Id);
	if(div.style) {
	  div.style.display = 'block';
	} else {
	  div.display = 'block';
	}
}

function HideDiv(Id) {
	div = document.getElementById(Id);
	if(div.style) {
	  div.style.display = 'none';
	} else {
	  div.display = 'none';
	}
}
/*
function toggleDiv(element) {
	if (element.style.display == "none")
		{ element.style.display = ""; }
	else 	{ element.style.display = "none";
	}
}

// toggle text box read-only or editable
function toggle_read(){ 
if(document.form1.userName.readOnly==false){ 
document.form1.readControl.value="Change Edit Enable"; 
document.form1.userName.readOnly=true; 
}else{ 
document.form1.readControl.value="Change Read Only"; 
document.form1.userName.readOnly=false; 
} 
} 

// toggle Button Enable/Disable
function toggle_disabled()
{
	if(document.form1.testBtn.disabled==false)
	{ 
		document.form1.disableControl.value="Button Enable"; 
		document.form1.testBtn.disabled=true; 
	} else
	{ 
		document.form1.disableControl.value="Button Disable"; 
		document.form1.testBtn.disabled=false; 
	} 
}

function toggleDiv(element) {
	var tval = eval("document.selForm" + element);
	if (tval.style.visibility == "hidden") {
		tval.style.visibility = "visible"; 
		}
	else 	{
		tval.style.visibility = "none"; 
		}
}

function toggleDiv(name)
{
  var nscp = (navigator.appName == "Netscape") 
    var ismc = (navigator.appVersion.indexOf("Mac") != -1) 
    var vers = parseFloat(navigator.appVersion.substring(22,25)) 

    function getObj(obj) { 
       if (nscp) { 
           compLayr = document.layers[obj] 
       }else{ 
           compLayr = eval("document.all." + obj + ".style") 
       } 
       return compLayr 
    } 

    function showHide(name){ 
       obj = getObj(name) ;
           
       if (obj.visibility=="hidden"){ 
       obj.visibility = "visible" ;
       } else {
       obj.visibility = "hidden" ;
       } 
    } 
}
*/

// Function Name : SelBoxSortByUserRank
// Description : Sorting Select Box, By User Rank(value)
// Paramter : boxIdObj = select box Object(select box), isValuesort = sort by value(default is false, sort by text)
// Return : nothing
function SelBoxSortByUserRank(boxIdObj, arrUserRank) 
{ 
    var obj, sArr, oArr, idx, op;
	var i;
	var nUserRankCount;						// User Rank's Number(Array Length)
	var nSortedTextLength;
	var strSeparatorChar = '-----------------------------';

	nUserRankCount = arrUserRank.length;

    if (typeof boxIdObj == 'string') obj = document.getElementById(boxIdObj); 
    else obj = boxIdObj; 

    if (obj.tagName.toLowerCase() != 'select') return false; 

    sArr = new Array(obj.options.length); 
	oArr = new Array; 

	// Sort By Text Value(Alphabetic)
    for (idx = 0; idx < obj.options.length; idx++) 
    { 
		sArr[idx] = obj.options[idx].text.toUpperCase(); 
        oArr[sArr[idx]] = obj.options[idx];
    } 
	oArr[strSeparatorChar] = new Option(strSeparatorChar, '');
    sArr.sort(); 

	// Sort By User Rank
	var arrNewRank = new Array;
	var IsRank = false;

	for (i = 0; i < nUserRankCount; i++)
	{
		for (j = 0; j < sArr.length; j++)
		{
			if (arrUserRank[i].toUpperCase() == sArr[j])
			{
				arrNewRank.push(sArr[j]);
			}
		}
	}

	arrNewRank.push(strSeparatorChar);

	for (i = 0; i < sArr.length; i++)
	{
		for (j = 0; j < nUserRankCount; j++)
		{
			if (sArr[i] == arrNewRank[j])
			{
				IsRank = true;
				break;
			}
		}

		if (IsRank != true)
		{
			arrNewRank.push(sArr[i]);
		} else
		{
			IsRank = false;
		}
	}

    for (i = 0; i < arrNewRank.length; i++)
	{
		obj.appendChild(oArr[arrNewRank[i]]); 
	}

	obj.options[0].selected = true;
}