﻿SPEEDHUNTERS.namespace("gps");
var args = [0];
SPEEDHUNTERS.gps.Request = function(id) {
    var Dom = YAHOO.util.Dom;
    args[0] = id;
    
    var showUrl = "showUrl=http://beta.speedhunters.com/controlpanel/";
    var hideUrl = "hideUrl=http://beta.speedhunters.com/controlpanel/";
    var viewUrl = "viewUrl=";
    var complaintType = "complaintType=Language";
    var subject = "subject=test";
    var timeZone = "timeZone=-08:00,1";
    var accountId = "accountId=21304964";
    var machineId = "machineId=";
    var product = "product=NFS";
    
    // get the context link
    var targetLink = Dom.get("SHCommentSubmitLink_" + id).innerHTML;
    
    // set the viewUrl
    var divLink = Dom.getChildren("SHCommentLink_" + id);
    var divLinkChild = Dom.getChildren(divLink[0]);
    viewUrl += escape(divLinkChild[0].href);
    
    // set the accountId
    var divUser = Dom.getChildren("SHCommentUser_" + id);
    
    /*var aId = divUser[0].innerHTML;
    var isNumeric = aId.match(/^\d+$/);
    if ( isNumeric == null ) {
      aId = "21304964";
    }
    accountId += aId;
    */
    // set the machineId
    machineId += divUser[0].innerHTML;
    
    var paramters = "";
    parameters  = viewUrl + "&" + showUrl + "&" + hideUrl + "&";
    parameters += complaintType + "&" + subject + "&" + timeZone + "&";
    parameters += accountId + "&" + machineId + "&" + product;
    
    var completeLink = targetLink + "?" + parameters;
    
    // dirty trick
    if(Dom.get("commentFlagID_" + id).innerHTML != "Thank you. The issue has been reported.") {    
        YAHOO.util.Connect.asyncRequest('GET', completeLink, this.callback, null);
    }
};

SPEEDHUNTERS.gps.handleSuccess = function(o){
    var Dom = YAHOO.util.Dom;
    
    if(o.responseText == "200") {
        var lnkObj = Dom.get("commentFlagID_" + args[0]);
        lnkObj.innerHTML = "Thank you. The issue has been reported.";
        // disable the hyperlink
        lnkObj.href = "javascript:void(0)";
        Dom.setStyle(lnkObj,"textDecoration", "none");
        Dom.setStyle(lnkObj,"cursor", "default");
    } else if(o.responseText == "500") {
        var panelError = new YAHOO.widget.Panel("panel1", { modal:true, fixedcenter:true, width:"300px", visible:false, constraintoviewport:true } );
        panelError.render();
        panelError.setHeader("Error");
        panelError.setBody("<span style='color:#FFF;font-family:Arial;font-size:12px;'>There was an error processing your request. <br>Please try again. If it still does not work, please contact contact@speedhunters.com</span>");
        panelError.setFooter("<div style='text-align:right;color:#FFF;font-family:Arial;font-size:10px;'>SpeedHunters</span>");
        panelError.show();
    }
}

SPEEDHUNTERS.gps.handleFailure = function(o) {
}

SPEEDHUNTERS.gps.callback = {
    success:SPEEDHUNTERS.gps.handleSuccess,
    failure:SPEEDHUNTERS.gps.handleFailure,
    argument:args
};
