var actionToTake = null;
var editId = null;
var editing = false;
var originalValue = null;
var highlighted = 0;
var requestedSitePopupDialog = 0;
var requestedPosterPopupDialog = 0;
var girlNameFilterChars = 0;
var girlNameFilter = '';


function addGirlFilter(id, girlName) {
	currentGirl = id;
	setsPageNumber=0;
	if (setsSortBy==3) setsSortBy=2;	// Change to sort by total views
	fs = document.getElementById('filterDiv');
	mainAreaView = 0;
	showMainArea();
	showSites();
	girlFilter = document.getElementById('girlFilterSpan');
	if (girlFilter==null) girlFilter = document.createElement('span');
	girlFilter.innerHTML=girlName;
	if( girlFilter.attachEvent ) {	// IE
		girlFilter.attachEvent('onclick','removeGirlFilter()');
		girlFilter.attachEvent('id','girlFilterSpan');
		girlFilter.attachEvent('class','linkButton');
		girlFilter.attachEvent('title', 'Click to see all girls');
	} else {
		girlFilter.setAttribute('onclick','removeGirlFilter()');
		girlFilter.setAttribute('id','girlFilterSpan');
		girlFilter.setAttribute('class','linkButton');
		girlFilter.setAttribute('title', 'Click to remove');
	}
	fs.appendChild(girlFilter);
}

function addSiteFilter(id, siteName) {
	currentSite = id;
	setsPageNumber=0;
	girlNameFilter = '';
	showMainArea();
	showGirls();
	siteFilter = document.getElementById('siteFilterSpan');
	if (siteFilter==null) siteFilter = document.createElement('span');
	siteFilter.innerHTML=siteName;
	siteFilter.setAttribute('onclick','removeSiteFilter()');
	siteFilter.setAttribute('id','siteFilterSpan');
	siteFilter.setAttribute('class','linkButton');
	siteFilter.setAttribute('title', 'Click to remove');
	fs = document.getElementById('filterDiv');
	fs.appendChild(siteFilter);
}

function changeGirlFilter() {
	girlNameFilterChars--;
	if (girlNameFilterChars==0) {	// Apply filter
		girlNameFilter = document.getElementById('girlNameFilterFormId').value;
		girlsPageNumber = 0;
		showGirls();
	}
}

function createHttpRequest() {
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}

	return http_request;
}

function changeSetsSorting() {
	var s = document.getElementById('setsSortByFormId');
	setsSortBy=s.value;
	setsPageNumber = 0;
	showSets();
}

function girlNameInputChanged() {
	girlNameFilterChars++;
	var t = setTimeout("changeGirlFilter()", 1000);
}

function hideElementById(id) {
        document.getElementById(id).style.visibility = 'hidden';
	}

function historyChange(newLocation, historyData) {
	//alert(newLocation, historyData);
	setsPageNumber = historyData.setsPageNumber;
	showSets();
};

function processXSLT(where, req, xsl) {
	if (doXsl) {	// 
		var processor = new XSLTProcessor();
		processor.importStylesheet(xsl);
		var fragment = processor.transformToFragment(req.responseXML, document);
		document.getElementById(where).innerHTML='';
		document.getElementById(where).appendChild(fragment);
	} else {
		document.getElementById(where).innerHTML='';
		document.getElementById(where).innerHTML=req.responseText;
	}
}

function removeGirlFilter() {
	var d = document.getElementById('girlFilterSpan');
	currentGirl = 0;
	setsPageNumber = 0;
	d.parentNode.removeChild(d);
	showMainArea();
	showSites();
}

function removeSiteFilter() {
	var d = document.getElementById('siteFilterSpan');
	currentSite = 0;
	setsPageNumber = 0;
	showMainArea();
	showGirls();
	d.parentNode.removeChild(d);
}

function reportImageFailure(id) {
	req = createHttpRequest();
	query = 'readdb.php?task=imageFailure&id='+id;
	req.open('GET', query, true);
	req.send(null);
}

function reportImageWorks(id) {
	req = createHttpRequest();
	query = 'readdb.php?task=imageWorks&id='+id;
	req.open('GET', query, true);
	req.send(null);
}


function restoreSitesLinks() {
	var d = document.getElementById('sitesArea');
	var lnks = d.getElementsByTagName('a');	// get all the links
	for (i=0; i<lnks.length; i++) {
		lnk = lnks[i];
		pos = lnks[i].href.indexOf('siteId=');
		id = lnks[i].href.substring(pos + 7);
		var lnk = lnks[i];
		lnk.onclick=new Function(
			"setsPageNumber=0;" +
			"currentGirl=0;" +
			"currentSite=lnk.href.substring(pos + 7);" +
			"showSets();" +
			"return false;" );
	}
}

function showElementById(id) {
	document.getElementById(id).style.visibility = 'visible';
}

function showGirls() {
	var d = document.getElementById('girlsArea');
	d.className='mainArea_loading';
	var req = createHttpRequest();	
	var query = new String();
	query = 'readdb.php?task=getGirls';
	// Test the XSLT capability
	if (doXsl) query = query + '&xslt=1';
	if (typeof currentSite == 'number') query = query + '&siteId='+currentSite;
	if (typeof currentGirl == 'number') query = query + '&girlId='+currentGirl;
	if (typeof girlsPageNumber == 'number') query = query + '&page=' + girlsPageNumber;
	if (typeof girlsSortBy == 'number') query = query + '&sortBy=' + girlsSortBy;
	if (girlNameFilter!='') query = query + '&girlNameFilter=' + girlNameFilter;
	req.open('GET', query, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			processXSLT('girlsArea', req, girlsXsl);
			d.className='mainArea';
		}
	}
	req.send(null);
}

function showGirlsSets() {
	mainAreaView = 1;
	var d = document.getElementById('setsArea');
	d.className='mainArea_loading';
	var req = createHttpRequest();
	var query = new String();
	query = 'readdb.php?task=getGirlsSets';
	// Test the XSLT capability
	if (doXsl) query = query + '&xslt=1';
	if (typeof currentSite == 'number') query = query + '&siteId='+currentSite;
	if (typeof setsPageNumber == 'number') query = query + '&page=' + girlsSetsPageNumber;
	if (setsSortBy!='') query = query + '&sortBy=' + girlsSortBy;
		else query = query + '&sortBy=setDate';
	req.open('GET', query, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			processXSLT('setsArea', req, girlsSetsXsl);
			d.className='mainArea';
			setId = 0;
		}
	}
	req.send(null);
}

function showMainArea() {
	if (mainAreaView == 0) showSets();
	if (mainAreaView == 1) showGirlsSets();
}

function showSet() {
	var d = document.getElementById('setsArea');
	d.className='mainArea_loading';
	var req = createHttpRequest();
	var query = new String();
	query = 'readdb.php?task=getSet';
	if (doXsl) query = query + '&xslt=1';
	if (typeof setPageNumber == 'number') query = query + '&page=' + setPageNumber;
	if (typeof setId == 'number') query = query + '&setId=' + setId;
	req.open('GET', query, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			processXSLT('setsArea', req, setXsl);
			d.className='mainArea';
		}
	}
	req.send(null);
}

function showSets() {
	mainAreaView = 0;
	var d = document.getElementById('setsArea');
	d.className='mainArea_loading';
	var req = createHttpRequest();
	var query = new String();
	query = 'readdb.php?task=getSets';
	// Test the XSLT capability
	if (doXsl) query = query + '&xslt=1';
	if (typeof currentSite == 'number') query = query + '&siteId='+currentSite;
	if (typeof currentGirl == 'number') query = query + '&girlId='+currentGirl;
	if (typeof setsPageNumber == 'number') query = query + '&page=' + setsPageNumber;
	if (setsSortBy!='') query = query + '&sortBy=' + setsSortBy;
		else query = query + '&sortBy=setDate';
	req.open('GET', query, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			processXSLT('setsArea', req, setsXsl);
			d.className='mainArea';
			setId = 0;
			document.title='Girlspedia';
		}
	}
	req.send(null);

}

function showSites() {
	var d = document.getElementById('sitesArea');
	d.className='mainArea_loading';
	var req = createHttpRequest();	
	var query = new String();
	query = 'readdb.php?task=getSites&girlId='+currentGirl+'&sortBy='+sitesSortBy;
	if (typeof sitesPageNumber == 'number') query = query + '&page=' + sitesPageNumber;
	if (doXsl) query = query + '&xslt=1';
	req.open('GET', query, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			processXSLT('sitesArea', req, sitesXsl);
			d.className='mainArea';
		}
	}
	req.send(null);
}
/*
function submitLogin() {
	var login = document.getElementById('loginForm');
	var pwd = document.getElementById('passwordForm');
	var params = 'login='+login.value+'&password='+pwd.value;
	var req = createHttpRequest();
	req.open('POST', 'readdb.php?task=checkLogin', true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			var objDom = new XMLDoc(req.responseText);
			var domTree = objDom.docNode;
			if (domTree.getElements("sessionid")[0]) {
				//document.getElementById('loginButtonId').innerHTML = 'Done';
				location.href='./';
			} else document.getElementById('loginButtonId').innerHTML = 'Login';
		}
	}
	document.getElementById('loginButtonId').innerHTML = 'Logging in...';
	req.send(params);
}
*/
