// $Id: search.js 3247 2008-11-13 17:27:59Z alexd $

//added by Steve Lo on3/3/2009
function UltimateCourseID()
 {
  var textBox = document.getElementById("txtCourseID");
  
  var RedirectURL = "http://testprep.princetonreview.com/coursefinder/search.asp?productType=C&rid=2&courseId=" + textBox.value; 
  document.forms[0].action = RedirectURL;
   window.location=RedirectURL;
   
  return true;
 }
function advanceSearch(testprepServer) {
    advanceF = testprepServer + "/CourseFinder/AdvancedSearch.asp";
    window.location = advanceF;
}

function topSearch(testprepServer){
    var search = document.getElementById("SearchFor").value;    
    if (search == "schools")
    {
		keyword = document.getElementById("txtFindColleges_keyword").value;
//		if (keyword.length < 3 || keyword.trim() == '')
//		{
//		    alert('Search keyword should be non blank with 3 characters min!');
//		    return false;
//		}
		window.location = "/Search.aspx?search=" +   search + "&keyword=" + keyword;
    }
    else if (search == "site")
    {
		keyword = document.getElementById("txtFindSite_keyword").value;
//		if (keyword.length < 3 || keyword.trim() == '')
//		{
//		    alert('Search keyword should be non blank with 3 characters min!');
//		    return false;
//		}
		window.location = "/SiteSearch.aspx?search=" + search + "&keyword=" + keyword;
    }
    else
    {
		ctrl = document.getElementById("cboFindCourse_options");
		idx = ctrl.selectedIndex
		itemCode = ctrl.options[idx].value;
		if (itemCode == "MORE")
		{
		        advanceSearch(testprepServer);
		        return;
		}
		zipcode = document.getElementById("txtFindCourse_keyword").value;
		sendCourseFinder(itemCode, zipcode, testprepServer);
    }
}

function sendCourseFinder(itemCode, zipcode,testprepServer)
{
    courseF = testprepServer + "/coursefinder/Search.asp?productType=C"+
        "&rid=1&Zip="+zipcode+"&itemCode="+itemCode;
    if(validateBasic(itemCode, zipcode))
    {
        window.location=courseF;
    }
}

function collegeSearch() {
	var search = htmlEncode(document.getElementById('txtCollegeSearch_keyword').value);
	window.location = "/Search.aspx?search=schools" + "&keyword=" + search;
}

function setSearchType(type) {
    document.getElementById("SearchFor").value = type;
}
/* utility functions--should be moved to separate file */
function htmlEncode(s) {
    var str = new String(s);
    str = str.replace(/&/g, "");
    str = str.replace(/</g, "");
    str = str.replace(/>/g, "");
    str = str.replace(/"/g, "");
    return str;
}


function zipValid(aZip) 
{
	if (aZip == "Zip/Postal Code") {
		alert("Please enter full zip code (should be at least 5 characters long)");
		return false;
	}
	
	if (aZip.length < 5) {
		alert("Please enter full zip code (should be at least 5 characters long)");
		return false;
	}
	if (aZip.length > 7) {
		alert("Zip/Postal code can not be greater than 7 characters long");
		return false;
	}
	if (!isAlphaNumeric(aZip)) {
		alert("Please enter full zip code (should contain only alpha-numeric characters)");
		return false;
	}
	needsValidation = false;
	return true;			
}

function optionValid(aOption)
{
	if (aOption == "")
	{
		alert("Please select a test type");
		return false;
	}
	return true;
}

function validateBasic(itemCode, zipcode) 
{
	if (!optionValid(itemCode)) return false;
	if (!zipValid(zipcode)) return false;
	return true;
}

function clearDefault()
{
	if (document.getElementById("txtFindCourse_keyword").value == "Enter Zip/Postal Code")
	 document.getElementById("txtFindCourse_keyword").value = "";
}

function isAlphaNumeric(aString) 
{
	var s = aString.toUpperCase();
	var ch;
	for (var i = 0; i < s.length; i++) 
	{
		ch = s.charAt(i);
		if (!((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch == ' '))) 
		{
			return false;
		}
	}
	return true;		
}

function setInitialSearch() {
	var courseTab = document.getElementById("tabCourseSearch");
	var schoolTab = document.getElementById("tabSchoolSearch");
	var siteTab   = document.getElementById("tabSiteSearch");
	
    //Now SchoolTab will always be active Tab
    if (bestTabNo == '1') {  //tabCourseSearch	    
            changeClass(schoolTab,"tab");
	        changeClass(courseTab,"first tab active");
	        changeClass(siteTab,"tab");
	        document.getElementById("SearchFor").value = "course";
    } else if (bestTabNo == '2') {//tabSchoolSearch
            changeClass(schoolTab,"tab active");
	        changeClass(courseTab,"first tab");
	        changeClass(siteTab,"tab");
	        document.getElementById("SearchFor").value = "schools";
	} else if (bestTabNo == '3') {//tabSiteSearch
            changeClass(schoolTab,"tab");
	        changeClass(courseTab,"first tab");
	        changeClass(siteTab,"tab active");
	        document.getElementById("SearchFor").value = "site";
	} else { 
	
	        //debugger;
	        var urlPieces = parseUri(window.location.href); 
	        var activeTab = document.getElementById("ctl00_SearchBox_hidUrl").value;
	        
 
	        //var urlPieces = parseUri(window.location.hostname + '/' + window.document.forms[0].action);
	        
//	        alert("activeTab: " + activeTab);
//            alert("directoryPath: " + urlPieces["directoryPath"]);
//            alert("fileName: " + urlPieces["fileName"]);
            if(activeTab=="" || activeTab==null || !activeTab.match("/testprep.aspx"))
            {            
	            if (urlPieces["fileName"].toLowerCase()  == "schoollist.aspx" || urlPieces["fileName"].toLowerCase() == "search.aspx" || urlPieces["fileName"].toLowerCase() == "yourstuff.aspx" || urlPieces["directoryPath"].match("/schools/") || urlPieces["fileName"].match("schools-programs") || urlPieces["fileName"].match("colleges-majors") || urlPieces["fileName"].toLowerCase()=="com.aspx" || urlPieces["fileName"].toLowerCase()=="comresults.aspx" || urlPieces["fileName"].toLowerCase()=="majors.aspx" || urlPieces["fileName"].toLowerCase()=="gradprograms.aspx" || urlPieces["fileName"].match("rankings") || urlPieces["fileName"].toLowerCase()=="schoollist.aspx" || activeTab.match("/schools/")) {
		            changeClass(schoolTab,"tab active");
		            changeClass(courseTab,"first tab");
		            changeClass(siteTab,"tab");
		            document.getElementById("SearchFor").value = "schools";
	            } else if ( urlPieces["fileName"].toLowerCase() == "testprep.aspx" || urlPieces["fileName"].toLowerCase() == "default.aspx" ) {
		            changeClass(schoolTab,"tab");
		            changeClass(courseTab,"first tab active");
		            changeClass(siteTab,"tab");
		            document.getElementById("SearchFor").value = "course";
	            } else {
		            changeClass(schoolTab,"tab");
		            changeClass(courseTab,"first tab");
		            changeClass(siteTab,"tab active");
		            document.getElementById("SearchFor").value = "site";
	            }
	        } 
	        else
	        {
	            if(activeTab=="course")
	            {
	                changeClass(schoolTab,"tab");
	                changeClass(courseTab,"first tab active");
	                changeClass(siteTab,"tab");
	                document.getElementById("SearchFor").value = "course";
	            }
	        }    
	}
}