function frminit(){	
    document.frmsearch.reset();
	var prevSearch 	= getCookie("MH-articleAdvancedSearch");
	if (prevSearch != null){
		loadPrevSearch(prevSearch);
		deleteCookie('MH-articleAdvancedSearch', '', '');
	}
}
function loadPrevSearch(args){
	var formObj		= document.frmsearch;
	var arParams	= args.split("^");
	var val			= "";	
	for (a = 0; a < arParams.length; a++){
		val = arParams[a].split("=");
		val1 = unescape(val[1]);	
		if (val1 != ""){ 
			switch(val[0])
			{
				//case "kw" : 
					//formObj.kw.value = val1;
					//continue;
				case "pa" : 
					formObj.pa.value = val1;
					continue;
				case "ig" : 
					formObj.ig.value = val1;
					continue;
				/*case "wr" : 
					formObj.wr.value = val1;
					continue;*/
	            case "dt":
	                prevSelected(val1, formObj.docType);
	                continue;
				case "k2" : 
					formObj.k2.value = val1;
					continue;
				case "fn" : 
					formObj.fn.value = val1;
					continue;
				case "ln" : 
					formObj.ln.value = val1;
					continue;
				case "nm" : 
					formObj.nm.value = val1;
					continue;
				case "st" : 
					formObj.st.value = val1;
					continue;
				case "cr" : 
					formObj.cr.value = val1;
					continue;
				case "fm" : 
					formObj.fm.value = val1;
					continue;
				case "fd" : 
					formObj.fd.value = val1;
					continue;
				case "fy" : 
					formObj.fy.value = val1;
					continue;
				case "tm" : 
					formObj.tm.value = val1;
					continue;
				case "td" : 
					formObj.td.value = val1;
					continue;
				case "ty" : 
					formObj.ty.value = val1;
					continue;
				default : 
					continue;
			}	
		}	
	}
}
function last3months(){
    var formObj		= document.frmsearch;
    var today =new Date();
	var thisYear = today.getFullYear();
	var thisMonth = today.getMonth() + 1;
	var thisDay = today.getDate();
	if (thisMonth > 3){
	    thisMonth = (thisMonth - 3);
	}else{
	    thisYear = thisYear - 1;
	    thisMonth = thisMonth + 9;
	}
	formObj.fy.value = thisYear;
	formObj.fm.value = thisMonth;
	formObj.fd.value = thisDay;
	doAdvancedSearch();
}
function doAdvancedSearch(){
    var formObj		= document.frmsearch;
	//replaceDiacriticals(formObj.kw);
	replaceDiacriticals(formObj.k2);
	replaceDiacriticals(formObj.fn);
	replaceDiacriticals(formObj.ln);
	replaceDiacriticals(formObj.nm);
	
	//var practiceAreaKeyword = trimString(formObj.kw.value);
	//var practiceArea        = formObj.pa.value;
	//var industry            = formObj.ig.value;	
	var searchForKeyword    = trimString(formObj.k2.value);	
	var firstName 	= trimString(formObj.fn.value);
	if (!(checkWildCard(firstName))){
		return;
	}
	var lastName 	= trimString(formObj.ln.value);
	if (!(checkWildCard(lastName))){
		return;
	}
	var firmName 	= trimString(formObj.nm.value);
	if (!(checkWildCard(firmName))){
		return;
	}
	var state		= formObj.st.value;
	var country		= formObj.cr.value;
	var documenttype = multiSelect(formObj.docType); // Practice/Industry Group
	formObj.dt.value = documenttype;
	//var documenttype = formObj.docType.value;
	//dates
	var fromMonth = trimString(formObj.fm.value);
	if (fromMonth.length == 1)
	    formObj.fm.value = "0" + fromMonth;
	var fromDay = trimString(formObj.fd.value);
	if (fromDay.length == 1)
	    formObj.fd.value = "0" + fromDay;
	var fromYear = trimString(formObj.fy.value);
	
	var toMonth = trimString(formObj.tm.value);
	if (toMonth.length == 1)
	    formObj.tm.value = "0" + toMonth;
	var toDay = trimString(formObj.td.value);
	if (toDay.length == 1)
	    formObj.td.value = "0" + toDay;
	var toYear = trimString(formObj.ty.value);
	
	var today =new Date();
	var thisYear = today.getFullYear();
	
	if ((fromMonth!="")||(fromDay!="")||(fromYear!="")){
	    if (!((fromMonth!="")&&(fromDay!="")&&(fromYear!=""))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.fm.focus();
	        return;
	    }
	    if (!((fromMonth.length>0)&&(fromDay.length>0)&&(fromYear.length==4))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.fm.focus();
	        return;	    
	    }
	    if (!((IsNumeric(fromMonth))&&(IsNumeric(fromDay))&&(IsNumeric(fromYear)))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.fm.focus();
	        return;
	    }
	    if (!((fromMonth > 0)&&(fromMonth < 13))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.fm.focus();
	        return;
	    }
	    if (!((fromDay > 0)&&(fromDay < 32))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.fm.focus();
	        return;
	    }
	    if (!((fromYear > 1900)&&(fromYear < thisYear + 1))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.fm.focus();
	        return;
	    }
	    
	}
	if ((toMonth!="")||(toDay!="")||(toYear!="")){
	    if (!((toMonth!="")&&(toDay!="")&&(toYear!=""))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.tm.focus();
	        return;
	    }
	    if (!((toMonth.length>0)&&(toDay.length>0)&&(toYear.length==4))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.fm.focus();
	        return;
	    }
	    if (!((IsNumeric(toMonth))&&(IsNumeric(toDay))&&(IsNumeric(toYear)))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.tm.focus();
	        return;
	    }
	    if (!((toMonth > 0)&&(toMonth < 13))){
	       alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.tm.focus();
	        return;
	    }
	    if (!((toDay > 0)&&(toDay < 32))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.tm.focus();
	        return;
	    }
	    if (!((toYear > 1900)&&(toYear < thisYear + 1))){
	        alert("Please enter a valid date in the format \"MM-DD-YYYY\"");
	        formObj.tm.focus();
	        return;
	    }
	    
	    if ((toYear + toMonth + toDay) < (fromYear + fromMonth + fromDay)){
	        alert("From publication date cannot be greater then to publication date.");
	        formObj.fm.focus();
	        return;
	    }
	}
	
	//need to add dates
	if (!((formObj.docType.value != "") || (searchForKeyword != "") || (firstName != "") || (lastName != "") || (firmName != "") || (state != "") || (country != "") || (fromMonth != "") || (toMonth != ""))) {
        alert("You must enter your search criteria before submitting this form.");	
        return;
    }
	//build cookie values
    var cookieVals = "^dt=" + documenttype + "^k2=" + searchForKeyword + "^fn=" + firstName + "^ln=" + lastName + "^nm=" + firmName + "^st=" + state + "^cr=" + country + "^fm=" + fromMonth + "^fd=" + fromDay + "^fy=" + fromYear + "^tm=" + toMonth + "^td=" + toDay + "^ty=" + toYear;
	// before submit set cookie
	setCookie("MH-articleAdvancedSearch", cookieVals);
		
    var pname = "Results" + ".a" + "spx";
	formObj.action = pname;
	formObj.submit();
	//doClear();
}
function tab(from,to){
    if(from.getAttribute && from.value.length==from.getAttribute("maxlength"))
        to.focus();
}
function doClear(){
	document.frmsearch.reset();
}
function multiSelect(obj) {
    //creates a pipe dilimited string
    var str = "";
    if (obj.length > 0) {
        var count = 0;
        for (i = 0; i < obj.length; i++) {
            if (obj[i].selected) {
                count++;
            }
            if ((obj[i].selected) && (trimString(obj[i].value) != "")) {
                str += " or " + obj[i].value;
                /****Added to pass null when default is selected***/
                if (obj[i].value == 0) {
                    str = "";
                    break;
                }
            }
        }
        if (count == obj.length) {
            str = "";
        }
        else {
            str = str.substring(4, str.length);
            //if(str.split(" or ").length > 1){
            //str = "(" + str + ")";
            //}
        }

    }
    return (str);
}
function prevSelected(val, obj) {
    var str = val;
    var arstr = str.split(" or ");
    obj[0].selected = false; //reset default
    for (x = 0; x < obj.length; x++) {
        for (j = 0; j < arstr.length; j++) {
            if (obj[x].value == arstr[j]) {
                obj[x].selected = true;
            }
        }
    }
}
