var HandyFunctions = {};
/////////////////////////////////////////////////////////////////////////////////////
HandyFunctions.inStrReplace = function (str,replaceThis,withThis)
{
	/* /////////////////////////////////////////
	Developer : Chayne Walsh
	Date : 14th March 2007
	Copyright : none , please send any improvements to development@chayne.net
	Regexp replacing.
	var regExpProtocols = "(http://|mailto:|ftp://|https://)";
	url = this.inStrReplace(url,regExpProtocols,'');
	////////////////////////////////////////// */
	var replaceThis = new RegExp(replaceThis,"gi");
	str = str.replace(replaceThis,withThis);
	return str;
}

HandyFunctions.getQueryString = function (q)
{
	/*/////////////////////////////////////////
	Developer : Original Unknown and Chayne Walsh
	Version Date : 2007-03-28-02
	Querystring extractor
	//////////////////////////////////////////*/
	var qs = location.search.substring(1);
	var nv = qs.split('&');
	var url = new Object();
	for(i = 0; i < nv.length; i++)
	{
		eq = nv[i].indexOf('=');
		url[nv[i].substring(0,eq)] = unescape(nv[i].substring(eq + 1));
	}
	return (url[q]) ? url[q] : '' ;
}

HandyFunctions.getEnv = function (op)
{
	/* //////////////////////////////////////////////////////////
	Developer: Chayne Walsh
	Copyright: None, use at your own risk
	Date Modified: 31 July 2007
	
	This function is intended to emulate the PHP getEnv function
	and provide a way to seamlessly use the scripts in a development 
	localhost and remove server environments.
	It has other added options like HTTP_ROOT and RELATIVE_ROOT.
	RELATIVE ROOT is an alternative to DOCUMENT ROOT as we do not 
	want to show anyone the DOCUMENT ROOT in our scripts.
	
	If you make any amazing addition and improvements to this function
	please send me a copy to development@chayne.net.
	////////////////////////////////////////////////////////////// */
	var r='';
	var strPathName = new String(window.location.pathname);
	splitPathName = strPathName.split("/");
	if( op == 'PAGE_NAME_FULL' )
	{
		var pageName = '';
		pageName = splitPathName[splitPathName.length -1].split('?');
		r = pageName[0];
	}
 	if(op == 'SCRIPT_NAME')
	{
		splitPathName.pop();
		r = splitPathName.join("/");
	}
	if(op == 'DOCUMENT_ROOT')
	{
		r = (window.location.hostname=='localhost') 
		? "c:/www/domains/mm.westernstar.com.au/" // document root of your development server 
		: ''; // document root of your deployment server
	}
	if(op == 'HTTP_ROOT')
	{
		r = (window.location.hostname=='localhost') 
		? "http://"+window.location.hostname+'/'+splitPathName[1] + "/" //iis virtual
		: "http://"+window.location.hostname + "/" ;
	}
	
	if(op == 'RELATIVE_ROOT')
	{
		var r = '';
		var directoryDepth = (window.location.hostname=='localhost')
		? splitPathName.length - 3 
		: splitPathName.length -3;
		if(directoryDepth > 0)
		{
			r='';
			for(i = 0; i < directoryDepth; i++)
			{
				r += '../';
			}
		}
		else
		{
			r = "./";	
		}
	}
	
	return r;
}


HandyFunctions.ConfirmAlert = function(msg)
{
	try
	{
		var con = confirm(msg);
		if (con == false) HandyFunctions.preventDefault(event);
  		return con;
	}
	catch (e) {/*do nothing*/}
}

HandyFunctions.Trim = function(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


/* This is required for the dealer map rollover links */
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
/* ///////////////////////////////////////////////////////////////////// */


// JavaScript Document
/* Chayne Walsh : 2007 08 01 */
var backButton =
{
	init: function()
	{
		var goBack = WStarCore.getElementsByClass("backButton");
		for (var i = 0; i < goBack.length; i++)
		{
			WStarCore.addEventListener(goBack[i], "click", backButton.onclickHandler);
		}
	},
	
	onclickHandler: function()
	{
		history.back();
	}
} 
WStarCore.start(backButton);

// JavaScript Document openWindows
/* Chayne Walsh : 2007 08 01 */
var OpenWindows = 
{
	init: function()
	{
		var autoResize = WStarCore.getElementsByClass("autoResizeWindow");
		for (var i = 0; i < autoResize.length; i++)
		{
			WStarCore.addEventListener(autoResize[i], "click", OpenWindows.onclickHandlerAutoResize);
		}
	},
	
	onclickHandlerAutoResize: function()
	{
		uploadwindow=window.open(WStarCore.getEnv('RELATIVE_ROOT') + 'assets/scripts/popup_resize.asp?dir='+this.href.replace('#',''), 'upload', 'width=200,height=200,menubar=no,location=no,toolbar=no,status=no,resizable=yes,top=10,left=10');
		WStarCore.preventDefault(event);
		return;	
	}
}
WStarCore.start(OpenWindows);
