library(plyr)
library(xts)
library(reshape2)
Sys.setlocale("LC_ALL","C")

get.main_url<- function(s){
  temp.url <- contest[grep(s,contest$URL),]
  temp.count <- data.frame(table(temp.url$URL))
  temp.total <- sum(temp.count$Freq)
  return(temp.total)
}

data <- read.delim("Z2.log",header=FALSE,sep="",quote="\"'",stringsAsFactors=FALSE)
names(data)<-c("Source","Dashes","User","Date","timezone","Request","Status","Size","Comments","UserAgent")
substr(data$Date,1,1) <- " "

data$Date <- strptime(data$Date,format="%d/%b/%Y:%H:%M:%S")
data.request_count <- data.frame(table(data$Request))

contest <- data[grep("digital-natives/video-contest/",data$Request),]
contest <- contest[ifelse(contest$Status!="500",TRUE,FALSE),]
contest$Request<-gsub("  ","",contest$Request)
splitted<-do.call(rbind,strsplit(contest$Request," "))
contest<-transform(contest,RequestType=splitted[,1],URL=splitted[,2],ProtocolVersion=splitted[,3],stringsAsFactors=FALSE)
contest<- contest[grep("entries",contest$URL),]
contest.request_count <- data.frame(table(contest$Request))
  contest<- contest[grep("you-know-you-like-it",contest$URL,invert=TRUE),]

target <- data[grep("you-know-you-like-it",data$Request),]
target <- target[ifelse(target$Status!="500",TRUE,FALSE),]
splitted<-do.call(rbind,strsplit(target$Request," "))
target<-transform(target,RequestType=splitted[,1],URL=splitted[,2],ProtocolVersion=splitted[,3],stringsAsFactors=FALSE)
target$MainSite <- gsub("you-know-you-like-it","",target$URL)

tmp<-data.frame(tapply(target$MainSite,list(target$MainSite),get.main_url))
names(tmp) <- c("VisitCount")
count_tab <- data.frame(table(target$MainSite))
names(count_tab) <- c("MainURL","VoteCount")
count_tab$Main <- tmp$VisitCount

# This is the link to investigate relation with browser
sony_erricson <- data[grep("SonyEricssonE10i",data$UserAgent),]
sony_erricson <- sony_erricson[grep("from-the-wild-into-the-digital-world/",sony_erricson$Request),]
sony_erricson.request_by_time <- ddply(sony_erricson,.(Date,Request),nrow)

sony_request <- dcast(sony_erricson.request_by_time,Date ~ Request)
for(i in names(sony_request)){
  if(i!="Date"){
    sony_request[[i]][is.na(sony_request[[i]])]<-0
  }
}
colnames(sony_request)<-make.names(colnames(sony_request))
sony_erricson.request_timeseries <- xts(sony_request[,-1],order.by=sony_request[,1])

mozilla<-contest[ifelse(contest$UserAgent=="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.83 Safari/535.11",TRUE,FALSE),]
mozilla.request_by_time <- ddply(mozilla,.(Date,Request),nrow)
mozilla_request <- dcast(mozilla.request_by_time,Date ~ Request)

for(i in names(mozilla_request)){
  if(i!="Date"){
    mozilla_request[[i]][is.na(mozilla_request[[i]])]<-0
  }
}
colnames(mozilla_request)<-make.names(colnames(mozilla_request))
mozilla.request_timeseries <- xts(mozilla_request[,-1],order.by=mozilla_request[,1])