var onload_orig = window.onload;

window.onload = function() {
    if(onload_orig) onload_orig();
    getRequestData();
}

function getRequestData() {
    var ref = document.referrer;
    var host = refHostname(ref);
    var location = window.location;
    var today = new Date();

    var local = host.match(/\.otoiawase-portal\.jp/);
    if(local)
        return;

    if (!ref) {
        return ;
    }

    if(getCookie('hostname'))
        return;
    
    setCookie('hostname',host);
    setCookie('from',ref);
    setCookie('location',location);

    setCookie('visited_at',today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate())

    var search = ref.match(/\?(.*)$/);

    var q2 = location.search;
    q2 = q2.toString().replace(/^\?/,"");
    if(q2) {
      var query_set2 = parseQuery(q2);

      if(fromAd(query_set2)){
	setCookie('Ad',"1");
      }else {
  	setCookie('Ad',"0");
      }
    }else {
         setCookie('Ad',"0");
    }

    if(search) {

      var q = search.toString().replace(/^\?/,"");

      var query_set = parseQuery(q);
      var keyword = find_keyword(query_set,host);

      if(keyword){
          setCookie('keyword',keyword);
      }
    }
}

function refHostname(referrer) {
    var temp = referrer.replace(/^https?:\/\//,"");
    var list = temp.split("/");
    return list[0];
}

function parseQuery(query) {
    var list = new Array();
    var q = query.split("&");
    for(var i = 0; i < q.length; i++) {
        var pair = q[i].split("=");
        list[pair[0]] = pair[1];
    }
    return list;
}


function setCookie(key,value,limit) {
    if(getCookie(key)) return false;
    today = new Date();
    today.setTime(today.getTime() + (3650*24*60*60*1000));
    var item = "@@" + key.toString() + "=" + escape(value).toString() + ";";
    path = "path=/;";
    domain = "domain=.otoiawase-portal.jp;";
    expire = "expires=" + today.toGMTString();
    document.cookie = item + domain + path + expire;
}

function getCookie(key){
    key = "@@" + key + "=";
    value = null;
    str = document.cookie + ";" ;
    
    offset = str.indexOf(key);
    if (offset != -1){
       start = offset + key.length;
       end   = str.indexOf(";" , start);
       value = unescape(str.substring(start,end));
    }
    return value;
}

function find_keyword(query_set,host) {
    if (host.search("yahoo.co.jp") != -1) {
        key = "p";
    }
    else if (host.search("yahoo.com") != -1) {
        key = "p";
    }
    else if (host.search("google.co.jp") != -1) {
        key = "q";
    }
    else if (host.search("google.com") != -1) {
        key = "q";
    }
    else if (host.search("so-net.search.goo.ne.jp") != -1) {
        key = "MT";
    }
    else if (host.search("goo.ne.jp") != -1) {
        key = "MT";
    }
    else if (host.search("livedoor.com") != -1) {
        key = "q";
    }
    else if (host.search("msn.com") != -1) {
        key = "q";
    }
    else if (host.search("msn.co.jp") != -1) {
        key = "q";
    }
    else if (host.search("excite.co.jp") != -1) {
        key = "search";
    }
    else if (host.search("infoseek.co.jp") != -1) {
        key = "qt";
    }
    else if (host.search("nifty.com") != -1) {
        key = "Text";
    }
    else if (host.search("biglobe.ne.jp") != -1) {
        key = "q";
    }
    else {
        return false;
    }
    return query_set[key];
}

function fromAd(query_set) {
    if(query_set['gclid'] || query_set['OVRAW']) {
        return true;
    }
    return false;
}

