// JavaScript Document

$(document).ready(function() {
  debug('dom ready');
  init();
  setEventListeners();
    
  //Check for query string "tab" and display the correct tab.
  displayTabContent();	
});


var init = function() {
    $('.dhtmlMenu').parent().css('background-color','transparent');
    $('.displayTabs > .tabbedContent table').attr('cellspacing','0');

  //Move Relate Resources widget to proper spot in html
    $('.shuttermenu_green').prependTo('.leftColumn'); 

  //Select current tab
  $('#navitup > li.current').find('> a').addClass('current'); 	

  //Init Tabs
	$('.displayTabs > .tabbedNavigationBlue li').removeClass('current');
	$('.displayTabs > .tabbedNavigationBlue li:eq(0)').addClass('current');
	$('.displayTabs > .tabbedContent > li').removeClass('current');
	$('.displayTabs > .tabbedContent > li:eq(0)').addClass('current');
	
  //Right Column Widget Image 
    $('.rightColumn .widget .overlay').each(function(i){
				   
			$(this).parent().prev('.widgetContent').prepend(this);
			$(this).show();
												   });	
	
   //Clear Table Borders
   $('.displayTabs > .tabbedContent > li table').each(function(i){
   
   		$(this).find('tr').find('td:last').addClass('lastColumn');
   		$(this).find('tr:first').addClass('firstRow');
   		$(this).find('tr:last').addClass('lastRow');
															  });
   //Breadcrumbs
   $('.breadcrumbs > a:last').addClass('current');
   

  //clear empyt p tags
  $('p').each(function(i){
				 reW = /\w/;	   
			     if($(this).html().match(reW))
				 {
					var re = /(&nbsp;)/g; 
					if($(this).html().match(re))
					{					  
						var temp = $(this).html().replace(re, '');						 
						if(temp.match(reW))
						{
						  debug('p: ' + $(this).html());
						} else {
						  debug('nbsp p: ' + $(this).html());	
						  $(this).remove();//.text("Empty <p> nbsp!").css('background', 'rgb(255,220,200)');	
						}		  
					} else { 
					  debug('p: ' + $(this).html()); 
					}
				 } else {
					debug('empty p: ' + $(this).html());
					$(this).remove();//.text("Empty <p>!").css('background', 'rgb(255,220,200)');
				 }
			  });   
  
  
   //LEft Menu GH code
   $('.ekmenu_link_selected').parent().parent().parent().parent().parent().children('h3').children('a').children('span').css('background-color','transparent');
   $('.ekmenu_link_selected').parent().parent().parent().parent().removeClass('ekmenu_submenu_items_hidden').addClass('ekmenu_submenu_selected').addClass('.removeBottomPadding');
   $('.ekmenu_link_selected').parent().parent().parent().parent().parent().parent().parent().parent().parent().removeClass('ekmenu_submenu_items_hidden').addClass('ekmenu_submenu_selected');
   $('.ekmenu_unorderedlist').each(function(i){
			     if($(this).html().match(/[\w\d]/))
				 {
					//debug($(this).html()); 
				 } else {
					debug('empty');
					$(this).parent().addClass('destroy');
					$(this).remove();
					//parent().remove();
				 }
			  });   
   $('.ekmenu_menu_seperator').remove();
   
   //$('.ekmenu_submenu_selected:last').parent().parent().parent().addClass('hasChildren');

   $('.ekmenu > .ekmenu_submenu_items > .ekmenu_unorderedlist > .ekmenu_unorderedlist_item').addClass('topLevel');
	
	var current_path = window.location.pathname;
	if (current_path != null) {
		//alert($('.ekmenu_submenu_items div>a.ekmenu_link[href='+current_path+']').attr('href'));
		$('.ekmenu_submenu_items a.ekmenu_link[href='+current_path+']').parent().parent().parent().parent().parent().children('h3').children('a.ekmenu_submenu_btnlink').children('span').css('background-color','transparent');
		$('.ekmenu_submenu_items div>a.ekmenu_link[href='+current_path+']').removeClass('ekmenu_link').addClass('ekmenu_link_selected').addClass('ekmenu_button_selected');
		$('.ekmenu_submenu_items a.ekmenu_link[href='+current_path+']').addClass('ekmenu_button_selected ekmenu_link_selected');
		$('.ekmenu_submenu a.ekmenu_submenu_btnlink[href='+current_path+']').children('span').removeClass('ekmenu_button').addClass('ekmenu_button_selected');
	}
	$('.ekmenu_link_selected').parents().filter('.ekmenu_submenu_items_hidden').removeClass('ekmenu_submenu_items_hidden').addClass('ekmenu_submenu_selected');
	$('.ekmenu_button_selected').parents().filter('.ekmenu_submenu').children('.ekmenu_submenu_items_hidden').removeClass('ekmenu_submenu_items_hidden').addClass('ekmenu_submenu_items');
	
	
	$('.ekmenu_submenu_items_hidden').remove();
	
	$('.ekmenu_unorderedlist').each(function(i){									
									$(this).find('> li.ekmenu_unorderedlist_item:last').addClass('liLast');
									})
	$('.ekmenu_link_selected').each(function(i){	
											 debug('!!!');
									$(this).parent().parent().parent().find('> li.liLast').removeClass('liLast').addClass('selectedLiLast');
									});
	
	//Query String Javascript code
	   
	var querystring = window.location.querystring;
	var myValue = querystring["ekmensel"];
	 
	for (var key in querystring) {
		var value = querystring[key];
	if(key == "ekmensel")
	{
	
	}
	//alert(key + "=" + value);  
	}
	// End of Query String Javascript code  
   
  if(jQuery.support.style){
	$('.ekmenu_menu_level_2 .ekmenu_link_selected').parent().parent().parent().parent().parent().parent().parent().parent().addClass('bottomSpacer');
  }      
   
}

var setEventListeners = function() {
    debug('setting listeners');	
		$('.displayTabs > .tabbedNavigationBlue a').click(function(){	
																	
																	$('.displayTabs > .tabbedNavigationBlue li').removeClass('current');
																	$('.displayTabs > .tabbedContent > li').removeClass('current');
																	
																    var i = $(".displayTabs > .tabbedNavigationBlue a").index(this);
																	debug(i);
																	var tabString = '.displayTabs > .tabbedNavigationBlue li:eq(' + i + ')';
																	debug(tabString);
																	$(tabString).addClass('current');
																	
																	var contentString = '.displayTabs > .tabbedContent > li:eq(' + i + ')';
																	debug('contentString = ' + contentString);
																	$(contentString).addClass('current');																
		});
		
		$('.viewExistingCustomer').click(function(){
										      debug('>> View Existing Clicked<<');
											  $('#newCustomer').css('display','none');
											  $('#existingCustomer').css('display','block');
											  debug('!');
										  
		});
		$('.viewNewCustomer').click(function(){
											  debug('>> View New Clicked<<');
											  $('#existingCustomer').css('display','none');
											  $('#newCustomer').css('display','block');
										  
		});			
}


var displayTabContent = function(){
	debug('tab = ' + $.query.get('tab'));
	if($.query.get('tab') && $('.displayTabs > .tabbedNavigationBlue li').length > parseInt($.query.get('tab')) ){	
		debug('.displayTabs .tabbedNavigationBlue li:eq(' + $.query.get('tab') + ') a') ;
		$('.displayTabs .tabbedNavigationBlue li:eq(' + $.query.get('tab') + ') a').click();
	} 
}

var debug = function(what){
	if(window.console && window.console.firebug){
		console.log(what);
	}	
	else{
		//alert(what);
	}
}

window.location.querystring = (function() {
     var collection = {};
     // Gets the query string, starts with '?'
     var querystring = window.location.search;
     // Empty if no query string
     if (!querystring) {
        return { toString: function() { return ""; } };
    }
     // Decode query string and remove '?'
     querystring = decodeURI(querystring.substring(1));
    // Load the key/values of the return collection
     var pairs = querystring.split("&");
     for (var i = 0; i < pairs.length; i++) {
         // Empty pair (e.g. ?key=val&&key2=val2)
         if (!pairs[i]) {
            //alert(i);
            continue;
        }
         // Don't use split("=") in case value has "=" in it
         var seperatorPosition = pairs[i].indexOf("=");
         if (seperatorPosition == -1) {
            collection[pairs[i]] = "";
        }
        else {
            collection[pairs[i].substring(0, seperatorPosition)] 
                = pairs[i].substr(seperatorPosition + 1);
        }
    }
     // toString() returns the key/value pairs concatenated
     collection.toString = function() {
        return "?" + querystring;
    };
     return collection;
})();
