/* http://adtsouthafrica.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,#SKFCE_15_UserInput,#SKFCE_19_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,#SKFCE_9_UserInput,#SKFCE_10_UserInput").addClass("validate[required,length[0,40]]");

    BindFormValidation('Sitekit_Form_384');
}

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

//Show form according to verticals
ValidateQuickFillForm_SK = function(BranchId)
{

    ClearValidationClass();
    Quickfill_BindValidationClassToFields_SK(BranchId);
    BindFormValidation_QF('Sitekit_Form_386',BranchId);
}

//Add validation class to Quick Fill form
Quickfill_BindValidationClassToFields_SK = function(BranchId) //SALESFORCE
{
    var frmGuid = jQuery.uuid();
    $("#instanceID").val(frmGuid);
    
    //Setting initial value for the customer type
    $("#SKFCE_0_UserInput").val("BUSINESS");

    
    // Setting validation class for common fields
    $("#SKFCE_10_UserInput").addClass("validate[required,length[0,40]]"); //full name
    $("#SKFCE_1_UserInput").addClass("validate[required,custom[email],length[0,80]]"); //email
    $("#SKFCE_2_UserInput").addClass("validate[required,length[0,40]]"); //city
    $("#SKFCE_11_UserInput").addClass("validate[required]"); //region
    $("#SKFCE_5_UserInput").addClass("validate[required,length[0,20]]"); //phone
    $("#SKFCE_16_UserInput").addClass("validate[required,length[0,20]]"); //Cellphone
    $("#SKFCE_17_UserInput").addClass("validate[required,length[0,100]]");  //Address
    $("#SKFCE_19_UserInput").addClass("validate[required]"); //product interest

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

//Hides or display according to branch id
Quickfill_HideDisplayFields_SK = function(BranchId)
{

    $.validationEngine.closePrompt('.formError',true) //close all validation layer
    $("#SubmitAction").val($("#SubmitAction").val()+BranchId);

    // default option for "Business"
    var options = {"":"Select...","Armed response and monitoring":"Armed response and monitoring","Alarm Installation":"Alarm Installation","Residential Guarding":"Residential Guarding","Commercial Guarding":"Commercial Guarding","CCTV":"CCTV","Electronic Article Surveillance":"Electronic Article Surveillance","Community Security Schemes":"Community Security Schemes","Fire Suppression and System Integration ":"Fire Suppression and System Integration ","CO2 Detection":"CO2 Detection","Outdoor Beams":"Outdoor Beams","Emergency Lighting":"Emergency Lighting","Other":"Other"};

    //reset all hidden fields
    $('#dvCompany').css('display','');
    switch(BranchId)
    {
    case 1:
        options = {"":"Select...","Armed response and monitoring":"Armed response and monitoring","Alarm Installation":"Alarm Installation","Residential Guarding":"Residential Guarding","Commercial Guarding":"Commercial Guarding","CCTV":"CCTV","Electronic Article Surveillance":"Electronic Article Surveillance","Community Security Schemes":"Community Security Schemes","Fire Suppression and System Integration ":"Fire Suppression and System Integration ","CO2 Detection":"CO2 Detection","Outdoor Beams":"Outdoor Beams","Emergency Lighting":"Emergency Lighting","Other":"Other"};
        $('#dvCompany').css('display','none');
      break;
    }
    
    AddOptions('SKFCE_19_UserInput', options); //add option to defined field
    ValidateQuickFillForm_SK(BranchId); // Binding validation according to fields displayed
    $('#frm-Sitekit').css("display","");
}

//function SubmitToSalesForce_QF(branchid){alert("test"); return false;}

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

ValidateMainform_SK = function(BranchId)
{
    ClearValidationClass();
    Mainform_BindValidationClassToFields_SK(BranchId);
    BindFormValidation_MF('Sitekit_Form_388',BranchId);
}

//Add validation class to fields
Mainform_BindValidationClassToFields_SK = function(BranchId)
{
    var frmGuid = jQuery.uuid();
    $("#instanceID").val(frmGuid);
    
    $("#SKFCE_10_UserInput").addClass("validate[optional,length[0,40]]"); //customer number
    $("#SKFCE_1_UserInput").addClass("validate[required]"); //nature of enquiry
    $("#SKFCE_6_UserInput").addClass("validate[required]"); //salutaion
    $("#SKFCE_2_UserInput").addClass("validate[required,length[0,40]]"); //fullname
    $("#SKFCE_11_UserInput").addClass("validate[required,length[0,40]]"); //phone
    $("#SKFCE_5_UserInput").addClass("validate[required,length[0,20]]"); //celphone
    $("#SKFCE_16_UserInput").addClass("validate[required,custom[email],length[0,80]]"); //email
    $("#SKFCE_19_UserInput").addClass("validate[required,length[0,255]]"); // physical address
    $("#SKFCE_18_UserInput").addClass("validate[required,length[0,40]]"); //town
    $("#SKFCE_4_UserInput").addClass("validate[required,length[0,20]]"); // postal code
    $("#SKFCE_7_UserInput").addClass("validate[required]"); //region
    $("#SKFCE_8_UserInput").addClass("validate[optional,length[0,400]]"); //comments

    //Setting validation class conditionally
    switch(BranchId)
    {
        case 3:
        case 4:
            $("#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()
{
    var BranchId;
    
    if($('#SKFCE_0_ElementID_I_am_NOT_an_existing_ADT_Customer:checked').exists() && $('#SKFCE_3_ElementID_Business_Enquiry:checked').exists())
        BranchId = 1;
    else if ($('#SKFCE_0_ElementID_I_AM_an_existing_ADT_Customer:checked').exists() && $('#SKFCE_3_ElementID_Business_Enquiry:checked').exists())
        BranchId = 2;
    else if ($('#SKFCE_0_ElementID_I_am_NOT_an_existing_ADT_Customer:checked').exists() && $('#SKFCE_3_ElementID_Residential_Enquiry:checked').exists())
        BranchId = 3;
    else if ($('#SKFCE_0_ElementID_I_AM_an_existing_ADT_Customer:checked').exists() && $('#SKFCE_3_ElementID_Residential_Enquiry:checked').exists())
        BranchId = 4;

    $("#SubmitAction").val($("#SubmitAction").val()+BranchId);

    $.validationEngine.closePrompt('.formError',true) //close all validation layer

    var options;

    //reset all hidden fields
    $('#trCustomerNo,#tdCompany_col1,#tdCompany_col2').css('display','');
    switch(BranchId)
    {
    case 1:
    case 3:
        options = {"":"Select...","Armed response and monitoring":"Armed response and monitoring","Alarm Installation":"Alarm Installation","Residential Guarding":"Residential Guarding","Commercial Guarding":"Commercial Guarding","CCTV":"CCTV","Electronic Article Surveillance":"Electronic Article Surveillance","Community Security Schemes":"Community Security Schemes","Fire Suppression and System Integration ":"Fire Suppression and System Integration ","CO2 Detection":"CO2 Detection","Outdoor Beams":"Outdoor Beams","Emergency Lighting":"Emergency Lighting","Other":"Other"};
        $('#trCustomerNo').css('display','none');
        break; 
    case 2:
        options = {"":"Select...","Technical":"Technical","Sales assistance":"Sales assistance","Guarding":"Guarding","Armed Response":"Armed Response","Account Enquiry":"Account Enquiry","other":"other"};
        break;
    case 4:        
        options = {"":"Select...","Account Enquiry":"Account Enquiry","Technical":"Technical","Sales Assistance":"Sales Assistance","Guarding":"Guarding","Armed Response":"Armed Response","Customer Service":"Customer Service","Other":"Other"};
        $('#tdCompany_col1,#tdCompany_col2').css('display','none');
        break;
    }
    
    AddOptions('SKFCE_1_UserInput', options); //add option to defined field
    ValidateMainform_SK(BranchId) //
    $('#frm-Sitekit').css("display","");
}


// 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]);
          }
       }
    });
}

        function SubmitToSalesForce_QF(formId, branchid){

           if( branchid != 1 && $("#SKFCE_19_UserInput").val() == "Commercial Guarding")
            {
                $("#last_name").val($("#SKFCE_10_UserInput").val());
                $("#email").val($("#SKFCE_1_UserInput").val());
                $("#company").val($("#SKFCE_6_UserInput").val());
                $("#city").val($("#SKFCE_2_UserInput").val());
                $("#00N200000026yYJ").val(GetRegionCode($("#SKFCE_11_UserInput").val()));
                $("#phone").val($("#SKFCE_5_UserInput").val());
                $("#mobile").val($("#SKFCE_16_UserInput").val());
                $("#street").val($("#SKFCE_17_UserInput").val());
                $("#00N200000026841").val($("#SKFCE_19_UserInput").val());
                if($("#SKFCE_18_UserInput:checked").val()=="ON")
                    $("#00N20000001iRG4").val("1");
                else
                    $("#00N20000001iRG4").val("0");    
                
                $("#frmSalesforce").css("display","block");
                $("#frmSalesforce").submit();
                
               return false;
            }
          else
            $("#SubmitAction").val($("#SubmitAction").val()+branchid).submit();
           //$("#" + formId).submit();
            
            return true;
        }

        function SubmitToSalesForce_MF(branchid){
            if( branchid == 1 && $("#SKFCE_1_UserInput").val() == "Commercial Guarding")
            {
//alert("test");
                $("#00N200000026841").val($("#SKFCE_1_UserInput").val());
                $("#last_name").val($("#SKFCE_2_UserInput").val());
                $("#phone").val($("#SKFCE_11_UserInput").val());
                $("#mobile").val($("#SKFCE_5_UserInput").val());
                $("#email").val($("#SKFCE_16_UserInput").val());
                $("#company").val($("#SKFCE_17_UserInput").val());
                $("#street").val($("#SKFCE_19_UserInput").val());
                $("#city").val($("#SKFCE_18_UserInput").val());
                $("#zip").val($("#SKFCE_4_UserInput").val());
                $("#00N200000026yYJ").val(GetRegionCode($("#SKFCE_7_UserInput").val()));
                $("#description").val($("#SKFCE_8_UserInput").val());
 
                if($("#SKFCE_9_UserInput:checked").val()=="ON")
                    $("#00N200000027QSz").val("1");
                else
                    $("#00N200000027QSz").val("0");    
                
                $("#frmSalesforce").css("display","block");
                $("#frmSalesforce").submit();
                
                return false;
            }
           else
            $("#SubmitAction").val($("#SubmitAction").val()+BranchId).submit();

            return true;
        }
        
        function GetRegionCode(value)
        {
            var RegionCode;
            switch(value)
            {
            case 'Eastern Cape':
            case 'Garden Route':
                RegionCode = 'EC';
                break;
            case 'Johannesburg':
            case 'Vaal':
            case 'Freestate':                
                RegionCode = 'JH';
                break; 
            case 'KZN':
                RegionCode = 'DK';
                break;                                
            case 'Mpumulanga':
            case 'North West Province':
            case 'Polokwane':                
            case 'Pretoria Tshwane':                
                RegionCode = 'PK';
                break; 
            case 'Western Cape':
                RegionCode = 'WC';
                break;                  
            }
            return RegionCode;
        }

//binding validation to defined form
BindFormValidation_QF = function(formId, branchid)
{
    $.validationEngineLanguage.newLang();
    if($("#" + formId).exists())
     $("#" + formId).validationEngine({success: function(){return SubmitToSalesForce_QF(formId, branchid)}});

    /*$("#PostEnquiry").bind("click",function(caller){
   $("#" + formId).submit(function(){alert("test1")});
   $("#" + formId).submit(function(){alert("test2")});
    });*/
}

//binding validation to defined form
BindFormValidation_MF = function(formId, branchid)
{
    $.validationEngineLanguage.newLang();
    if($("#" + formId).exists())
       $("#" + formId).validationEngine({success: function(){return SubmitToSalesForce_MF(branchid)}});
}


//binding validation to defined form
BindFormValidation = function(formId)
{
    $.validationEngineLanguage.newLang();
    if($("#" + formId).exists())
    {
       //$(("#" + formId).validationEngine({unbindEngine:false}));
       //$("#" + formId).validationEngine({success: function(){alert("test");return false;}});
       $("#" + 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();
    }
}


