/* http://adtbeneluxdutch.v9.sitekit.net */

// *** Validation Job application *** //
ValidateJobApplication = function()
{
    $("#SKFCE_1_UserInput").addClass("validate[required,length[0,40]]");
    $("#SKFCE_2_UserInput").addClass("validate[required,custom[email],length[0,80]]");
    $("#SKFCE_3_UserInput").addClass("validate[required,length[0,40]]");
    $("#SKFCE_11_UserInput").addClass("validate[optional,length[0,40]]");
    $("#SKFCE_6_UserInput").addClass("validate[required,length[0,40]]");
    $("#SKFCE_7_UserInput").addClass("validate[required,length[0,10]]");
    $("#SKFCE_8_UserInput").addClass("validate[required,length[0,40]]");

    BindFormValidation('Sitekit_Form_415');
}

// *** Validation Quickfill form *** //

//Show form according to verticals
ValidateQuickFillForm_SF = function(BranchId)
{
    ClearValidationClass();
    Quickfill_BindValidationClassToFields_SF(BranchId);
    BindFormValidation('frmSalesforce');
}

//Add validation class to Quick Fill form
Quickfill_BindValidationClassToFields_SF = function(BranchId) //SALESFORCE
{
    //Setting initial value for the record type
    $("#recordType").val("012200000000RlD");
    
    // Setting validation class for common fields
    $("#salutation").addClass("validate[required]");
    $("#last_name").addClass("validate[required,length[0,80]]");
    $("#email").addClass("validate[required,custom[email],length[0,80]]"); 
    $("#city").addClass("validate[required,length[0,40]]");
    $("#phone").addClass("validate[required,length[0,40]]");
    $("#street").addClass("validate[required,length[0,40]]");
    $("#00N200000026841").addClass("validate[required]");

    //Setting validation class conditionally
    switch(BranchId)
    {
        case 6:
            $("#recordType").val("012200000000ScX");
            $("#company").addClass("validate[optional,length[0,100]]");            
            break;
        default:
            $("#company").addClass("validate[required,length[0,100]]");            
    }
}

//Hides or display according to branch id
Quickfill_HideDisplayFields_SF = function(BranchId)
{
    $.validationEngine.closePrompt('.formError',true) //close all validation layer

    //reset all hidden fields
    $('#dv_company').css('display','');
    switch(BranchId)
    {
    case 6:
        $('#dv_company').css('display','none');
      break;
    }
   
    $('#frm-SalesForce').css("display","");
    ValidateQuickFillForm_SF(BranchId);
}

// *** Validation main form  sitekit *** //

ValidateMainform_SK = function(BranchId)
{
    ClearValidationClass();
    Mainform_BindValidationClassToFields_SK(BranchId);
    BindFormValidation('Sitekit_Form_419');
}

//Add validation class to fields
Mainform_BindValidationClassToFields_SK = function(BranchId)
{
    var frmGuid = jQuery.uuid();
    $("#instanceID").val(frmGuid);

    $("#SKFCE_6_UserInput").addClass("validate[required]");    
    $("#SKFCE_1_UserInput").addClass("validate[required]");
    $("#SKFCE_2_UserInput").addClass("validate[required,length[0,40]]");
    $("#SKFCE_11_UserInput").addClass("validate[required,length[0,40]]");
    $("#SKFCE_5_UserInput").addClass("validate[required]");
    $("#SKFCE_16_UserInput").addClass("validate[required,custom[email],length[0,80]]"); 
    $("#SKFCE_19_UserInput").addClass("validate[required,length[0,40]]");
    $("#SKFCE_18_UserInput").addClass("validate[required,length[0,20]]");
    $("#SKFCE_4_UserInput").addClass("validate[optional,length[0,400]]");
    
    //Setting validation class conditionally
    switch(BranchId)
    {
        case 6:
            $("#SKFCE_17_UserInput").addClass("validate[optional,length[0,100]]");           
            break;
        default:
            $("#SKFCE_17_UserInput").addClass("validate[required,length[0,100]]");         
    }
}

//Hides or display according to branch id
Mainform_HideDisplayFields_SK = function(BranchId)
{
    $.validationEngine.closePrompt('.formError',true) //close all validation layer

    // default option for "Business"
    var options = {"":"Selecteer","After Sales":"After Sales","Klacht":"Klacht ","Offerte aanvraag":"Offerte aanvraag","Technisch/Algemeen":"Technisch/Algemeen","Vraag":"Vraag ","Overig":"Overig"};

    //reset all hidden fields
    $('#tdCompanySK_col1,#tdCompanySK_col2').css('display','');
    switch(BranchId)
    {
    case 6:
        options = {"":"Selecteer","Aanvraag offerte":"Aanvraag offerte","After Sales":"After Sales","Algemeen":"Algemeen","Anders":"Anders","Technisch":"Technisch"};
        $('#tdCompanySK_col1,#tdCompanySK_col2').css('display','none');
      break;
    }
    
    AddOptions('SKFCE_1_UserInput', options); //add option to defined field

    $('#frm-Sitekit').css("display","");
    ValidateMainform_SK(BranchId);
}

// *** Validation main form  Salesforce *** //

ValidateMainform_SF = function(BranchId)
{
    ClearValidationClass();
    Mainform_BindValidationClassToFields_SF(BranchId);
    BindFormValidation('frmSalesforce');
}

//Add validation class to fields
Mainform_BindValidationClassToFields_SF = function(BranchId)
{
    $("#salutation").addClass("validate[required]");
    $("#00N200000026841").addClass("validate[required]");
    $("#first_name").addClass("validate[required,length[0,40]]");
    $("#last_name").addClass("validate[required,length[0,40]]");
    $("#phone").addClass("validate[required]");
    $("#email").addClass("validate[required,custom[email],length[0,80]]"); 
    $("#city").addClass("validate[required,length[0,40]]");
    $("#zip").addClass("validate[required,length[0,20]]");
    $("#description").addClass("validate[optional,length[0,400]]");
    
    //Setting validation class conditionally
    switch(BranchId)
    {
        case 6:
            $("#company").addClass("validate[optional,length[0,100]]");           
            break;
        default:
            $("#company").addClass("validate[required,length[0,100]]");         
    }
}

//Hides or display according to branch id
Mainform_HideDisplayFields_SF = function(BranchId)
{
    $.validationEngine.closePrompt('.formError',true) //close all validation layer

    // default option for "Business"
    var options = {"":"Selecteer","Brand en blusgassystemen":"Brand en blusgassystemen","Brandbeveiliging":"Brandbeveiliging","CCTV":"CCTV","Draagbare blusmiddelen":"Draagbare blusmiddelen","Elektronische Artikel Beveiliging":"Elektronische Artikel Beveiliging","Gebouwbeheersysteem":"Gebouwbeheersysteem","Inbraakbeveiliging":"Inbraakbeveiliging","Intelligente analyse oplossingen":"Intelligente analyse oplossingen","Noodverlichting":"Noodverlichting","Observatie":"Observatie","Sprinklersystemen":"Sprinklersystemen","Toegangscontrole":"Toegangscontrole","Verpleegoproep en zorgcommunicatie":"Verpleegoproep en zorgcommunicatie","Overig":"Overig"};

    //reset all hidden fields
    $('#tdCompanySF_col1,#tdCompanySF_col2').css('display','');

    switch(BranchId)
    {
    case 6:
        options = {"":"Selecteer","Brand en blusgassystemen":"Brand en blusgassystemen","Brandbeveiliging":"Brandbeveiliging","CCTV":"CCTV","Draagbare blusmiddelen":"Draagbare blusmiddelen","Elektronische Artikel Beveiliging":"Elektronische Artikel Beveiliging","Gebouwbeheersysteem":"Gebouwbeheersysteem","Inbraakbeveiliging":"Inbraakbeveiliging","Intelligente analyse oplossingen":"Intelligente analyse oplossingen","Noodverlichting":"Noodverlichting","Observatie":"Observatie","Sprinklersystemen":"Sprinklersystemen","Toegangscontrole":"Toegangscontrole","Verpleegoproep en zorgcommunicatie":"Verpleegoproep en zorgcommunicatie","Overig":"Overig"};
        $('#tdCompanySF_col1,#tdCompanySF_col2').css('display','none');
      break;
    }
    
    AddOptions('00N200000026841', options); //add option to defined field

    $('#frm-SalesForce').css("display","");
    ValidateMainform_SF(BranchId);
    
}



// Clear the validation class from all the fields
ClearValidationClass =function(){
    $("input,textarea").each(function(index){
       cssClass = $(this).attr('class');
       if(cssClass != "")
       {
          arrClass = cssClass.split(' ');
          for(var i=0; i<arrClass.length;i++)
          {
             if(arrClass[i].indexOf('validate[') > -1)
                $(this).removeClass(arrClass[i]);
          }
       }
    });
}


//binding validation to defined form
BindFormValidation = function(formId)
{
    $.validationEngineLanguage.newLang();
    if($("#" + formId).exists())
    {
       $("#" + formId).validationEngine();
    }
}


// reset the defined form
ResetForm = function(formId)
{
    $('textarea','#' + formId).text('');
    $(':input','#' + formId).not(':button, :submit, :reset, :hidden, :radio, :checkbox').val('').removeAttr('checked').removeAttr('selected'); 
}


function AddOptions(ctrlid, arrValue)
{
    $('option',"#" + ctrlid).remove();
    var select = $('#' + ctrlid);  
    var options = select.attr('options'); 
    $.each(arrValue, function(val, text) {  
        options[options.length] = new Option(text, val);  
    }); 
}

//checks for element exists
jQuery.fn.exists = function(){return jQuery(this).length>0;} 

/*
 * Usuage:
 * var frmGuid = jQuery.uuid();
 * $("#instanceID").val(frmGuid);
*/

/*
 Generate fragment of random numbers
*/

jQuery._uuid_default_prefix = '';
jQuery._uuidlet = function () {
	return(((1+Math.random())*0x10000)|0).toString(16).substring(1);
};

/*
 Generates random uuid
*/

jQuery.uuid = function (p) {
	if (typeof(p) == 'object' && typeof(p.prefix) == 'string') {
		jQuery._uuid_default_prefix = p.prefix;
	} else {
		p = p || jQuery._uuid_default_prefix || '';
		return(p+jQuery._uuidlet()+jQuery._uuidlet()+"-"+jQuery._uuidlet()+"-"+jQuery._uuidlet()+"-"+jQuery._uuidlet()+"-"+jQuery._uuidlet()+jQuery._uuidlet()+jQuery._uuidlet());
	};
};

 /* Functions to implement omniture tracking starts here*/
function DoRedirect(){
    if(document.formPost){
        //SEventForEnquiryForm();
        //SEventForCareerForm();
        window.location.href = document.formPost.SubmitAction.value;// + '?sEvent=' + $("#SEvent").val();  
        //document.formPost.action = document.formPost.SubmitAction.value + '?sEvent=' + $("#SEvent").val();  
        //document.formPost.submit();
    }
}


