var axel = Math.random() + "";
var ord = axel * 1000000000000000000;

// ############################################
// start: public.js contents
// Event Delegation ------------------------------------[TN]
jQuery.delegate = function(Rules) {
    return function(e) {
        var Target = $(e.target);
        for (var Selector in Rules)
            if (Target.is(Selector)) return Rules[Selector].apply(this, $.makeArray(arguments));
    }
}
//------------------------------------------------------[TN]

jQuery.fn.debug = function() {
    return this.each(function(){
        var verbose = false;
        var itemsPerPage = 10;
        var myHeader  = '//VPI_JS_Debug-----------------------------------------------' + "\n";
            myHeader += (this['tagName'] != null) ? 'Tag Name: ' + this['tagName'] + "\n" : '';
            myHeader += 'Type: ' + (typeof this) + "\n";

        var myFooter  = "\n\n" + '//----------------------------------------------------------------';
        var z = 0;
        var y = 0;
        var mySplit = 'Page [' + ++y + ']' + "\n" + '//----------------------------------------------------------------' + "\n\n";
        var myMessage = '';
        for(var i in this) {
            if (i == 'domConfig' || typeof this[i] == 'unknown')
                continue;
            if(!verbose && typeof this[i] == 'function')
                continue;
            myMessage += '[' + i + '] -> ' +
                ((!verbose && (typeof this[i] == 'string') && (this[i].length > 200)) ?
                    this[i].substr(0,200) + ' {...}' :
                    this[i])
                + "\n";
            if(z++ > itemsPerPage) {
                alert(myHeader + mySplit + myMessage + myFooter);
                z = 0;
                mySplit = 'Page [' + ++y + ']' + "\n" + '//----------------------------------------------------------------' + "\n\n";
                myMessage = '';
            }
        }
        alert(myHeader + mySplit + myMessage + myFooter);
    });
};



function PollLoaded() {
    $('.PollSubmit').click(PollSubmit);
    $('.PollResult').click(PollResult);
}


function GetHoroscope(Sign, MySectionID) {
    $('#horoscopeContent').fadeOut("slow", HoroscopeCallback(Sign, MySectionID)).fadeIn("slow"); 
    return false;
}

function HoroscopeCallback (Sign, MySectionID) {
    $('#horoscopeContent').load('/ajx.horoscope.get/',{'Sign': Sign, 'SectionID':MySectionID});
//  $('#horoscopeContent').fadeIn('slow');
}

function GetPopular(Type,Category,SectionID,Tags) {
    Category = ( Category ) ? Category : 'Article';
    if(Type =='Viewed'){
        $('#ViewedLink').attr('class','Popular_Selected');
        $('#SharedLink').attr('class','Popular_notselected');
    }
    else {
        $('#ViewedLink').attr('class','Popular_notselected');
        $('#SharedLink').attr('class','Popular_Selected');
    }

    $('#Most_Popular_Content').fadeOut("slow", PopularCallback(Type,Category,SectionID,Tags)).fadeIn("slow"); 
    return false;
}


function PopularCallback (Type,Category,SectionID,Tags) {
        $('#Most_Popular_Content').load('/ajx.popular.get',{'PopularType': Type,'Category':Category,'SectionID':SectionID,'Tags':Tags});
}

function PollSubmit() {
    // Error check
    

    // Submit to process
    var PollData = {
        'PollID'    : $('#PollID').val(),
        'ChoiceID'  : $('.PollChoice:checked').val()
    };

    $.post('/poll.process/', PollData, PollResult);

    return false;
}

function PollResult() {
    $('.Poll').load('/poll.result/?PollID=' + $('#PollID').val());
    return false;
}
//------------------------------------------------------[TG]
var moduleClass = function(){};var moduleClass = function(){};

var essenceMod = new moduleClass();
// end: public.js contents
// ############################################


// ############################################
// start: exitpopup.js contents
function exit_popup() {
var pathsearch = unescape(String(window.location));
checkurl(pathsearch);
function checkurl(str) {
    var success = false;
    patternz = new Array(/^http:\/\/www.essence.com/i,/^http:\/\/photos.essence.com/i,/^http:\/\/ad.doubleclick.net/i,/^http:\/\/essence.stage2.vpi.net/i,/^http:\/\/community.essence.com/i)
    for (i = 0;i < patternz.length;i++)
    {
           if (patternz[i].test(str)) {
         success = true;
        }
     }
    if (success == false) {
    window.open("http://www.essence.com/js/system/exitpop_page.htm","_blank",
    "height=695,width=534,status=yes,toolbar=no,menubar=no,location=no");
                        }
}
}
// end: exitpopup.js contents
// ############################################

function setCookie (name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + escape(value) + (expires ? "; expires=" + expires : "") +
        (path ? "; path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "secure" : "");
    document.cookie = curCookie;
}

function getCookie (name) {
    var prefix = name + '=';
    var c = document.cookie;
    var nullstring = '';
    var cookieStartIndex = c.indexOf(prefix);
    if (cookieStartIndex == -1)
        return nullstring;
    var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
    if (cookieEndIndex == -1)
        cookieEndIndex = c.length;
    return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function deleteCookie (name, path, domain) {
    if (getCookie(name))
        document.cookie = name + "=" + ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}

function fixDate (date) {
    var base = new Date(0);
    var skew = base.getTime();
    if (skew > 0)
        date.setTime(date.getTime() - skew);
}

function rememberMe (f) {
    var now = new Date();
    fixDate(now);
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    now = now.toGMTString();
    if (f.author != undefined)
       setCookie('mtcmtauth', f.author.value, now, '/', '', '');
    if (f.email != undefined)
       setCookie('mtcmtmail', f.email.value, now, '/', '', '');
    if (f.url != undefined)
       setCookie('mtcmthome', f.url.value, now, '/', '', '');
}

function forgetMe (f) {
    deleteCookie('mtcmtmail', '/', '');
    deleteCookie('mtcmthome', '/', '');
    deleteCookie('mtcmtauth', '/', '');
    f.email.value = '';
    f.author.value = '';
    f.url.value = '';
}


var mobileBrowsers = new Array("iPhone","iPod","Blazer","Palm","UP\.Browser","MMP\/","\(GUI\)","AUDIOVOX","AU-MIC,","Alcatel","BlackBerry","BENQ","CASIO","CDM-","Ericsson","EZOS","FLY-","HTC-","kyok","kyocera","LENOVO-","LG-","LGE-","LG\/","NEC-","Nokia","nok6","NOKIA","Mitsu","MOT-","mot-","Motorola","Sagem","SAGEM","Sendo","SonyEricsson","T-Mobile","Panasonic","PANTECH","PM-","PT=","QC-","PlayStation Portable","PHILIPS","Samsung","SAMSUNG","sama","SEC-S","SEC-s","SEC-N","Sanyo","SHARP","Sharp","SIE-","SPHA","SPICE-","Sony","SymbianOS","Symbian OS","portalmmm","Vodafone\/","KDDI-","J-PHONE","Danger","hiptop","ProxyNet","IEMobile","MobileExplorer","Series60","MIDP-2\.0","MIDP-1\.0","CLDC-1\.0","CLDC-1\.1","Series60","Opera Mini","MobilePhone","NetFront","Nitro","DoCoMo","Obigo","PocketPC","Pocket PC","RegKing","Smartphone","SmartPhone","EPOC","Rover","iPAQ","Jornada","iNASSAP","Minimo","Plucker","ERICY","SoftBank","DDIPOCKET","WILLCOM","YOSPACE","TagTag","WinWAP","UP\.Link","PDXGW","ASTEL","WAP1\.","Xiino","UP\/4","Maemo","Windows CE","MSPIE","Microsoft Pocket Internet Explorer","Elaine","EudoraWeb","ReqwirelessWeb","jBrowser-WAP","Lenovo","M3GATE","Cellphone","Sony CMD","wapsilon","TELME","Linux armv","SONY\/COM1","embedix armv5tel","Xplore G","mobileOK DDC","Google WAP Proxy","Google CHTML Proxy","WAP2\.","MAUI WAP","ZTE-","PPC; 240x320","Android","SCH-","UTSTARCOM","SPH-","KWC-","M1000-","Nintendo Wii","Nintendo DS","Nintendo DSi","webOS","PSP","240x320; PPC");

function isMobileBrowser(curBrowser) {
    browser = curBrowser || navigator.userAgent.toString();
    for (var i = 0; i < mobileBrowsers.length; i++) {
        var pattern = new RegExp(mobileBrowsers[i], "i");
        if (browser.search(pattern) != -1) {
            return true;
        }
    }
    return false;
}

function redirectMobile() {
    var pattern = /^http:\/\/m\.essence\.com/i;
    var url = window.location.href.toString();
    if (url.search(pattern) == -1) {
        if (isMobileBrowser()) {
            window.location.href = "http://m.essence.com/";
        }
    }
}

redirectMobile();