/* ----------------------------------------------------------------------
 *
 * Aesthetia Designs                        IMMMI MMMMMM7               
 * Copyright 2007                        7MMMMMMI  MMMMMMMMMM           
 *                                     +MMM   MMI  MMM   $MMMMM        
 *                                    MMM     MMI  MMM      $MMMM       
 * For information, contact          MMMMMMMMMMMI  MMM        DMMM      
 * Tyler Potter                     MM8       MMI  MMM          MMM    
 * Technical Director              MMM        MMI  MMM           MMM    
 * tyler@aesthetia.net            8MM         MMI  MMM            MMO   
 *                                MM          MMI  MMM             MM   
 *                               DMM          MMI  MMM             $MM  
 *                               MM7          MMI  MMM              MM  
 *                               MMM          MMI  MMMMMMMMMMMMMMMMMMM     
 *                                         AESTHETIA DESIGNS
 * ------------File Info-------------------------------------------------
 * Name: base.js
 *
 * Use: Ajax, window, and DOM js functions
 *
 *
 */
 
 function include_dom(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', 'javascript');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', script_filename);
    html_doc.appendChild(js);
    return false;
}



/**
 * Ajax Functions
 */

function createXMLHttpRequest() {

	var ua;

	if(window.XMLHttpRequest) {
		try {
			ua = new XMLHttpRequest();
		} catch(e) {
			ua = false;
		}
	} else if(window.ActiveXObject) {
		try {
			ua = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			ua = false;
		}
	}
	return ua;
}

var	req1 = createXMLHttpRequest();
var	req2 = createXMLHttpRequest();
var req;


function sendRequest(id, responseHandler) {
	
	req.open('get', 'ajaxtextSrv.php');
	req.onreadystatechange = responseHandler;
	req.send(null);
}

function sendCommunityRequest( community_ID, marker) {
	
	req.open('get', '/include/bits/community.php?c=' + community_ID );
	req.onreadystatechange = function() {
		if(req.readyState == 4){
			var response = req.responseText;
	
			marker.openInfoWindowHtml(response);
			
		} else {
			marker.openInfoWindowHtml("Please wait while this community is fetched");
			
		}

	};
	req.send(null);
}

function sendPickerRequest(returnDiv, single, prefix, lastID, type){
	
	if ( single )
		req = req1;
	else
		req = req2;
	req.open('get','/include/bits/photoPicker.php?v=1&type=' + type + '&single=' + single + '&prefix=' + prefix + '&lastID=' + lastID);
	putReturns = returnDiv;
	req.onreadystatechange = photoPickerHandler;
	req.send(null);
}
function sendPickerRequest2(returnDiv, single, prefix, lastID, type, album){
	
	if ( single )
		req = req1;
	else
		req = req2;
	req.open('get','/include/bits/photoPicker.php?v=2&type=' + type + '&single=' + single + '&prefix=' + prefix + '&lastID=' + lastID+ '&album=' + album);
	putReturns = returnDiv;
	req.onreadystatechange = photoPickerHandler;
	req.send(null);
}

function sendPickerRequest3(returnDiv, single, prefix, surpress, type){
	
	if ( single )
		req = req1;
	else
		req = req2;
	req.open('get','/include/bits/photoPicker.php?v=3&type=' + type + '&single=' + single + '&prefix=' + prefix + '&surpress=' + surpress);
	putReturns = returnDiv;
	req.onreadystatechange = photoPickerHandler;
	req.send(null);
}

function sendPickerRequest4(returnDiv, single, prefix, surpress, type, community){
	
	if ( single )
		req = req1;
	else
		req = req2;
	req.open('get','/include/bits/photoPicker.php?v=3&type=' + type + '&single=' + single + '&prefix=' + prefix + '&surpress=' + surpress + '&community_id=' + community);
	putReturns = returnDiv;
	req.onreadystatechange = photoPickerHandler;
	req.send(null);
}

function sendTypePickerRequest(returnDiv){
	
	req = req2 = createXMLHttpRequest();
	
	req.open('get','/include/bits/typePicker.php?typePicker=adminStandard');
	putReturns = returnDiv;
	req.onreadystatechange = typePickerHandler;
	req.send(null);
}

function sendRegionPickerRequest(returnDiv){
	
	req = createXMLHttpRequest();
	
	req.open('get','/include/bits/regionPicker.php?regionPicker=adminStandard');
	putReturns = returnDiv;
	req.onreadystatechange = regionPickerHandler;
	req.send(null);
}

var putReturns;
function photoPickerHandler() {
	if(req.readyState == 4){
		var response = req.responseText;

		var div = document.getElementById(putReturns);
		div.innerHTML = response;
		
	} else {
		var div = document.getElementById(putReturns);
		div.innerHTML = "Please wait, loading Photots...";
		
	}

}
function typePickerHandler() {
	if(req.readyState == 4){
		var response = req.responseText;

		var div = document.getElementById(putReturns);
		div.innerHTML = response;
		
	} else {
		var div = document.getElementById(putReturns);
		div.innerHTML = "Please wait, loading Types";
		
	}

}

function regionPickerHandler() {
	if(req.readyState == 4){
		var response = req.responseText;

		var div = document.getElementById(putReturns);
		div.innerHTML = response;
		
	} else {
		var div = document.getElementById(putReturns);
		div.innerHTML = "Please wait, loading Regions";
		
	}

}


function popUp(URL, width, height) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width='+width+',height='+height+',left = 440,top = 362');");
}
function swapImage( dest, newSRC ) {
	var b = document.getElementById(dest);
	if (!b) return false;
	b.src = newSRC;
	
}

function swapLink( dest, newLink ) {
	var b = document.getElementById(dest);
	if (!b) return false;
	b.href = newLink;
	
}

function printPage() {
	window.print();  
}


function plainGalleryMan( sources, alts, links, pdfLinks, pdfLinkDiv, enlargeLink, imageEnlargeLink, imageID ){
	this.sources = sources;
	this.alts = alts;
	this.links = links;
	this.pdfLinks = pdfLinks;
	this.pdfLinkDiv = pdfLinkDiv;
	this.enlargeLink = enlargeLink;
	this.imageEnlargeLink = imageEnlargeLink;
	this.imageID = imageID;

	
	function swapImage( img ) {
		var a = document.getElementById( this.pdfLinkDiv );
		a.innerHTML = this.getPDFLink( img );

		var b = document.getElementById( this.enlargeLink );
		b.href = this.getEnlargeLink( img );
		var c = document.getElementById( this.imageEnlargeLink );
		c.href = this.getEnlargeLink( img );

		var d = document.getElementById( this.imageID );
		d.src = this.getImageSrc( img );
		d.alt = this.getImageAlt(img);

	}
	
	
	function getPDFLink( img ) {

		if ( !this.pdfLinks[img] || this.pdfLinks[img] == "" ) {
			return "&nbsp;";
		} else {
			return "[<a target='_new' href=\"" + this.pdfLinks[img] + "\">Click to see a larger, printable PDF version</a>]"
		}
		
	}	
	
	function getEnlargeLink( img ) {

		if ( !this.links[img] || this.links[img] == "" ) {
			return "#";
		} else {
			return this.links[img];
		}
		
	}
	
	function getImageSrc( img ) {

		if ( !this.sources[img] || this.sources[img] == "" ) {
			return "";
		} else {
			return this.sources[img];
		}
		
	}	
	function getImageAlt( img ) {

		if ( !this.alts[img] || this.alts[img] == "" ) {
			return "";
		} else {
			return this.alts[img];
		}
		
	}
	
	this.swapImage = swapImage;
	this.getPDFLink = getPDFLink;
	this.getEnlargeLink = getEnlargeLink;
	this.getImageSrc = getImageSrc;
	
	
	
}