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

	//var url = 'http://' + host[2] + '/load_frame_category.fcgi?page=create&catid=' + catid + '&rand=' + rndNum;
	var url = 'http://www.melhorafoto.com/load_frame_category.xml';
	show_element( 'frame-table');
	show_element( 'waiter_frame_list');
	setTimeout( 'document.getElementById("waiter_frame_list_img").src = "http://www.retocafoto.com/img/design/loading.gif"', 500);
	makeXMLHTTPRequest( url );
}

function loadFrame ( frameid ) {

	hide_error( 'save_error_1' );
	var rndNum = Math.round( Math.random() * 1000000 + 1 );
	var str = location.href;
	var host = str.split("/");
	var arr = frameid.split("cat_"); var url;
	if(arr[1]) {
		//url = 'http://' + host[2] + '/load_frame_category.fcgi?page=create&catid=' + arr[1] + '&rand=' + rndNum;
		url = 'http://www.melhorafoto.com/load_frame_category.php?page=create&catid=' + arr[1] + '&rand=' + rndNum;
		show_element( 'frame-table');
		show_element( 'waiter_frame_list');
	} else {
		//url = 'http://' + host[2] + '/load_frame.fcgi?page=create&frameid=' + arr[0] + '&rand=' + rndNum;
		url = 'http://www.melhorafoto.com/load_frame.php?page=create&frameid=' + arr[0] + '&rand=' + rndNum;
                document.getElementById("frameid").value = arr[0];
		show_element( 'work-sheet');
		show_element( 'waiter_frame');
		setTimeout( 'document.getElementById("waiter_frame_img").src = "http://www.retocafoto.com/img/design/loading.gif"', 500 );
		DoReset();
	}
	makeXMLHTTPRequest( url );
}

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 frame = root.getElementsByTagName( 'frame' );
	// load frame to work sheet
	if( frame && frame.length ) {
		var frame_html = document.getElementById( 'frame' );
		if( frame_html ) {
			var newimg = new Image();
			newimg.onload = function() { show_element( 'work-sheet'); show_element( 'waiter_frame'); }
			newimg.src = frame[0].firstChild.nodeValue;
			var need_ie_filter = root.getElementsByTagName( 'need_ie_filter' );
			if( need_ie_filter.length ) {
				frame_html.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + frame[0].firstChild.nodeValue + "');";
				frame_html.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").enabled = true;
			} else {
				frame_html.src = frame[0].firstChild.nodeValue;
			}
			var frameid_html = document.getElementById( 'frameidp' );
			frameid_html.value = frame[0].getAttribute('id');
		}

	}

	var imgs = root.getElementsByTagName( 'image' );
	// load categories contents
	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;
				if( img.match(/\/cat\//) ) {
					list_html.name = 'cat_' + imgs[i].getAttribute('id');
				} else {
					list_html.name = imgs[i].getAttribute('id');
				}
			}
		}

		var navbar_html = document.getElementById('frame-tree');
		if( navbar_html ) {
			navbar_html.innerHTML = '';
			var navbar =  root.getElementsByTagName( 'navbar' );
			if( navbar.length ) {
				navbar_html.innerHTML = '<a href="#" class=\"tree-prev\" onClick="loadFrameCategory(0); return false;">NEW</a>';
				var parent_category = root.getElementsByTagName( 'navbar_parent_category' );
				if( parent_category.length ) {
					navbar_html.innerHTML = navbar_html.innerHTML + " :: <a href='#' class=\"tree-prev\" onClick=\"loadFrameCategory('" + parent_category[0].getAttribute('id') + ":0'); return false;\">" + parent_category[0].getAttribute('name') + "</a>";
				}
				var category = root.getElementsByTagName( 'navbar_category' );
				if( category.length ) {
					navbar_html.innerHTML = navbar_html.innerHTML + " :: <a href='#' class=\"tree-current\" onClick=\"loadFrameCategory('" + category[0].getAttribute('id') + ":0'); return false;\">" + category[0].getAttribute('name') + "</a>";
				}
			}
		}
	
		var pager_html = document.getElementById('frame-pager');
		pager_html.innerHTML = '';	
		if( root.getElementsByTagName( 'page' ).length ) {
			var page = root.getElementsByTagName( 'page' )[0];
			var page_current = parseInt( page.getAttribute('current') );
			var page_total = parseInt( page.getAttribute('total') ); 
			if( page_total == 1 ){ page_total = 0; }

			var category = root.getElementsByTagName( 'category' )[0];
			var category_id = category.getAttribute('id');

			var page_in_paging = 11;
			var page_in_paging_mid = 6;
			var page_total_tmp = page_total;
			if( page_total < page_in_paging ) {
				for( var i=1; i<=page_total; i++ ) {
					if( i!= page_current ) {
						pager_html.innerHTML = pager_html.innerHTML + "<a href=\"#\" onClick=\"loadFrameCategory('" + category_id + ":" + i + "'); return false;\">" + i + "</a>&nbsp;&nbsp;";
					} else {
						pager_html.innerHTML = pager_html.innerHTML + i + '&nbsp;&nbsp;';
					}
				}
			} else {
				var i = 1;
				if( page_current > page_in_paging_mid + 1 ) {
					if( page_current + page_in_paging_mid >= page_total ){
						i = page_total - page_in_paging;
					} else {
						i = page_current - page_in_paging_mid;
					}
					if( i <= 0 ) {
						i = 1; page_total = page_in_paging;
					}
					if( page_current + page_in_paging_mid < page_total ){
						page_total = page_current + page_in_paging_mid;
					}
				} else {
					page_total = page_in_paging;
				}
				if( page_current == 1 ) {			

				} else {
					pager_html.innerHTML = pager_html.innerHTML + "<a href=\"#\" style=\"text-decoration:none;\" onClick=\"loadFrameCategory('" + category_id + ":" + (page_current - 1)+ "'); return false;\">&larr;</a>&nbsp;&nbsp;";
				}
				if( page_total - page_in_paging > 0 ) {
					pager_html.innerHTML = pager_html.innerHTML + "<a href=\"#\" onClick=\"loadFrameCategory('" + category_id + ":1'); return false;\">1</a>&nbsp;...&nbsp;";
				}
				while( i <= page_total ) {
					if( i == page_current ) {
						pager_html.innerHTML = pager_html.innerHTML + i + '&nbsp;&nbsp;';
					} else {
						pager_html.innerHTML = pager_html.innerHTML + "<a href=\"#\" onClick=\"loadFrameCategory('" + category_id + ":" + i + "'); return false;\">" + i + "</a>&nbsp;&nbsp;";
					}
					i = i + 1;
				}
				if( i - 1 < page_total_tmp ) {
					pager_html.innerHTML = pager_html.innerHTML + "...&nbsp;<a href=\"#\" onClick=\"loadFrameCategory('" + category_id + ":" + page_total_tmp + "'); return false;\">" + page_total_tmp + "</a>";
				}
				if( page_current == page_total ) {
					
				} else {
					pager_html.innerHTML = pager_html.innerHTML + "&nbsp;<a href=\"#\" style=\"text-decoration:none;\" onClick=\"loadFrameCategory('" + category_id + ":" + (page_current + 1) + "'); return false;\">&rarr;</a>&nbsp;&nbsp;";
				}
			}
		}
		pause(1500);
		show_element( 'frame-table'); show_element( 'waiter_frame_list');
	}
}

