function getObj(n, d)
{ 
	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 = getObj(n, d.layers[i].document);
	}
	if(!x && d.getElementById) 
	{
		x = d.getElementById(n); 
	}

	return x;
}

function GetThingForPreview(thing)
{
    // Only works for mypages
	var parentPage = window.dialogArguments;
	var stuff = '';
	if (thing == 'statictext')
	{
	    var framename;
	    wholeThing = 'parentPage.document.mypages.' + thing;
	    wholeThing = 'parentPage.framename';
	    //alert(getObj('myDesignMode_StaticText'));
	    //alert(getObj(wholeThing));
        if (framename != '' && framename != null)
        {
            var iFrame = getObj(framename);
            
            if (iFrame != null) {
	            getObj(framename).contentWindow.document.body.attachEvent("onpaste", initClean);
	        }
	    }
	}
	else
	{
	    wholeThing = 'parentPage.document.mypages.' + thing;
    	
	    stuff = eval(wholeThing + '.value');
	    stuff = replace(stuff, '../media/', "media/");
    }
		
	document.write(stuff);
}

function replace(argvalue, x, y) {
  if ((x == y) || (parseInt(y.indexOf(x)) > -1)) {
    errmessage = "replace function error: \n";
    errmessage += "Second argument and third argument could be the same ";
    errmessage += "or third argument contains second argument.\n";
    errmessage += "This will create an infinite loop as it's replaced globally.";
    alert(errmessage);
    return false;
  }
    
  while (argvalue.indexOf(x) != -1) {
    var leading = argvalue.substring(0, argvalue.indexOf(x));
    var trailing = argvalue.substring(argvalue.indexOf(x) + x.length, 
	argvalue.length);
    argvalue = leading + y + trailing;
  }

  return argvalue;
}


function emailCheck(emailStr) {
	var emailPat = /^([.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) {
		return false;
	}

	var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
	if (IPArray != null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
      }
    }
	}
	return true;
}


function addtoorder(theid) {
	theQ = getObj('quantity|' + theid).value;
	getObj('addbasketid').value = theid;
	getObj('addbasketQuantity').value = theQ;
	getObj('action').value = 'addbasket';
	document.products.submit();
}

function InStr(Start, String1, String2, Compare) {
  if (Start < 1) {
    alert("Invalid Start argument\n\nInStr function (js2vb.js)"); return "";
  }
  if (Start > Len(String1)) return 0;
  if (Len(String2) == 0) return Start;
  if (Compare == 1) {String1 = LCase(String1); String2 = LCase(String2);}
  if (Start > 1) {
    var index = Right(String1, Len(String1) - Start + 1).indexOf(String2)
    if (index == -1) {return 0;} else {return index + Start;}
  } else {
    return String1.indexOf(String2) + 1
  }
}

function replace(argvalue, x, y) {
  if ((x == y) || (parseInt(y.indexOf(x)) > -1)) {
    errmessage = "replace function error: \n";
    errmessage += "Second argument and third argument could be the same ";
    errmessage += "or third argument contains second argument.\n";
    errmessage += "This will create an infinite loop as it's replaced globally.";
    alert(errmessage);
    return false;
  }
    
  while (argvalue.indexOf(x) != -1) {
    var leading = argvalue.substring(0, argvalue.indexOf(x));
    var trailing = argvalue.substring(argvalue.indexOf(x) + x.length, 
	argvalue.length);
    argvalue = leading + y + trailing;
  }

  return argvalue;
}

function uploadimage(thepath) {
    mywindow=open('upload.asp','upload','status=yes,resizable=no,width=400,height=200');
    mywindow.location.href = 'customscripts/upload.asp?thepath=' + thepath;
    if (mywindow.opener == null) mywindow.opener = self;
}

//FORUM FUNCTIONS
//----------------------------------------------------------------------
function chkmsg() {
	var bad='';
	if (getObj('name').value == '')
		bad += 'Name\n';

	if (getObj('email').value == '')
		bad += 'Email\n';

	if (getObj('msgtitle')) {
		if (getObj('msgtitle').value == '')
			bad += 'Title\n';
	}

	if (getObj('msg').value == '')
		bad += 'Message\n';
	
	if (bad != '') {
		msg = 'The following fields are not complete.\n'
		msg += '----------------------------------------------\n'
		alert(msg + bad);
	} else {
		document.postmsg.submit();
	}
}

//----------------------------------------------------------------------
function OpenImageWindow(strImage) 
{
	openCenteredWindow('customscripts/imagePreview.asp?img=' + strImage, '500', '500', null, 'status=yes, resizable=yes, scrollbars=yes');
}

//----------------------------------------------------------------------
function openCenteredWindow(url, height, width, name, parms) 
{
   var left = Math.floor( (screen.width - width) / 2);
   var top = Math.floor( (screen.height - height) / 2);
   var winParms = "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;
   if (parms) { winParms += "," + parms; }
   var win = window.open(url, name, winParms);
   if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

//-----------------------------------------------------------------------------
function SearchGo()
{
    var strKeyword = getObj('keyword').value;
    var strTrimmed = Trim(strKeyword);
	if (strTrimmed.length >= 3 && strTrimmed != 'search')
	{
		document.search.submit();
	}
	else
	{
		alert('Please enter a Search Keyword of at least 3 characters in length');
	}
}

//-----------------------------------------------------------------------------
function Trim(theValue)
{
	var strResult;
	var objRegex = new RegExp("(^\\s+)|(\\s+$)");
	strResult = theValue.replace(objRegex, "");

	return strResult;
}

//-----------------------------------------------------------------------------
function ClearField(theform, thefield, thevalue)
{
	eval("thisval = document." + theform + "." + thefield + ".value");
	if (thisval == thevalue)
    {
		eval("document." + theform + "." + thefield + ".value = ''");
		eval("document." + theform + "." + thefield + ".style.color='#000000'");
	}
}

//-----------------------------------------------------------------------------
function EnterField(theform, thefield, thevalue)
{
	eval("thisval = document." + theform + "." + thefield + ".value");
	if (thisval == "")
    {
		eval("document." + theform + "." + thefield + ".value = '" + thevalue + "'");
		eval("document." + theform + "." + thefield + ".style.color='#666666'");
	}
}
