var Header = new Object();// This is the default namespace
function SearchClass(){
	this.displayType = SearchClass.DISPLAY_TYPE.attorney;
}
SearchClass.DISPLAY_TYPE ={
		ATTORNEY:"Search attorney",			
		ORGANIZATION:"Search organization",
		VENDOR:"Search vendor organization",
		PRODUCT_SERVICE:"Search offering",
		INVENTOR :"Search inventor by name",
		JOBS:"Search jobs",
		ASSIGNEE:"Search inventor by company",
		COMPANY:"Search company by name",
		INVENTOR_KEYWORD:"Search inventor by keywords",
		ATTORNEY_KEYWORD :"Search attorney by keywords",
		ATTORNEY_NOTES: "Search attorney notes",
		INVENTOR_NOTES: "Search inventor notes",
		ATTORNEY_GROUP_POSTING : "Search attorney by group posting",
		INVENTOR_GROUP_POSTING: "Search inventor by group posting",
		ATTORNEY_TECH_EXPERT:"Search by technical expertise",
		ATTORNEY_LEGAL_EXPERT :"Search by legal expertise",
		ATTORNEY_ZIPCODE:"Search by zip Code",
		GROUP_CONTENTS: "Search group by content"
}

Header.clickSubmitButtonOnEnterkey = function(evt) {
	var keyCode = evt.keyCode ? evt.keyCode : evt.which ? evt.which
			: evt.charCode;
	if (keyCode == 13) {
		document.getElementById("search-submit").click();
		return false;
	}
	return true;
}
Header.clickOnTheLinkEnterkey = function(evt,inputItem,mode,contextPath) {
	var keyCode = evt.keyCode ? evt.keyCode : evt.which ? evt.which
			: evt.charCode;
	if (keyCode == 13) {
		Header.submitQuery(3,inputItem,mode,contextPath);
		return false;
	}
	return true;
}

Header.clickOnTheInventorLinkEnterkey = function(evt,inputItem,mode,contextPath,ddlb) {
	var keyCode = evt.keyCode ? evt.keyCode : evt.which ? evt.which
			: evt.charCode;
	if (keyCode == 13) {
			Header.submitQuery(3,inputItem,mode,contextPath,ddlb);		
		return false;
	}
	return true;
}


Header.openCommentsAndSuggestion = function() {
	Header.popup1("commentsAndSuggestion.jsf");
	return false;
}
Header.popup1 = function(url) {
	var width = 750;
	var height = 375;
	var left = (screen.width - width) / 2;
	var top = (screen.height - height) / 2;
	var params = 'width=' + width + ', height=' + height;
	params += ', top=' + top + ', left=' + left;
	params += ', directories=no';
	params += ', location=no';
	params += ', menubar=no';
	params += ', resizable=no';
	params += ', scrollbars=no';
	params += ', status=no';
	params += ', toolbar=no';
	newwin = window.open(url, 'commentsAndSuggestion', params);
	if (window.focus) {
		newwin.focus()
	}
	return false;
}
Header.lengthChk = function() {
	var flag = false;
	var len = arguments[0];
	for ( var i = 1; i < arguments.length; i++) {
		if(document.getElementById(arguments[i])!=null){
		var val = Header.removeTrailingSpaces(document.getElementById(arguments[i]).value);
		if (val.length < len && val.length > 0) {
			alert("Search keyword(s) too short. Please provide minimum 3 characters");
			return false;
		}
		if (val.length >= len) {
			flag = true;
		}
	}
	}
	if (flag == false) {
		alert("Search keyword(s) too short. Please provide minimum 3 characters");
		return false;
	}
	return true;
}
Header.removeTrailingSpaces = function(str) {
	s = str.replace(/^(\s)*/, '');
	s = s.replace(/(\s)*$/, '');
	return s;
}
Header.submitQuery =function() {	
	var total = arguments.length;
	var mode = arguments[2];
	var contextPath = arguments[3];	
	var ddlb=  arguments[4];	
	var searchValue1 ="";
	var val="";
	if(ddlb!=null){
		val = document.getElementById(ddlb).options[document.getElementById(ddlb).selectedIndex].value;
	}
	else{
		val = document.getElementById('searchOption').options[document.getElementById('searchOption').selectedIndex].value;
	}	
	searchValue1= escape(document.getElementById(arguments[1]).value);
	if(searchValue1.length >0){		
		if(mode == 'true'){
			if(Header.lengthChk(arguments[0],arguments[1])){			
				if(val == SearchClass.DISPLAY_TYPE.JOBS){
					window.location=contextPath+"/jobSummary.jsf?searchValue="+searchValue1;
				}
				//Inventor
				else if(val == SearchClass.DISPLAY_TYPE.INVENTOR){			
					window.location=contextPath+"/inventorList.jsf?searchType="+val+"&searchValue="+searchValue1;
				}
				else if(val == SearchClass.DISPLAY_TYPE.INVENTOR_KEYWORD){
					window.location=contextPath+"/inventorList.jsf?searchType="+val+"&searchValue="+searchValue1;
				}
				else if(val == SearchClass.DISPLAY_TYPE.INVENTOR_NOTES){
					window.location=contextPath+"/inventorList.jsf?searchType="+val+"&searchValue="+searchValue1;
				}
				//Assignee
				else if(val == SearchClass.DISPLAY_TYPE.ASSIGNEE){
					window.location=contextPath+"/inventorList.jsf?searchType="+val+"&searchValue="+searchValue1;
				}
				else if(val == SearchClass.DISPLAY_TYPE.COMPANY){
					window.location=contextPath+"/assigneeList.jsf?searchType="+val+"&searchValue="+searchValue1;
				}				
				else if(val == SearchClass.DISPLAY_TYPE.GROUP_CONTENTS){
					window.location=contextPath+"/groupdetails.jsf?searchValue="+searchValue1;
				}
				return false;
			}
			else{
				return false;
			}
		}
		else{
			//Organization
			if(val == SearchClass.DISPLAY_TYPE.ORGANIZATION){				
				window.location=contextPath+"/organizationList.jsf?searchType="+val+"&searchValue="+searchValue1;
			} 
			else if(val == SearchClass.DISPLAY_TYPE.VENDOR){
				window.location=contextPath+"/vendorList.jsf?searchType="+val+"&searchValue="+searchValue1;
			} 
			else if(val == SearchClass.DISPLAY_TYPE.PRODUCT_SERVICE){
				window.location=contextPath+"/vendorsearch.jsf?searchType="+val+"&searchValue="+searchValue1;
			}
			//Attorney
			else if(val == SearchClass.DISPLAY_TYPE.ATTORNEY){
				window.location=contextPath+"/peopleList.jsf?searchType="+val+"&searchValue="+searchValue1;
			}		
			else if(val == SearchClass.DISPLAY_TYPE.ATTORNEY_KEYWORD){
				window.location=contextPath+"/peopleList.jsf?searchType="+val+"&searchValue="+searchValue1;
			}
			else if(val == SearchClass.DISPLAY_TYPE.ATTORNEY_NOTES){
				window.location=contextPath+"/peopleList.jsf?searchType="+val+"&searchValue="+searchValue1;
			} 
			else if(val == SearchClass.DISPLAY_TYPE.ATTORNEY_TECH_EXPERT){
				window.location=contextPath+"/peopleList.jsf?searchType="+val+"&searchValue="+searchValue1;
			} 
			else if(val == SearchClass.DISPLAY_TYPE.ATTORNEY_LEGAL_EXPERT){
				window.location=contextPath+"/peopleList.jsf?searchType="+val+"&searchValue="+searchValue1;
			}
			else if(val == SearchClass.DISPLAY_TYPE.ATTORNEY_ZIPCODE){
				window.location=contextPath+"/peopleList.jsf?searchType="+val+"&searchValue="+searchValue1;
			}

			//Jobs
			else if(val == SearchClass.DISPLAY_TYPE.JOBS){
				window.location=contextPath+"/jobSummary.jsf?searchValue="+searchValue1;
			}
			
			else if(val == SearchClass.DISPLAY_TYPE.GROUP_CONTENTS){
				window.location=contextPath+"/groupdetails.jsf?searchValue="+searchValue1;
			}
			
			return false;
		}
	}
	else{
		alert("Please provide text for search !");
		return false;
	}
}
Header.replaceSpecialChar=function(str) {
	var iChars = "!@#$^*()+=[]\\\,./{}|\":<>?";
	var newStr ="";
		for (var i = 0; i < str.length; i++) {
		  	if (iChars.indexOf(str.charAt(i)) != -1) {		  		
		  		continue;
		  	}
		  	else{
		  		newStr+=str.charAt(i);
		  	}
	  }		
	return newStr;
}
Header.searchVendor=function(){	
	var mode = arguments[2];
	var contextPath = arguments[3];
	var search =arguments[1];
	document.getElementById('searchOption').selectedIndex=2;
	Header.submitQuery(3,search,mode, contextPath);
	return false;
}
