//  updated 10/21/2011
//  site.js
//
clib_initCookies();
//	clibdb_register('site');

function siteType() {
	this.members = 'name,pageTitle,pageSubtitle,title_w,fAdult,rgMenu,nrgMenu,rgSpecialMenu,nrgSpecialMenu,imageLoc,urlSmallDragon,urlSmallDragonFire,urlHome,defaultMirror,defaultMirror_w,defaultMirror_h,iId';
	this.name = 'ManyWorks';
	this.pageTitle = null;
	this.pageSubtitle = null;
	this.title_w = 200;
	this.fAdult = site_checkAdultContent();
	this.rgMenu = new Array();
	this.nrgMenu = 0;
	this.rgSpecialMenu = new Array();
	this.nrgSpecialMenu = 0;
	this.imageLoc = clib_unhideUrl(clib_homePrefix + 'images~|~');
	this.urlSmallDragon = clib_normalizeUrl('~|~images~|~dragonhorn_small~g~');
	this.urlSmallDragonFire = clib_normalizeUrl('~|~images~|~dragonhornfire_small~g~');
	this.urlHome = (clib_fLocal ? clib_normalizeUrl('~|~index~h~') : 'http://manyworks.com/');
	this.defaultMirror = clib_normalizeUrl('~|~mirrors~|~mirror_black~g~');
	this.defaultMirror_w = 35;
	this.defaultMirror_h = 50;
	this.iId = 0;
	}
var site = new siteType();

// images
clib_preLoadImages(site.urlSmallDragon,site.urlSmallDragonFire,site.defaultMirror);

function site_definePage(title,subtitle,fPageTitle) {
	if (fPageTitle == null) fPageTitle = false;
	pageTitle = "ManyWorks" + (fPageTitle ? " - " + title : "");
	if (clib_isString(title)) site.pageTitle = title;
	else site.pageTitle = site.name;
	if (clib_isString(subtitle)) site.pageSubtitle = subtitle;
	clib_writeln('<title>' + pageTitle + '</title>');
	}

function site_init () {
	if (typeof silksite_init != "undefined") silksite_init();
	}

function site_menuType(title,mirror,img,img_hl,w,h,fMirror,hRefAction,hRefTarget,clickAction,mouseOverAction,description,fHomeDisplay,fTrailer) {
	this.members = 'title,mirror,img,img_hl,w,h,fMirror,hRefAction,hRefTarget,clickAction,mouseOverAction,description,fHomeDisplay,fTrailer,id';
	this.title = title;
	this.mirror = mirror;
	this.img = img;
	this.img_hl = img_hl;
	this.w = w;
	this.h = h;
	this.fMirror = fMirror;
	this.hRefAction = hRefAction;
	this.hRefTarget = hRefTarget;
	this.clickAction = clickAction;
	this.mouseOverAction = mouseOverAction;
	this.fHomeDisplay = fHomeDisplay;
	this.fTrailer = fTrailer;
	this.description = description;
	this.id = site_newId();
	}

function site_writeHeader(_mirrors) {
	var rgMirror = new Array();
	var nrgMirror = 0;
	var title = site.pageTitle;
	var subtitle = site.pageSubtitle;
	var args = site_writeHeader.arguments;
	var nargs = args.length;
	var iargstart = 0;
	var d1 = site.urlSmallDragon;
	var d2 = site.urlSmallDragonFire;

	html = '<table class=header_mainTable width="100%" border=0><tr>\n';
	html += '<td valign=middle align=center width=' + site.title_w + '><div id=div_header_title class=header_title>';
	html += '<h1>' + site.pageTitle + '</h1><h2>' + (site.pageSubtitle == null ? ' ' : site.pageSubtitle) + '</h2></div></td>';

	for (var i = 0; i < site.nrgSpecialMenu; i++) rgMirror[nrgMirror++] = site.rgSpecialMenu[i];
	for (var i = 0; i < nargs; i++) if (args[i] != null) rgMirror[nrgMirror++] = args[i];
	if (nrgMirror > 0) {
		html += '<td align=right valign=bottom><table border=0 cellspacing=0 cellpadding=0><tr><td valign=bottom>';
		html += '<div class=header_mirrors><table style="border-style:none;" border=0 cellspacing=0 cellpadding=0><tr>';
		var wTd = Math.floor(100/(nrgMirror));
		for (var i = 0; i < nrgMirror; i++) {
			var mirror = rgMirror[i];
			html +=  '<td align="center" valign="bottom" width=' + wTd + '%>\n';
			if (mirror.fMirror) html += site_mirrorHtml(mirror.mirror,mirror.id,site.defaultMirror_w,site.defaultMirror_h,mirror.hRefAction,mirror.description,mirror.title);
			else html += site_nonMirrorHtml(mirror.img,mirror.img_hl,mirror.id,mirror.w,mirror.h,mirror.hRefAction,mirror.description,mirror.title);
			html += '</td>';
			}
		html += '</tr></table></div></td></tr></table></td>';
		}
	html += '<td align=right valign=bottom><table border=0 cellspacing=0 cellpadding=0><tr><td valign=bottom>';
	html += '<div class=header_sitename><p>manyworks.com</div>';
	html += '<div class=header_mirrors><table border=0 cellspacing=0 cellpadding=0><tr>';
	nrgMirror = 0;
	for (var i = 0; i < site.nrgMenu; i++) if (site.rgMenu[i].fHomeDisplay) rgMirror[nrgMirror++] = site.rgMenu[i];
	var wTd = Math.floor(100/(nrgMirror));
	for (var i = 0; i < nrgMirror; i++) {
		var mirror = rgMirror[i];
		html +=  '<td align="center" valign="bottom" width=' + wTd + '%>\n';
		html += site_mirrorHtml(mirror.mirror,mirror.id,site.defaultMirror_w,site.defaultMirror_h,mirror.hRefAction,mirror.description,mirror.title);
		html += '</td>';
		}
	html += '</tr></table></div></td>';
	html +=  '<td width=20>&nbsp;</td>';
	html +=  '<td align=center valign="bottom">';
	html +=  '<div class=header_dragon><a href="' + site.urlHome + '" target="_parent" ';
	html += 'onmouseover="clib_swapImage(' + "'hdr_dragon','" + d2 + "'" + ')" ';
	html += 'onmouseout="clib_swapImage(' + "'hdr_dragon','" + d1 + "'" + ')">';
    html +=  '<img border="0" id="hdr_dragon" name="hdr_dragon" src="' + d1 + '" title="Go to Welcome page" width="95" height="72">';
    html += '<p>Welcome</p>\n</a></div></td>';
	html += '</tr></table></td></tr></table>';
	if (typeof silksite_initDivs != "undefined") html += silksite_initDivs();
	clib_writeln(html);
	clib_initDivs(); 
	}

function site_mirrorHtml(mirror,mirror_id,w,h,hRefAction,alt,title,target) {
	if (target == null) target = '_top';
	if (mirror_id == null) mirror_id = clib_newObjectId('mirror');
	var url = clib_normalizeUrl('~|~mirrors~|~mirror_' + mirror + '~g~');
	var html = '';
	html += '<a href="' + hRefAction + '" ';
	html += 'onmouseover="clib_swapImage(' + "'" + mirror_id + "','" + url + "'" + ');" ';
	html += 'onmouseout="clib_swapImage(' + "'" + mirror_id + "','" + site.defaultMirror + "'" + ');"';
	html += 'target="' + target + '">\n';
	html += '<img border=0 id=' + mirror_id + ' ';
	html += 'src="' + site.defaultMirror + '" width=' + w + ' height=' + h + ' ';
	if (alt != null) html += 'title="' + alt + '"';
	html += '>';
	if (title != null) html += '<p>' + title;
	html += '</a>';
	return html;
	}

function site_nonMirrorHtml(img,img_hl,mirror_id,w,h,hRefAction,alt,title,target) {
	if (target == null) target = '_top';
	if (mirror_id == null) mirror_id = clib_newObjectId('mirror');
	img = clib_normalizeUrl(img);
	img_hl = clib_normalizeUrl(img_hl);
	var html = '';
	html += '<a href="' + hRefAction + '" ';
	html += 'onmouseover="clib_swapImage(' + "'" + mirror_id + "','" + img_hl + "'" + ');" ';
	html += 'onmouseout="clib_swapImage(' + "'" + mirror_id + "','" + img + "'" + ');"';
	html += 'target="' + target + '">\n';
	html += '<img border=0 id=' + mirror_id + ' ';
	html += 'src="' + img + '" width=' + w + ' height=' + h + ' ';
	if (alt != null) html += 'title="' + alt + '"';
	html += '>';
	if (title != null) html += '<p>' + title;
	html += '</a>';
	return html;
	}

function site_changeHeader(title,subtitle) {
	if (title != null) site.pageTitle = title;
	if (subtitle != null) site.pageSubtitle = subtitle;
	html = '<h1>' + site.pageTitle + '</h1><h2>' + (site.pageSubtitle == null ? ' ' : site.pageSubtitle) + '</h2>';
	clib_writeln(html,'div_header_title');
	}

function site_writeTrailer() {
	clib_debugFunction(true);
	}

function site_addMenuEntry (title,fHomeDisplay,fTrailer,mirror,hRefAction,hRefTarget,clickAction,mouseOverAction,_description) {
	var args = site_addMenuEntry.arguments;
	var nargs = args.length;
	var iArgStart = 8;
	var rgD = new Array();
	var nrgD = 0;
	for (var i = iArgStart; i < nargs; i++) {
		if (clib_isArray(args[i])) for (var j = 0; j < args[i].length; j++) rgD[nrgD++] = args[i][j];
		else rgD[nrgD++] = args[i];
		}
	var description = '';
	for (var i=0; i<nrgD; i++) description += (i > 0 ? '&nbsp; ' : '') + rgD[i];
	var img_hl = '~|~mirrors~|~mirror_' + mirror + '~g~';
	img_hl = clib_normalizeUrl(img_hl);

	title = clib_nbsp(title);
	hRefAction = clib_normalizeUrl(hRefAction);
	site.rgMenu[site.nrgMenu] = new site_menuType(title,mirror,site.defaultMirror,img_hl,null,null,true,hRefAction,hRefTarget,clickAction,mouseOverAction,description,fHomeDisplay,fTrailer)
	site.nrgMenu++;
	clib_preLoadImages(img_hl);
	}

function site_addMirror(title,mirror,hRefAction) {
	var img = clib_unhideUrl('/mirrors/mirror_black~g~');
	var img_hl = clib_normalizeUrl('/mirrors/mirror_' + mirror + '~g~');
	var w = site.defaultMirror_w;
	var h = site.defaultMirror_h;
	var fMirror = true;
	hRefAction = clib_normalizeUrl(hRefAction);
	var hRefTarget = null;
	var clickAction = null;
	var mouseOverAction = null;
	var description = title;
	var fHomeDisplay = null;
	var fTrailer = null;
	site.rgSpecialMenu[site.nrgSpecialMenu++] = new site_menuType(title,mirror,img,img_hl,w,h,fMirror,hRefAction,hRefTarget,clickAction,mouseOverAction,description,fHomeDisplay,fTrailer);
	}

function site_addSpecialMenuEntry(title,img,img_hl,w,h,fMirror,hRefAction) {
	var mirror = null;
	if (fMirror) {
		mirror = img;
		img_hl = clib_normalizeUrl('/mirrors/mirror_' + img + '~g~');
		img = clib_normalizeUrl('/mirrors/mirror_black~g~');
		w = site.defaultMirror_w;
		h = site.defaultMirror_h;
		}
	hRefAction = clib_normalizeUrl(hRefAction);
	img = clib_unhideUrl(img);
	img_hl = clib_unhideUrl(img_hl);
	var hRefTarget = null;
	var clickAction = null;
	var mouseOverAction = null;
	var description = title;
	var fHomeDisplay = null;
	var fTrailer = null;
	site.rgSpecialMenu[site.nrgSpecialMenu++] = new site_menuType(title,mirror,img,img_hl,w,h,fMirror,hRefAction,hRefTarget,clickAction,mouseOverAction,description,fHomeDisplay,fTrailer);
	}

function site_log(logEvent,text) {
	clib_debugFunction(clib_fLocal);
	var x = clib_getCookie(logEvent);
	if (x == null) x = "";
	x = x + '/' + text;
	clib_setCookie(logEvent,x,'/');
	}

function site_newId() {
	return 'id_site_' + (site.iId++);
	}

function site_checkAdultContent() {
	var site_rgAdultKeywords = new Array('all','adult','x','xx','xxx','show');
	if ((clib_subUrl != null) && (clib_subUrl != ''))
		for (var i = 0; i < site_rgAdultKeywords.length; i++)
			if (clib_subUrl.toLowerCase() == site_rgAdultKeywords[i]) return true;
	var f;
	var n = clib_getCookie('adult');
	if (n == null) f=false;
	else if (n == '1') f=true;
	else f=false;
	return f;
	}

function site_setAdultContent(f) {
	clib_setCookie('adult',(f ? '1' : '0'),clib_cookiePath);
	}

