function setCookie(c_name,value,dname,expiredays){
        var exdate=new Date();
        exdate.setDate(exdate.getDate()+expiredays);
        document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+";path=/"+";domain="+dname;
}   
    
function getCookie(c_name){
        if (document.cookie.length>0) {
                c_start=document.cookie.indexOf(c_name + "=");
                if (c_start!=-1) {
                        c_start=c_start + c_name.length+1;
                        c_end=document.cookie.indexOf(";",c_start);
                        if (c_end==-1) c_end=document.cookie.length;
                        return unescape(document.cookie.substring(c_start,c_end));
                }
      }
      return "";
}


function siteWideOffer(currentPath, promo, siteCode, curpage, dname) {
       
       var isOfferValid = null;
        isOfferValid = evalSiteWideResponse(getSiteWideResponse(currentPath + '.promoStatus.json?'));
         
       
       if ((promo == "null" || promo == "") && getCookie("promo") != "null" && getCookie("promo") != "") { 
      
                promo = getCookie("promo");
        }
        var siteWide =new Array();
        var keep_promo = false;


        if (isOfferValid && isOfferValid[0] && isOfferValid[0].siteWideStatus == "true") {
          
          if (isOfferValid[1] && isOfferValid[1].siteWideList != null) {
            var siteWideList = isOfferValid[1].siteWideList;        
            siteWide = siteWideList.split(",");         
         
            if (siteWide != null && siteWide.length > 0){
              for(var i=0;i<siteWide.length;i++) {
                        if (siteWide[i] == promo) {
                                keep_promo = true;
                        }
                }
            }
        }   
       if (promo == "null" || promo == "" || !keep_promo) {
         if (isOfferValid[2] && isOfferValid[2].defaultPromo != null)
          promo = isOfferValid[2].defaultPromo;
         }
                
       }

       
        /* END of SITE-WIDE PROMO STUFF */    
        if (promo != "null" && promo != "") {
                setCookie("promo",promo,dname);
                setCookie("promo_eVar2", promo,dname);
        }
 }


function getSiteWideResponse(url) {
            //url = CQ.HTTP.externalize(url, true);


                var request = document.all ? new ActiveXObject("Microsoft.XMLHTTP") :
                              new XMLHttpRequest();
                try {
                    request.open("GET", url, false);
                    request.send(null);
                    var response = createSiteWideResponse();
                    response.body = request.responseText;
                    //response.headers[CQ.utils.HTTP.HEADER_STATUS] = request.status;
                    // set properties for backward compatibility (pre 5.3)
                    response.responseText = request.responseText;
                    response.status = request.status;

                    return response;
                } catch (e) {
                    //CQ.Log.error("CQ.utils.HTTP#get: failed to get {0}: {1}", [url, e.message]);
                    return null;
                }

        }


function evalSiteWideResponse(response) {
            if (typeof response != "object") {
                response = getSiteWideResponse(response);
            }
            try {

                return eval("(" + (response.body ? response.body :
                            response.responseText) + ")");
            } catch (e) {
            }
            return null;
        }


        var createSiteWideResponse = function() {
        var response = new Object();
        response.headers = new Object();
        response.body = new Object();
        return response;
    };

