var currentExpFS = 'expFS3';
var experienceFieldsCounter = 3;
var experienceFieldLimit = 10;
var global_currentCompanyTypeCount = 0;
var addToWho = '#span_company_types0';
var global_currentWorkgroupExperience_dummy = '';
var global_currentWorkgroupExperience = '';

function loadOverlay(){
	$("#container").append('<div id="Load_overlay"><img src="images/ajax-loader.gif" alt=" " width="220" height="19" style="margin-top:100px;" /><br />Saving form, please wait...</div>');
}

function ibatoAngFiles(href,title){
	  var t = (!title)?'&nbsp;':title;
	  var completeHref = 'tagaBato.php?'+ href;
	  GB_show(t,completeHref,290,600);
}
function reflectUploadChanges(targetEl, success){
	if(success == 1){
		$("#"+targetEl).html('<img src="images/check.gif" width="16" height="16" /><span class="green"> You have successfully supplied information</span>');
		GB_hide();
	}
}

function changeWorkgroupSelection(specificOne){
/*	var wgFieldCount = (!specificOne) ? experienceFieldsCounter: specificOne ;
	var iStartCount = (!specificOne) ? 1: specificOne ;
		
	var val = $("#company_type").attr("value");
	var cbDataToLoad = '';
	var firstOption = {"":"[Workgroup]"};
	if(wgData[val] == 'all'){
		var tmpObj = {};
		jQuery.each(wgData, function(i, val1) {
			if(val != i){
				jQuery.each(wgData[i], function(ii, val2) {
					tmpObj[ii] = val2;
				});
			}
		});
		var objToLoad = tmpObj;
	}else{
		var objToLoad = wgData[val];
	}
	$("#workgroups").empty();
	$("#workgroups").append(convertToCBGroup(objToLoad));

	for(i=iStartCount;i <= wgFieldCount;i++){
		$('#experience_workgroup' + i).removeOption(/./);
		$('#experience_workgroup' + i).addOption(firstOption, false);
		$('#experience_workgroup' + i).addOption(objToLoad, false);
	}*/
}
function checkDate(name, val){
	//var dateformat = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
	var dateformat = /^(?:0[1-9]|[12][0-9]|3[01])\/(?:0[1-9]|1[0-2])\/(18|19|20)\d{2}$/
	if(!dateformat.test(val) && val != ''){
		alert('Invalid date format');
		$('#'+name).attr({'value':''});
	}
}

function convertToCBGroup(obj){
	var tmpReturnStr = '';
	jQuery.each(obj, function(i, val) {
		tmpReturnStr += '<div class="cbFields"><label><input name="workgroups[]" type="checkbox" value="'+i+'" />'+ val +'</label></div>';
    });
	return tmpReturnStr;
}


function customValidation(fragment){
//__temps = ($("[name=brief_intro]"));
//var oEditor = FCKeditorAPI.GetInstance('brief_intro');
//$("#brief_intro").attr({value:oEditor.GetXHTML( true )});
	//updateTextArea('brief_intro');
	var validity = jQuery.validate({
		fieldset: fragment,
		notvalidclass:"notvalid",
		messageheader:'We found a few problems with the form',
		inlineerror:true
	});
	if(validity){
		var enableThisTab = $('#container ul').tabsSelected()+1;
		$('#container ul').tabsDisable(enableThisTab-1);
		$('#container ul').tabsEnable(enableThisTab);
		$('#container ul').tabsClick(enableThisTab);
	}
	return validity;
}

	/*function testAjax(fragment){
		//jQuery.post( url, [data], [callback] );
		$(fragment + " .required").each(function(i, item) {

			// Checkboxes
			switch (item.type)
			{
				case "checkbox":
					alert('checkbox');//validateCheckbox(item);
					break;
					
				case "text":
					alert(item.id);
					break;
				case "file":
				case "textarea":
					alert('textarea');//validateTextBox(item);
					break;
				
				case "select-one":
					alert(item.id);
					break;
					//validateSelect(item);
			}
			
		});		
		
		var str = $("#formProper").serialize();
	    $("#validationmsg").text(str);
	}*/

	function backOneStep(){
			var enableThisTab = $('#container ul').tabsSelected()-1;
			$('#container ul').tabsDisable(enableThisTab+1);
			$('#container ul').tabsEnable(enableThisTab);
			$('#container ul').tabsClick(enableThisTab);
	}
	
	
	function addExperienceFields(){
		if(experienceFieldLimit >= experienceFieldsCounter){
			experienceFieldsCounter++;
			var newExpFS = 'expFS' + experienceFieldsCounter;
			$('#'+currentExpFS).after('<fieldset id="'+ newExpFS +'"><legend>Experience '+ experienceFieldsCounter +'</legend><div class="fFields2">  <label>Workgroup: <br />  <select name="experience_workgroup'+ experienceFieldsCounter +'" id="experience_workgroup'+ experienceFieldsCounter +'"> </select>  </label></div><div class="fFields3">  <label>Project name:  <br />  <input name="experience_project'+ experienceFieldsCounter +'" type="text" id="experience_project'+ experienceFieldsCounter +'" /></label></div><div class="fFields3">  <label>Employer/Client:  <br />  <input name="experience_client'+ experienceFieldsCounter +'" type="text" id="experience_client'+ experienceFieldsCounter +'" /></label></div><div class="fFields3">  <label>Start date:  <br />  <input name="experience_start_date'+ experienceFieldsCounter +'" type="text" id="experience_start_date'+ experienceFieldsCounter +'" onchange="checkDate(this.name,this.value);" /></label></div><div class="fFields3">  <label>End date:  <br />  <input name="experience_end_date'+ experienceFieldsCounter +'" type="text" id="experience_end_date'+ experienceFieldsCounter +'" onchange="checkDate(this.name,this.value);" /></label></div><div class="fFields3">  <label>Total Value:  <br />  <input name="experience_value'+ experienceFieldsCounter +'" type="text" id="experience_value'+ experienceFieldsCounter +'" /></label></div><div class="bFields">  <label>Brief project summay:<br />  <textarea id="project_summary'+ experienceFieldsCounter +'" name="project_summary'+ experienceFieldsCounter +'" cols="" rows="" ></textarea>  </label></div></fieldset>');

			$('#project_summary' + experienceFieldsCounter).css({width:"99%",height:"70px",font:"Arial",fontSize:"11px"});

			var datePickerObj = {horizontalPosition:$.dpConst.POS_RIGHT,verticalPosition:$.dpConst.POS_BOTTOM,startDate:'01/01/1899',createButton:true,verticalOffset:-25,clickInput:false};
			$('#experience_start_date' + experienceFieldsCounter).datePicker(datePickerObj);
			$('#experience_end_date' + experienceFieldsCounter).datePicker(datePickerObj);

			//changeWorkgroupSelection(experienceFieldsCounter);

			currentExpFS = newExpFS;
			if(experienceFieldLimit == experienceFieldsCounter) $("#linkAddMoreEx").hide();
		}
	}
	
function saveDraft(){
	updateHiddenCompanyTypesFields();
	$("#remark").html('<p>Saving profile, please wait...</p>');
	$("#remark").show();
	var jsonOBJ = $(":input").serializeArray();
	$.post("_ajax.saveDraft.php", jsonOBJ , saveDraftCallback, 'json');
}

function saveDraftCallback(data){
	if(data.success == 'true') {
		$("#remark").html("<p>Your profile was saved as a draft.<br />Please keep in mind that saved drafts will not reflect in ALDAR's system except only when the form is submitted by using the <strong>Submit</strong> button</p>");
	}else{
		$("#remark").html("There was a problem saving your profile. Please try again later.");
	}
}



function addCompanyTypes(){
	if(global_currentCompanyTypeCount >= 15){
		alert('You have exceeded the amount of allowed Company types');
	}else{
		if(global_currentCompanyTypeCount >= 1) $("#btn_remove_this"+global_currentCompanyTypeCount).hide();
		global_currentCompanyTypeCount++;
		//div_company_types
		$(addToWho).after('<span id="span_company_types'+global_currentCompanyTypeCount+'">              <div class="fFields">                <label>Nature of product / services:<span class="asterisk">*</span><br />                <select name="ctid'+global_currentCompanyTypeCount+'" id="ctid'+global_currentCompanyTypeCount+'" class="select-one required" onchange="changeCompanyType('+global_currentCompanyTypeCount+')">'+jQuery.trim($('#ctid0').html())+'</select>                </label>              </div>            <div class="fFields">              <label>Company type:<span class="asterisk">*</span><a href="javascript:previewWorkgroups(\'#company_code'+global_currentCompanyTypeCount+'\');" id="wgPreview'+global_currentCompanyTypeCount+'" style="display:none;margin-left:10px;">preview workgroups</a><br />                <select name="company_code'+global_currentCompanyTypeCount+'" id="company_code'+global_currentCompanyTypeCount+'" class="select-one required" disabled="disabled" onchange="changeWorkgroupSelection2('+global_currentCompanyTypeCount+')">                  <option>-</option>                </select>                </label>              </div><div id="btn_remove_this'+global_currentCompanyTypeCount+'" class="fFields3"><br /><a href="javascript:removeCompanyTypes('+global_currentCompanyTypeCount+')">Remove this</a></div>              </span>');
		addToWho = '#span_company_types'+global_currentCompanyTypeCount;
		$('#ctid'+global_currentCompanyTypeCount).find('option:first').attr('selected', 'selected').parent('select');
		$('#hidden_extra_company_types_count').attr('value',global_currentCompanyTypeCount);
	}
}

function removeCompanyTypes(num){
	$("#span_company_types"+num).remove();
	global_currentCompanyTypeCount--;
	$("#btn_remove_this"+global_currentCompanyTypeCount).show();
	addToWho = '#span_company_types'+global_currentCompanyTypeCount;
	$('#hidden_extra_company_types_count').attr('value',global_currentCompanyTypeCount);
}

function changeWorkgroupSelection2(num){
	var val = $("#company_code"+num).val();//.attr("value");
	if(checkCtidExists(val,"#company_code"+num)){
		(val == '' || val == undefined) ? $("#wgPreview"+num).hide(): $("#wgPreview"+num).show();
	}
}

function previewWorkgroups(company_code){
	var completeHref = 'workgroups_preview.php?wg='+ $(company_code).val();
	GB_show('Workgroups Preview',completeHref,420,400);
}

function checkCtidExists(ctid, currentSelected){
	var returnBool = true;
	if(global_currentCompanyTypeCount > 0){
		for(var i=0;i<=global_currentCompanyTypeCount;i++){
			var elementToCheck = '#company_code'+i;
			if(elementToCheck != currentSelected){
				if($(elementToCheck).val() == ctid){
					$(currentSelected).find('option:first').attr('selected', 'selected').parent('select');
					returnBool = false;
					alert('Already chosen previously, please choose another one');
					break;
				}
			}
		}
	}
	return returnBool;
}

function updateWorkgroupsCb(companyID){
	// check hidden_extra_company_types_count
	var tmpString = '';
	for(var i=0;i<=$("#hidden_extra_company_types_count").val();i++){
		tmpString += ',' + $('#company_code'+i).val();
	}
	if(companyTypesQuery != tmpString.substring(1)){
		companyTypesQuery = tmpString.substring(1);
		var query = "companyID="+companyID+"&wg="+companyTypesQuery;
		$.ajax({
		  url: "workgroups_selection.php?"+query,
		  cache: false,
		  success: function(html){
			updateWorkgroupsRb(query);
			$("#workgroups").html(html);
			if($('#btn_save_draft').css('display') == 'none') $('#btn_save_draft').fadeIn();
		  }
		});
	}
	updateHiddenCompanyTypesFields();
}

function updateHiddenCompanyTypesFields(){
	var tmpString = '';
	$('#company_type').val($('#company_code0').val());
	if($("#hidden_extra_company_types_count").val() > 0){
		for(var i=1;i<=$("#hidden_extra_company_types_count").val();i++){
			if($('#company_code'+i).val() != '') tmpString += $('#company_code'+i).val() + '|';
		}
		$('#extra_company_code').val(tmpString);
	}
}

function updateWorkgroupsRb(query){
	$.ajax({
	  url: "workgroups_selection.php?rb=1&"+query,
	  cache: false,
	  success: function(html){
		$("#div_hidden_workgroups_body").html(html);
		for(var i=1;i<=3;i++){
			var thisVal = '';
			try{
				thisVal = $("#div_hidden_workgroups_body input[value='"+ $("#experience_workgroup"+i).val()+"']")[0].nextSibling.data;
			}
			catch(e){}
			
			if(thisVal == '' || thisVal == undefined){
				$("#experience_workgroup"+i).val('');
				$("#experience_workgroup_dummy"+i).val('');
			}else{
				$("#experience_workgroup_dummy"+i).val(thisVal);	
			}
		}
	  }
	});
}

function showWorkgroupsRadios(obj){
		  var el = '#'+obj.id;
		  var pos = $(el).offset();  
		  var width = $(el).width();
		  var height = $(el).height();
		  //show the menu directly over the placeholder
		  //$("#div_hidden_workgroups").css( { "left": (pos.left + width) + "px", "top":pos.top + "px" } );
		  $("#div_hidden_workgroups").css( { "left": (pos.left ) + "px", "top":(pos.top + height) + "px" } );
		  $("#div_hidden_workgroups").show();
		  global_currentWorkgroupExperience_dummy = el;
		  global_currentWorkgroupExperience = el.replace(/_dummy/, "");
}
function hideWorkgroupsRadios(){
	$("#div_hidden_workgroups").hide();
}

function updateWorkgroupsExperience(obj){
	$(global_currentWorkgroupExperience_dummy).val(obj.nextSibling.data);
	$(global_currentWorkgroupExperience).val(obj.value);
//___tests = $(global_currentWorkgroupExperience + '_hidden');
	 $("#div_hidden_workgroups").hide();
	 return true;
}



