// *********************************************************
// VIN.js is copyrighted Veterinary Information Network 2004
// *********************************************************

var agt = navigator.userAgent.toUpperCase();
var BrowserVersion = parseInt(navigator.appVersion);
if (agt.indexOf('MSIE 5')) BrowserVersion = 5;
var IsMac = ((agt.indexOf('MAC_') != -1) || (agt.indexOf('MACINTOSH') != -1));
var IsAOL = (agt.indexOf('AOL') != -1);
var IsIE  = (navigator.appName.indexOf('Microsoft') != -1);
var IsNS  = (navigator.appName.indexOf('Netscape') != -1);
var IsNS4 = (IsNS && (BrowserVersion >= 4));
var IsIE4 = (IsIE && (BrowserVersion >= 4));
var IsIE5  = (IsIE && (BrowserVersion >= 5));
var IsDOM = (BrowserVersion >= 5);

var CtrlTxt = (IsMac) ? 'Command' : 'CTRL';
var FavoriteTxt = (IsIE) ? 'Favorite' : 'Bookmark';

var Months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
var Days = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
var CurDate = new Date();
var WeekDay = CurDate.getDay();
var Day = CurDate.getDate();
var Month = CurDate.getMonth();
var Year = CurDate.getYear();
Year = (Year < 1900) ? Year + 1900 : Year;

var VINDocumentID = 0;

if (window.location.toString().toLowerCase().indexOf("vin.com/members/") >= 0) {
    if (document.getElementsByTagName("head")) {
        var insertPoint = document.getElementsByTagName("head")[0];
        var prepend = "/";
        if (document.domain=='localhost') 
            prepend = "../";
        insertPoint.appendChild(domScriptInsert(prepend + 'global/js/contextmenu.js'));
    }
}

function domScriptInsert(filename) {
    var scriptInsert = document.createElement('script');
    scriptInsert.setAttribute('language', 'javascript');
    scriptInsert.setAttribute('type', 'text/javascript');
    scriptInsert.setAttribute('src', filename);
    return scriptInsert;
}

function CleanDocTitle(Title) {
  if (window.RegExp) {
    var rExp = /[\\\/\:\*\?\"\|\<\>]/g;
    Title = Title.replace(rExp, " ")
    rExp = /  +/g;
    Title = Title.replace(rExp, " ")
  }
  return (Title);
}

function PrintPage() {
  if (((IsNS4 || IsIE5)) && (window.print)) window.print();
  else alert('You may print this page using '+CtrlTxt+'-P.');
}

function SavePage() {
  if (IsIE4 && !IsMac) document.execCommand('SaveAs', true, CleanDocTitle(document.title));
  else alert('You may save this page by selecting the Save As option from the File menu.');
}

function BackPage() {
  history.back();
}

function BookmarkPage(ForceURL, NameIn) {
	var URL = (ForceURL) ? ForceURL : window.location.href;
	if ((URL.toUpperCase().indexOf('/MAIN/') != -1 || URL.toUpperCase().indexOf('/MEMBERS/') != -1)) {
		var DocTitle = (NameIn) ? NameIn : document.title;
		var DocumentID = (VINDocumentID) ? '&DID='+VINDocumentID : '';
		ShowMyVIN('BookMarks&p=AddLinkFromURL&URL='+escape(URL)+DocumentID+'&NameIn='+escape(CleanDocTitle(DocTitle)));
	} else {
		if (IsAOL) alert('Please click the red heart to favorite this page.');
		else if (IsIE4 && !IsMac) window.external.AddFavorite(URL, CleanDocTitle(document.title));
		else alert('You may '+FavoriteTxt+' this page using '+CtrlTxt+'-D.');
	}
}

function GetCenterPos(BWidth, BHeight) {
  var PosX = (screen.availWidth - 10)/2 - BWidth/2;
  var PosY = (screen.availHeight - 30)/2 - BHeight/2;
  return ('width='+BWidth+',height='+BHeight+',left='+PosX+',top='+PosY);
}

function ShowSizedWindow(URL, Width, Height, WndName) {
  if (!WndName) WndName = '_blank'
  var args = 'width='+Width+',height='+Height+',menubar=no,status=no,location=no,directories=no,toolbar=no';
  window.open(URL, WndName, args); 
}

function OpenNewWindow(URL, Width, Height) {
  var args = 'menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes';
  if (Width && Height) args = 'width='+Width+',height='+Height + ',' + args;
  window.open(URL, '_blank', args);
}

function OpenNewBrowser(URL, Width, Height) {
  var args = '';
  if (Width && Height) args = 'scrollbars=yes,resizable=yes,width='+Width+',height='+Height;
  window.open(URL, '_blank', args);
}

function ShowPicture(ImgPath, ImgWidth, ImgHeight, Branding) {
  var ScrollBar = "no";
  var vScroll = false;
  var hScroll = false;
  ImgWidth += 25;
  ImgHeight += 50;
  if (Branding==1 || Branding==9) ImgHeight += 10;
  if ((ImgWidth - 20) > screen.availWidth) {ImgWidth = screen.availWidth - 20; ScrollBar = "yes"; hScroll = true;}
  if ((ImgHeight + 40) > screen.availHeight) {ImgHeight = screen.availHeight - 40; ScrollBar = "yes"; vScroll = true;}
  if (!hScroll && vScroll && (ImgWidth + 25 < screen.availWidth) ) { ImgWidth += 25; }
  var URL = "/Tools/ShowPicture.plx?URL="+ImgPath;
  if (Branding) URL += '&B='+Branding;
  if (!Branding && ImgWidth<335) ImgWidth = 335;
  if (Branding==1 && ImgWidth<410) ImgWidth = 410;
  if (Branding==7 && ImgWidth<385) ImgWidth = 385;
  var args = GetCenterPos(ImgWidth, ImgHeight)+",menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars="+ScrollBar+",resizable="+ScrollBar;
  window.open(URL, "", args); 
}

function OpenViewer(XML, OptionArray) {
  var args = GetCenterPos(440, 580)+',menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=no,resizable=yes';
  var URL = '/Presenter/Shell.htm?viaScript=1&xmlPath='+XML;
  if (window.location.href.toUpperCase().indexOf('/MEMBERS/') != -1) URL = "/Members" + URL;
  if(OptionArray) {
  	if (OptionArray['Branding']) URL += '&branding='+OptionArray['Branding'];
  	if (OptionArray['StartSlide']) URL += '&initSlide='+OptionArray['StartSlide'];
  	if (OptionArray['Subset']) URL += '&subset='+OptionArray['Subset'];
  }
  var winObj = window.open(URL, 'MMViewer', args);
  winObj.focus();
}

function OpenViewer(XML, OptionArray) {
  var args = GetCenterPos(445, 545)+',menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=no,resizable=yes';
  var URL = '/Presenter/Shell.htm?viaScript=1&xmlPath='+XML;
  if (window.location.href.toUpperCase().indexOf('/MEMBERS/') != -1) URL = "/Members" + URL;
  if(OptionArray) {
  	if (OptionArray['Branding']) URL += '&branding='+OptionArray['Branding'];
  	if (OptionArray['StartSlide']) URL += '&initSlide='+OptionArray['StartSlide'];
  	if (OptionArray['Subset']) URL += '&subset='+OptionArray['Subset'];
  }
  var winObj = window.open(URL, 'MMViewer', args);
  winObj.focus();
}

function ShowRemote() {
  ShowMyVIN()
}

function ShowMyVSPN(Page) {
  var URLValue = "http://www.vin.com/Members/Tools/MyVIN.plx?SAId=2";
  if (Page) URLValue += '&Page='+Page;
  var args = "top=1,width=600,height=450,menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes";
  window.open(URLValue, "MyVIN", args); 
}

function ShowMyVIN(Page) {
  var URLValue = "/Members/Tools/MyVIN.plx";
  if (Page) URLValue += '?Page='+Page;
  var args = "top=1,width=600,height=530,menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes";
  window.open(URLValue, "MyVIN", args); 
}

function ShowFeedback(EmailTo, Subject) {
  var URLValue = "/Members/Help/FeedbackPopup.asp";
  var args = "width=370,height=370,menubar=no,status=no,location=no,directories=no,toolbar=no";
  if (EmailTo || Subject) {
    URLValue += "?";
    if (EmailTo) URLValue += "EmailTo="+EmailTo+"&";
    if (Subject) URLValue += "Subject="+escape(Subject)+"&";
  }
  window.open(URLValue, "_blank", args); 
}

function ShowUnityInstall(Room) {
  var URLValue = "/VINChat/Steps.asp";
  if (Room) URLValue += '?Room='+Room;
  var args = GetCenterPos(450, 300)+",width=450,height=300,menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes";
  window.open(URLValue, "_blank", args); 
}

function LaunchUnity(Room, domain) {
  var PosX = screen.availWidth - 810;
  var PosY = 0;
  RoomName = Room.replace('-','_'); //Steve added this, hyphens were breaking the open script.
  
  if(domain == '' || domain == null)
	  window.open('/Members/Unity3/Unity.plx?R='+Room, 'VINUnity_'+RoomName, 'left='+PosX+',top='+PosY+',width=800,height=550,menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=no,resizable=yes');
  else 
 	  window.open(domain + '/Members/Unity3/Unity.plx?R='+Room, 'VINUnity_'+RoomName, 'left='+PosX+',top='+PosY+',width=800,height=550,menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=no,resizable=yes');
}

function LaunchUnityOld(Room) {
  var PosX = screen.availWidth - 810;
  var PosY = 0;
  RoomName = Room.replace('-','_');
  window.open('/Members/Unity/Unity.plx?R='+Room, 'VINUnity_'+RoomName, 'left='+PosX+',top='+PosY+',width=800,height=550,menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=no,resizable=yes');
}

function SwapImg(Tab, ImgNo) {
  if (Tab == '') return;
  if (Tab == CurrentTab && ImgNo == 1) ImgNo = 3;
  var TabSrc = eval('document.Tab'+Tab+'.src');
  var NewSrc = TabSrc.substring(0, TabSrc.indexOf('.gif') - 1)+ImgNo+'.gif';
  eval('document.Tab'+Tab+'.src = NewSrc');
}

function AsynchRequest() {
	var _AjaxState = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
	
	var _ReqObj = null;
	var _inProgress = false;
	var _isComplete = false;
	var _oThis = this;
	
	this.METHOD = 'GET';
	
	var _CreateObj = function() {
		if (window.XMLHttpRequest) {
			_ReqObj = new XMLHttpRequest();
		} else if (window.ActiveXObject) {		
			try {
				_ReqObj = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					_ReqObj = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e2) {}
			}
		}
		if (!_ReqObj) _oThis.OnError('Unable to create request.');
	}

	var _CallBack = function() {
		var AjaxState = _AjaxState[_ReqObj.readyState];
		if (AjaxState == 'Complete') {
			var HTTPStatus = _ReqObj.status;
			if (HTTPStatus == 200) {
				_inProgress = false;
				_isComplete = true;
				_oThis.OnComplete(_oThis);
			} else {
				_oThis.OnError('Status: '+HTTPStatus);
			}
		}
	}

	this.Send = function(URL, PostData) {
		_CreateObj();
		if (_inProgress && !_isComplete) {
			// Error
			alert('Already in progress');
		} else if (_ReqObj) {
			_inProgress = true;
			_isComplete = false;
			_ReqObj.open((PostData) ? 'POST' : 'GET', URL, true);
			_ReqObj.onreadystatechange = _CallBack;
			if (PostData) _ReqObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
			_ReqObj.send(PostData);
		}
	}
	
	this.GetResponseText = function() {
		return _ReqObj.responseText;
	}

	this.OnComplete = function(AsynchRequestObject) {
		//Needs to override
	}

	this.OnError = function(ErrorStr) {
		//Needs to override
		alert(ErrorStr);
	}
}

function OpenSlideShow(XMLPATH, SlideStart) {
  var args = GetCenterPos(445, 545)+',menubar=no,status=no,location=no,directories=no,toolbar=no,scrollbars=no,resizable=yes';
  // the presentor is not under membership but the xmlfile will be
  var URL = '/Presenter/Shell.htm?viaScript=1&xmlPath='+XMLPATH;
  if (SlideStart) {
	URL += '&initSlide='+SlideStart;
  }
  //if (window.location.href.toUpperCase().indexOf('/MEMBERS/') != -1) URL = "/Members" + URL;
  //if(OptionArray) {
  //	if (OptionArray['Branding']) URL += '&branding='+OptionArray['Branding'];
  //	if (OptionArray['StartSlide']) URL += '&initSlide='+OptionArray['StartSlide'];
  //	if (OptionArray['Subset']) URL += '&subset='+OptionArray['Subset'];
  //}
  window.open(URL, 'MMViewer', args);
}


if (0) {
  if (document.getElementsByTagName("head")) {
    var h = document.getElementsByTagName("head")[0];
    var lnk = document.createElement("link");
    lnk.setAttribute("rel", "stylesheet");
    lnk.setAttribute("media", "print");
    lnk.setAttribute("type", "text/css");
    if (screen.width<800) lnk.setAttribute("href", "/Global/css/print800.css");
    else if (screen.width<1024) lnk.setAttribute("href", "/Global/css/print1024.css");
    else if (screen.width<1152) lnk.setAttribute("href", "/Global/css/print1152.css");
    else /* if (screen.width<1280) */ lnk.setAttribute("href", "/Global/css/print1280.css");
    h.appendChild(lnk);
  }
}


function QuickSearchGo()
{
	var k = $('quicksearchtext');
	var d = $('quicksearchdropdown');
	
	    /* validation */
	    if (!k.value || k.value == "Enter search terms...") {
		    alert('Please enter search term(s)');
			return false;
			} 
	   		
	    /* GA */
	    if (window.pageTracker)pageTracker._trackPageview('/quicksearch/go');
	
        var searchurl = "/members/search/search.plx?B=1&PD=3&S=" + k.value + "&SC=" + d.value;
        /*if (d.value == 1 || d.value == 2 || d.value == 3)
           searchurl += "&ST=1"
        else if (d.value == 4 || d.value == 7)
           searchurl += "&ST=3";*/	

        var x = window.open(searchurl, "", "");
	if (x == null) {
		alert('Your popup blocker is preventing us from showing the search page.');
		return;
	} 
	x.focus();
}
