/********************************************************
Parse Href Location String */

   // Get href Path less page & query string,
   //i.e.: D:\Projects\Clients Potential\artist
var hRefPath = document.location.href.split("/");
hRefPath.pop();
hRefPath = hRefPath.join("/")

   // Get protocol, i.e.: "http" or "file"
var Val = document.location.href.split(":");
var hRefProtocol = Val[0];

   // Get hRef location page and query string, i.e.: portfolio.htm?1
var hRefPageAndQueryStr = reverse(document.location.href).split("/");
hRefPageAndQueryStr = reverse(hRefPageAndQueryStr[0]);

   // Get hRef query string, i.e.: 1
var hRefQueryStr = document.location.href.split("?");
hRefQueryStr = hRefQueryStr[1];
if (!hRefQueryStr) { hRefQueryStr = ""; }

   // Get href query string elements, i.e.: ../zoom-portfolio.htm?1+1
var hRefQueryStrParts = hRefQueryStr.split("+");

   // Get hRef page less query string, i.e.: portfolio.htm
var hRefPage = hRefPageAndQueryStr.split("?");
hRefPage = hRefPage[0];

   // Get hRef page name only, i.e.: portfolio
var hRefPagePrifix = hRefPageAndQueryStr.split(".");
hRefPagePrifix = hRefPagePrifix[0];

   // Get hRef page name only, i.e.: .htm
var hRefPageSuffix = hRefPage.split(".");
hRefPageSuffix = hRefPageSuffix[1];

function getHost(fullURL) {
  
  var result;
  var sub; 
  var ExpPath = new RegExp("(^.*[:][\\\/]*[^\\\/]*[\\\/][~][^\\\/]*[\\\/])|(^.*[:][\\\/]*[^\\\/]*[\\\/])"); 
  if ((result = ExpPath.exec(fullURL)) != null) {
    return result[0];
  } else {
    return "";
  }
  
}

/********************************************************
Date & Time Functions*/

function longMonthArray() {
	this[0] = "January";	this[1] = "February"; this[2] = "March";
	this[3] = "April"; this[4] = "May"; this[5] = "June";
	this[6] = "July";	this[7] = "August"; this[8] = "September";
	this[9] = "October";	this[10] = "November"; this[11] = "December";
   return (this); }

function shortMonthArray() {
	this[0] = "Jan"; this[1] = "Feb"; this[2] = "Mar";
	this[3] = "Apr"; this[4] = "May"; this[5] = "Jun";
	this[6] = "Jul"; this[7] = "Aug"; this[8] = "Sep";
	this[9] = "Oct"; this[10] = "Nov"; this[11] = "Dec";
	return (this); }

function longDayArray() {
	this[0] = "Sunday"; this[1] = "Monday"; this[2] = "Tuesday";
	this[3] = "Wednesday"; this[4] = "Thursday";	this[5] = "Friday";
	this[6] = "Saturday";
	return (this); }

function shortDayArray() {
	this[0] = "Sun"; this[1] = "Mon"; this[2] = "Tue"; this[3] = "Wed";
	this[4] = "Thu"; this[5] = "Fri"; this[6] = "Sat";
   return (this); }

function getShortYear(year) {
	shortyear =  year%100;
	if (shortyear < 10) shortyear = "0"+shortyear;
	return shortyear }

function getLongYear(year) {
  	if (year > 1900) return year
  	return year+1900; }
  	
function GetDateFormats(format) {
	
   shortDays = new shortDayArray();
   longDays = new longDayArray();
   shortMonths = new shortMonthArray();
   longMonths = new longMonthArray();
   d = new Date();
   day = d.getDate();
   month = d.getMonth();
	year = d.getYear();
	
	if (format == 0)
     	str = shortDays[d.getDay()] + " " + shortMonths[month] +". " + day + ", "+getLongYear(year);
  	else if (format == 1)
     	str = shortDays[d.getDay()] + " " + longMonths[month] + " " + day + ", "+getLongYear(year);
  	else if (format == 2)
     	str = longDays[d.getDay()] + " " + longMonths[month] + " " + day + ", "+getLongYear(year);
  	else if (format == 3)
     	str = longMonths[month] + " " + day + ", "+getLongYear(year);
   else if (format == 4)
     	str = shortDays[d.getDay()] + " " + day + " " + shortMonths[month] +". " +getLongYear(year);
  	else if (format == 5)
     	str = shortDays[d.getDay()] + " " + day + " " + longMonths[month] + " " +getLongYear(year);
  	else if (format == 6)
     	str = longDays[d.getDay()] + " " + day + " " + longMonths[month] + " " + getLongYear(year);
  	else if (format == 7)
     	str = day + " " + longMonths[month] + ", "+getLongYear(year);
  	else {
     	month++;
     	shortyear = getShortYear(year);
     	if (format == 8)
       	str = month + "/" + day + "/" + shortyear;
     	else if (format == 9)
       	str = month + "/" + day + "/" + getLongYear(year);
     	else if (format == 10)
       	str = day + "/" + month + "/" + shortyear;
     	else if (format == 11)
       	str = day + "/" + month + "/" + getLongYear(year);
     else if (format == 12)
       	str = shortyear + "/" + month + "/" + day;
     else if (format == 13)
       	str = shortyear + "/" + month + "/" + day;
     else {
        	if (day < 10) day = "0"+day
        	if (month < 10) month = "0"+month
        	if (format == 14)
          	str = month + "/" + day + "/" + shortyear;
        	else if (format == 15)
          	str = month + "/" + day + "/" + getLongYear(year);
        	else if (format == 16)
          	str = day + "/" + month + "/" + shortyear;
        	else if (format == 17)
          	str = day + "/" + month + "/" + getLongYear(year);
        	else if (format == 18)
          	str = shortyear + "/" + month + "/" + day;
        	else if (format == 19)
          	str = shortyear + "/" + month + "/" + day;
        	}
	}
	
   if (format == 20)
     	str = shortyear;
   else if (format == 21)
     	str = getLongYear(year); 
	
  	return str;
  	
}

function writeTimeFormats(format) {
   
   d = new Date();
   hour=d.getHours();
   min=d.getMinutes();
   sec=d.getSeconds();
   
   if (hour < 10) hour = "0"+hour;
   if (min < 10) min = "0"+min;
   if (sec < 10) sec = "0"+sec;
   if (format == 0)
      str = hour+":"+min+":"+sec;
   else if (format == 1)
      str = hour+":"+min;
   return str;
   
}

/********************************************************
Get Browser Information */

function getBrowser() {

 var agent=navigator.appName.toLowerCase();

   if (agent.indexOf("netscape")>-1) {
      return "Netscape";
   } else if (agent.indexOf("microsoft internet explorer")>-1) {
      return "IE";
   } else if (agent.indexOf("opera")>-1) {
      return "Opera";
   } else {
      return "Unknown";
   }

}

function getBrowserVersion() {

   browserName=navigator.appName.toLowerCase();
   browserVersion=parseInt(navigator.appVersion);

   if (browserName=="netscape" && browserVersion==5)
      // Netscape 6 has version number 5
      return "6";
   else if (browserName=="netscape" && browserVersion==4)
      return "4";
   else if (browserName=="netscape" && browserVersion==3)
      return "3";
   else if (browserName=="netscape" && browserVersion==2)
      return "2";
   else if (browserName=="microsoft internet explorer" && browserVersion==4
   && navigator.appVersion.indexOf("MSIE 6.0") != -1)
      // both MSIE 6, 5.5 and 5.0 return browser version of 4
      return "6.0";
   else if (browserName=="microsoft internet explorer" && browserVersion==4
   && navigator.appVersion.indexOf("MSIE 5.5") != -1)
      return "5.5";
   else if (browserName=="microsoft internet explorer" && browserVersion==4
   && navigator.appVersion.indexOf("MSIE 5.0") != -1)
      return "5.0";
   else if (browserName=="microsoft internet explorer" && browserVersion==4)
      return "4.0";
   else if (browserName=="microsoft internet explorer" && browserVersion<4)
      return "3.0";
   else if (browserName=="opera" && browserVersion==2)
      return "2.0";
   else if (browserName=="opera" && browserVersion==3)
      return "3.0";
   else if (browserName=="opera" && browserVersion==4)
      return "4.0";
   else if (browserName=="opera" && browserVersion==5)
      return "5.0";
      // If here then not NN or IE or Opera
   else return "Unknown";

}

function getPlatform(){

   //get the Computer operating system

   var platform=navigator.appVersion.toLowerCase();

   if((platform.indexOf("win16")>-1) || (platform.indexOf("windows 3.1")>-1))
      {return "Windows 3.1";}
   if((platform.indexOf("windows 98")>-1) || (platform.indexOf("win98")>-1))
      {return "Windows 98";}
   if((platform.indexOf("windows 95")>-1) || (platform.indexOf("win95")>-1))
      {return "Windows 95";}
   if((platform.indexOf("windows nt")>-1) || (platform.indexOf("winnt")>-1))
      {return "Windows NT";}
   if(platform.indexOf("win 9x 4.90")>-1)
      {return "Windows ME";}
   if(platform.indexOf("windows nt 5.0")>-1)
      {return "Windows 2000";}
   if(platform.indexOf("windows")>-1)
      {return "Windows";}
   if(platform.indexOf("macintosh")>-1)
      {return "Macintosh";}
   if(platform.indexOf("x11")>-1)
      {return "Unix";}
   if(platform.indexOf("unix")>-1)
      {return "Unix";}
   return "Unknown";

}

/********************************************************
Basic */

function GetCookie(Val) {
   return document.cookie.match ( Val + '=(.*?)(;|$)'); }

function isNum(val) {

   val = val.toString();

   if (val.length == 0) return false;

   for (var n = 0; n < val.length; n++)
   if (val.substring(n, n+1) < "0" || val.substring(n, n+1) > "9")
      return false;

   return true;

}

function isNull(Str) {

   if (!Str) var IsNull = true; return IsNull;

}

function reverse(name) {

   var length = name.length;
   var letters = new Array(length);
   var letters2 = new Array(length);
   var backword = "";

   for (i=0; i<=length-1; i++) {
      letters[i] = name.substring(i, i+1); }

   f = 0

   for (j=i-1; j>=0; j--) {
      letters2[f] = letters[j];
      f++; }

   for (h=0; h<=letters2.length-1; h++) {
      backword +=letters2[h]; }

   return backword;

}

function isEmailAddr(email) {

   var result = false;

   if (email.length > 3) {
   var theStr = new String(email);
   var index = theStr.indexOf("@");
   if (index > 0) {
      var pindex = theStr.indexOf(".",index);
      if ((pindex > index+1) && (theStr.length > pindex+1))
         result = true;
      }
   }

   return result;

}

function ReplaceStr(originalString,searchText,replaceText) { 
	
	var strLength = originalString.length; 
	var txtLength = searchText.length; 
	
	if ((strLength == 0) || (txtLength == 0)) { 
		return originalString; } 
	
	var i = originalString.indexOf(searchText); 

	if ((!i) && (searchText != originalString.substring(0,txtLength))) { 
		return originalString; } 
	
	if (i == -1) { 
		return originalString; } 
	
	var newstr = originalString.substring(0,i) + replaceText; 

	if (i+txtLength < strLength) { 
		newstr += ReplaceStr(originalString.substring(i+txtLength,strLength),searchText,replaceText); } 
		return newstr;

} 

function IsInstr(Str,Srch) {
	
	if (Str.indexOf(Srch)>-1) { return true; } else { return ""; }
		
}

function GoBack() {

   if (history.length == 0) {
      location.href = "index.html"; } else {
      history.back(); }

}