﻿function GetXmlHttpObject()
{
    var ajaxCall=null;
    
    try
    {
        ajaxCall = new XMLHttpRequest();
    }
    catch (e)
    {
        try
        {
            ajaxCall = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            ajaxCall = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
            
    return ajaxCall;
}

function InsertHit(ProductID) //Call onload at Master page
{
    var xmlHttp = GetXmlHttpObject();
    
    if(xmlHttp == null)
    {
        alert('Your Browser Does Not Support AJAX');
        return false;
    }
    
    xmlHttp.open('GET','../../AJAX_Functions.aspx?r=' + Math.random() + '&function=hit&ProductID=' + ProductID,true);
    xmlHttp.send(null);
}

function InsertHit2()
{
    var xmlHttp = GetXmlHttpObject();
    var DBType = FindCookieValue('DBType');
    var ProductID;
    
    if(DBType == 'WND')
        ProductID = 1;
    else if(DBType == 'ICOF')
        ProductID = 2;
    else if(DBType == 'ICAH')
        ProductID = 3;
    else
        ProductID = 4;
    
    if(xmlHttp == null)
    {
        alert('Your Browser Does Not Support AJAX');
        return false;
    }
    
    xmlHttp.open('GET','../../AJAX_Functions.aspx?r=' + Math.random() + '&function=hit&ProductID=' + ProductID,true);
    xmlHttp.send(null);
}

function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)                 //NN4+
    {
        document.layers[szDivID].visibility = iState ? "show" : "hide";
    }
    else if(document.getElementById)    //Gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.visibility = iState ? "visible" : "hidden";
    }
    else if(document.all)               //IE 4
    {
        document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
    }
}

function openLink(pin,mode)
{
    var ArticleID = pin;
    var MightBeExternal;
    
    //Get rid of some of the garbage passed into the pin
    ArticleID = ArticleID.replace('.asp','');
    ArticleID = ArticleID.replace('?amhist=yes','');
    ArticleID = ArticleID.replace('.htm','');
    ArticleID = ArticleID.replace('#',',');
    ArticleID = ArticleID.substring(ArticleID.lastIndexOf('/') + 1);
    
    //This block is for a lot of external links that can get in here
    //Since largely all links are going through this JavaScript function, we need
    //Special cases for all of them
    if(pin.indexOf("www.") > 1)
    {
        window.open(pin);
        return false;
    }
    
    if(pin.indexOf(".html") > 1 || pin.indexOf(".org") > 1 || pin.indexOf(".com") > 1 || pin.indexOf(".aspx") > 1 || pin.indexOf(".stm") > 1 || pin.indexOf(".edu") > 1 || pin.indexOf(".eu") > 1 || pin.indexOf(".php") > 1 || pin.indexOf(".gov") > 1 || ArticleID.length == 0)
        MightBeExternal = true;
    else
        MightBeExternal = false;
    
    if((ArticleID.indexOf(".pdf") > 1 || ArticleID.indexOf(".doc") > 1 || ArticleID.indexOf(".prn") > 1 || ArticleID.indexOf("-template") > 1) && !MightBeExternal)
    {
        window.open('/stories/MiscItems/' + ArticleID);    
        return false;
    }
    
    if(pin == '/stories/afp.htm')
    {
        window.location = pin;
        return false;
    }
    
    
    if(pin.indexOf("TS000000") > 1)
    {
        var myLocation = pin.split('?');
        window.location = '/tsof_subject.aspx?' + myLocation[1];
        return false;
    }
    
    if(pin.indexOf("science-menu-educators-nss2") > 1)
    {
        var myLocation = pin.split('?');
        window.location = '/tsof_nss.aspx?Level=1&' + myLocation[1];
        return false;
    }
    
    if(pin == "./reuters")
    {
        window.location = '/wnd_reuters_menu.aspx?Daysback=0';
        return false;
    }
    //End special case block
    
    //This is the same as the Products DB Table
    //WND - 1
    //ICOF - 2
    //ICAH - 3
    //TSOF - 4
    var ProductID;
    
    if(window.location.toString().toLowerCase().indexOf("wnd_story") > 1 || window.location.toString().toLowerCase().indexOf("wnd_menu") > 1)
        ProductID = 1;
    else if(window.location.toString().toLowerCase().indexOf("icof_story") > 1 || window.location.toString().toLowerCase().indexOf("icof_menu") > 1)
        ProductID = 2;
    else if(window.location.toString().toLowerCase().indexOf("icah_story") > 1 || window.location.toString().toLowerCase().indexOf("icah_menu") > 1)
        ProductID = 3;
    else if(window.location.toString().toLowerCase().indexOf("tsof_story") > 1 || window.location.toString().toLowerCase().indexOf("tsof_menu") > 1)
        ProductID = 4;
    else //At Popup.aspx
        ProductID = 0;
    
    //External link in a story page  
    if(ProductID == 4 && MightBeExternal)
    {
        window.open(pin);
        return false;
    }
    
    {
        new Ajax.Request
        (
            'AJAX_Functions.aspx', 	
            {
                method: 'get',
                parameters:'r=' + Math.random() + '&function=link&pin=' + ArticleID + '&CurrProductID=' + ProductID,
                onSuccess:GoToNewArticle,
                onFailure:FuncErr
            }
        );
    }
}

//Drop Down List Functions
function AdvancedSearchChange(dropdownid,mode,pg,Tab,Sort,SortDir,DBType)
{
    var selectedFilter = document.getElementById(dropdownid).options[document.getElementById(dropdownid).selectedIndex].value
    
    if(mode == 1)
        window.location = '/CrossSearchResults.aspx?pg=' + pg + '&Tab=' + Tab + '&Sort=' + Sort + '&filter=' + selectedFilter + '&SortDir=' + SortDir;
    else
        window.location = '/adv_search_result.aspx?pg=' + pg + '&Tab=' + Tab + '&Sort=' + Sort + '&filter=' + selectedFilter + '&SortDir=' + SortDir + '&DBType=' + DBType;
}

function ResetDateRanges(FromYearID,FromMonthID,FromDayID,ToYearID,ToMonthID,ToDayID)
{
    var dteNow = new Date();
    var intYear = dteNow.getFullYear();
    
    document.getElementById(FromYearID).selectedIndex = 0;
    document.getElementById(FromMonthID).selectedIndex = 0;
    document.getElementById(FromDayID).selectedIndex = 0;
    document.getElementById(ToYearID).selectedIndex = 0;
    document.getElementById(ToMonthID).selectedIndex = 0;
    document.getElementById(ToDayID).selectedIndex = 0;
    
    DateFrom = '16000101';
    DateTo = (intYear + 1) + '1231';
    
    setCookie('DateFrom',DateFrom,1);
    setCookie('DateTo',DateTo,1);
}

function AutoFillDropDowns(FromYearID,FromMonthID,FromDayID,ToYearID,ToMonthID,ToDayID)
{
    var FromBox = document.getElementById(FromYearID);
    var FromBox_M = document.getElementById(FromMonthID);
    var FromBox_D = document.getElementById(FromDayID);
    var ToBox_Y = document.getElementById(ToYearID);
    var ToBox_M = document.getElementById(ToMonthID);
    var ToBox_D = document.getElementById(ToDayID);
    
    if(FromBox.options[FromBox.selectedIndex].value != '')
    {
        FromBox_M.selectedIndex = 1;
        FromBox_D.selectedIndex = 1;
        ToBox_Y.selectedIndex = 1;
        ToBox_M.selectedIndex = ToBox_M.options.length - 1;
        ToBox_D.selectedIndex = ToBox_D.options.length - 1;
    }
}

function AutoFillDateDropDowns(YearID,MonthID,DayID,GoToLast)
{
    var YearBox = document.getElementById(YearID);
    var MonthBox = document.getElementById(MonthID);
    var DayBox = document.getElementById(DayID);
    
    if(YearBox.options[YearBox.selectedIndex].value != '')
    {
        if(MonthBox.selectedIndex == 0)
        {
            if(GoToLast)
                MonthBox.selectedIndex = MonthBox.options.length - 1;
            else
                MonthBox.selectedIndex = 1;
        }
        
        if(DayBox.selectedIndex == 0)
        {
            if(GoToLast)
                DayBox.selectedIndex = DayBox.options.length - 1;
            else
                DayBox.selectedIndex = 1;
        }
    }
}

//Function to work as jump page
function GoToPage(dbtype,gotopageid,maxpg,tab,filter,sortby,sortdir)
{
    var pg = document.getElementById(gotopageid).value;
    
    if(pg > maxpg || pg.length == 0 || pg == 0)
    {
        alert('Please Enter a Valid Number');
        return false;
    }
    
    window.location = '/' + dbtype + '_search_result.aspx?pg=' + pg + '&Tab=' + tab + '&filter=' + filter + ((QueryString('SortBy').length > 0 && sortby.length > 0) ? '&SortBy=' + sortby + '&SortDir=' + sortdir : '') + ((QueryString('FromAltPg').length > 0) ? '&FromAltPg=1' : '');
}

function CrossSearchCheckPG(gotopageid,maxpg)
{
    var pg = document.getElementById(gotopageid).value;
    
    if(pg > maxpg || pg.length == 0 || pg == 0)
        alert('Please Enter a Valid Number');
}

function GoToPageAdv(gotopageid,maxpg,tab,filter,sort,DBType,SortDir)
{
    var pg = document.getElementById(gotopageid).value;
    
    if(pg > maxpg || pg.length == 0 || pg <= 0)
    {
        alert('Please Enter a Valid Number');
        return false;
    }
    
    window.location = '/adv_search_result.aspx?pg=' + pg + '&Tab=' + tab + '&filter=' + filter + '&Sort=' + sort + '&DBType=' + DBType + '&SortDir=' + SortDir;
}

function GoToPageAdv_enter(e,gotopageid,maxpg,tab,filter,sort,DBType,SortDir)
{
    var KeyCode;
    
    if(window.event)
        KeyCode = window.event.keyCode;     //IE
    else
        KeyCode = e.which;                  //FireFox
        
    if(KeyCode == 13)
    {
        GoToPageAdv(gotopageid,maxpg,tab,filter,sort,DBType,SortDir);
    }
}

function GoToPageAdvWHTD(gotopageid,maxpg,tab,sort,WHTD)
{
    var pg = document.getElementById(gotopageid).value;
    
    if(pg > maxpg || pg.length == 0 || pg <= 0)
    {
        alert('Please Enter a Valid Number');
        return false;
    }
    
    window.location = '/adv_search_result.aspx?pg=' + pg + '&Tab=' + tab + '&Sort=' + sort + '&whtd=' + WHTD;
}

function AdditionalFilterChange(dbtype,pg,maxpg,tab,filterid,sortby,sortdir)
{
    var additionalFilter = document.getElementById(filterid).options[document.getElementById(filterid).selectedIndex].value
    
    if(pg > maxpg || pg.length == 0 || pg <= 0)
    {
        alert('Please Enter a Valid Number');
        return false;
    }
    
    window.location = '/' + dbtype + '_search_result.aspx?pg=1&Tab=' + tab + '&filter=' + additionalFilter + ((QueryString('SortBy').length > 0 && sortby.length > 0) ? '&SortBy=' + sortby + '&SortDir=' + sortdir : '');
}

function GoToFormEnter(e,dbtype,gotopageid,maxpg,tab,filter,sortby,sortdir)
{
    var KeyCode;
    
    if(window.event)
        KeyCode = window.event.keyCode;     //IE
    else
        KeyCode = e.which;                  //FireFox
        
    if(KeyCode == 13)
    {
        GoToPage(dbtype,gotopageid,maxpg,tab,filter,sortby,sortdir);
    }
}

function AdvancedSearchEnter(e,DBType,SearchString2ID)
{
    var KeyCode;
    
    if(window.event)
        KeyCode = window.event.keyCode;     //IE
    else
        KeyCode = e.which;                  //FireFox
    
    if(KeyCode == 13)
        GoToAdvancedSearch(DBType,SearchString2ID);
}

function ICOF_ChangeQuery(e,TextBoxID)
{
    var KeyCode;
    
    if(window.event)
        KeyCode = window.event.keyCode;     //IE
    else
        KeyCode = e.which;                  //FireFox
        
    if(KeyCode == 13)
        setCookie('T_Query',document.getElementById(TextBoxID).value);
}

function ICOF_ChangeQ(TextBoxID)
{
    setCookie('T_Query',document.getElementById(TextBoxID).value);
}

//Form Validate Function
function ValidateCrossSearch(SearchBoxID)
{
    if(document.getElementById(SearchBoxID).value.length == 0)
        alert('Please Enter a Valid Search Term');
}

function GoToWhatHappenedThatDay()
{
    var ddlYear_from = document.getElementById('ThisDayYear');
    var ddlMonth_From = document.getElementById('ThisDayMonth');
    var ddlDay_from = document.getElementById('ThisDayDay');
    
    if(ddlYear_from.selectedIndex > 0 && ddlMonth_From.selectedIndex > 0 && ddlDay_from.selectedIndex > 0)
    {
        var DateFrom = '';
        DateFrom = (ddlYear_from.options[ddlYear_from.selectedIndex].value) + '' + (ddlMonth_From.options[ddlMonth_From.selectedIndex].value) + '' + (ddlDay_from.options[ddlDay_from.selectedIndex].value);
        window.location = '/adv_search_result.aspx?whtd=' + DateFrom + '&DBType=WND';
    }
    else
        alert('Please Enter a complete date');
}

function FrmValidate(txtSearchString,ddlYear_from,ddlMonth_From,ddlDay_from,ddlYear_To,ddlMonth_To,ddlDay_To)
{
    var SearchString = document.getElementById(txtSearchString);
        
    ddlYear_from = document.getElementById(ddlYear_from);
    ddlMonth_From = document.getElementById(ddlMonth_From);
    ddlDay_from = document.getElementById(ddlDay_from);
    ddlYear_To = document.getElementById(ddlYear_To);
    ddlMonth_To = document.getElementById(ddlMonth_To);
    ddlDay_To = document.getElementById(ddlDay_To);
    
    var OptionalFromEmpty;
    var OptionalToEmpty;
    var DateError;
    var DateFrom;
    var DateTo;
    var dteNow = new Date();
    var intYear = dteNow.getFullYear();
    
    if (ddlYear_from.selectedIndex > 0)
    {
        DateFrom = ddlYear_from.options[ddlYear_from.selectedIndex].value;
        
        if (ddlMonth_From.selectedIndex == 0)
            DateFrom += '' + '01';
        else
            DateFrom += '' + ddlMonth_From.options[ddlMonth_From.selectedIndex].value;
        
        if (ddlDay_from.selectedIndex == 0)
            DateFrom += '' + '01';
        else
            DateFrom += '' + ddlDay_from.options[ddlDay_from.selectedIndex].value;

        if (ddlYear_To.selectedIndex == 0)
            DateTo = intYear;
        else
            DateTo = ddlYear_To.options[ddlYear_To.selectedIndex].value;
            
        if (ddlMonth_To.selectedIndex == 0)
            DateTo += '' + '12';
        else
            DateTo += '' + ddlMonth_To.options[ddlMonth_To.selectedIndex].value;

        if (ddlDay_To.selectedIndex == 0)
            DateTo += '' + '31';
        else
            DateTo += '' + ddlDay_To.options[ddlDay_To.selectedIndex].value;
    }
    else
    {
        DateFrom = '16000101';
        DateTo = (intYear + 1) + '1231';
        
        OptionalFromEmpty = (ddlYear_from.selectedIndex == 0 && ddlMonth_From.selectedIndex == 0 && ddlDay_from.selectedIndex == 0);
        OptionalToEmpty = (ddlYear_To.selectedIndex == 0 && ddlMonth_To.selectedIndex == 0 && ddlDay_To.selectedIndex == 0);
        DateError = (!OptionalToEmpty || !OptionalFromEmpty);
    }
    
    if(SearchString.value.length <= 0)
        alert('Please Enter a Valid Search Term');
    
    if (DateError)
        alert('Please Complete The Optional Date Range');
        
    if (DateFrom > DateTo)
    {
        alert('Invalid Date Range');
    }
}

//CheckBox Functions
function CheckBoxCookies(ID1,ID2,CookieName)
{
    if(document.getElementById(ID1).checked)
        setCookie(CookieName,'1',1);
    else
        setCookie(CookieName,'2',1);
}

//Cookie Functions
//Stolen From http://www.w3schools.com/JS/js_cookies.asp
function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function FindCookieValue(CookieName)
{
    var myCookies = document.cookie.split(";");
    var cookieValue = '';
    var perferedCookie;
    
    //Find out cookie value
    for(i = 0; i < myCookies.length; i++)
    {
        if(myCookies[i].indexOf(CookieName) >= 0)
        {
            perferedCookie = myCookies[i].split("=");
            cookieValue = perferedCookie[1];
        }
    }
    //End Cookie Code
    
    return cookieValue;
}

function HitSearchPageFromAlmanac(DBType,ClientID)
{
    var dteNow = new Date();
    var intYear = dteNow.getFullYear();
    var WA_Search = document.getElementById(ClientID);
    
    if(WA_Search.value.length > 0 && DBType.length > 0)
    {
        setCookie('T_Query',WA_Search.value);
        setCookie('DateFrom','16000101');
        setCookie('DateTo',(intYear + 1) + '1231');
        setCookie('SearchWith','1');
        setCookie('SortWith','1');
        window.location = "/" + DBType.toLowerCase() + "_search_result.aspx?Tab=4&FromAltPg=1&filter=1&SortBy=1&SortDir=DESC&FromSpecial=1";
    }
    else
    {
        alert('Please Enter A Valid Search Term');
    }
}

function HitSearchPageFromEncyclopdeia(DBType,SearchBoxID)
{
    var dteNow = new Date();
    var intYear = dteNow.getFullYear();
    var WAE_Search = document.getElementById(SearchBoxID);
    
    if(WAE_Search.value.length > 0 && DBType.length > 0)
    {
        setCookie('T_Query',WAE_Search.value);
        setCookie('DateFrom','16000101');
        setCookie('DateTo',(intYear + 1) + '1231');
        setCookie('SearchWith','1');
        setCookie('SortWith','1');
        window.location = "/" + DBType.toLowerCase() + "_search_result.aspx?Tab=4&FromAltPg=1&filter=2&SortBy=1&SortDir=DESC&FromSpecial=1";
    }
    else
    {
        alert('Please Enter A Valid Search Term');
    }
}

function HitSearchPageFromSciEncyclopdeia()
{
    var dteNow = new Date();
    var intYear = dteNow.getFullYear();
    var WAE_Search = document.getElementById('SearchStringWAE');
    
    if(WAE_Search.value.length > 0)
    {
        setCookie('T_Query',WAE_Search.value);
        setCookie('DateFrom','16000101');
        setCookie('DateTo',(intYear + 1) + '1231');
        setCookie('SearchWith','1');
        setCookie('SortWith','1');
        setCookie('DBType','TSOF');
        window.location = "/tsof_search_result.aspx?Tab=2&FromAltPg=1";
    }
    else
    {
        alert('Please Enter A Valid Search Term');
    }
}

function HitSearchPageFromSciEncyclopdeia_Enter(e)
{
    var KeyCode;
    
    if(window.event)
        KeyCode = window.event.keyCode;     //IE
    else
        KeyCode = e.which;                  //FireFox
        
    if(KeyCode == 13)
    {
        HitSearchPageFromSciEncyclopdeia();
    }
}

function HitSearchPageFromAlmanac_Enter(e,DBType,ClientID)
{
    var KeyCode;
    
    if(window.event)
        KeyCode = window.event.keyCode;     //IE
    else
        KeyCode = e.which;                  //FireFox
        
    if(KeyCode == 13)
    {
        HitSearchPageFromAlmanac(DBType,ClientID);
    }
}

function HitSearchPageFromEncyclopdeia_Enter(e,DBType,SearchBoxID)
{
    var KeyCode;
    
    if(window.event)
        KeyCode = window.event.keyCode;     //IE
    else
        KeyCode = e.which;                  //FireFox
        
    if(KeyCode == 13)
    {
        HitSearchPageFromEncyclopdeia(DBType,SearchBoxID);
    }
}

function resetSearchCookies(T_Query,DateFromID_M,DateFromID_D,DateFromID_Y,DateToID_M,DateToID_D,DateToID_Y,SearchWithID,SortWith,DBTYPE,wnd,icof,icah,tsof,ref)
{
    var OptionalFromEmpty;
    var OptionalToEmpty;
    var DateError;
    
    var chkTitleOnly = document.getElementById(SearchWithID).checked;
    var DateFromValue, DateToValue;
    
    //Find out what DBs we want to search
    var WantsWND = (document.getElementById(wnd).checked == true);
    var WantsICOF = (document.getElementById(icof).checked == true);
    var WantsICAH = (document.getElementById(icah).checked == true);
    var WantsTSOF = (document.getElementById(tsof).checked == true);
    var WantsREF = (document.getElementById(ref).checked == true);
    
    if(document.getElementById(DateFromID_Y).selectedIndex > 0)
    {
        var yFrom, dFrom, mFrom;
        var yTo, dTo, mTo;
        
        yFrom = document.getElementById(DateFromID_Y).options[document.getElementById(DateFromID_Y).selectedIndex].value;
        
        if(document.getElementById(DateFromID_M).selectedIndex > 0)
            mFrom = document.getElementById(DateFromID_M).options[document.getElementById(DateFromID_M).selectedIndex].value;
        else
            mFrom = '01';
        
        if(document.getElementById(DateFromID_D).selectedIndex > 0)
            dFrom = document.getElementById(DateFromID_D).options[document.getElementById(DateFromID_D).selectedIndex].value;
        else
            dFrom = '01';
        
        if(document.getElementById(DateToID_M).selectedIndex > 0)
            mTo = document.getElementById(DateToID_M).options[document.getElementById(DateToID_M).selectedIndex].value;
        else
            mTo = '12';
        
        if(document.getElementById(DateToID_D).selectedIndex > 0)
            dTo = document.getElementById(DateToID_D).options[document.getElementById(DateToID_D).selectedIndex].value;
        else
            dTo = '31';
        
        if(document.getElementById(DateToID_Y).selectedIndex > 0)
            yTo = document.getElementById(DateToID_Y).options[document.getElementById(DateToID_Y).selectedIndex].value;
        else
            yTo = document.getElementById(DateToID_Y).options[1].value;
        
        DateFromValue = yFrom + mFrom + dFrom;
        DateToValue = yTo + mTo + dTo;
    }
    else
    {
        var dteNow = new Date();
        var intYear = dteNow.getFullYear();

        DateFromValue = '16000101';
        DateToValue = (intYear + 1) + '1231';
        
        OptionalFromEmpty = (document.getElementById(DateFromID_Y).selectedIndex == 0 && document.getElementById(DateFromID_M).selectedIndex == 0 && document.getElementById(DateFromID_D).selectedIndex == 0);
        OptionalToEmpty = (document.getElementById(DateToID_Y).selectedIndex == 0 && document.getElementById(DateToID_M).selectedIndex == 0 && document.getElementById(DateToID_D).selectedIndex == 0);
        DateError = (!OptionalToEmpty || !OptionalFromEmpty);
    }
    
    var queryTerm = document.getElementById(T_Query).value;
    
    while(queryTerm.indexOf('"') > -1)
        queryTerm = queryTerm.replace('"','|');
    
    setCookie('T_Query',queryTerm);
    setCookie('DateFrom',DateFromValue);
    setCookie('DateTo',DateToValue);
    
    if(chkTitleOnly)
        setCookie('SearchWith','2');
    else
        setCookie('SearchWith','1');
    
    setCookie('SortWith',SortWith);
    setCookie('DBType',DBTYPE);
    
    if(WantsWND)
        setCookie('WantsWND','1');
    else
        setCookie('WantsWND','0');
    
    if(WantsICOF)
        setCookie('WantsICOF','1');
    else
        setCookie('WantsICOF','0');
    
    if(WantsICAH)
        setCookie('WantsICAH','1');
    else
        setCookie('WantsICAH','0');
    
    if(WantsTSOF)
        setCookie('WantsTSOF','1');
    else
        setCookie('WantsTSOF','0');
    
    if(WantsREF)
        setCookie('WantsREF','1');
    else
        setCookie('WantsREF','0');
    
    if (DateError)
        alert('Please Complete The Optional Date Range');
    else
        window.location = "/adv_search_result.aspx?FromHistory=1";
}

function GoToAdvancedSearch(DBType,SearchString2ID)
{
    var OptionalFromEmpty;
    var OptionalToEmpty;
    var DateError;
    var BadDateRange = false;
    
    var chkTitleOnly = document.getElementById('chkSearchTitle2').checked;
    var chkSortByRank = document.getElementById('ctl00_Content_Feature_chkRank2').checked;
    var DateFromValue, DateToValue;
    
    //Find out what DBs we want to search
    var WantsWND;
    var WantsICOF;
    var WantsICAH;
    var WantsTSOF;
    var WantsREF;
    
    if(document.getElementById('ctl00_Content_Feature_chkSearchWND') != undefined)
        WantsWND = (document.getElementById('ctl00_Content_Feature_chkSearchWND').checked == true);
    else
        WantsWND = false;
    
    if(document.getElementById('ctl00_Content_Feature_chkSearchICOF') != undefined)
        WantsICOF = (document.getElementById('ctl00_Content_Feature_chkSearchICOF').checked == true);
    else
        WantsICOF = false;
    
    if(document.getElementById('ctl00_Content_Feature_chkSearchICAH') != undefined)
        WantsICAH = (document.getElementById('ctl00_Content_Feature_chkSearchICAH').checked == true);
    else
        WantsICAH = false;
    
    if(document.getElementById('ctl00_Content_Feature_chkSearchTSOF') != undefined)
        WantsTSOF = (document.getElementById('ctl00_Content_Feature_chkSearchTSOF').checked == true);
    else
        WantsTSOF = false;
    
    if(document.getElementById('ctl00_Content_Feature_chkSearchREF') != undefined)    
        WantsREF = (document.getElementById('ctl00_Content_Feature_chkSearchREF').checked == true);
    else
        WantsREF = false;
    
    if(document.getElementById('AdvYearFrom').selectedIndex > 0)
    {
        var yFrom, dFrom, mFrom;
        var yTo, dTo, mTo;
        
        yFrom = document.getElementById('AdvYearFrom').options[document.getElementById('AdvYearFrom').selectedIndex].value;
        
        if(document.getElementById('AdvMonthFrom').selectedIndex > 0)
            mFrom = document.getElementById('AdvMonthFrom').options[document.getElementById('AdvMonthFrom').selectedIndex].value;
        else
            mFrom = '01';
        
        if(document.getElementById('AdvDayFrom').selectedIndex > 0)
            dFrom = document.getElementById('AdvDayFrom').options[document.getElementById('AdvDayFrom').selectedIndex].value;
        else
            dFrom = '01';
        
        if(document.getElementById('AdvMonthTo').selectedIndex > 0)
            mTo = document.getElementById('AdvMonthTo').options[document.getElementById('AdvMonthTo').selectedIndex].value;
        else
            mTo = '12';
        
        if(document.getElementById('AdvDayTo').selectedIndex > 0)
            dTo = document.getElementById('AdvDayTo').options[document.getElementById('AdvDayTo').selectedIndex].value;
        else
            dTo = '31';
        
        if(document.getElementById('AdvYearTo').selectedIndex > 0)
            yTo = document.getElementById('AdvYearTo').options[document.getElementById('AdvYearTo').selectedIndex].value;
        else
            yTo = document.getElementById('AdvYearTo').options[1].value;
        
        DateFromValue = yFrom + mFrom + dFrom;
        DateToValue = yTo + mTo + dTo;
        
        document.getElementById('AdvYearFrom').value = yFrom;
        document.getElementById('AdvMonthFrom').value = mFrom;
        document.getElementById('AdvDayFrom').value = dFrom;
        
        document.getElementById('AdvDayTo').value = dTo;
        document.getElementById('AdvMonthTo').value = mTo;
        document.getElementById('AdvYearTo').value = yTo;
    }
    else
    {
        var dteNow = new Date();
        var intYear = dteNow.getFullYear();

        DateFromValue = '16000101';
        DateToValue = (intYear + 1) + '1231';
        
        OptionalFromEmpty = (document.getElementById('AdvYearFrom').selectedIndex == 0 && document.getElementById('AdvMonthFrom').selectedIndex == 0 && document.getElementById('AdvDayFrom').selectedIndex == 0);
        OptionalToEmpty = (document.getElementById('AdvYearTo').selectedIndex == 0 && document.getElementById('AdvMonthTo').selectedIndex == 0 && document.getElementById('AdvDayTo').selectedIndex == 0);
        DateError = (!OptionalToEmpty || !OptionalFromEmpty);
    }
    
    var queryTerm = document.getElementById(SearchString2ID).value;
    
    while(queryTerm.indexOf('"') > -1)
        queryTerm = queryTerm.replace('"','|');
    
    setCookie('T_Query',queryTerm);
    setCookie('DateFrom',DateFromValue);
    setCookie('DateTo',DateToValue);
    
    if(chkTitleOnly)
        setCookie('SearchWith','2',1);
    else
        setCookie('SearchWith','1',1);
    
    if(chkSortByRank)
        setCookie('SortWith','1',1);
    else
        setCookie('SortWith','2',1);
    
    if(WantsWND)
        setCookie('WantsWND','1');
    else
        setCookie('WantsWND','0');
    
    if(WantsICOF)
        setCookie('WantsICOF','1');
    else
        setCookie('WantsICOF','0');
    
    if(WantsICAH)
        setCookie('WantsICAH','1');
    else
        setCookie('WantsICAH','0');
    
    if(WantsTSOF)
        setCookie('WantsTSOF','1');
    else
        setCookie('WantsTSOF','0');
    
    if(WantsREF)
        setCookie('WantsREF','1');
    else
        setCookie('WantsREF','0');
        
    if (DateFromValue > DateToValue)
    {
        BadDateRange = true;
    }
    
    if (DateError)
        alert('Please Complete The Optional Date Range');
    else if(queryTerm.length == 0)
        alert('Please enter a valid search term');
    else if(BadDateRange)
        alert('Invalid Date Range');
    else
        window.location = "/adv_search_result.aspx?DBType=" + DBType;
}

function countrySearch(country)
{
    var dteNow = new Date();
    var intYear = dteNow.getFullYear();
        
    setCookie('T_Query',country);
    setCookie('DateFrom','16000101');
    setCookie('DateTo',(intYear + 1) + '1231');
    setCookie('SearchWith','2');
    setCookie('SortWith','2');
    setCookie('DBType','WND');
    window.location = "/wnd_search_result.aspx";
}

//Save to folder log out
function LogOff()
{
    setCookie('SaveToFolder_Name','');
    //Force a postback
    var URL = window.location.toString();
    URL = URL.replace('SaveToFolderMsg=' + QueryString('SaveToFolderMsg'),'');
    URL = URL.replace('&SaveToFolderMsg=' + QueryString('SaveToFolderMsg'),'');
    URL = URL.replace('?SaveToFolderMsg=' + QueryString('SaveToFolderMsg'),'');
    URL = URL.replace('#','');
    window.location = URL;
    
    //document.getElementById('ctl00_lblGuest').innerHTML = 'Guest';
    //document.getElementById('ctl00_SaveToFolderLoginLink').innerHTML = 'Folder Sign-In';
}

//Save To Folder Add Item
function SaveItem(ItemID,ProductID)
{
    var DBType;
    
    if(ProductID == 1)
        DBType = 'WND';
    else if(ProductID == 2)
        DBType = 'ICOF';
    else if(ProductID == 3)
        DBType = 'ICAH';
    else
        DBType = 'TSOF';
        
    //var Icon = document.getElementById('Folder_Icon').src = '../../Images/' + DBType + '_Folder_add.gif';
    
    {
        new Ajax.Request
        (
            'AJAX_Functions.aspx', 	
            {
                method: 'get',
                parameters:'r=' + Math.random() + '&function=save&pin=' + ItemID + '&CurrProductID=' + ProductID,
                onSuccess:FuncErr,
                onFailure:FuncErr
            }
        );
    }
}

//Save to folder remove item
function RemoveItem(ItemID,ProductID)
{
    {
        new Ajax.Request
        (
            'AJAX_Functions.aspx', 	
            {
                method: 'get',
                parameters:'r=' + Math.random() + '&function=remove&pin=' + ItemID + '&CurrProductID=' + ProductID,
                onSuccess:ResetFolderPage,
                onFailure:FuncErr
            }
        );
    }
}

function QueryString(ISBN) { 
    var loc = location.search.substring(1, location.search.length);
    var param_value = false;

      var params = loc.split("&");
    for (i=0; i<params.length;i++) {
          param_name = params[i].substring(0,params[i].indexOf('='));
          if (param_name == ISBN) {
              param_value = params[i].substring(params[i].indexOf('=')+1)
          }
    }
  
    if (param_value) {
        return param_value;
      }
    else 
    {
        return false; //Here determine return if no parameter is found
    }
}

//Emailing
function ValidateEmail(email)
{
    AtPos = email.indexOf("@");
    StopPos = email.lastIndexOf(".");
    
    if (AtPos == -1 || StopPos == -1)
        return false;
    else
        return true;
}

function SendEmail(To,Pin,Message)
{
    var ToBox = document.getElementById(To);
    var MsgBox = document.getElementById(Message);
    
    if(!ValidateEmail(ToBox.value))
    {
        alert('Invalid Email');
        return false;
    }
    
    {
        new Ajax.Request
        (
            'AJAX_Functions.aspx?r=' + Math.random() + '&function=email&To=' + ToBox.value + '&Msg=' + escape(MsgBox.value) + '&PIN=' + Pin,
            {
                method: 'post',
                parameters:'',
                onSuccess:GoToEmailFinish,
                onFailure:FuncErr
            }
        );
    }
}

//AJAX Replies
function GoToNewArticle(t)
{
    var nextUrl = t.responseText;
    var AtPopup = (window.location.toString().indexOf("Popup") > 1);
    
    if(!AtPopup)
    {
        if(nextUrl.indexOf('Popup') > 0)
            window.open(nextUrl,'Popup','height=450,width=680,scrollbars=1,resizable=0');
        else
            window.location = nextUrl;
    }
    else
        window.location = nextUrl;
}

function ResetFolderPage(t)
{
    window.location = window.location;
}

function GoToEmailFinish(t)
{
    var email = t.responseText;
    
    if(email != "Failed")
        window.open('/Emailer_Completed.aspx?email=' + escape(email) + '&DBType=' + QueryString('DBType'));
    else
        alert(email);
}

function FuncErr()
{
    return false;
}