var LC_xmlhttp = LC_init();
var LC_docid = "";
var progressbar = '<div align="center" style="background-color: #FFFFFF;">\n'+
								 	'<p><br></p><p><br></p><p><br></p>\n'+
								 	'<img src="images/spinner.gif" align="absmiddle">&nbsp;&nbsp;<b>loading...</b>\n'+
								 	'<p><br></p><p><br></p><p><br></p>\n'+
								 	'</div>';
								 	
var progressbarRow = '<div align="center">\n'+
										 '<img src="images/spinner.gif" align="absmiddle">&nbsp;&nbsp;<b>loading...</b>\n'+
										 '</div>';
function LC_init()
{
	//-----------------------------------------------------------
	//	will store the reference to the XMLHttpRequest object
	//-----------------------------------------------------------
  var xmlHttp;

  //-----------------------------------------------------------
  //	this should work for all browsers except IE6 and older
  //-----------------------------------------------------------
  try
  {
  	//---------------------------------------------------------
    //	try to create XMLHttpRequest object
    //---------------------------------------------------------
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
  	//---------------------------------------------------------
    //	assume IE6 or older
    //---------------------------------------------------------
    var XmlHttpIE = new Array( "MSXML2.XMLHTTP.6.0",
                               "MSXML2.XMLHTTP.5.0",
                               "MSXML2.XMLHTTP.4.0",
                               "MSXML2.XMLHTTP.3.0",
                               "MSXML2.XMLHTTP",
                               "Microsoft.XMLHTTP"
		);

    //---------------------------------------------------------
    //	try every prog id until one works
    //---------------------------------------------------------
    for ( var i=0; i<XmlHttpIE.length && !xmlHttp; i++ )
    {
      try
      {
      	//-----------------------------------------------------
        //	try to create XMLHttpRequest object
        //-----------------------------------------------------
        xmlHttp = new ActiveXObject( XmlHttpIE[i] );
      }
      catch (e) { }
    }
  }

  //-----------------------------------------------------------
  //	return the created object or display an error message
  //-----------------------------------------------------------
  if ( !xmlHttp )
  	alert( "Error creating the XMLHttpRequest object." );
  else
  	return xmlHttp;
}

/*
 * load progress bar while ajax refresh
 * put progress bar images into html
 *
 * @param       string   docid    div layer that need to refresh
 */
function LC_progressbar( docid, type )
{
	LC_docid = docid;

  if(type == "ROW")
  	progressbar = progressbarRow;

	if( document.getElementById( docid ))
		document.getElementById( docid ).innerHTML = progressbar;
	else if( parent && !parent.closed)
		parent.document.getElementById( docid ).innerHTML = progressbar;
}


function LC_inprogress()
{
	if( LC_xmlhttp )
	{
		switch( LC_xmlhttp.readyState )
		{
			case 1: case 2: case 3:
				return true;
			break;

			default:
				return false;
		}
	}
}

function LC_get( dsn, docid )
{
	if( LC_xmlhttp )
	{
		try
		{
			if( !LC_inprogress() )
			{

				LC_docid = docid;
				LC_xmlhttp.open( "GET", dsn, true );
				LC_xmlhttp.onreadystatechange = LC_refresh;
				LC_xmlhttp.send( null );
			}
			else {
				//--------------------
				//	try again later
				//--------------------
				setTimeout( "LC_get( '" + dsn + "','" + docid + "' );", 1000 );
			}
		}
		catch(e) {
			alert( e.toString() );
		}
	}
}

function LC_refresh()
{
	if( LC_xmlhttp )
	{
		var documentID = "";
			documentID = document.getElementById( LC_docid );

		if( !documentID && parent && !parent.closed )
			documentID = parent.document.getElementById( LC_docid );

		if( !documentID )
			return; // exit if undefined|null|empty

		if( LC_xmlhttp.readyState == 4 && LC_xmlhttp.status == 200 )
		{
			documentID.innerHTML = LC_xmlhttp.responseText;
		}
	}
}

function LC_Logout( encParam )
{
	if( LC_xmlhttp )
	{
		try
		{
			if( LC_xmlhttp.readyState == 4 || LC_xmlhttp.readyState == 0 )
			{
				LC_xmlhttp.open( "GET", encParam, true );
				LC_xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
				LC_xmlhttp.onreadystatechange = handle_Logout;
				LC_xmlhttp.send( null );
			}
			else
			{
				setTimeout( "LC_Logout('" + encParam + "');", 1000 );
			}
		}
		catch(e)
		{
			alert(e.toString());
		}
	}
}

	/*
	 * make server request using GET
	 */
	function LC_getGuestbook( dsn, docid )
	{
		if( LC_xmlhttp )
		{
			try
			{
				if( !LC_inprogress() )
				{
	
					LC_docid = docid;
					LC_xmlhttp.open( "GET", dsn, true );
					LC_xmlhttp.onreadystatechange = LC_refreshGuestbook;
					LC_xmlhttp.send( null );
				}
				else {
					//--------------------
					//	try again later
					//--------------------
					setTimeout( "LC_getGuestbook( '" + dsn + "','" + docid + "' );", 500 );
				}
			}
			catch(e) {
				alert( e.toString() );
			}
		}
	}
	
	/*
	 * make server request using GET
	 */
	function LC_getComment( dsn, docid )
	{
		if( LC_xmlhttp )
		{
			try
			{
				if( !LC_inprogress() )
				{
	
					LC_docid = docid;
					LC_xmlhttp.open( "GET", dsn, true );
					LC_xmlhttp.onreadystatechange = LC_refreshComment;
					LC_xmlhttp.send( null );
				}
				else {
					//--------------------
					//	try again later
					//--------------------
					setTimeout( "LC_getComment( '" + dsn + "','" + docid + "' );", 500 );
				}
			}
			catch(e) {
				alert( e.toString() );
			}
		}
	}
	
	/*
	 * response handle for the XMLHttpRequest for login Process
	 */
	function LC_refreshGuestbook()
	{
		if( LC_xmlhttp )
		{
			var documentID = "";
			documentID = document.getElementById( LC_docid );
	
			if( !documentID && parent && !parent.closed )
				documentID = parent.document.getElementById( LC_docid );
	
			if( !documentID )
				return; // exit if undefined|null|empty
	
			if( LC_xmlhttp.readyState == 4 && LC_xmlhttp.status == 200 )
			{
				loginstatus_arr = LC_xmlhttp.responseText.split(":")
	
				documentID.innerHTML = loginstatus_arr[0];
				if(loginstatus_arr[1] == 10)
				{
					document.getElementById('fullname').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('fullname');
				}
				else if(loginstatus_arr[1] == 11)
				{
					document.getElementById('relationship').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('relationship');
				}
				else if(loginstatus_arr[1] == 9)
				{
					document.getElementById('captcha').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('captcha');
				}
				else if(loginstatus_arr[1] == 12)
				{
					document.getElementById('message').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('message');
				}
				else if(loginstatus_arr[1] == 0)
				{
					document.getElementById('fullname').value = "";
					document.getElementById('email').value = "";
					document.getElementById('relationship').value = "";
					document.getElementById('captcha').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('fullname');
				}
				else if(loginstatus_arr[1] == 1)
				{
					document.getElementById('fullname').disabled = true;
					document.getElementById('email').disabled = true;
					document.getElementById('relationship').disabled = true;
					document.getElementById('captcha').disabled = true;
					location.href=loginstatus_arr[2];
				}
	
			}
	
		}
	}
	
	/*
	 * response handle for the XMLHttpRequest for login Process
	 */
	function LC_refreshComment()
	{
		if( LC_xmlhttp )
		{
			var documentID = "";
			documentID = document.getElementById( LC_docid );
	
			if( !documentID && parent && !parent.closed )
				documentID = parent.document.getElementById( LC_docid );
	
			if( !documentID )
				return; // exit if undefined|null|empty
	
			if( LC_xmlhttp.readyState == 4 && LC_xmlhttp.status == 200 )
			{
				loginstatus_arr = LC_xmlhttp.responseText.split(":")
	
				documentID.innerHTML = loginstatus_arr[0];
				if(loginstatus_arr[1] == 10)
				{
					document.getElementById('fullname').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('fullname');
				}
				else if(loginstatus_arr[1] == 9)
				{
					document.getElementById('captcha').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('captcha');
				}
				else if(loginstatus_arr[1] == 12)
				{
					document.getElementById('message').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('message');
				}
				else if(loginstatus_arr[1] == 0)
				{
					document.getElementById('fullname').value = "";
					document.getElementById('email').value = "";
					document.getElementById('captcha').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('fullname');
				}
				else if(loginstatus_arr[1] == 1)
				{
					document.getElementById('fullname').disabled = true;
					document.getElementById('email').disabled = true;
					document.getElementById('captcha').disabled = true;
					location.href=loginstatus_arr[2];
				}
	
			}
	
		}
	}
	
	/*
	 * make server request using GET
	 */
	function LC_getFeedback( dsn, docid )
	{
		if( LC_xmlhttp )
		{
			try
			{
				if( !LC_inprogress() )
				{
	
					LC_docid = docid;
					LC_xmlhttp.open( "GET", dsn, true );
					LC_xmlhttp.onreadystatechange = LC_refreshFeedback;
					LC_xmlhttp.send( null );
				}
				else {
					//--------------------
					//	try again later
					//--------------------
					setTimeout( "LC_getFeedback( '" + dsn + "','" + docid + "' );", 500 );
				}
			}
			catch(e) {
				alert( e.toString() );
			}
		}
	}
	
	/*
	 * response handle for the XMLHttpRequest for login Process
	 */
	function LC_refreshFeedback()
	{
		if( LC_xmlhttp )
		{
			var documentID = "";
			documentID = document.getElementById( LC_docid );
	
			if( !documentID && parent && !parent.closed )
				documentID = parent.document.getElementById( LC_docid );
	
			if( !documentID )
				return; // exit if undefined|null|empty
	
			if( LC_xmlhttp.readyState == 4 && LC_xmlhttp.status == 200 )
			{
				loginstatus_arr = LC_xmlhttp.responseText.split(":")
	
				documentID.innerHTML = loginstatus_arr[0];
				if(loginstatus_arr[1] == 10)
				{
					document.getElementById('fullname').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('fullname');
				}
				else if(loginstatus_arr[1] == 11)
				{
					document.getElementById('email').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('email');
				}
				else if(loginstatus_arr[1] == 9)
				{
					document.getElementById('captcha').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('captcha');
				}
				else if(loginstatus_arr[1] == 12)
				{
					document.getElementById('message').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('message');
				}
				else if(loginstatus_arr[1] == 0)
				{
					document.getElementById('fullname').value = "";
					document.getElementById('email').value = "";
					document.getElementById('contact_no').value = "";
					document.getElementById('captcha').value = "";
					document.getElementById('submit').className = "button";
					document.getElementById('submit').disabled = false;
					setFocus('fullname');
				}
				else if(loginstatus_arr[1] == 1)
				{
					document.getElementById('fullname').disabled = true;
					document.getElementById('email').disabled = true;
					document.getElementById('contact_no').disabled = true;
					document.getElementById('captcha').disabled = true;
					setTimeout('location.href=loginstatus_arr[2]', 2000);
				}
	
			}
	
		}
	}
	
	

	/*
	 * make server request using GET
	 */
	function LC_getLogin( dsn, docid )
	{
		if( LC_xmlhttp )
		{
			try
			{
				if( !LC_inprogress() )
				{
	
					LC_docid = docid;
					LC_xmlhttp.open( "GET", dsn, true );
					LC_xmlhttp.onreadystatechange = LC_refreshLogin;
					LC_xmlhttp.send( null );
				}
				else {
					//--------------------
					//	try again later
					//--------------------
					setTimeout( "LC_getLogin( '" + dsn + "','" + docid + "' );", 500 );
				}
			}
			catch(e) {
				alert( e.toString() );
			}
		}
	}
	
	/*
	 * response handle for the XMLHttpRequest for login Process
	 */
	function LC_refreshLogin()
	{
		if( LC_xmlhttp )
		{
			var documentID = "";
			documentID = document.getElementById( LC_docid );
	
			if( !documentID && parent && !parent.closed )
				documentID = parent.document.getElementById( LC_docid );
	
			if( !documentID )
				return; // exit if undefined|null|empty
	
			if( LC_xmlhttp.readyState == 4 && LC_xmlhttp.status == 200 )
			{
				loginstatus_arr = LC_xmlhttp.responseText.split(":")
	
				documentID.innerHTML = loginstatus_arr[0];
				if(loginstatus_arr[1] == 10)
				{
					document.getElementById('username').value = "";
					document.getElementById('password').value = "";
					document.getElementById('sign_in').className = "button";
					document.getElementById('sign_in').disabled = false;
					setFocus('username');
				}
				else if(loginstatus_arr[1] == 11)
				{
					document.getElementById('password').value = "";
					document.getElementById('sign_in').className = "button";
					document.getElementById('sign_in').disabled = false;
					setFocus('password');
				}
				else if(loginstatus_arr[1] == 0)
				{
					document.getElementById('username').value = "";
					document.getElementById('password').value = "";
					document.getElementById('sign_in').className = "button";
					document.getElementById('sign_in').disabled = false;
					setFocus('username');
				}
				else if(loginstatus_arr[1] == 1)
				{
					document.getElementById('username').disabled = true;
					document.getElementById('password').disabled = true;
					location.href=loginstatus_arr[2];
				}
	
			}
	
		}
	}

function handle_Logout()
{
	if( LC_xmlhttp.readyState == 4 )
	{
		if ( LC_xmlhttp.status == 200 )
		{
			try
			{
				var response = "";

				//----------------
				//	Got Error ?
				//----------------

				response = LC_xmlhttp.responseText;
				if(( response.indexOf( "ERRNO" ) >= 0 ) || ( response.indexOf( "error:" ) >= 0 ) || ( response.length == 0 ))
					throw( response.length == 0 ? "Void Server Response" : response );

				//----------------
				//	logout
				//----------------
				location.href = "index.php";
			}
			catch(e)
			{
				alert(e.toString());
			}
		}
		else
		{
			alert( LC_xmlhttp.statusText );
		}
	}
}

function LC_delete( el, cur_p, index_row, redirectpage_action )
{
		if( !confirm( "Are you sure you want to delete this entry?" ))
		{
			return; // exit
		}

		//	delete row
		document.getElementById( cur_p ).deleteRow(index_row)

		//	call ajax's GET to delete	items
		LC_get( el, "" );

		var page_link = document.getElementsByName('page_link')[0].value;
		//	refresh list
		LC_get( page_link+"&no_header=1&no_footer=1", "content_id" );

}

function load_system(page,loadtype)
{
	LC_progressbar( "content_id" );
	if(loadtype == "logout")
		LC_Logout( page );
	else
	{
		//LC_get( "proc.php?page=load_submenu&no_header=1&no_footer=1&loadtype="+loadtype, "dolphinnavsub" );
		LC_get( page+"&no_header=1&no_footer=1", "content_id" );
	}

	return true;
}

function load_sub_system(page)
{
	LC_progressbar( "content_id" );

	LC_get( page+"&no_header=1&no_footer=1", "content_id" );


	return true;
}

function logout_system(page)
{
	LC_progressbar( "content_id" );
	LC_Logout( page );
	return true;
}

function LC_infoupdates( dsn )
{
	if( LC_xmlhttp )
	{
		try
		{
			if( !LC_inprogress() )
			{
				LC_xmlhttp.open( "GET", dsn, true );
				LC_xmlhttp.onreadystatechange=function()
				{
					if( LC_xmlhttp.readyState == 4 && LC_xmlhttp.status == 200 )
					{
						totalnum_arr = LC_xmlhttp.responseText.split(":")
						document.getElementById( 'total_pending_orders' ).innerHTML = totalnum_arr[0];
						document.getElementById( 'total_products' ).innerHTML = totalnum_arr[1];
						document.getElementById( 'total_members' ).innerHTML = totalnum_arr[2];
						document.getElementById( 'total_new_messages' ).innerHTML = totalnum_arr[3];
					}
				}
				LC_xmlhttp.send( null );
			}
			else {
				//--------------------
				//	try again later
				//--------------------
				setTimeout( "LC_infoupdates('leftpane.proc.php');", 1000 );
			}
		}
		catch(e) {
			alert( e.toString() );
		}
	}
}

function LC_sort( sort_id, sort_seq, pagelimit, docid )
{

	var page_link = document.getElementsByName('page_link')[0].value;
	LC_progressbar( docid );
	LC_get( page_link+"&no_header=1&no_footer=1&issort=1&pagelimit="+pagelimit+"&sort_id="+sort_id+"&sort_seq="+sort_seq, docid );
}

function LC_limit( pagelimit, docid )
{
	var page_link = document.getElementsByName('page_link')[0].value;
	LC_progressbar( docid );
	LC_get( page_link+"&no_header=1&no_footer=1&pagelimit="+pagelimit, docid );
}

function LC_paging( fp, lp, page_no, paging_list, issort, sort_id, sort_seq, pagelimit, docid )
{
	var page_link = document.getElementsByName('page_link')[0].value;
	LC_progressbar( docid );
	LC_get( page_link+"&no_header=1&no_footer=1&fp="+fp+"&lp="+lp+"&page_no="+page_no+"&paging_list="+paging_list+"&issort="+issort+"&sort_id="+sort_id+"&sort_seq="+sort_seq+"&pagelimit="+pagelimit, docid );
}

function LC_owner( owner, docid )
{
	var page_link = document.getElementsByName('page_link')[0].value;
	LC_progressbar( docid );
	LC_get( page_link+"&no_header=1&no_footer=1&owner="+owner, docid );
}


function LC_delete_event( el, cur_p, index_row, redirectpage_action )
{
		if( !confirm( "Are you sure you want to delete this entry?\n\nNote that deleting this event will also delete\nphotos and results which are related to this." ))
		{
			return; // exit
		}

		//	delete row
		document.getElementById( cur_p ).deleteRow(index_row)

		//	call ajax's GET to delete	items
		LC_get( el, "" );
		
		var page_link = document.getElementsByName('page_link')[0].value;

		//	refresh list
		LC_get( page_link+"&no_header=1&no_footer=1", "content_id" );

}

function LC_delete_attachment( el, cur_p, index_row, redirectpage_action, pid )
{
		if( !confirm( "Are you sure you want to delete this entry?" ))
		{
			return; // exit
		}

		//	delete row
		document.getElementById( cur_p ).deleteRow(index_row)

		//	call ajax's GET to delete	items
		LC_get( el, "" );

		//	refresh list
		LC_get( "proc.php?page="+cur_p+"&action="+redirectpage_action+"&id="+pid+"&no_header=1&no_footer=1", "container" );
}
