var func_id = 0;
var currentJobId = 0;
var filterType = '';
var filterTypes = new Array;
filterTypes[0] = 'location';
filterTypes[1] = 'industry';
filterTypes[2] = 'jobtype';
filterTypes[3] = 'company';
filterTypes[4] = 'salary';
var currentFilter = 0

Event.onDOMReady(function(){
    MM_preloadImages('images/down-arrow.gif','images/add-ro.gif','images/apply-job-now-ro.gif','images/send-ro.gif','images/add-ro.gif','images/close-ro.gif','images/sumbit-resume-ro.gif','images/return-listing-ro.gif','images/search-similar-ro.gif');
    objMyImage = new OpacityObject('folder_div',baseurl+'images/matte');
    objMyImage.setBackground();
    objMyImage = new OpacityObject('folder_div2',baseurl+'images/matte');
    objMyImage.setBackground();
    objMyImage = new OpacityObject('login_div2',baseurl+'images/matte');
    objMyImage.setBackground();
    objMyImage = new OpacityObject('keywordnarrow_div',baseurl+'images/matte');
    objMyImage.setBackground();
    objMyImage = new OpacityObject('filter_div',baseurl+'images/matte');
    objMyImage.setBackground();
});

function getFilter() {
	if(currentFilter>4) return true;
	val = filterTypes[currentFilter];
	if($(val+'-slide').style.display!='none') {
		$('filterFrm').action = 'ajax/jobfilter/type/'+val;
		$('filterFrm').request({
			onComplete: function(transport) {
				var response = transport.responseText.stripScripts();
				response = response.strip();
				$(val+'-slide').update(response);
				currentFilter++;
				getFilter();
				$('filterFrm').action = 'jobs/filtersearch';
				if(currentFilter==5) $('ajaxloadfilter').hide();
				return true;
			}
		})
    }
	else {
		currentFilter++;
		getFilter();
		if(currentFilter==5) $('ajaxloadfilter').hide();
		return true;
	}
}

function moreFilter(filterId) {
	if (filterId==1){
		str = 'Location';
		$('filter_results').update($('filter_results_location').innerHTML);
	}
	if (filterId==2){
		str = 'Industry';
		$('filter_results').update($('filter_results_industry').innerHTML);
	}
	if (filterId==3){
		str = 'Company';
		$('filter_results').update($('filter_results_company').innerHTML);
	}
	$('filterHeader').update('Filter results by '+str);
	showDiv('filter_div');
}

function filterClick(val) {
	if($(val+'-slide').style.display=='none') {
		$('filterFrm').action = 'ajax/jobfilter/type/'+val;
		$('ajaxloadfilter').show();
		$('filterFrm').request({
			onComplete: function(transport) {
				var response = transport.responseText.stripScripts();
				response = response.strip();
				$(val+'-slide').update(response);
				$('filterFrm').action = 'jobs/filtersearch';
				$(val+'-slide').visualEffect('slide_down',{duration:0.2});
				$(val+'-arrow').src = 'images/down-arrow.gif';
				$('ajaxloadfilter').hide();
			}
		})
    }
    else {
    	$(val+'-slide').visualEffect('slide_up',{duration:0.2});
        $(val+'-arrow').src = 'images/right-arrow.gif';
    }
}

function saveSearch(){
    func_id = 3;
    if(!loggedin) showDiv('login_div2');
    else{
        showLoader('Saving search...');
	    new Ajax.Request(siteurl+"ajax/savesearch/type/job", {  method: 'get',  onSuccess: function(transport){
	        hideLoader();
	        showAlert('Information',"Current search was successfully saved!");
	    } });
    }
}

function frontPaging(from)
{
  	$('filterFrm').from.value = from;
	if ($('filterFrm').from2 != undefined) {
	  	$('filterFrm').from2.value = from;
	}
	if ($('filterFrm').from3 != undefined) {
	  	$('filterFrm').from3.value = from;
	}
    submitFilter();
}

var sortFlag = 0;

function actSort(order){
  	if($('filterFrm').order.value==order){
    	if($('filterFrm').ordertype.value=='DESC') $('filterFrm').ordertype.value = 'ASC';
        else $('filterFrm').ordertype.value = 'DESC';
    }else $('filterFrm').ordertype.value = 'ASC';
    $('sort_postdate').removeClassName('bluebold');
    $('sort_postdate').addClassName('darkgreytext');
    $('sort_rating').removeClassName('bluebold');
    $('sort_rating').addClassName('darkgreytext');
    $('sort_popularity').removeClassName('bluebold');
    $('sort_popularity').addClassName('darkgreytext');
/*    $('sort_salary').removeClassName('bluebold');
    $('sort_salary').addClassName('darkgreytext');
    $('sort_industryName').removeClassName('bluebold');
    $('sort_industryName').addClassName('darkgreytext');
*/
    $('sort_'+order).removeClassName('darkgreytext');
    $('sort_'+order).addClassName('bluebold');
    $('filterFrm').order.value = order;
    $('returntooriginal').show();
    sortFlag = 1;
    submitFilter();
}

var banner = '';

function submitFilter(){
	$('filter_div').hide();
	if (sortFlag) showLoader('Sorting results...');
    else showLoader('Updating results...');
    if($('banner')!=null) banner = $('banner').innerHTML;
    $('filterFrm').request({
        onComplete: function(transport) {
            hideLoader();
            var response = transport.responseText.stripScripts();
            response = response.strip();
			$('results').update(response);
            if ($('resultsCount') != undefined) {
				$('resultsCount').update($('resultsCountNew').innerHTML);
				$('resultsCount2').update($('resultsTotalNew').innerHTML)
				$('resultsTitle').update($('resultsTitleNew').innerHTML);
				if($('banner')!=null) $('banner').update(banner);
				
				currentFilter = 0;
				$('ajaxloadfilter').show();
				getFilter('location');
			}

			/*
			$('location-slide').update($('locationFilterDiv').innerHTML);
            //$('salaryFromFilter').update($('salaryMinNew').innerHTML);
            //$('salaryToFilter').update($('salaryMaxNew').innerHTML);
            $('industry-slide').update($('industryFilterDiv').innerHTML);
            $('jobtype-slide').update($('jobtypeFilterDiv').innerHTML);
            $('company-slide').update($('companyFilterDiv').innerHTML);
            $('salary-slide').update($('salaryFilterDiv').innerHTML);
			*/
        }
    })
}

function actEmail2(){
    if( !($('regFrm2').email.value.match(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/)) ){
        showAlert('Error',"Email that you entered is not valid. Please reenter a valid one");
        return false;
    }
    showLoader(loaderText);
    $('regFrm2').request({
        onComplete: function(transport) {
            hideLoader();
            var response = transport.responseText.stripScripts();
            response = response.strip();
            if (response == 'ok') {
                showAlert('Message','Check your inbox and click on the link to confirm you email and continue signup.');
                showSelects();
				$('regFrm2').reset();
				$('freecap2').src = baseurl+'plugins/secretcode/turing-image.php?rnd='+Math.random();
            } else {
	            tmp2 = response.split('ban');
	            if (tmp2.length==1) {
	                showAlert('Error', response.replace(/Following errors found:/,'').replace(/<br\/>/g,'').replace(/text-align:left/,''));
                }
                else {
	                showAlert('Error','Your email/ip has been banned.<br/> You may no longer use this site.<br/> If you think this is an error, you may appeal by going to <a href="http://www.findajobalready.com/support">www.findajobalready.com/support</a>.');
                }
            }
        }
    })
}

var usertype = '';

function doLogin2(){
	if($('loginFrm2').login_email.value.strip().length==0){
    	showAlert('Error','Please enter your email');
        //$('loginFrm').login_email.focus();
        return false;
    }
	if($('loginFrm2').login_password.value.strip().length==0){
    	showAlert('Error','Please enter your password');
        //$('loginFrm').login_password.focus();
        return false;
    }
    showLoader(loaderText);
    $('loginFrm2').request({
        onComplete: function(transport) {
            var response = transport.responseText.stripScripts();
            response = response.strip();
            tmp = response.split('Following errors found');
            if (tmp.length==1) {
                new Ajax.Request(siteurl+"ajax/getUserHeader", {  method: 'get',  onSuccess: function(transport){
                    var response = transport.responseText.stripScripts();
                    response = response.strip();
                    $('userheaderInfo').update(response);
                    loggedin = 1;
                    if(func_id==1) showAdd2Folder(currentJobId);
                    if(func_id==2) riseBlock(currentJobId,blockval);
                    if(func_id==3) saveSearch();
                } });
                usertype = response;
            } else {
                hideLoader();
	            tmp2 = response.split('ban');
	            if (tmp2.length==1) {
	                showAlert('Error','Invalid email/password combination!');
                }
                else {
	                showAlert('Error','Your account has been banned.<br/> You may no longer use this site.<br/> If you think this is an error, you may appeal by going to <a href="http://www.findajobalready.com/support">www.findajobalready.com/support</a>.');
                }
            }
            $('login_div2').hide();
        }
    })
}

function doForgot2(){
	if($('loginFrm2').login_email.value.strip().length==0){
    	showAlert('Error','Please enter your email');
        //$('loginFrm').login_email.focus();
        return false;
    }
    showLoader(loaderText);
    new Ajax.Request(siteurl+"ajax/forgotPassword", {  method: 'post', postBody: 'login_email='+escape($('loginFrm2').login_email.value.strip()),  onSuccess: function(transport){
        var response = transport.responseText.stripScripts();
        response = response.strip();
	    hideLoader();
        if(response!='error'){
	        showAlert('Information','Please check your email. <br/>Your password was successfully sent there.');
            $('login_div2').hide();
	    }else{
            showAlert('Error','Email that you entered wasn\'t found in our database.');
        }
    } });
}

var blockval = 0;

function riseBlock(jobId,val){
	currentJobId = jobId;
	blockval = val;
    func_id = 2;
    if(!loggedin) showDiv('login_div2');
    else{
		blockJob(currentJobId,val);
    }
}

function blockJob(currentJobId,val){
	$('ajaxload-block'+currentJobId).show();
	new Ajax.Request(siteurl+"ajax/blockjob/id/"+currentJobId+"/block/"+val, {  method: 'get',  onSuccess: function(transport){
            if(val==1) $('block_span'+currentJobId).update('<a style="cursor:pointer" onClick="javascript:riseBlock('+currentJobId+',0);"><img src="images/unblock-job.gif" title="Unblock Job" width="127" height="20" border="0" /></a>');
            else $('block_span'+currentJobId).update('<a style="cursor:pointer" onClick="javascript:riseBlock('+currentJobId+',1);"><img src="images/dont-show-img.gif" title="Don\'t show this job again" width="168" height="23" border="0"></a>');
			$('ajaxload-block'+currentJobId).hide();
    	} });
}

var f_jobid = 0;
var order = '';
var ordertype = '';
var last_id = 0;
var last_header = '';

function renderFolder(val){
  	if(val==order){
    	if(ordertype=='DESC') ordertype = 'ASC';
        else ordertype = 'DESC';
    }else ordertype = 'ASC';
    order = val;
	new Ajax.Request(siteurl+"ajax/getfolder/order/"+escape(order)+"/ordertype/"+escape(ordertype), {  method: 'get',  onSuccess: function(transport){
	        var response = transport.responseText.stripScripts();
	        response = response.strip();
	        $('folder_content').update(response);
    	} });
}

function showFolder(jobId){
	currentJobId = jobId;
	showLoader(loaderText);
    ordertype = 'ASC';
    order = 'title';
	new Ajax.Request(siteurl+"ajax/getfolder/order/"+escape(order)+"/ordertype/"+escape(ordertype), {  method: 'get',  onSuccess: function(transport){
	        var response = transport.responseText.stripScripts();
	        response = response.strip();
	        $('folder_content').update(response);
            hideLoader();
            showDiv('folder_div');
    	} });
}

function showAdd2Folder(jobId){
	currentJobId = jobId;
	if(!loggedin){
        func_id = 1;
        showDiv('login_div2');
        return false;
    }
    showLoader(loaderText);
    new Ajax.Request(siteurl+"ajax/getsubfolder2", {  method: 'get',  onSuccess: function(transport){
	        var response = transport.responseText.stripScripts();
	        response = response.strip();
	        $('subfolder2').update(response);
            hideLoader();
            showDiv('folder_div2');
            $('subfolder2').show();
            if($('subfolder_header2')!=null) $('subfolder_header2').update('Add job');
            $('subfolder_header2a').update('Add job');
            showSelects();
    	} });
}

function add2SubFolder2a(){
	if($('subfoldername2').value=="" || $('subfoldername2').value=="Click here to name this folder"){
        showAlert('Error',"Please enter subfolder name!");
    	return false;
    }
    showLoader(loaderText);
    new Ajax.Request(siteurl+"ajax/actsubfolder/mode/add",
                     {  method: 'post',
                        parameters: { name:$('subfoldername2').value },
                       onSuccess: function(transport){
            var response = transport.responseText.stripScripts();
            response = response.strip();
	        new Ajax.Request(siteurl+"ajax/add2folder/id/"+currentJobId+"/subfolderid/"+escape(response), {  method: 'get',  onSuccess: function(transport){
        			showAlert('Information',"New folder with appropriate job listing was created successfully!");
				    hideLoader();
				    $('folder_div2').hide();
                    $('folder_link'+currentJobId).update('<a style="cursor:pointer" onClick="javascript:showFolder('+currentJobId+');"><img src="images/view-folder.gif" title="View Folder" width="160" height="19" border="0"></a><img src="images/ajax_loader2.gif" id="ajaxload-folder'+currentJobId+'" style="display:none"/>');
	            } });
        } });
}

function add2SubFolder2(){
    showLoader(loaderText);
    new Ajax.Request(siteurl+"ajax/add2folder/id/"+currentJobId+"/subfolderid/"+escape($('subfolderid2').value), {  method: 'get',  onSuccess: function(transport){
            showAlert('Information',"Job listing was added to your folder!");
            hideLoader();
            $('folder_div2').hide();
            $('folder_link'+currentJobId).update('<a style="cursor:pointer" onClick="javascript:showFolder('+currentJobId+');"><img src="images/view-folder.gif" title="View Folder" width="160" height="19" border="0"></a><img src="images/ajax_loader2.gif" id="ajaxload-folder'+currentJobId+'" style="display:none"/>');
        } });
}


function getSubFolder(id,header){
    last_id = id;
    last_header = header;
    if(id!=0) $('subfolder'+id).show();
    new Ajax.Request(siteurl+"ajax/getsubfolder", {  method: 'get',  onSuccess: function(transport){
	        var response = transport.responseText.stripScripts();
	        response = response.strip();
	        $('subfolder').update(response);
			if(id!=0) $('subfolder'+id).hide();
            $('ajaxload-folder'+currentJobId).hide();
            hideLoader();
            showDiv('folder_div');
            $('subfolder').show();
            $('subfolder_header').update(header);
            showSelects();
    	} });
}

function add2SubFolder(){
    ordertype = 'ASC';
    order = 'title';
	showLoader(loaderText);
    if($('subfolderid').value==""){
    	showAlert("Error","Please select Subfolder!");
        return false;
    }
	new Ajax.Request(siteurl+"ajax/add2folder/id/"+escape(f_jobid)+"/subfolderid/"+escape($('subfolderid').value), {  method: 'get',  onSuccess: function(transport){
	        new Ajax.Request(siteurl+"ajax/getfolder/order/"+escape(order)+"/ordertype/"+escape(ordertype), {  method: 'get',  onSuccess: function(transport){
	                var response = transport.responseText.stripScripts();
	                response = response.strip();
	                $('folder_content').update(response);
	                hideLoader();
	                $('subfolder').hide();
	        } });
    	} });
}

function deleteFolder(id,objid){
	$('folder'+id).hide();
    $('folder_link'+objid).update('<a style="cursor:pointer" onClick="javascript:showAdd2Folder('+objid+');"><img src="images/add-tofolder-img.gif" title="Add to Folder" width="103" height="23" border="0"></a><img src="images/ajax_loader2.gif" id="ajaxload-folder'+objid+'" style="display:none"/>');
	new Ajax.Request(siteurl+"ajax/removeffolder/id/"+id, {  method: 'get' });
}

var c_subfolder = 0;

function subFolderAction(val,id,val1){
	c_subfolder = id;
	if(val=='add'){
    	$('editsubfolder').show();
        $('subfoldername').value = 'Click here to name this folder';
        $('btn1').update('<a style="cursor:pointer" onClick="javascript:saveSubFolder();" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'Imageadd1_f2\',\'\',\'images/add-ro.gif\',1)"><img src="images/add.gif" name="Imageadd1_f2" width="52" height="32" align="absmiddle" border="0"></a>');
    }
	if(val=='edit'){
        $('subfoldername'+id).value = val1;
        $('subfolder_name_'+id).hide();
    	$('subfolder_edit_'+id).show();
    }
	if(val=='delete'){
	    if(confirm('Do you really want to delete this subfolder?')){
	        showLoader(loaderText);
	        new Ajax.Request(siteurl+"ajax/actsubfolder/mode/delete/id/"+escape(id), {  method: 'get',  onSuccess: function(){
	                getSubFolder(last_id,last_header);
	                $('editsubfolder').hide();
	            } });
	    }
    }
}

function saveSubFolder(){
	if($('subfoldername').value==""){
        showAlert('Error',"Please enter subfolder name!");
    	return false;
    }
	if(c_subfolder==0){
        showLoader(loaderText);
	    new Ajax.Request(siteurl+"ajax/actsubfolder/mode/add",
        				 {  method: 'post',
                            parameters: { name:$('subfoldername').value },
                           onSuccess: function(){
            	getSubFolder(last_id,last_header);
                $('editsubfolder').hide();
	        } });
    }else{
        $('ajaxloadsubfolder_'+c_subfolder).show();
        showLoader(loaderText);
	    new Ajax.Request(siteurl+"ajax/actsubfolder/mode/edit",
        				 {  method: 'post',
                            parameters: { id:escape(c_subfolder), name:$('subfoldername'+c_subfolder).value },
                           onSuccess: function(){
            	getSubFolder(last_id,last_header);
                $('ajaxloadsubfolder_'+c_subfolder).hide();
                hideLoader();
	        } });
    }
}

function applyLocationFilter(city,state) {
	$('filterFrm').city.value = city;
    $('filterFrm').state.value = state;
    $('filterFrm').from.value = '1';
    $('undoLocationFilter').show();
	filterType = 'location';
    submitFilter();
}

function applySalaryFilter(salaryMin,salaryMax) {
    $('filterFrm').salaryfrom.value = salaryMin;
    $('filterFrm').salaryto.value = salaryMax;
    $('filterFrm').from.value = '1';
    $('undoSalaryFilter').show();
	filterType = 'salary';
    submitFilter();
}

function applyIndustryFilter(ind) {
    $('filterFrm').industry.value = ind;
    $('filterFrm').from.value = '1';
    $('undoIndustryFilter').show();
	filterType = 'industry';
    submitFilter();
}

function applyJobtypeFilter(jobtype) {
    $('filterFrm').jobtype.value = jobtype;
    $('filterFrm').from.value = '1';
    $('undoJobtypeFilter').show();
	filterType = 'jobtype';
    submitFilter();
}

function applyCompanyFilter(company) {
    $('filterFrm').companyname.value = company;
    $('filterFrm').from.value = '1';
    $('undoCompanyFilter').show();
	filterType = 'company';
    submitFilter();
}

function undoLocationFilter(city,state) {
    $('filterFrm').city.value = city;
    $('filterFrm').state.value = state;
    $('filterFrm').from.value = '1';
    $('undoLocationFilter').hide();
	filterType = 'location';
    submitFilter();
}

function undoSalaryFilter(from,to) {
    $('filterFrm').salaryfrom.value = from;
    $('filterFrm').salaryto.value = to;
    $('filterFrm').from.value = '1';
    $('undoSalaryFilter').hide();
	filterType = 'salary';
    submitFilter();
}

function undoIndustryFilter(ind) {
    $('filterFrm').industry.value = ind;
    $('filterFrm').from.value = '1';
    $('undoIndustryFilter').hide();
	filterType = 'industry';
    submitFilter();
}

function undoJobtypeFilter(jobtype) {
    $('filterFrm').jobtype.value = jobtype;
    $('filterFrm').from.value = '1';
    $('undoJobtypeFilter').hide();
	filterType = 'jobtype';
    submitFilter();
}

function undoCompanyFilter(company) {
    $('filterFrm').companyname.value = company;
    $('filterFrm').from.value = '1';
    $('undoCompanyFilter').hide();
	filterType = 'company';
    submitFilter();
}

function returnOriginal(city,state,from,to,ind,jobtype,company,keyword) {
    $('filterFrm').city.value = city;
    $('filterFrm').state.value = state;
    $('filterFrm').salaryfrom.value = from;
    $('filterFrm').salaryto.value = to;
    $('filterFrm').industry.value = ind;
    $('filterFrm').jobtype.value = jobtype;
    $('filterFrm').companyname.value = company;
    $('filterFrm').keyword.value = keyword;
    $('filterFrm').from.value = '1';
    $('undoJobtypeFilter').hide();
    $('undoIndustryFilter').hide();
    $('undoSalaryFilter').hide();
    $('undoLocationFilter').hide();
    $('undoCompanyFilter').hide();
	$('returntooriginal').hide();
	filterType = '';
    submitFilter();
}

function keywordNarrow() {
	if ($('narrowKeyword').value==''){
    	showAlert('Error','Please enter keyword to search.');
    }
    else {
	    $('filterFrm').from.value = '1';
	    $('filterFrm').keyword.value = $('filterFrm').keyword.value+'###'+$('narrowKeyword').value;
        $('keywordnarrow_div').hide();
	    submitFilter();
		$('returntooriginal').show();
    }
}

