import { NgModule, enableProdMode ,CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import * as $ from 'jquery';
import { HttpModule } from '@angular/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { SidebarModule } from './components/sidebar/';
import { SidebarDemoComponent } from './components/sidebar/sidebar.demo';
import { AgmCoreModule } from 'angular2-google-maps/core';
import {DropdownModule} from "./components/dropdown";
import {DropdownDemoComponent} from "./components/dropdown/Dropdown.demo";
//import {DropdownComponent} from "./components/dropdown/Dropdown.component";
//Routing Moudule///////
import { IngRouterModule }        from './app.routes';
//custom components declarations/////
import { IngComponent } from './components/';
import { HomeComponent } from './components/home/home.component';
import { AboutUsComponent } from './components/about-us-box/about-us.component';
import { MenuComponent, MenuDemoComponent} from './components/menu/';

import { ContactUsComponent } from './components/contact-us-component/contact-us.component';
import { LoginComponent, LoginDemoComponent} from './components/login';

import { PageNotFoundComponent } from './components/page-not-found/pageNotFound.component';
import { HeaderComponent } from './components/header/header.component';
import { FooterComponent } from './components/footer/footer.component';
import { Angular2SocialLoginModule,SocialLoginComponent } from './components/social-login/';
//FORMCOMPONENTS///
import { AccordianComponent } from './components/accordian';
import {Accordion, AccordionGroup} from './components/accordian/accordian';
import { DatePickerDemoComponent } from './components/form-elements/datepickerDemo';
import { InputFileComponent } from './components/form-elements/inputfile';
import { TimePickerComponent } from './components/form-elements/timepicker';
import { ValidationComponent } from './components/validation';


import { DateTimePickerModule } from './components/form-elements/datetimepicker/picker.module';
 
 
 
//directives declaration//
import { FileSelectDirective } from './components/file-upload/file-select.directive';
//service declaration//
import { DataService } from './services/data.service';
import { AlertService } from './services/alert.service';
import { AuthenticationService } from './services/authentication.service';
import { AlertComponent } from './components/alert-message/index';
//filter declaration////
import { FilterPipe } from './pipes/filter.pipe';
import { Broadcaster } from './pipes/Broadcaster';
import { SpeechRecognitionService } from './services/speech-recognition.service';
//validation///form-elements
import { FormElementComponent } from './components/form-elements/form.elements.component';
import { CustomFormsModule  } from './utils/validation';
import { Tabs,Tab } from './components/tabs/';
import { TabDemoComponent } from './components/tabs/tabs.demo';
//modal component///
import { ModalComponent } from './components/modal/modal.component';
import { ModalService } from './components/modal/modal.service';
let providers = {
    "google": {
      "clientId": "213090036644-eirka4bema96ttsq20285922ckukc4c0.apps.googleusercontent.com"
    },
    "linkedin": {
     "clientId": "81gihqhuib7x7w"
    },
     "facebook": {
      "clientId": "152754915260092",
      "apiVersion": "v2.8" 
    }
  };
  

enableProdMode();

@NgModule({
    imports: [
        BrowserModule,
        IngRouterModule,
        SidebarModule,
        
        
        DateTimePickerModule,
        DropdownModule,
        HttpModule,
        FormsModule,
        Angular2SocialLoginModule,
      AgmCoreModule.forRoot({
        apiKey: 'AIzaSyDEFwtnIQBjh0HVqWlo-q1fwyRmVExG8Xc'
        }),
        ReactiveFormsModule,
         CustomFormsModule
    ],
    declarations: [
        IngComponent,
        LoginComponent,
        HomeComponent,
        ModalComponent,
        ContactUsComponent,
        AboutUsComponent,
        FileSelectDirective,
        FilterPipe,
        MenuComponent,
        MenuDemoComponent,
        FormElementComponent,
        HeaderComponent,
        FooterComponent,
        PageNotFoundComponent,
        AccordianComponent,
        DatePickerDemoComponent,
        InputFileComponent,
        TimePickerComponent,
        ValidationComponent,
        Accordion,
         DropdownDemoComponent,
         AccordionGroup,
         AlertComponent,
         LoginDemoComponent,
         SidebarDemoComponent,

         SocialLoginComponent,Tabs,Tab,TabDemoComponent
    ],
    exports: [],
    entryComponents: [],
    providers: [
        AlertService,SpeechRecognitionService,Broadcaster,
        AuthenticationService,
        DataService,
        ModalService
    ],
    schemas: [
    CUSTOM_ELEMENTS_SCHEMA
],
    bootstrap: [IngComponent]
})

export class AppModule { }
//Angular2SocialLoginModule.loadProvidersScripts(providers);