﻿
// Common.js
// =========
// Common javascript functions usable by all pages.

var d=new Date();
var t=d.getTime();

// addLoadEvent(): By Simon Wilson. Adds the given function as a page load 
// event.

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}



// addEvent(): By Scott Andrew. Attaches the given function as an event to the
// given element. 

function addEvent(elm, evType, fn, useCapture) {
	alert('addEvent');
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}



// getElementsByClass(): By Dustin Diaz. Returns all the elements under 'node'
// of the tag type 'tag' whose class matches that given in 'searchClass'.
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}



// getEventTarget(): By Luke Rissacher. Returns the DOM element that's the 
// target of the most recent event. 'e' is the event passed to the event 
// handler, if any, in the Netscape-style event model.
function getEventTarget(e) {
	alert('getEventTarget');
	if (!e) var e = window.event;
	var target = (window.event) ? e.srcElement : e.target;
	return target;
}

function AddNewElement(targetID,eType,eCont,eID)
//Function to add new element
{
	var inf=document.getElementById(targetID);
	var divtypes=document.createElement(eType);
	divtypes.setAttribute('id',eID);
	divtypes.innerHTML = eCont;
	inf.appendChild(divtypes);
}

function formULTags(strDataArray,strDelim)
//Function to convert array list to a UL Tag
{
	var arr = strDataArray.split(strDelim);
	var len = arr.length;
	var pat = '';
	var ret = '<ul>';

	for(var i = 0; i < len; i++)
	{
		if (trim(arr[i])!='')
		{
			pat = '<li>[LI]</li>';
			ret=ret+pat.replace('[LI]',arr[i]);
		}
	}
	ret=ret+'</ul>';
	return ret;
}
function formULTags2Dim(strDataArray1,strDataArray2,strDelim)
//Function to convert array list to a UL Tag
{
	var arr = strDataArray1.split(strDelim);
	var len = arr.length;
	var pat = '';
	var ret = '<ul>';

	for(var i = 0; i < len; i++)
	{
		if (trim(arr[i])!='')
		{
			pat = '<li>[LI]</li>';
			ret=ret+pat.replace('[LI]',arr[i]);
		}
	}
	ret=ret+'</ul>';
	return ret;
}

function formIMGTags(strImgArray,strAltArray,strDelim)
//Function to convert array list to a IMG Tag
{
	var ret='';
	if (trim(strImgArray)!='')
	{
		var Iarr = strImgArray.split(strDelim);
		var Ilen = Iarr.length;
		var Aarr = strAltArray.split(strDelim);
		var Alen = Aarr.length;
	
		var pat='';

		for(var i = 0; i < Ilen; i++)
		{
			if (trim(Iarr[i])!='')
			{
				pat='<img src="[IMG]" border="0" alt="[ALT]">';
				pat=pat.replace('[IMG]',Iarr[i]);
				if (i <= Alen) 
				{
					pat=pat.replace('[ALT]',Aarr[i]);
				}
				else{pat=pat.replace('[ALT]','');}
				ret=ret+pat;
			}
		}
	
	}
	return ret;
}

function mergArr(arr1,arr2,delim)
{
	var ar1=arr1.split(delim);
	var ar2=arr2.split(delim);
	var ret='';
	
	for(var i = 0; i < ar1.length; i++)
	{
		if (trim(ar1[i])!='')
		{
			if (trim(ar2[i])!='')
			{
				if (trim(ar1[i])!=trim(ar2[i]))
				{	
					ret=ret+ar1[i]+': '+ar2[i]+delim;
				}
				else {ret=ret+ar1[i]+delim;}
			}
			else
			{
				ret=ret+ar1[i]+delim;
			}
		}
		else if (trim(ar2[i])!='')
		{
			ret=ret+ar2[i]+delim;
		}
	}	
	return ret;
}

function AddAmenitiesTextElement(title, desc, tags, target,etype,newid)
{
	if (tags!='')
	{
		if (desc!='') tags=mergArr(tags,desc,'|');
		var content = title + formULTags(tags,'|');
		AddNewElement(target,etype,content,newid);
	}
	else if (desc!='')
	{
		tags=desc;
		tags=mergArr(tags,desc,'|');
		var content = title + formULTags(tags,'|');
		AddNewElement(target,etype,content,newid);
	}
}

function dURL(url)
{
	displayURL(includeURL(url,'GET'));
}

function genRec2Disp(sLen,maxSpec)
{
	var currSpec=1;
	var ranSpec=0;
	var recSpecDisp='|';
	
	while (maxSpec>=currSpec)
	{
		ranSpec=Math.floor(Math.random()*sLen);
		if (recSpecDisp.indexOf('|'+ranSpec+'|')<0)
		{
			recSpecDisp+=ranSpec+'|';
			currSpec++;
		}
	}
	return recSpecDisp
	
}

function QueryString(strKey){try{var qs=window.location.search.substring(1).split("&");for(var i=0;i<qs.length;i++)if(qs[i].split("=")[0].toUpperCase()==strKey.toUpperCase())return qs[i].split("=")[1];return''}catch(ex){return''}}