function loadEffectList ( page )
{
	var rndNum = Math.round( Math.random() * 1000000 + 1 );
	var str = location.href;
	var host = str.split("/");

	var url = 'http://' + host[2] + '/load_effect_list.cgi?page=create&page=' + page + '&rand=' + rndNum;
	show_element( 'effect-table');
	show_element( 'waiter_effect_list');
	setTimeout( 'document.getElementById("waiter_effect_list_img").src = "http://loonapix.com/img/design/loading.gif"', 500);
	makeXMLHTTPRequest( url );
}

function loadEffect ( effectid, window_width, window_height, effect_element_id ) {

	hide_error( 'save_error_1' );

	FrameWidth = window_width;
	FrameHeight = window_height;

	DoReset();
	var EffectIdObj = document.getElementById('effectidp');
	EffectIdObj.value = effectid;

	for( i=0; i<100; i++ ) {
		var EffectObj =  document.getElementById( 'list_' + i );
		if( ! EffectObj ) break;
		EffectObj.className = '';
	}
	var EffectObj = document.getElementById( effect_element_id );
	EffectObj.className = "effect-selected";
}

function makeXMLHTTPRequest( url ) 
{
    XMLHTTPREQ = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
	try {
    	    XMLHTTPREQ = new XMLHttpRequest();
	} catch(e) {
	    XMLHTTPREQ = false;
	}
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
        try {
	    XMLHTTPREQ = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
    	    try {
    		XMLHTTPREQ = new ActiveXObject("Microsoft.XMLHTTP");
    	    } catch(e) {
		XMLHTTPREQ = false;
	    }
	}
    }
    if(XMLHTTPREQ){
	XMLHTTPREQ.onreadystatechange = processReqChange;
	XMLHTTPREQ.open("GET", url, true);
	XMLHTTPREQ.send("");
    }
	
}

function processReqChange() 
{
    // only if XMLHTTPREQ shows "loaded"
    if (XMLHTTPREQ.readyState == 4) {
        // only if "OK"
        if (XMLHTTPREQ.status == 200) {
			parseXmlData( XMLHTTPREQ.responseXML );
        } else {
			alert("There was a problem retrieving the XML data:\n" +
			XMLHTTPREQ.statusText);
        }
    }
}

function parseXmlData( xml )
{
	var root = xml.firstChild;

	var imgs = root.getElementsByTagName( 'image' );
	// load effects list
	if( imgs.length ) {
		for( var i=0; i<9; i++ ) {
			var list_html = document.getElementById( 'list_' + i );
			if( list_html ){ list_html.src = '/img/design/blank.gif'; list_html.name = ''; }
		}

	
		for( var i=0; i<imgs.length; i++ ) {
			var img = imgs[i].firstChild.nodeValue;
			var list_html = document.getElementById( 'list_' + i );
			if( list_html ) {
				list_html.src = img;
				list_html.name = imgs[i].getAttribute('id');
			}
		}

		var pager_html = document.getElementById('effect-pager');
		pager_html.innerHTML = '';	
		if( root.getElementsByTagName( 'page' ).length ) {
			var page = root.getElementsByTagName( 'page' )[0];
			var page_current = page.getAttribute('current');
			var page_total = page.getAttribute('total');
			if( page_total == 1 ){ page_total = 0; }

			for( var i=1; i<=page_total; i++ ) {
				if( i!= page_current ) {
					pager_html.innerHTML = pager_html.innerHTML + "<a href=\"#\" onClick=\"loadEffectList('" + i + "'); return false;\">" + i + "</a>&nbsp;&nbsp;";
				} else {
					pager_html.innerHTML = pager_html.innerHTML + i + '&nbsp;&nbsp;';
				}
			}
		}
		pause(1500);
		show_element( 'effect-table'); show_element( 'waiter_effect_list');
	}
}
