/***************************************************************************
 *                            Dolphin Web Community Software
 *                              -------------------
 *     begin                : Mon Mar 23 2006
 *     copyright            : (C) 2007 BoonEx Group
 *     website              : http://www.boonex.com
 *
 *
 *
 ****************************************************************************/

/***************************************************************************
 *
 *   This is a free software; you can modify it under the terms of BoonEx
 *   Product License Agreement published on BoonEx site at http://www.boonex.com/downloads/license.pdf
 *   You may not however distribute it for free or/and a fee.
 *   This notice may not be removed from the source code. You may not also remove any other visible
 *   reference and links to BoonEx Group as provided in source code.
 *
 ***************************************************************************/

/**
 * Checks/unchecks all tables
 *
 * @param   string   the form name
 * @param   boolean  whether to check or to uncheck the element
 *
 * @return  boolean  always true
 */
function setCheckboxes(the_form, do_check)
{
	var elts  = document.forms[the_form].getElementsByTagName('input');
    var elts_cnt  = elts.length;

    for ( i = 0; i < elts_cnt; i++)
    {
        elts[i].checked = do_check;
		if ( elts[i].type == "submit" )
			elts[i].disabled = !do_check;
    }
}

function UpdateSubmit(the_form) {
	var elts  = document.forms[the_form].getElementsByTagName('input');
	var elts_cnt  = elts.length;
	var bChecked = false;

	for ( i = 0; i < elts_cnt; i++) {
		if (elts[i].type == "checkbox" && elts[i].checked == true) {
			bChecked = true;
		}
		if ( elts[i].type == "submit" ) {
			elts[i].disabled = true;
		}
	}
	for ( i = 0; i < elts_cnt; i++) {
		if ( elts[i].type == "submit" ) {
			if (bChecked == true) {
				elts[i].disabled = false;
			} else {
				elts[i].disabled = true;
			}
		}
	}
}

function setCheckbox(the_form)
{
    var elts      = document.forms[the_form].getElementsByTagName('input');
    var elts_cnt  = elts.length;

    var allUnchecked = true;

    for (var i = 0; i < elts_cnt; i++)
        if(elts[i].checked)
			allUnchecked = false;

    for (var i = 0; i < elts_cnt; i++)
        if( elts[i].type == "submit" )
			elts[i].disabled = allUnchecked;
}


var win = 'width=500,height=600,left=100,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=yes';

function get_gallery( id_prof ) {
   window.open('photos_gallery.php?ID='+id_prof,'gallery',win);
}

function launchTellFriend() {
	var sBaseUrl = document.getElementsByTagName('base')[0].href;
	
    var win = 'width=300,height=300,left=200,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no';
    return !window.open(sBaseUrl + 'tellfriend.php', 'tellfriend', win);
}

function launchTellFriendProfile( sID ) {
	var sBaseUrl = document.getElementsByTagName('base')[0].href;
	
    var win = "width=300,height=300,left=200,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no";
    return !window.open(sBaseUrl + 'tellfriend.php?ID='+sID,'tellfriendprofile',win);
}

function BxShowBlock( id )
{

	var el;
	el = document.getElementById( id );

	if( el.style.display == 'none' )
	{
		el.style.display = 'block'
	}
	else
	{
		el.style.display = 'none'
	}

	return false;
}

function ShowShowHide ( show_name, show_name2, hide_name )
{
    if (hide_name) hide_name.style.display = 'none';
    if (show_name) show_name.style.display = 'inline';
    if (show_name2) show_name2.style.display = 'inline';
}

function ShowHideHide ( show_name, hide_name, hide_name2 )
{
    if (hide_name) hide_name.style.display = 'none';
    if (hide_name2) hide_name2.style.display = 'none';
    if (show_name) show_name.style.display = 'inline';
}

function charCounter(field,maxLength,countTarget)
{

	field = document.getElementById(field);
	countTarget = document.getElementById(countTarget);
	var inputLength=field.value.length;

	if(inputLength >= maxLength)
	{
		field.value=field.value.substring(0,maxLength);

	}
	countTarget.innerHTML=maxLength-field.value.length;


}



/**
 * change images onHover mouse action
 */
function show(FileName,jpg1Name)
{
	document.images[FileName].src = jpg1Name;
}

/**
 * set status of the browser window to 's'
 */
function ss(s)
{
	window.status = s;
	return true;
}

/**
 * set status of the browser window to empty
 */
function ce()
{
	window.status='';
}


/**
 * insert emotion item
 */
function emoticon( txtarea, text ) {

	text = ' ' + text + ' ';
	if (txtarea.createTextRange && txtarea.caretPos) {
		var caretPos = txtarea.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		txtarea.focus();
	} else {
		txtarea.value  += text;
		txtarea.focus();
	}
}

function launchAddToIM (id)
{
    var win = "width=600,height=160,left=100,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=yes";
    window.open("explanation.php?explain=imadd&ID="+id,'add_to_im',win);
    return false;
}

function docOpen(text)
{
	newWindow=window.open('','','toolbar=no,resizable=yes,scrollbars=yes,width=400,height=300');
	newWindow.document.open("text/html");
	newWindow.document.write(unescape(text));
	newWindow.document.close();
}

function get_data( container, url, siteUrl )
{
	if ( container )
	{
		var container = document.getElementById( container );
		container.innerHTML = "loading ... ";
	}

	var XMLHttpRequestObject = createXmlHttpObj();

	if( !XMLHttpRequestObject )
		return false;

	var data_source = siteUrl + 'xml/menu.php' + url + '&_t=' + Math.random();
	XMLHttpRequestObject.open( "GET", data_source );
	XMLHttpRequestObject.onreadystatechange = function()
	{
		if ( XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200 )
		{
			var xmlDocument = XMLHttpRequestObject.responseXML;
			delete XMLHttpRequestObject;
			XMLHttpRequestObject = null;
			
			names = xmlDocument.getElementsByTagName("name");
			links = xmlDocument.getElementsByTagName("link");
			
			list_sublinks(names, links);
		}
	}
	XMLHttpRequestObject.send( null );

	//container.innerHTML = '';

	function list_sublinks(names, links)
	{
		var loopIndex, name, link, maxIndex = names.length;

		container.innerHTML = '';
		for ( loopIndex = 0; loopIndex < maxIndex; loopIndex++ )
		{
			//if ( values[loopIndex].firstChild.nodeName=="name")
			name = names[loopIndex].firstChild.nodeValue;
			
			//if ( values[loopIndex].childNodes[1].nodeName=="link")
			link = links[loopIndex].firstChild.nodeValue;
			
			container.innerHTML += '<div class="innerSubmenuDiv"><a href="' + link + '">' + name + '</a></div>';
		}
	}
}


function createNamedElement( type, name )
{

    var element;

    try
    {
        element = document.createElement('<'+type+' name="'+name+'">');
    } catch (e) { }

    if (!element || !element.name) // Cool, this is not IE !!
    {
        element = document.createElement(type)
        element.name = name;
    }

    return element;
}

function display_node(node, siteUrl)
{

    var nn = document.getElementById( node );

	var sub_name = node.split('_')[1];
    if ( 'none' == nn.style.display )
    {
	nn.style.display='block';
	if ( '' == nn.innerHTML )
	    get_data( node, '?action=menu&ID=' + sub_name, siteUrl);
    }
    else
    {
		nn.style.display='none';
    }

}

function stripSlashes(str)
{
	return str.replace(/\\/g, '');
}

function createXmlHttpObj()
{
	if ( window.XMLHttpRequest )
		return new XMLHttpRequest();
	else if ( window.ActiveXObject )
		return new ActiveXObject("Microsoft.XMLHTTP");
	else
	{
		alert( 'Please upgrade your browser' );
		return false;
	}
}

function getHtmlData( elemID, url )
{
	var elem = document.getElementById( elemID );
	
	if( !elem || !url )
		return false;
	
	var url = url + '&r=' + Math.random();
	
	
	var oXMLHttpReq = createXmlHttpObj();
	
	if( !oXMLHttpReq )
		return false;
	
	elem.innerHTML = '<div class="loading"><img src="'+urlIconLoading+'"></div>';
	
	oXMLHttpReq.open( "GET", url );
	oXMLHttpReq.onreadystatechange = function()
	{
		if ( oXMLHttpReq.readyState == 4 && oXMLHttpReq.status == 200 )
		{
			sNewText = oXMLHttpReq.responseText;
			elem.innerHTML = sNewText;
			
			// parse javascripts and run them
			aScrMatches = sNewText.match(/<script[^>]*javascript[^>]*>([^<]*)<\/script>/ig);
			if( aScrMatches )
			{
				for( ind = 0; ind < aScrMatches.length; ind ++ )
				{
					sScr = aScrMatches[ind];
					iOffset = sScr.match(/<script[^>]*javascript[^>]*>/i)[0].length;
					sScript = sScr.substring( iOffset, sScr.length - 9 );
					
					eval( sScript );
				}
			}
		}
	}
	oXMLHttpReq.send( null );
}


/* 
	Show the Floating Description for any element.
	
	usage:
	<element
		onmouseover="showFloatDesc( 'your html description here...' );"
		onmousemove="moveFloatDesc( event );"
		onmouseout="hideFloatDesc();">
	
	Your document must contain in the root of body following content:
		<div id="FloatDesc" style="position:absolute;display:none;"></div>
	and specific stylesheet for it.
*/
function showFloatDesc( text )
{
	descDiv = document.getElementById( 'FloatDesc' );
	if ( descDiv )
	{
		descDiv.innerHTML = text;
		descDiv.style.display = 'block';
	}
}

function hideFloatDesc()
{
	descDiv = document.getElementById( 'FloatDesc' );
	if ( descDiv )
		descDiv.style.display = 'none';
}

function moveFloatDesc( ev )
{
	descDiv = document.getElementById( 'FloatDesc' );
	if ( descDiv )
	{
		showPos = getPositionData( descDiv, ev );
		descDiv.style.left = showPos['posX'] + 'px';
		descDiv.style.top = showPos['posY'] + 'px';
	}
}

/*
	Core of the Floating Description
*/
function getPositionData(obj, showEvent)
{
	if ( !showEvent )
		showEvent = window.event;
	
	var pos_X = 0, pos_Y = 0;
	if ( showEvent )
	{
		if ( typeof(showEvent.pageX) == 'number' )
		{
			pos_X = showEvent.pageX;
			pos_Y = showEvent.pageY;
		}
		else if ( typeof(showEvent.clientX) == 'number' )
		{
			pos_X = showEvent.clientX; pos_Y = showEvent.clientY;
			if ( document.body && 
				( document.body.scrollTop || document.body.scrollLeft ) && 
				!( window.opera || window.debug || navigator.vendor == 'KDE' ) )
			{
				pos_X += document.body.scrollLeft;
				pos_Y += document.body.scrollTop;
			}
			else if ( document.documentElement &&
				( document.documentElement.scrollTop ||
				document.documentElement.scrollLeft ) &&
				!( window.opera || window.debug || navigator.vendor == 'KDE' ) )
			{
				pos_X += document.documentElement.scrollLeft;
				pos_Y += document.documentElement.scrollTop;
			}
		}
	}
	
	var scroll_X = 0, scroll_Y = 0;
	if ( document.body &&
		( document.body.scrollTop || document.body.scrollLeft ) &&
		!( window.debug || navigator.vendor == 'KDE' ) )
	{
		scroll_X = document.body.scrollLeft;
		scroll_Y = document.body.scrollTop;
	}
	else if ( document.documentElement &&
		( document.documentElement.scrollTop ||
		document.documentElement.scrollLeft ) &&
		!( window.debug || navigator.vendor == 'KDE' ) )
	{
		scroll_X = document.documentElement.scrollLeft;
		scroll_Y = document.documentElement.scrollTop;
	}
	
	var win_size_X = 0, win_size_Y = 0;
	if (window.innerWidth && window.innerHeight)
	{
		win_size_X = window.innerWidth;
		win_size_Y = window.innerHeight;
	}
	else if ( document.documentElement &&
		document.documentElement.clientWidth &&
		document.documentElement.clientHeight )
	{
		win_size_X = document.documentElement.clientWidth;
		win_size_Y = document.documentElement.clientHeight;
	}
	else if (document.body && document.body.clientWidth && document.body.clientHeight)
	{
		win_size_X = document.body.clientWidth;
		win_size_Y = document.body.clientHeight;
	}
	
	pos_X += 15;
	pos_Y += 20;
	
	if (obj.offsetWidth && obj.offsetHeight)
	{
		if (pos_X - scroll_X + obj.offsetWidth + 5 > win_size_X)
			pos_X -= (obj.offsetWidth + 25);
		if (pos_Y - scroll_Y + obj.offsetHeight + 5 > win_size_Y)
			pos_Y -= (obj.offsetHeight + 20);
	}
	
	var res = new Array;
	res['posX'] = pos_X;
	res['posY'] = pos_Y;
	res['scrollX'] = scroll_X;
	res['scrollY'] = scroll_Y;
	res['winSizeX'] = win_size_X;
	res['winSizeY'] = win_size_Y;
	
	return res;
}

function addBookmark( title, url )
{
	if (title == undefined)
		title = document.title;

	if (url == undefined)
		url = top.location.href;
		
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, '');
	else if(window.opera && window.print) // opera
	{
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all) // ie
		window.external.AddFavorite(url, title);
	else if (navigator.appName=="Netscape") //Netscape
		alert( 'To bookmark this site press "Ctrl+D".' );
	else
		alert( 'Your browser doesn\'t support this feature' );
}

function AddFilesFields(sDeleteCapt) {

	if ($("#browse_file_div").children( '[class="file_field"]' ).length >= 5) {
		alert('5 files maximum');
		return;
	}

	var el = $('<div style="margin-top:10px;" class="file_field"><input name="userfile[]" type="file" style="" />&nbsp;&nbsp;&nbsp;<a href="#">' + sDeleteCapt + '</a></div>');
	$("#browse_file_div").append(el);

	el.children('a').click( function(){
	  $(this).parent().remove();
	  return false;
	} );
}

function changeBigPicTo(newBigImageName, newBigImageHref) {
	var el;
	el = document.getElementById('AdvBigImg');
	el.style.backgroundImage = 'url(' + newBigImageName + ')';
	el = document.getElementById('AdvBigImgFullSize');
	el.href = newBigImageHref;
}

function moveScrollRightAuto( el_id, b ) {
	if (b)
		scrollTimerId = setInterval ("moveScrollRight('"+el_id+"')", 100);
	else
		clearInterval (scrollTimerId);
}

function moveScrollLeftAuto( el_id, b ) {
	if (b)
		scrollTimerId = setInterval ("moveScrollLeft('"+el_id+"')", 100);
	else
		clearInterval (scrollTimerId);
}

function moveScrollRight( el_id ) {
	var step = 5;
	var e = document.getElementById( el_id );
	var left  = e.style.left ? parseInt( e.style.left ) : 0;

	minLeft = e.parentNode.clientWidth - parseInt( e.clientWidth );

	if ( (left-step) > minLeft ) {
		e.style.left = left - step + "px";
	}
	else {
		e.style.left = minLeft + "px";
		moveScrollRightAuto ( el_id, false);
	}
}

function moveScrollLeft( el_id ) {
	var step = 5;
	var e = document.getElementById( el_id );
	var left = parseInt(e.style.left ? e.style.left : 0);

	if (left + step < 0 ) {
		e.style.left = left + step + "px";
	}
	else {
		e.style.left = "0px";
		moveScrollLeftAuto (false);
	}
}

function addEvent( obj, evt, func )
{
	if( !obj || !evt || !func )
		return false;
	
	if( obj.addEventListener )
		obj.addEventListener( evt, func, false );
	else if( obj.attachEvent )
		obj.attachEvent( 'on' + evt, func );
}

function checkAll( formName, _pref, doCheck ) {
	_form = document.forms[formName];
	
	if( !_form )
		return false;
	
	for( ind = 0; ind < _form.length; ind ++ ) {
		_elem = _form[ind];

		if( _elem.type != 'checkbox' )
			continue;

		if( _elem.name.substr( 0, _pref.length ) != _pref )
			continue;

		_elem.checked = doCheck;
	}
}

function emailCheck( str )
{

 if (str.search( /^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/i ) == -1 )
 	return false;
 else
 	return true;
}

function getBoonexId( formFrom, formTo )
{
	if( !formFrom || !formTo )
		return false;
	
	var ID = formFrom.ID;
	var Password = formFrom.Password;
	
	if( !ID || !Password )
		return false;
	
	var oXMLHttpReq = createXmlHttpObj();
	
	if( !oXMLHttpReq )
		return false;
	
	if( !ID.value.length )
	{
		alert( 'Please enter BoonEx ID' );
		ID.focus();
		return false;
	}

	if( !Password.value.length )
	{
		alert( 'Please enter Password' );
		Password.focus();
		return false;
	}
	
	formFrom.Submit.disabled = true;
	formFrom.Submit.value = 'Wait...';
	
	var sUrl = 'get_boonex_id.php?ID=' + encodeURIComponent(ID.value) + '&Password=' + encodeURIComponent(Password.value) + '&r=' + Math.random();
	
	oXMLHttpReq.open( "GET", sUrl );
	oXMLHttpReq.onreadystatechange = function()
	{
		if ( oXMLHttpReq.readyState == 4 && oXMLHttpReq.status == 200 )
		{
			var oXML = oXMLHttpReq.responseXML;
			
			if( !oXML.getElementsByTagName( 'ID' ).length )
			{
				alert( 'Authorization failed. Try again.' );
				return false;
			}
			
			var aFields = new Array();
			aFields['Username'] = 'NickName[0]';
			aFields['Email']    = 'Email[0]';
			aFields['Password'] = 'Password[0],Password_confirm[0]';
			aFields['Realname'] = 'Realname[0]';
			aFields['DateOfBirth'] = 'DateOfBirth[0]';
			aFields['Sex']      = 'Sex[0]';
			aFields['Country']  = 'Country[0]';
			aFields['City']     = 'City[0]';
			aFields['ZIP']      = 'zip[0]';
			aFields['Headline'] = 'Headline[0]';
			aFields['DescriptionMe'] = 'DescriptionMe[0]';
			aFields['tags']     = 'Tags';
			
			for( var fieldFrom in aFields )
			{
				if( !oXML.getElementsByTagName( fieldFrom ).length )
					continue;
				
				var eFieldFrom = oXML.getElementsByTagName( fieldFrom )[0];
				var sValue = eFieldFrom.firstChild.data;
				
				if( fieldFrom == 'DateOfBirth' ) { //convert date
					var aDate = sValue.split( '-' );
					sValue = parseInt( aDate[2], 10 ) + '/' + parseInt( aDate[1], 10 ) + '/' + parseInt( aDate[0], 10 );
				}
				
				var aFieldsTo = aFields[fieldFrom].split( ',' );
				
				for( var i in aFieldsTo )
				{
					fieldTo = aFieldsTo[i];
					if( formTo[fieldTo] )
					{
						eFieldTo = formTo[fieldTo];
						
						switch( eFieldTo.type )
						{
							case 'text':
							case 'textarea':
							case 'password':
							case 'select-one':
								eFieldTo.value = sValue;
								break;
							default:
								if( typeof eFieldTo == 'object' ) //radio
									for( n = 0; n < eFieldTo.length; n++ )
										if( eFieldTo[n].value == sValue )
											eFieldTo[n].checked = true;
						}
					}
				}
			}
		}
	}
	oXMLHttpReq.send( null );

	formFrom.Submit.disabled = false;
	formFrom.Submit.value = 'Import';
}

function loadDynamicBlock( iBlockID, sUrl ) {
	if( $ == undefined )
		return false;
	
	var $block = $( '#page_block_' + iBlockID );
	
	$( '.boxContent', $block ).html(
		'<div style="text-align: center;"><img src="' + urlIconLoading + '" alt="Loading..." /></div>'
	);
	
	$block.load( sUrl + '&pageBlock=' + iBlockID );
	return true;
}

function showItemEditForm( element_id )
{
	var editFormWrap = document.getElementById( element_id );
	
	editFormWrap.style.width   = document.body.clientWidth + 30 + "px";
	editFormWrap.style.height  = (window.innerHeight ? (window.innerHeight + 30) : screen.height) + "px";
	editFormWrap.style.left    = getHorizScroll1() - 30 + "px";
	editFormWrap.style.top     = getVertScroll1() - 30 + "px";
	editFormWrap.style.display = 'block';
}

function getHorizScroll1()
{
	if (navigator.appName == "Microsoft Internet Explorer")
		return document.documentElement.scrollLeft;
	else
		return window.pageXOffset;
}

function getVertScroll1()
{
	if (navigator.appName == "Microsoft Internet Explorer")
		return document.documentElement.scrollTop;
	else
		return window.pageYOffset;
}

	function GSLgetSelected(selectBox) {
		//alert("inside getSelection(); selectBox.name: " + selectBox.name);
		var valueSel = "";
			for (var i=0; i<selectBox.options.length; i++) {
				//alert("option[" + i + "]: " + selectBox.options[i].value);
				if (selectBox.options[i].selected == true) {				
						valueSel = selectBox.options[i].value;
						break;
				}
			}
		return(valueSel);
	}

	function getSelectedMulti(selectBox) {
		//alert("inside getSelection(); selectBox.name: " + selectBox.name);

		var valueSel = "";
		var lastval = selectBox.value;
		
		if (lastval=='0')
		{
			for (var i=1; i<selectBox.options.length; i++) 
			{
				selectBox.options[i].selected = false;
			}
			selectBox.options[0].selected = true;
			valueSel = '0';
		}
		else
		{
			for (var i=0; i<selectBox.options.length; i++) {
				//alert("option[" + i + "]: " + selectBox.options[i].value);
				if (selectBox.options[i].selected == true) {				
					if (valueSel=="")
						valueSel = selectBox.options[i].value;
					else
						valueSel = valueSel+";"+selectBox.options[i].value;
				}
			}
		}
		return(valueSel);
	}
	
	function deselectSelectBox(selectBoxId) {
		//alert("inside clearSelectBox(); selectBoxId: " + selectBoxId.name);
			for (var i=1; i<selectBoxId.options.length; i++) 
			{
				selectBoxId.options[i].selected = false;
			}
	}

	function clearSelectBox(selectBoxId) {
		//alert("inside clearSelectBox(); selectBoxId: " + selectBoxId.name);
		selectBoxId.options.length = 0;	
	}

	function FieldOnChange(fieldvalue, nextfield, nextfieldarray, nextfieldaddAll, nextfieldaddNone, nextfieldaddDash, nextfieldaddOther, nextfieldaddBlank) {
		addField2ItemsForField1(fieldvalue, nextfield, nextfieldarray, nextfieldaddAll, nextfieldaddNone, nextfieldaddDash, nextfieldaddOther, nextfieldaddBlank);
		makeSelection(nextfield, "");
		if(nextfield.onchange)
			nextfield.onchange();
	}

	function FieldChange(fieldvalue, nextfield, nextfieldarray, nextfieldaddAll, nextfieldaddNone) {
		addField2ItemsForField1(fieldvalue, nextfield, nextfieldarray, nextfieldaddAll, nextfieldaddNone);
	}

	function makeSelection(selectBox, value) {
		//alert("inside makeSelection(); selectBox.name: " + selectBox.name + "; value to use: " + value);
		var valueDtl = value.split(';');			
		var found = false;
		var valueSel = "";

		if (selectBox.options.length > 0)
		{
			selectBox.options[0].selected = false;
			if (selectBox.multiple == false)
			{
					for (var i=0; i<selectBox.options.length; i++) {
						if (valueDtl[0] == selectBox.options[i].value) {				
							selectBox.options[i].selected = true;
							valueSel = valueDtl[0];
							found = true;
							break;
						}
					}
			}
			else
			{
				for (var j=0; j<valueDtl.length; j++) {
					for (var i=0; i<selectBox.options.length; i++) {
						//alert("option[" + i + "]: " + selectBox.options[i].value);
						if (valueDtl[j] == selectBox.options[i].value) {				
							selectBox.options[i].selected = true;
							if (valueSel=="")
								valueSel = valueDtl[j];
							else
								valueSel = valueSel+";"+valueDtl[j];
							found = true;
							break;
						}
					}
				}
			}
		}
		
		if (found==false && selectBox.options.length > 0)
		{
			selectBox.options[0].selected = true;
			valueSel = selectBox.options[0].value;
		}

		return(valueSel);
	}
		
	function addAllOpt(selectBox, idx) {
		//alert("addAllOption()");
		selectBox.options[idx] = new Option("ALL", "0");
	}

	function addBlankOpt(selectBox, idx) {
		//alert("addAllOption()");
		selectBox.options[idx] = new Option("", "");
	}

	function addNoneOpt(selectBox, idx) {
		//alert("addAllOption()");
		selectBox.options[idx] = new Option("NONE", "0");
	}

	function addDashOpt(selectBox, idx) {
		//alert("addAllOption()");
		selectBox.options[idx] = new Option("---", "0");
	}

	function addOtherOpt(selectBox, idx) {
		//alert("addAllOption()");
		selectBox.options[idx] = new Option("-- Other --", "--Other--");
	}

	function addField2ItemsForField1(field1value, field2selectBox, field2array, addAll, addNone, addDash, addOther, addBlank) {
		//alert("inside addField2ItemsForField1");
		clearSelectBox(field2selectBox);
		//alert("inside addField2ItemsForField1-A");
		var startIdx = 0;
		if (addAll == "true") {
			addAllOpt(field2selectBox,startIdx);
			startIdx++;
		}

		if (addBlank == "true") {
			addBlankOpt(field2selectBox,startIdx);
			startIdx++;
		}

		if (addNone == "true") {
			addNoneOpt(field2selectBox,startIdx);
			startIdx++;
		}

		if (addDash == "true") {
			addDashOpt(field2selectBox,startIdx);
			startIdx++;
		}

		var valueDtl = field1value.split(';');			
		var found = false;
		
		for (var j=0; j<valueDtl.length; j++) {
			var field2arrayVAR = getFieldArray(field2array, valueDtl[j]);		
			//alert (field2array.toString());
			//alert("inside addField2ItemsForField1-B");
			for (var i=0; i < field2arrayVAR.length; i++)
			{
				var strRgn = field2arrayVAR[i];
				var rgnDtl = strRgn.split('|');						
				//alert("1: "+rgnDtl[1]+" - 0: "+rgnDtl[0]);			
				found=false;
				for (var k=0; k<field2selectBox.options.length; k++) {
					//alert("option[" + i + "]: " + selectBox.options[i].value);
					if (rgnDtl[0] == field2selectBox.options[k].value) {				
						found = true;
						break;
					}
				}
				//alert("strRgn: " + strRgn + "; rgnDtl: " + rgnDtl);
				
				if (found==false) {
					field2selectBox.options[startIdx] = new Option(rgnDtl[1], rgnDtl[0]);
					startIdx++;
				}
			}
		}
		if (addOther == "true") {
			addOtherOpt(field2selectBox,startIdx);
			startIdx++;
		}
		if (startIdx > 0)
		{
			field2selectBox.options[0].selected = true;
			return field2selectBox.options[0].value;
		}
	}	
	
	function getFieldArray(field2array, field1value) {
		//alert("inside getFieldArray");
		for (var i=0; i<field2array.length; i++) {
			var field2Id=field2array[i][0];
			//alert("field2Id :" + field2Id);
			if (field2Id == field1value) {
				//alert("field2array[" + i + "][0]: " + field2array[i][0]);
				//alert("field2array[" + i + "][1]: " + field2array[i][1]);				
				return field2array[i][1];
			}
		}
		//if worldwide, no match will be found, so commented out for this method.
		//alert("No match found!!!");
		return new Array();// to prevent null
	}
	
function toggleLayer( whichLayer ){
	  var elem, vis;
	  if( document.getElementById ) 
	  // this is the way the standards work    
	  	elem = document.getElementById( whichLayer );  
	  else if( document.all ) // this is the way old msie versions work    
	    elem = document.all[whichLayer];  
	  else if( document.layers ) // this is the way nn4 works   
	    elem = document.layers[whichLayer];  vis = elem.style; 
	  // if the style.display value is blank we try to figure it out here 
	  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)  
	    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';  
	  tempimg = (vis.display==''||vis.display=='block')?'/spn/templates/tmpl_uni/images/icons/icon_show.gif':'/spn/templates/tmpl_uni/images/icons/icon_hide.gif';
	  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
	  document['icon_show_hide'].src=tempimg;
	}
	
function toggleLayerImage( whichLayer,imgname,imgshow,imghide ){
	  var elem, vis;
	  if( document.getElementById ) 
	  // this is the way the standards work    
	  	elem = document.getElementById( whichLayer );  
	  else if( document.all ) // this is the way old msie versions work    
	    elem = document.all[whichLayer];  
	  else if( document.layers ) // this is the way nn4 works   
	    elem = document.layers[whichLayer];  vis = elem.style; 
	  // if the style.display value is blank we try to figure it out here 
	  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)  
	    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';  
	  tempimg = (vis.display==''||vis.display=='block')?imgshow:imghide;
	  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
	  document[imgname].src=tempimg;
	}
	
function toggleLayerNoImage( whichLayer ){
	  var elem, vis;
	  if( document.getElementById ) 
	  // this is the way the standards work    
	  	elem = document.getElementById( whichLayer );  
	  else if( document.all ) // this is the way old msie versions work    
	    elem = document.all[whichLayer];  
	  else if( document.layers ) // this is the way nn4 works   
	    elem = document.layers[whichLayer];  vis = elem.style; 
	  // if the style.display value is blank we try to figure it out here 
	  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)  
	    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';  
	  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
	}
	
					
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}


function ajaxFunction(loaderphp, ID, PAction, Params, FieldIdFireOnChange)
{	
	//link to the PHP file your getting the data from	
	//var loaderphp = "register.php";	
	//i have link to this file	
	//we don't need to change anymore of this script	
	var xmlHttp;	
	//alert(loaderphp+"?action="+PAction+"&"+Params);
	try    
	{		
		// Firefox, Opera 8.0+, Safari		
		xmlHttp=new XMLHttpRequest();    
	}
	catch(e)
	{		
		// Internet Explorer		
		try		
		{			
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");		
		}
		catch(e)
		{			
			try			
			{				
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");			
			}
			catch(e)
			{				
				alert("Your browser does not support AJAX!");				
				return false;			
			}	
		}	
	}    
	xmlHttp.onreadystatechange=function()	
	{		
		if(xmlHttp.readyState==4)        
		{			
			//alert(xmlHttp.responseText);
			document.getElementById(ID).innerHTML = xmlHttp.responseText;
			if (FieldIdFireOnChange != "")
			{
				field = document.getElementById( FieldIdFireOnChange );
				if ( field )
				{
					if (field.onchange) 
					{
						field.onchange();
					}
				}
			}
		}	
	}   
	xmlHttp.open("GET", loaderphp+"?action="+PAction+"&"+Params,true);    
	xmlHttp.send(null);
}



function ajaxFunction1(loaderphp, ID, PAction, Param, PValue)
{	
	//alert(loaderphp+"?action="+PAction+"&"+Param+"="+PValue);
	var sUrl = loaderphp+"?action="+PAction+"&"+Param+"="+PValue;
				
	$.post( sUrl,
		function(sResponse) {
			//alert(sResponse);
			document.getElementById(ID).innerHTML = sResponse;
		}
	);
}

function othershowhide(val,id)
{
	if(val == "--Other--")
	{
		document.getElementById(id).style.display = "block";
	}
	else
	{
		document.getElementById(id).style.display = "none";
	}
}

function districtOther(val,SchoolNameField)
{
	if(val == "--Other--")
	{
		document.getElementById(SchoolNameField).options[1].selected = true;
		document.getElementById('DivSchoolOther').style.display = "block";
	}
}


