﻿jQuery.fn.roundBorders = function(style) {
	var clearW = '<div class="rbox-flex-clear"><div class="rbox-flex-outer-clear"><div class="rbox-flex-inner"><div class="rbox-flex-inner-inner clearfix"></div></div></div></div>';
	var greyGradW = '<div class="rbox-flex"><div class="rbox-flex-outer"><div class="rbox-flex-inner"><div class="rbox-flex-inner-inner clearfix"></div></div></div></div>';
	var highW = '<div class="rbox-flex-high"><div class="rbox-flex-outer-high"><div class="rbox-flex-inner-high"><div class="rbox-flex-inner-inner-high clearfix"></div></div></div></div>';
	
    if (style == "clear") {
        jQuery(this).wrap(clearW);
    }
    else if (style == "gradient") {
        jQuery(this).wrap(greyGradW);
    }
    else if (style == "high") {
        jQuery(this).wrap(highW);
    }
    else {
        jQuery(this).wrap(clearW);
    }
}

//Search results adjustments

function galleryColumnator(containerEl, containerWidth){
    if (containerWidth <= 520) {
        containerEl.css({width : '96%'});
    }
    if ((containerWidth > 520) && (containerWidth <= 830)) {
        containerEl.css({width : '48%'});
    }
    if ((containerWidth > 830) && (containerWidth < 1160)) {
        containerEl.css({width : '32%'});
    }
    if (containerWidth >= 1160) {
        containerEl.css({width : '24%'});
    }
}

function galleryColumnAdjust(){
    // sets columns in gallery view. this is inline to reduce flash of reconfiguration
    // begin full profile adjustments
    var CMWidthInLoad = jQuery('#content-main').width();      
    
    //begin gallery-view adjustments
    if (jQuery('#results-container .results.gallery-view').length > 0) {
        galleryContainer = jQuery('#results-container .results.gallery-view');
        galleryColumnator(galleryContainer, CMWidthInLoad);
    }
    jQuery('#results-container').show();
}
function recordYNMVoteAndGetNewSlideshowProfile(params, type, memberID, reloadContent) {
    ShowPopupDiv('slideshow-waiting');
    jQuery.get("/Applications/Home/SlideshowProfileAPI.aspx?ynmp=" + params + "&YNMLT=" + type + "&asl=" + reloadContent, function(data) {

        if (reloadContent == 'true') {
            jQuery('#slideshow').html(data);
            HidePopupDiv('slideshow-waiting');
            refreshTop728by90SR();
            refreshRight300by250SR();

            if (s != null && s != undefined) {
                var originalPageName = s.pageName;
                var typeString;
                PopulateS(true); //clear existing values in omniture "s" object

                switch (type) {
                    case '1':
                        typeString = 'Y';
                        break;
                    case '2':
                        typeString = 'N';
                        break;
                    case '3':
                        typeString = 'M';
                        break;
                }

                s.pageName = originalPageName;
                s.prop30 = typeString + '– Home Page Slideshow';
                s.prop31 = memberID;
                s.t(); //send omniture updated values as page load
        }


        }

    });
    
    
}

function galleryColumnAdjustResize(){
    // begin full profile adjustments
    var CMWidthIn = jQuery('#content-main').width();      
    
    //begin gallery-view adjustments
    if (jQuery('#results-container .results.gallery-view').length > 0) {
        galleryContainerResize = jQuery('#results-container .results.gallery-view');
        galleryColumnator(galleryContainerResize, CMWidthIn);
    }
}
//MiniSearch
jQuery(document).ready(function() {
    
    if ( jQuery('#MarketingClose').length ) {
        jQuery('#profile-full-comm .action-hot-list .listMenuContainer').css({display : "none"});
    }
    
    jQuery('#MarketingClose').click(function() {
        jQuery('#divMiniSearchMarketingCopy').hide();
        jQuery('#profile-full-comm .action-hot-list .listMenuContainer').css({display : "block"});
        return false;
    });
});

// rounded corner tab style enhancements
jQuery(document).ready(function() {
  
    var indHover = '<div class="nav-profile-full-indicator"></div>';
    var indSelected = '<div class="nav-profile-full-selector-indicator"></div>';
    
    jQuery('.nav-rounded-tabs li.tab.selected').not('#video-tabs .nav-rounded-tabs li.tab.selected').append(indSelected);

	jQuery('.nav-rounded-tabs li.tab a').hover(function() {
	    jQuery('.nav-rounded-tabs li.tab .nav-profile-full-indicator').remove();
		jQuery(this).not('#video-tabs ul.nav-rounded-tabs li.tab a').not('.nav-rounded-tabs li.tab.selected a').append(indHover);
        if (jQuery.ieDetection.browserTypeIE6 == true) {
            jQuery(this).parent().not('.selected').addClass('hover');
        }
		jQuery('.nav-rounded-tabs li.tab.selected.hover').append(indSelected);		
	}, function() {
		jQuery('.nav-rounded-tabs li.tab .nav-profile-full-indicator').hide();
		if (jQuery.ieDetection.browserTypeIE6 == true) {
            jQuery(this).parent().removeClass('hover');
        }
	});	

	jQuery('.nav-rounded-tabs.click li.tab a').click(function(event) {
		jQuery('.nav-rounded-tabs li.tab div.nav-profile-full-selector-indicator').remove();
		jQuery(this).append(indSelected);
	});
	
	// Change the down arrow on the tabs. 
	jQuery('.thumbs li').click(function(event) {
		jQuery('.nav-rounded-tabs li.tab div.nav-profile-full-selector-indicator').remove();
		var relatedTab = jQuery(".tab[id*=" + this.className + "]");
		jQuery(relatedTab).append(indSelected);
	});
});

// UI enhancements not based on browser or element widths
//all
jQuery(document).ready(function() {
    //open links that go off-site in new window
	jQuery('a[rel*=external]').attr('target', '_blank');
	jQuery('a[rel*=popup]').click( function() {
	    var href = jQuery(this).attr('href');
		window.open(href, 'popup', 'height=500,width=646,toolbar=no,scrollbars=yes,resizable=yes,menubar=yes,location=yes,directories=no,toolbar=yes');
		return false;
	});

	jQuery('a[rel*=hover]').hover(function() {
	    var swid = (jQuery('#content-container .content-rounded-inner3').width()) - 22;
	    var $hoverE = jQuery(this).next('div.rel-layer-div');
	    var lmar = jQuery('#content-container .content-rounded-inner3').offset();
	    
	    jQuery($hoverE).show();
	    
	    var hwid = $hoverE.width();
	    var iposRaw = jQuery(this).offset();
	    var ipos = iposRaw.left - lmar.left

	    if (hwid > swid) {
	        //alert('DEBUG: hovered layer is wider than site!');
	    }
	    else if (ipos + hwid > swid) {
	        var move = swid - (ipos + hwid);
	        $hoverE.css({left: move});
	    }
	    
	    return false;
    }, function() {
        //jQuery('#destroyMe').remove();
	    jQuery(this).next('div.rel-layer-div').hide().css({left: '0'});
	    return false;
    });
    
    jQuery('a[rel*=click]').click(function() {
	    var swid = (jQuery('#content-container .content-rounded-inner3').width()) - 22;
	    var $hoverE = jQuery(this).next('div.rel-layer-div');
	    var lmar = jQuery('#content-container .content-rounded-inner3').offset();
	    
	    jQuery($hoverE).show();
	    
	    var hwid = $hoverE.width();
	    var iposRaw = jQuery(this).offset();
	    var ipos = iposRaw.left - lmar.left

	    if (hwid > swid) {
	    }
	    else if (ipos + hwid > swid) {
	        var move = swid - (ipos + hwid);
	        $hoverE.css({left: move});
	    }
	    return false;
    });

	jQuery('.rel-layer-div a.click-close').click(function() {
		jQuery(this).parent().parent().hide();
		return false;
	});
    $j('span.spr, span.spr-btn').parent().addClass('spr-parent');
    jQuery(".rbox-style-gradient").css("border", "none").roundBorders('gradient');
	jQuery(".rbox-style-clear").css("border", "none").roundBorders('clear');
	jQuery(".rbox-style-high").css("border", "none").roundBorders('high');
});

//filter IE6
if (jQuery.ieDetection.browserTypeIE6 == true) {
    jQuery(document).ready(function() {
        // stack your IE6 specific fixes in here
        jQuery('#content-main .results.list-view .note input:text').css({width : "540px", marginLeft : ".4em"});
    });
}
else {
    jQuery(document).ready(function() {
        // stack all other browser fixes here
        // add element around results member spotlight
        jQuery('.results.spotlight-header').wrap('<div class="spotlighted-header-wrap"></div>');
        jQuery('.results.list-view.spotlighted').wrap('<div class="spotlighted-profile-wrap"></div>');
    });
}

// z-index fixes - these should be made into functions at some point
if (jQuery.ieDetection.browserTypeIEAll == true) {
    jQuery(document).ready(function() {
	    var zIndexNumber = 100;
	    jQuery('#content-main .listMenuContainer').each(function() {
		    jQuery(this).css('zIndex', zIndexNumber);
		    zIndexNumber -= 2;
	    });
	    jQuery('#content-main .results.photo-view').each(function() {
		    jQuery(this).css('zIndex', zIndexNumber);
		    zIndexNumber -= 2;
	    });
//	    jQuery('#content-main ul li[class^=plansRow]').each(function() {
//		    jQuery(this).css('zIndex', zIndexNumber);
//		    zIndexNumber -= 2;
//	    });
	    jQuery('#content-main .sub-item').each(function() {
		    jQuery(this).css('zIndex', zIndexNumber);
		    zIndexNumber -= 2;
	    });
    });
}

// zebra stripe for articles
jQuery(document).ready(function() {
   jQuery('#article table.zebra-striping tr:even').addClass('odd');
});

// zebra stripe inbox
jQuery(document).ready(function() {
   jQuery('#mail-list .mail-table tr:even').addClass('odd');
});


// transparent layer over mini-profile
// compose message
jQuery(document).ready(function() {
    var blockProfiles = jQuery('body.page-email.sub-page-viewmessage .results.list-view')
        .add('body.page-sendtofriend.sub-page-sendtofriend .results.list-view')
        .add('body.page-memberservices.sub-page-reportmember .results.list-view')
        .add('body.page-email.sub-page-tease .results.list-view')
        .add('#profile-mini-blocked .results.list-view');
    jQuery(blockProfiles).block({
        message: null,
        overlayCSS: { backgroundColor: '#96b1cc',opacity: '0.3' }
        }
    );
    jQuery('body.page-subscription .carrot-profile .member-pic, body.page-subscription .carrot-profile .member-info').block({
        message: null,
        overlayCSS: { backgroundColor: '#96b1cc',opacity: '0.0' }
        }
    );
});

//search preferences
jQuery(document).ready(function() {
    var Toggled = false;
    jQuery('#search-pref-toggle-more').click(function(){
        if(Toggled==false){
            jQuery(this).html('<img border="0" src="/img/Community/JDate/icon-preference-module-hide.gif" />&nbsp;Hide additional search preferences');
            
            Toggled=true;
        }
        else{
            jQuery(this).html('<img border="0" src="/img/Community/JDate/icon-preference-module-show.gif" />&nbsp;Add more search preferences');
            
            Toggled=false;
        }
        jQuery('#search-pref-more').slideToggle(400); return false;
    });
});

//edit profile adjustments
jQuery(document).ready(function() {
    
    jQuery('body.page-memberprofile.sub-page-registrationstep1 #prefBorder tr')
        .add('body.page-memberprofile.sub-page-registrationstep2 #prefBorder tr')
        .add('body.page-memberprofile.sub-page-registrationstep3 #prefBorder tr')
        .add('body.page-memberprofile.sub-page-registrationstep4 #prefBorder tr')
        .css({height : '2.6em'})
    ;
    jQuery('body.page-memberprofile.sub-page-registrationstep1 #prefBorder td')
        .add('body.page-memberprofile.sub-page-registrationstep2 #prefBorder td')
        .add('body.page-memberprofile.sub-page-registrationstep3 #prefBorder td')
        .add('body.page-memberprofile.sub-page-registrationstep4 #prefBorder td')
        .css({paddingRight : '.3em'})
    ;
    jQuery('body.page-memberprofile.sub-page-registrationstep3 table.twoColumnCheckList td:even')
        .add('body.page-memberprofile.sub-page-registrationstep4 table.twoColumnCheckList td:even')
        .add('body.page-memberprofile.sub-page-registrationstep3 table.threeColumnCheckList td:even')
        .css({width : '18em'})
    ;
    jQuery('body.page-memberprofile.sub-page-registrationstep1 #prefBorder .edit-profile-form-table')
        .add('body.page-memberprofile.sub-page-registrationstep2 #prefBorder .edit-profile-form-table')
        .add('body.page-memberprofile.sub-page-registrationstep3 #prefBorder .edit-profile-form-table')
        .add('body.page-memberprofile.sub-page-registrationstep4 #prefBorder .edit-profile-form-table')
        .css({marginLeft : '1em'})
    ;
    jQuery('body.page-memberprofile.sub-page-registrationstep1 #prefBorder textarea')
        .add('body.page-memberprofile.sub-page-registrationstep2 #prefBorder textarea')
        .add('body.page-memberprofile.sub-page-registrationstep3 #prefBorder textarea')
        .add('body.page-memberprofile.sub-page-registrationstep4 #prefBorder textarea')
        .css({width : '98%'})
    ;
    
    jQuery('body.page-memberprofile.sub-page-registrationstep1 #prefBorder table.full-width').css({width : '98%'});
    jQuery('body.page-memberprofile.sub-page-registrationstep1 #prefBorder [width]')
        .add('body.page-memberprofile.sub-page-registrationstep2 #prefBorder [width]')
        .add('body.page-memberprofile.sub-page-registrationstep3 #prefBorder [width]')
        .add('body.page-memberprofile.sub-page-registrationstep4 #prefBorder [width]')
        .removeAttr('width')
    ;
    
    jQuery('body.page-memberprofile #content-main #prefBorder').show();
});

// Classic overrides

jQuery(document).ready(function() {
// Mail make view profile table 100%
    jQuery('#_ctl0__ctl4_viewProfileInfo_ViewProfileTable').css({width : "100%"});
    jQuery('#_ctl0__ctl4_viewProfileInfo__ctl1_tbInterests td, #_ctl0__ctl4_viewProfileInfo__ctl0_tbRelationship td').css({paddingBottom : "1em"});
});

jQuery(document).ready(function() {
    // toggle FAQ answer block
    jQuery('#faq-wrapper #top-ten h3').click(function(){
        jQuery(this).next("div.answer-block").toggle();
    });
});


//Show/Hide message setting help blocks
jQuery(document).ready(function() {
    
    if ( jQuery('#msgPrefContainer').length > 0) {
        jQuery(".whatsthis").click(function(){
           //This grabs the first class name of the (What's this?) link, 
           //which should be the same as the first part of the id. It will
           //also be the first part of the corresponding answer box id.
            var answerBox = "#" + jQuery(this).attr("class").split(' ').slice(0)[0] + "-answer";
            
            //Which (What's this?) link was clicked.
            var whatsThisLink = jQuery(this);
                        
            //Hide the (What's this?) link and show corresponding answer box
            jQuery(whatsThisLink).removeClass('showSpan').addClass('hide');
            jQuery(answerBox).removeClass('hide').addClass('show');
            
            //Add listener to "[Hide]" link
            var hideLink = answerBox + " .messageSettingsHelpParagraphHide a";
            jQuery(hideLink).click(function(){
                jQuery(answerBox).removeClass('show').addClass('hide');
                jQuery(whatsThisLink).removeClass('hide').addClass('showSpan');
            });
    });
    }
});

jQuery(document).ready(function() {
			
	function showslider() {
	    var windowHeight = jQuery(document).height();
    	jQuery('#ie6only #slider-container').width(jQuery(document).width());
	    jQuery('#slider-container').height(windowHeight).show();
		jQuery('#emislider').show().animate({ top: "100px" }, 2000 );   // modify the "2000" value to dictate animation speed; higher is slower
	}
	
	function setOmnitureValues(propertyValue, pageName){
	    PopulateS(true); //clear existing values in omniture "s" object
        s.prop14 = propertyValue;
        s.pageName = pageName;
	    s.tl(); //send omniture updated values as page load
	}
	if(jQuery("#emislider").length > 0){
	    // the close button
	    jQuery("map area#slider_close").click(function() {
		    jQuery('#emislider').hide();
		    jQuery('#slider-container').hide();
 		    return false;
	    });
    			
	    // the continue button
	    jQuery("map area#slider_continue, map area#slider_partner, map area#slider_claim").click(function() {
		    var thehref = jQuery(this).attr("href");
		    jQuery('#emislider').hide();
		    jQuery('#slider-container').hide();
		    setOmnitureValues("JRewards Slider – Continue", "jrewards");
		    window.open(thehref);
		    return false;
	    });	
	    showslider();
	}
});

//Close jrewards slider			
function hideSlider() {
    jQuery(document).ready(function() {
    	jQuery('#emislider').hide();
		jQuery('#slider-container').hide();
    });
}

function colorCodeCharts(){
//	$j('table.cc-chart-hori-small').visualize({
//		type: 'bar',
//		barDirection: 'horizontal',
//		title: 'Color Code',
//		appendTitle: false,
//		appendKey: true,
//		width: 70,
//		height: 88,
//		textColors: ['#000000','#000000','#000000','#000000']
//	}).addClass('cc-chart-hori-small-container');

	if($j('body.sub-page-registrationwelcome').length){
	    var pieWidth = 190;
	    var pieHeight = 170;
	    var pieClass = 'cc-chart-pie-container cc-chart-pie-small';
    } else {
	    var pieWidth = 240;
	    var pieHeight = 240;
	    var pieClass = 'cc-chart-pie-container';
    }

	$j('table.cc-chart-pie').visualize({
		type: 'pie',
		pieMargin: 0,
		title: 'Color Code',
		appendTitle: false,
		appendKey: true,
		width: pieWidth,
		height: pieHeight,
		pieLabelPos: 'inside',
		textColors: ['#000000','#000000','#000000','#000000']
	}).addClass(pieClass);
	
	$j('table.cc-chart-vert-large').visualize({
		type: 'bar',
		barDirection: 'vertical',
		title: 'Color Code',
		appendTitle: false,
		appendKey: true,
		width: 240,
		height: 140,
		textColors: ['#000000','#000000','#000000','#000000']
	}).addClass('cc-chart-vert-large-container');
	
	$j('#cc-pie-chart-loading').css({display: 'none'});
}

function colorCodeColorOrder(element){
	var thisElement = $j(element).find('th:gt(0)');
	var colorOrder = $j.map($j(thisElement), function(e) { return $j(e).text(); })
	
	$j(colorOrder).each(function(i){
		switch(colorOrder[i]){
		    case "Blue":
		        colorOrder[i] = "#6380e4";
		        break;
            case "BLUE":
		        colorOrder[i] = "#6380e4";
		        break;
		    case "White":
		        colorOrder[i] = "#ebeff2";
		        break;
		    case "WHITE":
		        colorOrder[i] = "#ebeff2";
		        break;
		    case "Yellow":
		        colorOrder[i] = "#fad350";
		        break;
            case "YELLOW":
		        colorOrder[i] = "#fad350";
		        break;
		    case "Red":
		        colorOrder[i] = "#b13736";
		        break;
		    case "RED":
		        colorOrder[i] = "#b13736";
		        break;
		}
		
//		if (colorOrder[i] == "Blue"){
//			colorOrder[i] = "#6380e4";
//		}
//		if (colorOrder[i] == "White"){
//			colorOrder[i] = "#ebeff2";
//		}
//		if (colorOrder[i] == "Yellow"){
//			colorOrder[i] = "#fad350";
//		}
//		if (colorOrder[i] == "Red"){
//			colorOrder[i] = "#b13736";
//		}
	});
    return colorOrder;
}

$j(document).ready(function() {
	if (jQuery.browser.version.substr(0,1)<8) {
		setTimeout(function () {colorCodeCharts()}, 500);
	}
	else {
		colorCodeCharts();
	}	
});

function ccFPShowExample(element){
	$j(element).appendTo('body');
	$j.blockUI({
		message: element,
		overlayCSS: { 
				backgroundColor:'#000',
				opacity:'0.1',
				cursor:'pointer'
			},
			css: {
				cursor:'pointer',
				top:'100px',
				width:'744px',
				left:'22%',
				border:'none',
				backgroundColor:'transparent',
				position: 'fixed'
			}
		}
	);
}

$j(document).ready(function(){
	$j('#cc-promo-examples').click(function(event){
		var $red = $j('#cc-fp-example-red');
		var $white = $j('#cc-fp-example-white');
		var $blue = $j('#cc-fp-example-blue');
		var $yellow = $j('#cc-fp-example-yellow');
		
		if($j(event.target).hasClass('.cc-promo-pic.cc-spr-red') ){
			ccFPShowExample($red);
		}
		if($j(event.target).hasClass('.cc-promo-pic.cc-spr-white') ){
			ccFPShowExample($white);
		}
		if($j(event.target).hasClass('.cc-promo-pic.cc-spr-blue') ){
			ccFPShowExample($blue);
		}
		if($j(event.target).hasClass('.cc-promo-pic.cc-spr-yellow') ){
			ccFPShowExample($yellow);
		}
		$j('.blockOverlay, .blockUI').attr('title','Click to close').click($j.unblockUI);
	});
});

// Modal-popup for Color Code on Registration page
$j(document).ready(function(){
                
    $j('a.modal-link').live('click', function(){

        var modalcontent = $j('#cc-info-modal');

        $j.blockUI	({
		message: modalcontent,
		overlayCSS: { 
			backgroundColor:'#000',
			opacity:'0.5',
			cursor:'pointer'
			},
		css: {
			cursor:'auto',
			top:'15%',
            left:'15%',
			width:'70%',
			border:'none',
			backgroundColor:'transparent',
			textAlign:'left'
			},
            fadeIn:0,
            fadeOut:0,
            timeout: 0
                    });
        $j('.blockOverlay, .ui-modal-window .close').click($j.unblockUI);
    });
});

function querySt(yourId, queryString) {
    yourId = yourId.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexStr = "[\\?&]"+yourId+"=([^&#]*)";
    var regex = new RegExp( regexStr );
    var results = regex.exec(queryString);
    if( results == null )
    return "";
    else
    return results[1];
}


$j(document).ready(function(){
	$j('#content-main').mouseover(function(e){
		if($j(e.target).is('.cc-pic-tag') ){
			$j('#cc-pic-tag-help').css({left: e.pageX + 'px',top: (e.pageY + 12) + 'px'}).show();
		}
	}).mouseout(function(e){
		if($j(e.target).is('.cc-pic-tag')){
			$j('#cc-pic-tag-help').hide();
		}
	}).click(function(e){
		if($j(e.target).is('.cc-pic-tag')){
			var modalcontent = $j('#cc-info-modal');
			$j.blockUI({
				message: modalcontent,
				overlayCSS: { 
						backgroundColor:'#000',
						opacity:'0.5',
						cursor:'pointer'
					},
					css: {
						cursor:'auto',
						top:'20%',
						width:'436px',
						left:'35%',
						border:'none',
						backgroundColor:'transparent',
						textAlign:'left'
					}
				});
			$j('.blockOverlay, .ui-modal-window .close').click($j.unblockUI);
			if ($j('.page-memberprofile.sub-page-viewprofile').length){
			    $j('#cc-info-modal-fp-link').hide();
			} else {
			    var hrefValue = $j(e.target).parent().closest("div").find('a').attr('href');
			    var MemberID = querySt("memberid", hrefValue.toLowerCase());
			    $j('#cc-goto-fp-cctab').attr("href", '/Applications/MemberProfile/ViewProfile.aspx?MemberID=' + MemberID);
			}			
		}
	});

	$j('.cc-quiz-help').click(function(){
	    var modalcontent = $j('#cc-help-modal');
		$j.blockUI({
			message: modalcontent,
			overlayCSS: { 
					backgroundColor:'#000',
					opacity:'0.5',
					cursor:'pointer'
				},
				css: {
					cursor:'auto',
					top:'20%',
					width:'436px',
					left:'35%',
					border:'none',
					backgroundColor:'transparent',
					textAlign:'left'
				}
			});
		$j('.blockOverlay, .ui-modal-window .close').click($j.unblockUI);
		return false;
			
    });
	
	
	
});

