/**
 * Copy the value of an input field's title attribute to its value attribute.
 * Clear the input field on focus if its value is the same as its title.
 * Repopulate the input field on blur if it is empty.
 * Hide the input field's associated label if it has one.
 */
var autoPopulate = {
	sInputClass:'populate', // Class name for input elements to autopopulate
	sHiddenClass:'structural', // Class name that gets assigned to hidden label elements
	bHideLabels:true, // If true, labels are hidden
	/**
	 * Main function
	 */
	init:function() {
		// Check for DOM support
		if (!document.getElementById || !document.createTextNode) {return;}
		// Find all input elements with the given className
		var arrInputs = autoPopulate.getElementsByClassName(document, 'input', autoPopulate.sInputClass);
		var iInputs = arrInputs.length;
		var oInput;
		for (var i=0; i<iInputs; i++) {
			oInput = arrInputs[i];
			// Make sure it's a text input
			if (oInput.type != 'text') { continue; }
			// Hide the input's label
			if (autoPopulate.bHideLabels) { autoPopulate.hideLabel(oInput.id); }
			// If value is empty and title is not, assign title to value
			if ((oInput.value == '') && (oInput.title != '')) { oInput.value = oInput.title; }
			// Add event handlers for focus and blur
			autoPopulate.addEvent(oInput, 'focus', function() {
				// If value and title are equal on focus, clear value
				if (this.value == this.title) {
					this.value = '';
					this.select(); // Make input caret visible in IE
				}
			});
			autoPopulate.addEvent(oInput, 'blur', function() {
				// If the field is empty on blur, assign title to value
				if (!this.value.length) { this.value = this.title; }
			});
		}
	},
	hideLabel:function(sId) {
		var arrLabels = document.getElementsByTagName('label');
		var iLabels = arrLabels.length;
		var oLabel;
		for (var i=0; i<iLabels; i++) {
			oLabel = arrLabels[i];
			if (oLabel.htmlFor == sId) {
				oLabel.className = oLabel.className + ' ' + autoPopulate.sHiddenClass;
			}
		}
	},
	/**
	 * getElementsByClassName function included here for portability.
	 * Remove if you are already using one.
	 * Written by Jonathan Snook, http://www.snook.ca/jonathan
	 * Add-ons by Robert Nyman, http://www.robertnyman.com
	 */
	getElementsByClassName:function(oElm, strTagName, strClassName) {
	    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	    var arrReturnElements = new Array();
	    strClassName = strClassName.replace(/\-/g, "\\-");
	    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	    var oElement;
	    for(var i=0; i<arrElements.length; i++){
	        oElement = arrElements[i];      
	        if(oRegExp.test(oElement.className)){
	            arrReturnElements.push(oElement);
	        }   
	    }
	    return (arrReturnElements)
	},
	/**
	 * addEvent function included here for portability.
	 * Remove if you are already using an addEvent/DOMReady function.
	 * Found at http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
	 */
	addEvent:function(obj, type, fn) {
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() {obj["e"+type+fn](window.event);}
			obj.attachEvent("on"+type, obj[type+fn]);
		}
	}
};

/**
 * Init on window load.
 * Replace this with a call to your own addEvent/DOMReady function if you use one.
 */
autoPopulate.addEvent(window, 'load', autoPopulate.init);
var NotesCookie = false;
var PrintCartCookie = false;
var LinkCartCookie  = false;
function AddNote(note,pg){
	NotesCookie = $.ajax({type: 'POST',url: basepath+'scripts/notepad/',async: false,data: {ajax: 1, ajxcmd: 'addnote',add:pg, note: note},dataType: 'text'}).responseText;
}

function isInNotepad(){
	var pg = $('#content').attr('class');
	var rg = new RegExp("pg\\d+");
	var res = rg.exec(pg);
	pg=res;
	var MyCookie = NotesCookie;
	return (MyCookie && MyCookie.indexOf('###'+pg) > -1);
}

function setNotepadPageStatus(){
    if (isInNotepad()){
		$('li.note > #notes').text('Edit');
	//	$('li.note > span.slashsep').remove();
	}
}
(function($){
	$.fn.extend({
		modalPanel: function(layer,Action) {
			var width =  $('html').width();
			var height = $('html').height();
			//Create our overlay object
			var overlay = $(layer);
			overlay.width(width+"px");
			overlay.height(height+"px");
			overlay.css("position","absolute");
			overlay.click(function(){modalHide();});
			//Create our modal window
	//		var modalWindow = $("<div id='modal-window'></div>");
			overlay.css("opacity", 0.5);
			$(document).keydown(handleEscape);	
			$('#closeX').click(function(){modalHide();});	
			switch (Action){
				case 1:
		//			$('#popup').attr('style','height:250px');
	   				$('#CancelNote').click(function(){modalHide();});	
	   				$('#SaveNote').click(function(){
								var pg = $('#content').attr('class');
								var rg = new RegExp("pg\\d+");
								var res = rg.exec(pg);
								AddNote($('#note_ta').attr('value'),res);
								setNotepadPageStatus();
								modalHide();
							});				   
					break;
				case 2:
	//				$('#popup').attr('style','height:250px');
	   				$('.CancelExit').click(function(){modalHide();});	
					break;
				case 3:
//				    $('#popup').attr('style',"height:480px");
	   				$('#CancelSend').click(function(){modalHide();});	
	   				$('#ActionSend').click(function(){
						var fname = ($('#fromName').attr('value') == null) ? "" : $('#fromName').attr('value');
						var tname = ($('#toName').attr('value') == null) ? "" : $('#toName').attr('value');
						var temail = ($('#toEmail').attr('value') == null) ? "" : $('#toEmail').attr('value');
						var msg = ($('#message').attr('value') == null) ? "" : $('#message').attr('value');
						var frmcode = ($('#frmCode').attr('value') == null) ? "" : $('#frmCode').attr('value');
						var url = ($('#url').attr('value') == null) ? "" : $('#url').attr('value');
						var pg = ($('#pg').attr('value') == null) ? "" : $('#pg').attr('value');
						$.get(basepath+'scripts/mailer/',{ajax:1, fromName: fname, toName: tname,  toEmail: temail, message: msg, frmCode: frmcode,url: url,pg: pg, SUBMIT: 1}, 
							   function(data){
								var remove = function() { $(this).remove(); };
								$('#frm').html(data);
								if (data.match("Email Sent")){
//									$('#popup').attr('style',"height:220px");
									$('#ActionSend').hide();
									$('#CancelSend').hide();
									}
								else; //$('#popup').attr('style',"height:570px");

							   });	
					});
					break;
				case 4:
//				    $('#popup').attr('style',"height:580px;width: 500px;");
	   				$('#CancelSend').click(function(){modalHide();});	
	   				$('#ActionSend').click(function(){
						var oimp = ($("input[name='overall_impression']:checked").val() == null) ? "" : $("input[name='overall_impression']:checked").val();
						var or = ($("input[name='online_review']:checked").val() == null) ? "" : $("input[name='online_review']:checked").val();
						var rpv = ($("input[name='read_printed_version']:checked").val() == null) ? "" : $("input[name='read_printed_version']:checked").val();
						var uii = ($("input[name='useful_inverstor_info']:checked").val() == null) ? "" : $("input[name='useful_inverstor_info']:checked").val();
						var msg = ($('#comments').attr('value') == null) ? "" : $('#comments').attr('value');
						var frmcode = ($('#frmCode').attr('value') == null) ? "" : $('#frmCode').attr('value');
						$.get(basepath+'scripts/feedback/',{ajax:1, overall_impression: oimp, online_review: or,  read_printed_version: rpv, useful_inverstor_info: uii, comments: msg, frmCode: frmcode, btnSubmit: 1}, 
							   function(data){
								var remove = function() { $(this).remove(); };
							//	alert(data);
								$('#frm').html(data);
								if (data.match("Feedback Sent")){
	//								$('#popup').attr('style',"height:220px");
									$('#ActionSend').hide();
								}
								else; //$('#popup').attr('style',"height:580px");
							   });	
					});
					break;
					case 5:

					break;

				default:
				
			}

		
			//Our function for hiding the modalbox
			function modalHide() {
				$(document).unbind("keydown", handleEscape)
				var remove = function() { $(this).remove(); };
				overlay.fadeOut(remove);
				$('#popup').fadeOut(remove);
			}
			
			//Our function that listens for escape key.
			function handleEscape(e) {
				if (e.keyCode == 27) {
					modalHide();
				}
			}
		}
	});
})(jQuery);

function extractTitle(title){
	var pos = title.indexOf('-');
	if (pos >-1){
		title = title.substring(0,pos-1);
		return title;
	}
	var pos = title.indexOf('&ndash;');
	if (pos >-1){
		title = title.substring(0,pos-1);
	}
	return title;	
}



function setCartPageStatus(){
    if (isInCart()){
		$('li.printBasketAdd > #printbasket').remove();
		$('li.printBasketAdd > span.slashsep').remove();
	}
}
function setLinkCartStatus(){
    if (isInLinkCart()){
		$('li.linkBasketAdd > #linkbasket').remove();
		$('li.linkBasketAdd > span.slashsep').remove();	}
}
function displayPopup(data,choice){
	$('#body').append('<div id="popupLayer"></div>');
	$('#body').append(data);
	var layer = $('#popupLayer');
	layer.modalPanel('#popupLayer',choice);
	
}


function refreshDownload(){
		if ($('div#popup') && $('div#popup').attr('class') == 'download' && dldInProgress){
			 $.get(basepath+'scripts/downloads/',{ajax:1,proc:1},function(data){
					$('div#frm').html(data);
					dldInProgress = !data.match("Download complete");
			  });
		}
}
	
$(function() {
    	setInterval( "refreshDownload()", 2000 );
});

var dldInProgress = false;
var contentClass = null;
var trigger = null;
var printCartValue = ' ';
var basepath = '/';
	$(document).ready(function() {
	var x = document.location.href.replace('http://','');
	var y = $('#nav1 a').attr('href');
	basepath = x.substring(x.indexOf('/'),x.lastIndexOf('/')+1)+y.replace('index.html','');
	
	 $('#print_all').click(function (){
		$('input.'+$(this).attr('class')).attr('checked',$(this).attr('checked'));						     
	});
   $('#delete_all').click(function (){
		$('input.'+$(this).attr('class')).attr('checked',$(this).attr('checked'));						     
	});
   $('#email_all').click(function (){
		$('input.'+$(this).attr('class')).attr('checked',$(this).attr('checked'));						     
	});
    
	$('a.printButton').click(function() {
		window.print();
  });
  NotesCookie = $.ajax({type: 'GET',url: basepath+'scripts/notepad/',async: false,data: {ajax: 1, ajxcmd: 'getcookie'},dataType: 'text'}).responseText;
  PrintCartCookie = $.ajax({type: 'GET',url: basepath+'scripts/print/',async: false,data: {ajax: 1, ajxcmd: 'getcookie'},dataType: 'text'}).responseText;
  LinkCartCookie = $.ajax({type: 'GET',url: basepath+'scripts/links/',async: false,data: {ajax: 1, ajxcmd: 'getcookie'},dataType: 'text'}).responseText;
  //  alert(NotesCookie);
  
  $('#notes').click(function(){
				 var pg = $(this).attr('href');
				 var rg = new RegExp("pg\\d+");
		 		 var res = rg.exec(pg);
				 $.get(basepath+'scripts/notepad/',{ajax:1,ajxcmd: 'popup',add: res},function(data){
					displayPopup(data,1);
				 });
				 return false;
   });  					   
   
   
    $('li.email a').click(function(){
		var pg = $(this).attr('href');
		var rg = new RegExp("pg\\d+");
		var res = rg.exec(pg);
		$.get(basepath+'scripts/mailer/',{ajax:1, pg:res},function(data){
			
		displayPopup(data,3);
		});
		return false;		
   });  	

  $('li.feedback a').click(function(){
		$.get(basepath+'scripts/feedback/',{ajax:1},function(data){
		displayPopup(data,4);
		});
		return false;		
   });  	


   $('a.external').click(function (){
				var surl = this.href;//.substring(this.href.indexOf('url=')+4);
				$.get(basepath+'scripts/ajdialogs/',{url:surl, dialog:2},function(data){
				displayPopup(data,2);
			});
		return false;
	 });
   
   $('.downloadButton').click(function (){
		var dlds = $('input[name=dld]:checked');								
		var docs = '';
		for (i=0;i<dlds.length;i++)	docs += ','+dlds[i].value;
		if (docs.length > 0){
			docs = docs.substr(1);
			$.get(basepath+'scripts/downloads/',{ajax:1, dld:docs},function(data){
				dldInProgress = true;																			 
				displayPopup(data,5);
			});
		}
		return false;
	 });
   // Cookie js finds if persistent cookies are enabled
	setCartPageStatus();
	setNotepadPageStatus();
	setLinkCartStatus();
	
	    $("table tbody tr").mouseover(function(){
      $(this).addClass("rowhover");
    }).mouseout(function(){
      $(this).removeClass("rowhover");
    });
     var toggleClass = new Array();
	toggleClass = null;
	toggleClass = $(".toggle");	
	for (i=0; i<toggleClass.length; i++)
	{		
		var toggleClassIds = null;
		eval('toggleClassIds =$(toggleClass[i])'+parentPath+'.attr("id")');
		if (toggleClassIds == defaultIdsSetOpen[i])
		{
			$("#"+toggleClassIds+" .toggle").text(closeText)
			$("#"+toggleClassIds+" .toggle").addClass("open");
		}
		else
		{
			$('#'+toggleClassIds+' '+hideObjectType).hide();
			$("#"+toggleClassIds+" .toggle").addClass("closed");
			$("#"+toggleClassIds+' .toggle').text(openText);
		}
	}		   
	$('.toggle').click(function(){									
		var qid = null;
		eval('qid=$(this)'+parentPath+'.attr("id")');
		return slickerBox(qid);
		return false;
	}); 	

});
