﻿// <copyright file="ArchiveSearch.js" company="BioCentury Publications Inc."> 
// All contents Copyright © 2005-2009 BioCentury Publications, Inc. ALL RIGHTS RESERVED
// 
// http://www.biocentury.com 
// </copyright>
var allCheckboxes;

function biocPageLoad()
{
    getAllCheckBoxes();
    var hiddenRestore = document.getElementById('ctl00_ContentPlaceHolder1_restoreCheckboxes');
    if (hiddenRestore == null)
    {
        return;
    }
    var restoreValues = hiddenRestore.value;
    if (isEmpty(restoreValues))
    {
        return;
    }
    uncheckAll();
    checkRestoreValues(restoreValues);
}

function checkRestoreValues(restoreValues)
{
    var listToRestore = restoreValues.split(',');
    for(var i=0; i<listToRestore.length; i++)
    {
        var element = getElement(listToRestore[i]);
        if (element != null)
        {
            element.checked = true;
        }
    }
}

function getElement(myStr)
{
    if (document.getElementById(myStr))
        return document.getElementById(myStr);
    if (document.getElementById('ctl00_ContentPlaceHolder1_pubs_'+myStr))//(isNaN(myStr))
    {
        return document.getElementById('ctl00_ContentPlaceHolder1_pubs_'+myStr);
    }
    for(var i=0; i<allCheckboxes.length; i++)
    {
        if (allCheckboxes[i].value == myStr)
        {
            return allCheckboxes[i];
        }
    }
    return null;
}

function isEmpty(myStr)
{
    if (myStr == '' || myStr == ',')
    {
        return true;
    }
    else
    {
        return false;
    }
}

function uncheckAll()
{
    for(i=0; i<allCheckboxes.length; i++)
    {
        allCheckboxes[i].checked = false;    
    }  
}

function getAllCheckBoxes()
{
    allCheckboxes = new Array();
    var listCheckboxes = document.getElementsByTagName('input');
    for(var i=0; i<listCheckboxes.length; i++)
    {
        if (listCheckboxes[i].type != "checkbox")
        {
            continue;
        }
        allCheckboxes.push(listCheckboxes[i]);
    }
}

/*function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}*/

function verifyInput()
{
    /*if (
        document.getElementById("ctl00_ContentPlaceHolder1_allWords").value.trim() == "" &&
        document.getElementById("ctl00_ContentPlaceHolder1_exactPhrase").value.trim() == "" &&
        document.getElementById("ctl00_ContentPlaceHolder1_atLeastOneOfTheWords").value.trim() == "" &&
        document.getElementById("ctl00_ContentPlaceHolder1_noneOfTheWords").value.trim() == ""
    )
    {
        window.alert('Please enter at least one search term');
        return false;
    }*/
    if (document.getElementById("ctl00_ContentPlaceHolder1_allWords").value.trim() == "*")
    {
        window.alert('* alone is not allowed');
        return false;
    }
    try
    {
        if (document.getElementById("ctl00_ContentPlaceHolder1_ctl01_exactPhrase").value.trim() == "*" ||
            document.getElementById("ctl00_ContentPlaceHolder1_ctl01_atLeastOneOfTheWords").value.trim() == "*" ||
            document.getElementById("ctl00_ContentPlaceHolder1_ctl01_noneOfTheWords").value.trim() == "*"
        )
        {
            window.alert('* alone is not allowed');
            return false;
        }
    }
    catch(e){}
    //check length
    if (document.getElementById("ctl00_ContentPlaceHolder1_allWords").value.length > 512 ||
         document.getElementById("ctl00_ContentPlaceHolder1_ctl01_exactPhrase").value.length > 512 ||
         document.getElementById("ctl00_ContentPlaceHolder1_ctl01_atLeastOneOfTheWords").value.length > 512 ||
         document.getElementById("ctl00_ContentPlaceHolder1_ctl01_noneOfTheWords").value.length > 512)
    {
        if (!confirm('Your search term exceeds the maximum allowed length and will be truncated. Would you still like to continue?'))
            return false;
        else
        {
            document.getElementById("ctl00_ContentPlaceHolder1_allWords").value = getMax512(document.getElementById("ctl00_ContentPlaceHolder1_allWords").value);
            document.getElementById("ctl00_ContentPlaceHolder1_ctl01_exactPhrase").value = getMax512(document.getElementById("ctl00_ContentPlaceHolder1_ctl01_exactPhrase").value);
            document.getElementById("ctl00_ContentPlaceHolder1_ctl01_atLeastOneOfTheWords").value = getMax512(document.getElementById("ctl00_ContentPlaceHolder1_ctl01_atLeastOneOfTheWords").value);
            document.getElementById("ctl00_ContentPlaceHolder1_ctl01_noneOfTheWords").value = getMax512(document.getElementById("ctl00_ContentPlaceHolder1_ctl01_noneOfTheWords").value);
        }
    }
    
    var someCollectionsAreChecked = false;
    for(var i=0; i<collections.length; i++)
    {
        if (document.getElementById('ctl00_ContentPlaceHolder1_pubs_' + collections[i]).checked)
        {
            someCollectionsAreChecked = true;
            break;
        }
    }
    if (!someCollectionsAreChecked)
    {
        window.alert('Please select at least one collection');
        return false;
    }
    
    
    
    var someYearsAreChecked = false;
    var dateNow = new Date();
    var yearNow = dateNow.getFullYear();
    var maxIter = yearNow + 1 - 1993; //1993 is the first year for archives
    for(var i=1; i<=maxIter; i++)
    {
        var yearCheckBox = document.getElementById("ctl00_ContentPlaceHolder1_yearBox" + i);
        if (yearCheckBox != null && yearCheckBox.checked == true)
        {
            someYearsAreChecked = true;
        }
    }
    someYearsAreChecked = someYearsAreChecked || document.getElementById("ctl00_ContentPlaceHolder1_allYears").checked || document.getElementById("ctl00_ContentPlaceHolder1_twoYears").checked;
    if (!someYearsAreChecked)
    {
        if (document.getElementById('ctl00_ContentPlaceHolder1_rbYears').checked)
        {
            window.alert('Please select at least one year');
            return false; 
        }   
        /*else
        {
            document.getElementById("ctl00_ContentPlaceHolder1_allYears").checked = true;
             for(var i=1; i<=maxIter; i++)
             {
                var yearCheckBox = document.getElementById("yearBox" + i);
                yearCheckBox.checked = true;
             }
        }*/
    }
    
	GetAllCheckedCheboxes('ctl00_ContentPlaceHolder1_pubs_', true);   
    return true;
}

function getMax512(text)
{
    var result = text;
    if (text.length > 512)
    {
        result = result.substring(0,512);
        if (text[512] != " " && text[513] != " ")
            result = result.substring(0,result.lastIndexOf(" "));
    }
    return result;
}

function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    var cookie =c_name+ "=" +escape(value)
    if (expiredays != null)
        cookie += ";expires=" + exdate.toGMTString();
    document.cookie = cookie+";path=/";
}

function getCookie(c_name)
{
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return null;
}



