
function changeImage(src, alt){
    //Changes src and alt tag of image
    $("image").src = src;
    $("image").alt = alt;
    $("image").style.width = "";
    $("image").style.height = "";
    if($("image").width >= $("image").height && $("image").width >= 150){
        $("image").style.width = 150;
    }else if($("image").height >= $("image").width && $("image").height >= 150){
        $("image").style.height = 150;
    } 
}

function Checks(selector, checkValue){
    var inputs = document.getElementsByTagName('input');
    var checkboxOptions = [];
    if(selector == "CMETier1"){
        for(var i=0;i<inputs.length;i++){  
            if(inputs.item(i).getAttribute('name') == 'CMETier1' ){
                inputs.item(i).checked = checkValue;
            }
        }
    }
}
function selectAll(taxonomy){
    Checks(taxonomy,true);
}
function unSelectAll(taxonomy){
    Checks(taxonomy,false);
}
function selectUnselectTier(Tier, Taxonomy){
    if(Tier.checked){
        selectAll(Taxonomy);
    }else{
        unSelectAll(Taxonomy);
    }
}

function validateForm(){
	var strErrors = "";
	var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    //Check the date after date 
	if((document.submitform.CMEFindAfterDate.value != "") && !(document.submitform.CMEFindAfterDate.value.match(RegExPattern))){
		strErrors = strErrors + "Your start date must be a valid date in the form mm/dd/yyyy - 1/2/2007 will not work. \n";
	}
	//Check the before date
	if((document.submitform.CMEFindBeforeDate.value != "") && !(document.submitform.CMEFindBeforeDate.value.match(RegExPattern))){
		strErrors = strErrors + "Your end date must be a valid date in the form mm/dd/yyyy - 1/2/2007 will not work. \n";
	}
	if((document.submitform.CMEFindBeforeDate.value == "") && (document.submitform.CMEFindAfterDate.value == "")){
	    strErrors = strErrors + "You must have either a starting date or an ending date or both. \n";
	}
	//Check that at least one event type is checked
	if(!$("Fairs").checked && !$("Museums").checked && !$("Music").checked && !$("Other").checked){
	    strErrors = strErrors + "You must have at least one event type checked.\n";
	}
	//Check that at least one region type is checked
	if(!$("central").checked && !$("northeast").checked && !$("northwest").checked && !$("southeast").checked && !$("southwest").checked && !$("borderland").checked){
	    strErrors = strErrors + "You must have at least one region type checked.\n";
	}
	
	if(strErrors == ""){
	    createCookie("CMEFindAfterDate", document.submitform.FindAfterDate.value,365);
	    createCookie("CMEFindBeforeDate", document.submitform.FindBeforeDate.value,365);
	    createCookie("CMEDateRange", document.submitform.selectDay.value,365);
	    var eventType = "";
	    if($("Fairs").checked){eventType=eventType+"Fairs/Festivals";}
	    if($("Museums").checked){if(eventType!=""){eventType=eventType+',';}eventType=eventType+'Museums/Galleries';}
	    if($("Music").checked){if(eventType!=""){eventType=eventType+',';}eventType=eventType+'Music/Theater';}
	    if($("Other").checked){if(eventType!=""){eventType=eventType+',';}eventType=eventType+'OtherEvents';}
	    if(eventType == "Fairs/Festivals,Museums/Galleries,Music/Theater,OtherEvents"){createCookie("CMEAllEventType","1",365);}else{createCookie("CMEAllEventType","",365);}
	    var regionType = "";
	    if($("central").checked){regionType=regionType+"Central";}
	    if($("northeast").checked){if(regionType!="")regionType=regionType+',';regionType=regionType+'Northeast';}
	    if($("northwest").checked){if(regionType!="")regionType=regionType+',';regionType=regionType+'Northwest';}
	    if($("southeast").checked){if(regionType!="")regionType=regionType+',';regionType=regionType+'Southeast';}
	    if($("southwest").checked){if(regionType!="")regionType=regionType+',';regionType=regionType+'Southwest';}
	    if($("borderland").checked){if(regionType!="")regionType=regionType+',';regionType=regionType+'Borderland';}
        if(regionType == "Central,Northeast,Northwest,Southeast,Southwest,Borderland"){createCookie("CMEAllRegionType","1",365);}else{createCookie("CMEAllRegionType","",365);}
	    createCookie("CMETier2", regionType,365);
	    createCookie("CMETier1", eventType,365);
	    

		
	    //Saves keyword only if user specifies that he wants it, otherwise empties any existing keyword cookies.
	    if(getCheckedValue(document.submitform.Keywords) == "Yes"){
	        createCookie("CMEKeywords", "Y",365);
	        createCookie("CMEQuery1", document.submitform.CMEQuery1.value.replace(/ /g,"%20") ,365);
	        createCookie("CMEContainsOption", document.submitform.CMEContainsOption.value,365);
	        createCookie("CMESearchType", document.submitform.CMESearchType.value,365);
	    }else{
	        createCookie("CMEKeywords", "",365);
	        createCookie("CMEQuery1", "",365);
	        createCookie("CMEContainsOption", "",365);
	        createCookie("CMESearchType", "",365);
	    }
	    return true;
	}
	else{
		alert(strErrors);
		return false;
	}
}

function createCookie(name,value,days) {
    if (days) {
	    var date = new Date();
	    date.setTime(date.getTime()+(days*24*60*60*1000));
	    var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
    if(!radioObj)
	    return "";
    var radioLength = radioObj.length;
    if(radioLength == undefined)
	    if(radioObj.checked)
		    return radioObj.value;
	    else
		    return "";
    for(var i = 0; i < radioLength; i++) {
	    if(radioObj[i].checked) {
		    return radioObj[i].value;
	    }
    }
    return "";
}

function setDateBeforeAndAfter(day){
    var d = new Date();
    if(day == "today"){
        document.getElementsByName("CMEFindAfterDate")[0].value = formatDate(d);
        document.getElementsByName("CMEFindBeforeDate")[0].value = formatDate(d);
    }else if(day == "tomorrow"){
        d.setDate(d.getDate() + 1)
        document.getElementsByName("CMEFindAfterDate")[0].value = formatDate(d);
        document.getElementsByName("CMEFindBeforeDate")[0].value = formatDate(d);
    }else{ //Weekend
        if(d.getDay() == 0){
            document.getElementsByName("CMEFindAfterDate")[0].value = formatDate(d);
            document.getElementsByName("CMEFindBeforeDate")[0].value = formatDate(d);
        }
        else if(d.getDay() < 5){
            d.setDate(d.getDate() + (5 - d.getDay()));
            document.getElementsByName("CMEFindAfterDate")[0].value = formatDate(d);
            d.setDate(d.getDate()+2);
            document.getElementsByName("CMEFindBeforeDate")[0].value = formatDate(d);
        }
        else if(d.getDay() == 5){
            document.getElementsByName("CMEFindAfterDate")[0].value = formatDate(d);
            d.setDate(d.getDate()+2);
            document.getElementsByName("CMEFindBeforeDate")[0].value = formatDate(d);
        }
        else {
            document.getElementsByName("CMEFindAfterDate")[0].value = formatDate(d);
            d.setDate(d.getDate() + 1);
            document.getElementsByName("CMEFindBeforeDate")[0].value = formatDate(d);
        }
    }
}

function formatDate(date){
    var strMonth = "", strDay = "";
    var month = date.getMonth() + 1;
    var day = date.getDate();
    if(day < 10){strDay = "0" + day;}else{strDay = "" + day;}
    if(month < 10){
        strMonth = "0" + month;
    }else{
        strMonth = "" + month;
    }
    return(strMonth + "/" + strDay + "/" + date.getFullYear());
}
                                
                              
function toggleRegions(){
    if(!$("Select All Regions").checked){
        $("central").checked = false;
        $("northeast").checked = false;
        $("northwest").checked = false;
        $("southwest").checked = false;
        $("southeast").checked = false;
        $("borderland").checked = false;
    }else{
        $("central").checked = true;
        $("northeast").checked = true;
        $("northwest").checked = true;
        $("southwest").checked = true;
        $("southeast").checked = true;
        $("borderland").checked = true;
    }
}
                    
function togglechecked(id){
    if($(id).checked){
        $(id).checked = false;
    }else{
        $(id).checked = true;
    }
}
function toggleKeywordDisable(str){
    if(str=="enable"){
        $('contains').disabled = false;
        $('query').disabled = false;
        $('searchType').disabled = false;
    }else{
        $('contains').disabled = true;
        $('query').disabled = true;
        $('searchType').disabled = true;
    }
}
    
function toggleEvents(){
    if(!$("Select All Events").checked){
        $("Fairs").checked = false;
        $("Museums").checked = false;
        $("Music").checked = false;
        $("Other").checked = false;
    }else{
        $("Fairs").checked = true;
        $("Museums").checked = true;
        $("Music").checked = true;
        $("Other").checked = true;
    }
}
