%% Basic definition to have a real LaTeX document class
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cv}[2002/07/23 Curriculum vitae version 1.0]
\RequirePackage{color}

% %% The fonts used in the layout
\newcommand{\sectionfont}[1]{\def\cv@sec@fnt{#1}}
\newcommand{\subsectionfont}[1]{\def\cv@ssec@fnt{#1}}
\newcommand{\itemfont}[1]{\def\cv@it@fnt{#1}}
\newcommand{\headerfont}[1]{\def\cv@hd@fnt{#1}}
\newcommand{\titlefont}[1]{\def\cv@tit@fnt{#1}}
\newcommand{\bog}{\fontsize{120}{52}\selectfont}

% Some document class options.
\DeclareOption{sf}{
  \sectionfont{\sffamily\fontseries{sbc}\selectfont}
  \subsectionfont{\sffamily\fontseries{sbc}\selectfont}
  \itemfont{\sffamily\slshape}
  \headerfont{\sffamily}
  \titlefont{\sffamily\fontseries{sbc}\selectfont\LARGE}
}
\DeclareOption{plain}{
  \sectionfont{\bfseries}
  \subsectionfont{\bfseries}
  \itemfont{\itshape}
  \headerfont{}
  \titlefont{\bfseries\LARGE}
}

\setlength{\textwidth}{17cm}
\setlength{\textheight}{720pt}
\setlength{\oddsidemargin}{0cm}
\setlength{\marginparsep}{0cm}
\setlength{\marginparwidth}{1cm}

\setlength{\topmargin}{0cm}
\setlength{\headheight}{0cm}
\setlength{\headsep}{0cm}
\setlength{\footskip}{0cm}
\setlength{\hoffset}{-30pt}
\setlength{\voffset}{-60pt}

\def\indentlength{2.2cm}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ExecuteOptions{sf,a4paper,10pt,oneside,onecolumn,final}
\ProcessOptions
\LoadClass{article}

% stuff needed for the header
\newcommand{\leftheader}[1]{\def\cv@lh{#1}}
\newcommand{\rightheader}[1]{\def\cv@rh{#1}}
\renewcommand{\title}[1]{\def\cv@tit{#1}}
%% Default to empty.
\leftheader{}\rightheader{}\title{}

%% And now a command to actually show the headers
\newcommand{\cv@header}[2]{%
  \begin{tabular}[t]{@{ }#1@{}}%
    #2%
  \end{tabular}}

\newcommand{\cv@do@title}{\par\bigskip
  \begin{center}\bigskip\textbf{\Huge\cv@tit}\end{center}}

\renewcommand{\maketitle}{%
  \par
  {\color{blue}\cv@do@title}
  \bigskip\par
  \newpage
}

\renewcommand{\section}[1]
{
  \noindent
  {\color{blue}
    \begin{tabular}{|p{\textwidth}}
      \textbf{\Large{#1}} \\
      \hline
    \end{tabular}
  }
}

\newcommand{\personal}[1]
{
  \begin{tabbing}
    #1%
  \end{tabbing}
  \par\smallskip
}

\newcommand{\objectives}[1]
{
  \begin{tabbing}
    #1%
  \end{tabbing}
  \par\smallskip
}

\newcommand{\job}[3]{
%\noindent\hspace{-2pt}\begin{tabular}{p{4cm}l}
%#2~:~&\textbf{#1}\\
%&#3\\
%  \end{tabular}
%  \vspace{2mm}
  \begin{tabbing}
    \hspace{4cm}\=\\
    #2~:\hspace{10mm}~\>\textbf{#1}\\
    \>#3%
  \end{tabbing}
}

\newcommand{\jobItem}[1]{
  \begin{itemize}
  \item #1%
  \end{itemize}
}

\newcommand{\formation}[3]{
  \begin{tabbing}
    \hspace{\indentlength}\= \kill
    #2~:~\> #1\\%
    ~\> #3%
  \end{tabbing}
}

\newcommand{\comp}[2][]
{
  \begin{tabbing}
    \hspace{\indentlength}\= \kill
    #1~\>#2%
  \end{tabbing}
}

\newcommand{\languages}[3][]{
  \begin{tabbing}
    \hspace{\indentlength}\= \kill
    #1~\>#2~-~#3%
  \end{tabbing}
}

\newcommand{\infos}[1]
{
  \begin{tabbing}
    #1%
  \end{tabbing}
}
