function trim(str) {
    return str.replace(/^\s*|\s*$/g,"");
}

function submitForm(formId) {
    document.getElementById(formId).submit();
}

function validateSearchProductForm(formId) {    
    var form = document.getElementById(formId);
    var searchStr = form.searchString.value;
    var str = trim(searchStr)
	var searchType =  form.searchType.value;
	if(searchType == 'KEYWORD_SEARCH') 	{
		if(str == '' || searchStr == 'Enter Keyword' || searchStr == 'Enter Keyword/Part Number') {
			alert("Please Enter a Keyword to search");
			return false;
		}	
	}
	else if(searchType == 'PART_SEARCH') 	{
		if(str == '' || searchStr == 'Enter Part Number' || searchStr == 'Enter Keyword/Part Number') {
			alert("Please Enter a Part Number to search");
			return false;
		}		
	}
}

function GetXmlHttpObject(requestHandler) {
    var objXmlHttp = null;
    if (navigator.userAgent.indexOf("Opera") >= 0) {    
	        alert("This application doesn't work in Opera");
	        return
		}
	   if (navigator.userAgent.indexOf("MSIE") >= 0) {
        	var strName = "Msxml2.XMLHTTP";
        	if (navigator.appVersion.indexOf("MSIE 5.5") >= 0) {
            strName = "Microsoft.XMLHTTP";
        }
        try {
            objXmlHttp = new ActiveXObject(strName);
            objXmlHttp.onreadystatechange = requestHandler;
            return objXmlHttp;
        } catch(ex) {
            alert("Error. Scripting for ActiveX might be disabled");
            return;
        }
    }
    if (navigator.userAgent.indexOf("Mozilla") >= 0) {
        objXmlHttp = new XMLHttpRequest();
        objXmlHttp.onload = requestHandler;
        objXmlHttp.onerror = requestHandler;
        return objXmlHttp;
    }
}

function refreshResults(url, requestHandler, async, method) {
	if(async == undefined) {
		async = true;
	}
	if(method == undefined) {
		method = "GET";
	}
    objXmlHttp = GetXmlHttpObject(requestHandler);
    objXmlHttp.open(method, url, async);
    objXmlHttp.send(null);
}

function isValidEmail(email) {
	var indexOfAtChar=email.indexOf("@");
	if(indexOfAtChar > 0) {
	    var indexOfDotChar =email.indexOf(".", indexOfAtChar);
	    if(indexOfDotChar > 0) {
	      return true;
	    }
	    else {
			return false;
	    }
	}
	else {
		return false;
	}
}

function checkRadio(obj) {
	obj.checked=true;
}

function checkCheckBox(obj) {
	 if(obj.checked) {
		obj.checked=false;
	 }
	 else {
		obj.checked=true;
	 }
}

function validateknowledgeBaseFeedback(frm) {
    val=trim(frm.name.value)
	if(val=="")	{
		alert("Please enter the Name");
		frm.name.focus();
		return false;
	}
	
	if(frm.email.value=="")	{
		alert("Please enter the Email Address");
		frm.email.focus();
		return false;
	}
	else if(!isValidEmail(frm.email.value)) {		 
		alert('Entered E-mail is an invalid e-mail address');
		return false;
	}
		
return true;
}

function addTextOption(val,selected,index,textval) {
    var selectedCities = selected.options;
    var optionObj = document.createElement("OPTION");
    selectedCities.add(optionObj,index);
    selectedCities[index].value = val;
    selectedCities[index].text = textval;
    selectedCities[index].label = textval;
    selectedCities[index].id = val;
}


function deselectOptions(obj) {
    var len = obj.length;
    for( i=0;i<len;i++) {
        obj[i].selected = false;
    }

}

function sortOptions(selected) {
    var optionObj = new Array(selected.options.length);
    for(i=0;selected.options.length>0;i++)
    {
        optionObj[i] = selected.options[0].value;
        selected.remove(0);
    }
    optionObj.sort();
    var index;
    var obj;
    for(i=0;i<optionObj.length;i++) {
        index = binarySearch(selected.options,optionObj[i]);
        obj = document.createElement("OPTION");
        obj.value = optionObj[i];
        obj.text = optionObj[i];
        obj.id = optionObj[i];
        selected.options.add(obj,index);
    }
}

function selectAllOptions(obj) {
    var len = obj.length;
    for( i=0;i<len;i++)     {
        obj[i].selected = true;
    }
}

function textLimit(field, maxlimit) {
	if (field.value.length > maxlimit) { 
		field.value = field.value.substring(0, maxlimit);
	}
}

function displayOverLimitMsg(field, maxlimit, fieldLabel) {
	if (field.value.length > maxlimit) {
		alert(fieldLabel + " can not be more than " + maxlimit + " characters")
		textLimit(field, maxlimit);
		field.focus();
	} 
}














