//Clear out menuitems
function disableMenuItems() {
	//menuItem1.onclick = null;
	//menuItem2.onclick = null;
	//menuItem3.onclick = null;
	//menuItem4.onclick = null;
}

function enableMenuItems() {
	menuItem1.onclick = menuItem1Onclick;
	menuItem2.onclick = menuItem2Onclick;
	menuItem3.onclick = menuItem3Onclick;
	menuItem4.onclick = menuItem4Onclick;
}
//Create design process
//Step one

var calendarPopupMedia = null;

function createDesignCategoriesScreen() {
	setStep("step1", true);
	removeMenu();
	setMenuItems("menuItem1");
	
	var designCategories = function (data) {
		var screen = createScreen();
		screen.style.overflow = "visible";
		var infoScreenObject = createInfoScreen(screen);
		var categoryMeny = document.createElement("div");
		categoryMeny.style.position = "absolute";
		categoryMeny.style.top = "129px";
		categoryMeny.style.left = "10px";
		categoryMeny.style.width = "170px";
		categoryMeny.style.height = "300px";
		screen.appendChild(categoryMeny);
		for (i = 0; i < data.length; i++) {
			if (i === 0) {
				//Pre-select first category
				designCategoryId = data[i].id;
				loadDesignCategoryTypes(designCategoryId, screen, infoScreenObject);
				image_keyword = "\"car\" New sedans -Vintage -baby -litter -forest -axe -Chatterton -glove -Classic -Surrender -Neopolitan -Beach -1960 -post -shell";
			}
			var categoryDiv = document.createElement("div");
			var categoryLink = document.createElement("a");
			setClassName(categoryLink,"selected");
			categoryLink.id = data[i].id;
			if(!isFireFox){
				categoryLink.style.cursor = "hand";	
			}			
			if(navigator.userAgent.toLowerCase().indexOf("ie 5") == -1){
				categoryLink.style.cursor = "pointer";
			}
			
			function categoryLinkOnmouseover(){
				setClassName(this, "selected");
				var category = getObject(data, this.id);
				hidePopup();
				setClassName(infoScreenObject.businessSelectorLink, "selected");
				infoScreenObject.businessSelectorArrowPointer.image.src = infoScreenObject.businessSelectorArrowPointer.overSrc;
				showHelpPopupCustom(category.name, category.description);
			}
						
			categoryLink.onmouseover = categoryLinkOnmouseover;


			function categoryLinkOnmouseout(){
				setClassName(this, "deSelected");
				setClassName(infoScreenObject.businessSelectorLink, "deSelected");
				infoScreenObject.businessSelectorArrowPointer.image.src = infoScreenObject.businessSelectorArrowPointer.src;
				hidePopup();
			}
						
			categoryLink.onmouseout = categoryLinkOnmouseout;

			
			function categoryLinkOnclick(){
				var obj  = getObject(data, this.id);
				if(obj.name){
					//Has to be moved to database
					if(obj.name == "Auto"){
						image_keyword = "\"car\" New sedans -Vintage -baby -litter -forest -axe -Chatterton -glove -Classic -Surrender -Neopolitan -Beach -1960 -post -shell";
					}else if(obj.name == "Business services"){
						image_keyword = "\"business\" +work people -group";
					}else if(obj.name == "Leisure"){
						image_keyword = "leasure +relax";
					}else if(obj.name == "Finance"){
						image_keyword = "bank -piggy +Finance";
					}else if(obj.name == "Health/beauty"){
						image_keyword = "health +fit";
					}else if(obj.name == "Home services"){
						image_keyword = "diy";
					}else if(obj.name == "Gov/education"){
						image_keyword = "education -science learn";
					}else if(obj.name == "Property"){
						image_keyword = "house home old uk";
					}else if(obj.name == "Recruitment"){
						image_keyword = "job people ^9win";
					}else if(obj.name == "Retail"){
						image_keyword = "store retail ^7\"shoping\"";
					}else if(obj.name == "Travel"){
						image_keyword = "holiday beach relax";
					}else if(obj.name == "Other"){
						image_keyword = "other";
					}
				}
				designCategoryId = this.id;
				loadDesignCategoryTypes(designCategoryId, screen, infoScreenObject);	
			}
			categoryLink.onclick = categoryLinkOnclick;
			
			var categoryText = document.createTextNode(data[i].name);
			categoryLink.appendChild(categoryText);
			categoryDiv.appendChild(categoryLink);
			categoryMeny.appendChild(categoryDiv);
		}
	}; 
	if ((mediaOptionForceSignIn == 'true') && (isLogedIn == false)) {
	} else {
		AjaxService.getDesignCategories(designCategories);
	}
	
}

function createInfoScreen(screen) {
	var infoScreenObject = new Object();
	var header = createCustomScreen("stepOneHeader", createProperties(580, 20, 10, 10));
	var help = getHelp("stepOneHelp");
	header.innerHTML = help.caption;
	setClassName(header, "title");
	screen.appendChild(header);	

	//Business selector link
	var businessSelectorLink = document.createElement("label");
	var businessSelectorArrowPointer = createArrowPointer(false, screen, 53, 10);
	businessSelectorLink.innerHTML = business_selector_caption;
	businessSelectorLink.style.fontWeight = "bold";
	businessSelectorLink.style.position = "absolute";
	businessSelectorLink.style.top = "51px";
	businessSelectorLink.style.left = "35px";
	
	function businessSelectorLinkOnmouseover(){
		showHelpPopup("businessSelectorHelp");
	}
	businessSelectorLink.onmouseover = businessSelectorLinkOnmouseover;
	businessSelectorArrowPointer.image.onmouseover = businessSelectorLink.onmouseover;
	
	function businessSelectorLinkOnmouseout(){
		hidePopup();
	}
	businessSelectorLink.onmouseout = businessSelectorLinkOnmouseout;
	
	
	infoScreenObject.businessSelectorArrowPointer = businessSelectorArrowPointer;
	businessSelectorArrowPointer.image.onmouseout = businessSelectorLink.onmouseout;

	businessSelectorArrowPointer.image.onclick = businessSelectorLink.onclick;
	screen.appendChild(businessSelectorLink);
	infoScreenObject.businessSelectorLink = businessSelectorLink;

	var typeLink = document.createElement("label");
	var typeLinkArrowPointer = createArrowPointer(false, screen, 53, 190);
	typeLink.innerHTML = ad_type_caption;
	typeLink.style.fontWeight = "bold";
	typeLink.style.position = "absolute";
	typeLink.style.top = "51px";
	typeLink.style.left = "210px";
	
	function typeLinkOnmouseover(){
		showHelpPopup("businessSelectorTypeHelp");
	}
	typeLink.onmouseover = typeLinkOnmouseover;
	infoScreenObject.typeLinkArrowPointer = typeLinkArrowPointer;
	typeLinkArrowPointer.image.onmouseover = typeLink.onmouseover;
	
	function typeLinkOnmouseout(){
		hidePopup();
	}
	typeLink.onmouseout = typeLinkOnmouseout;
	typeLinkArrowPointer.image.onmouseout = typeLink.onmouseout;

	typeLinkArrowPointer.image.onclick = typeLink.onclick;
	screen.appendChild(typeLink);
	infoScreenObject.typeLink = typeLink;
	return infoScreenObject;
}

/*Load category types*/
function loadDesignCategoryTypes(designCategoryId, screen, infoScreenObject) {
	var designCategoryTypes = function(data){
		if (data.length > 0) {
			var holderWidth = 440;
			var holder = createImageHolder(screen, 129, 190, holderWidth, 300);	
			for (i = 0; i < data.length; i++) {
				var categoryTypeImage = document.createElement("img");
				categoryTypeImage.id = data[i].id;
				categoryTypeImage.src = designImagesPath + "/" + data[i].image;
				categoryTypeImage.style.position = "absolute";
				categoryTypeImage.style.top = "0px";
				if(!isFireFox){
					categoryTypeImage.style.cursor = "hand";	
				}			
				if(navigator.userAgent.toLowerCase().indexOf("ie 5") == -1){
					categoryTypeImage.style.cursor = "pointer";
				}
 				categoryTypeImage.style.borderTop = "1px #CECECE solid";
 				categoryTypeImage.style.borderLeft = "1px #CECECE solid";
 				setClassName(categoryTypeImage, "msgBox");
				
				
				function categoryTypeImageOnmouseover(){
					var categoryType = getObject(data, this.id);
					setClassName(infoScreenObject.typeLink, "selected");
					infoScreenObject.typeLinkArrowPointer.image.src = infoScreenObject.typeLinkArrowPointer.overSrc;
					//showHelpPopupCustom(categoryType.name, categoryType.description);
					showHelpPopup("businessSelectorImageHelp");
				}
				categoryTypeImage.onmouseover = categoryTypeImageOnmouseover;
				
				
				function categoryTypeImageOnmouseout(){
					//hidePopup();
					setClassName(infoScreenObject.typeLink, "deSelected");
					infoScreenObject.typeLinkArrowPointer.image.src = infoScreenObject.typeLinkArrowPointer.src;
				}
				categoryTypeImage.onmouseout = categoryTypeImageOnmouseout;
				
				function categoryTypeImageOnclick(){
					categoryTypeId = this.id;
					designCategoryTypeId = this.id;
					AjaxService.setUserSettings("designCategoryTypeId", designCategoryTypeId);
					getDesigns(categoryTypeId, true);
				}
				categoryTypeImage.onclick = categoryTypeImageOnclick;
				
				var spanHolder = document.createElement("div");
				spanHolder.style.position = "absolute";
				spanHolder.style.top = "0px";
				spanHolder.style.width = (holderWidth / 3) + "px";
				spanHolder.style.height = 300 + "px";
				spanHolder.style.left = (i * holderWidth / 3) + "px";
				spanHolder.appendChild(categoryTypeImage);
				var title = document.createElement("div");
				title.id = data[i].id;
				title.style.position = "absolute";
				title.style.bottom = "90px";
				title.style.left = "0px";
				title.innerHTML = data[i].name;
				if(!isFireFox){
					title.style.cursor = "hand";	
				}			
				if(navigator.userAgent.toLowerCase().indexOf("ie 5") == -1){
					title.style.cursor = "pointer";
				}
				title.onclick = categoryTypeImage.onclick;
				
				function titleOnmouseover(){
				showHelpPopup("businessSelectorImageHelp");
				}
				title.onmouseover = categoryTypeImageOnmouseover;
				
				spanHolder.appendChild(title);
				holder.appendChild(spanHolder);
			}
		}else {
			createMsgBox(no_cat_types_title, no_cat_types_body, 250, 148);
			addMsgBoxCloseAction("no-designCategoryType");
		}
	};
	
	AjaxService.getDesignCategoryTypes(designCategoryId, designCategoryTypes);
}

var currentPage = 1;

function getDesigns(categoryTypeId, resetPages) {
	if(resetPages){
		currentPage = 1;
	}
	setStep("step2", true);
	removeMenu();
	setMenuItems("menuItem1");
	var designs = function (data) {
		if (data.length > 0) {
			
			var numberOfPages = Math.ceil(data.length / 12);
			
			//alert(numberOfPages);
			
			var screen = createScreen();
			screen.style.overflow = "visible";
			
			var designLink = document.createElement("label");
			var help = getHelp("stepTwoHelp");
			designLink.innerHTML = help.caption;
			
			
			function designLinkOnmouseout(){
				hidePopup();
			}
			
			designLink.onmouseout = designLinkOnmouseout;

			designLink.style.fontWeight = "bold";
			designLink.style.color = "red";
			designLink.style.position = "absolute";
			designLink.style.top = "10px";
			designLink.style.left = "10px";
			screen.appendChild(designLink);
			/*Colour option selector*/

			var colorSelector = document.createElement("img");
			
			if (colour == true) {
				colorSelector.src = interfaceImagesPath + "toBW-01.gif";
			} else {
				colorSelector.src = interfaceImagesPath + "toColour-01.gif";
			}
			
			screen.appendChild(colorSelector);
			colorSelector.style.position = "absolute";
			colorSelector.style.top = "10px";
			colorSelector.style.left = "640px";
			if(!isFireFox){
				colorSelector.style.cursor = "hand";	
			}			
			if(navigator.userAgent.toLowerCase().indexOf("ie 5") == -1){
				colorSelector.style.cursor = "pointer";
			}
			
			function colorSelectorOnmouseover(){
				if (colour == true) {
					showHelpPopup("colorOptionChangeToBW");
				} else {
					showHelpPopup("colorOptionChangeToColour");
				}	
			}
			colorSelector.onmouseover = colorSelectorOnmouseover;
			
			
			function colorSelectorOnmouseout(){
				hidePopup();
			}
			colorSelector.onmouseout = colorSelectorOnmouseout;
			
			
			function colorSelectorOnclick(){
				if (colour) {
					AjaxService.setUserSettings("colour", "false");
					colour = false;
					this.src = interfaceImagesPath + "toColour-01.gif";
					//hidePopup();
					showHelpPopup("colorOptionChangeToColour");
				} else {
					AjaxService.setUserSettings("colour", "true");
					colour = true;
					this.src = interfaceImagesPath + "toBW-01.gif";
					//hidePopup();
					showHelpPopup("colorOptionChangeToBW");
				}
				loadDesignImages(screen, data, currentPage);	
			}
			colorSelector.onclick = colorSelectorOnclick;
			
							
			if(numberOfPages > 1){
				var pagination = document.createElement("div");
				pagination.style.height = "10px";
				pagination.style.width = "425px";
				pagination.style.left = "175px";
				pagination.style.position = "absolute";
				pagination.style.top = "400px";		
				
				
				
				var prevButt = document.createElement("div");
				prevButt.style.position = "absolute";

				var prevButtIcon = createAction("prevStyles", "prevStylesHelp", createProperties(0, 0, 0, 0), null, interfaceImagesPath + "back004.gif", 40);

				prevButt.appendChild(prevButtIcon);
				pagination.appendChild(prevButt);
				if(currentPage == 1){
					prevButt.style.display = "none";
				}
								
				var nextButt = document.createElement("div");
				
				var nextButtIcon = createAction("nextStyles", "nextStylesHelp", createProperties(0, 0, 0, 0), null, interfaceImagesPath + "forward004-white.gif", -35);
				nextButt.style.position = "absolute";
				nextButt.style.left = "390px";
				nextButt.appendChild(nextButtIcon);
				
				if(currentPage == numberOfPages){
					nextButt.style.display = "none";
				}
				
				pagination.appendChild(nextButt);
								
				function nextButtOnClick(){
					if(currentPage + 1 <= numberOfPages){
						if(currentPage + 1 == numberOfPages){
							this.style.display = "none";
						}
						currentPage = currentPage + 1;
						loadDesignImages(screen, data, currentPage);	
					}
					if(currentPage > 1){
						prevButt.style.display = "block";
					}					
				}
				nextButt.onclick = nextButtOnClick;
			
				function prevButtOnClick(){
					if(currentPage > 1){
						currentPage = currentPage - 1;
						loadDesignImages(screen, data, currentPage);
						nextButt.style.display = "block";
					}
					if(currentPage == 1){
						this.style.display = "none";
					}					
				}
				prevButt.onclick = prevButtOnClick;	
							
			screen.appendChild(pagination);
			}
			
			/*Colour option selector*/
			/*Back button*/
			var backButton = document.createElement("label");
			backButton.innerHTML = "Back";
			backButton.style.position = "absolute";
			backButton.style.top = "411px";
			backButton.style.left = "54px";
			
			
			function backButtonOnmouseover(){
				setClassName(backButton, "selected");
			}
			backButton.onmouseover = backButtonOnmouseover;
			
			
			function backButtonOnmouseout(){
				setClassName(backButton, "deSelected");
			}
			backButton.onmouseout = backButtonOnmouseout;
			
			
			function backButtonOnclick(){
				createDesignCategoriesScreen();
				hidePopup();
			}
			backButton.onclick = backButtonOnclick;
			
			
			var imgIcon = document.createElement("img");
			imgIcon.src = interfaceImagesPath + "back004.gif";
			imgIcon.style.position = "absolute";
			imgIcon.style.top = "400px";
			imgIcon.style.left = "10px";
			if(!isFireFox){
				imgIcon.style.cursor = "hand";	
			}				
			if(navigator.userAgent.toLowerCase().indexOf("ie 5") == -1){
				imgIcon.style.cursor = "pointer";
			}
			imgIcon.onmouseover = backButton.onmouseover;
			imgIcon.onmouseout = backButton.onmouseout;
			imgIcon.onclick = backButton.onclick;
			screen.appendChild(imgIcon);
			screen.appendChild(backButton);
			/*Back button*/
			loadDesignImages(screen, data, currentPage);
		} else {
			createMsgBox(no_designs_title, no_designs_body, 250, 170);
			addMsgBoxCloseAction("no-designCategoryType", null);
		}
	};
	AjaxService.getDesigns(categoryTypeId, designs);
}
/*Load design images*/
function loadDesignImages(screen, data, page) {

	var height = 112;
	var width = 115;
	var left = 0;
	var top = 0;
	var holderW = 300;
	var holderH = 360;
	var holder = createImageHolder(screen, 16, 16, 460, 336);
	holder.style.position = "absolute";
	holder.style.top = "50%";
	holder.style.left = "50%";
	holder.style.width = 460 + "px";
	holder.style.height = 336 + "px";
	holder.style.marginLeft = -460 / 2 + "px";
	holder.style.marginTop = -336 / 2 + "px";
	holder.id = "holder";
	
	var from = 0 ;
	var to = 12;
	
	if(page > 1){
		to = 12 * page;
		from = to - 12;
		if(to > data.length){
			from =  data.length - (data.length - from);
			to = data.length;
		}
	}
	
	for (i = from; i < to; i++) {
		var imgSrc = data[i].image;
		var id = data[i].id;
		imgExt = imgSrc.substr(imgSrc.indexOf(".") + 1);
		imgSrc = imgSrc.substr(0, imgSrc.indexOf("."));
		if (colour) {
			imgSrc = designImagesPath + "/" + imgSrc + "." + imgExt;
		} else {
			imgSrc = designImagesPath + "/" + imgSrc + "_bw." + imgExt;
		}
		var imageArea = document.createElement("div");
		imageArea.style.position = "absolute";
		imageArea.style.border = "0px black solid";
		imageArea.style.width = width + "px";
		imageArea.style.height = height + "px";
		imageArea.style.left = (height * left) + "px";
		imageArea.style.top = (height * top) + "px";
		left++;
		if (left % 4 == 0) {
			top++;
			left = 0;
		}
		imgLoader = document.createElement("img");
		imgLoader.src = interfaceImagesPath + "new-ajax-loader.gif";
		imgLoader.style.position = "absolute";
		imgLoader.style.top = "50%";
		imgLoader.style.left = "50%";
		imgLoader.style.width = "42px";
		imgLoader.style.height = "42px";
		imgLoader.style.marginLeft = -24 / 2 + "px";
		imgLoader.style.marginTop = -24 / 2 + "px";
		var image = document.createElement("img");//new Image(90, 90);
		image.src = imgSrc;
		image.id = id;
		image.style.position = "absolute";
		image.style.top = "50%";
		image.style.left = "50%";
		image.style.width = 90 + "px";
		image.style.height = 90 + "px";
		image.style.marginLeft = -90 / 2 + "px";
		image.style.marginTop = -90 / 2 + "px";
		imageArea.id = id;

		
		function imageAreaOnmouseover(){
			var obj = getObject(data, this.id);
			var imageAreaOver = document.createElement("div");
			imageAreaOver.style.background = "white";
			setClassName(imageAreaOver, "msgBox");
			imageAreaOver.id = this.id;
			imageAreaOver.style.position = "absolute";
			imageAreaOver.style.width = 180 + "px";
			imageAreaOver.style.height = 180 + "px";
			if(!isFireFox){
				imageAreaOver.style.cursor = "hand";	
			}			
			imageAreaOver.style.cursor = "pointer";
			imageAreaOver.style.left = (parseInt(this.style.left) - 45) + "px";
			imageAreaOver.style.top = (parseInt(this.style.top) - 40) + "px";
			var imgSrc = obj.image;
			imgExt = imgSrc.substr(imgSrc.indexOf(".") + 1);
			imgSrc = imgSrc.substr(0, imgSrc.indexOf("."));
			if (colour) {
				imgSrc = designImagesPath + "/" + imgSrc + "_big." + imgExt;
			} else {
				imgSrc = designImagesPath + "/" + imgSrc + "_big_bw." + imgExt;
			}
			imgLoader = document.createElement("img");
			imgLoader.src = interfaceImagesPath + "new-ajax-loader.gif";
			imgLoader.style.position = "absolute";
			imgLoader.style.top = "50%";
			imgLoader.style.left = "50%";
			imgLoader.style.width = "24px";
			imgLoader.style.height = "24px";
			imgLoader.style.marginLeft = -24 / 2 + "px";
			imgLoader.style.marginTop = -24 / 2 + "px";
			var imageBig = document.createElement("img");
			imageBig.src = imgSrc;
			imageBig.style.position = "absolute";
			imageBig.style.top = "50%";
			imageBig.style.left = "50%";
			imageBig.style.width = 180 + "px";
			imageBig.style.height = 180 + "px";
			imageBig.style.marginLeft = -180 / 2 + "px";
			imageBig.style.marginTop = -180 / 2 + "px";
			function imageBigOnmouseover(){
				showHelpPopup("bigImageSelectorImageHelp");
			}
			imageBig.onmouseover = imageBigOnmouseover;
			this.parentNode.appendChild(imageAreaOver);
			
			function imageAreaOverOnmouseout(){
				hidePopup();
				this.parentNode.removeChild(this);
			}
			imageAreaOver.onmouseout = imageAreaOverOnmouseout;
			function imageAreaOverOnclick(){
				hidePopup();
				designId = this.id;
				AjaxService.setUserSettings("designId", designId);
				if (urn != null) {
					createDesign();
				} else {
					getPublicationSize(false);
				}
			}
			imageAreaOver.onclick = imageAreaOverOnclick;
			
			imageAreaOver.appendChild(imgLoader);
			imageAreaOver.appendChild(imageBig);
		}
		imageArea.onmouseover = imageAreaOnmouseover;
		
		imageArea.appendChild(imgLoader);
		imageArea.appendChild(image);
		holder.appendChild(imageArea);
	}
}
function removePreviewes(holder) {
	hidePopup();
	var elements = document.getElementsByTagName("div");
	for (i = 0; i < elements.length; i++) {
		if (elements[i].id.indexOf("large-") != -1) {
			holder.removeChild(elements[i]);
		}
	}
}
/*Create image grid holder*/
function createImageHolder(screen, top, left, width, height, id) {
	if (id == null) {
		id = "holder";
	}
	if (document.getElementById(id)) {
		screen.removeChild(document.getElementById(id));
	}
	var holder = document.createElement("div");
	holder.id = id;
	holder.style.width = width + "px";
	holder.style.height = height + "px";
	holder.style.position = "absolute";
	holder.style.top = top + "px";
	holder.style.left = left + "px";
	holder.style.border = "0px black solid";
	screen.appendChild(holder);
	return holder;
}

/**** Add this function which is replicated in design server but can cause error ****/
function createLoadingMessageCA(parent){
		var loadingMessage = document.createElement("div");
		loadingMessage.style.position = "absolute";
		loadingMessage.style.left = "130px";
		loadingMessage.innerHTML = "loading...";
		parent.appendChild(loadingMessage);
		return loadingMessage;
}

/**************************************** STEP THREE - SELECT PUBLICATION/SIZE ************************************/
var urnSet = false;


var pubcFound = true;
var sectionFound = true;
var sizeFound = true;
var depthFound = true;

function getPublicationSize(changeSizeMode) {
	var mediaOwnerData = function(data){
		setMenuItems("menuItem1");
		var screen;
		var body;
		var bubcId = null;
		var searchCloseButton = null;
		if (changeSizeMode) {
			screen = createBlockedScreen("_screenPopup");
			var header = createCustomScreen("stepOneHeader", createProperties(560, 20, 10, 10));
			var help = getHelp("stepThreeHelp");
			header.innerHTML = help.caption;
			setClassName(header, "title");
	
			function headerOnmouseout(){
				hidePopup();
			}
			header.onmouseout = headerOnmouseout;
			
			screen.appendChild(header);
			body = createCustomScreen("_screenPopupBody1", createProperties(755, 385, 10, 51));
			screen.appendChild(body);
		} else {
			setStep("step3", true);
			screen = createScreen();
			var header = createCustomScreen("stepThreeHelp", createProperties(714, 20, 10, 10));
			var help = getHelp("stepThreeHelp");
			header.innerHTML = help.caption;
			setClassName(header, "title");
	
			screen.appendChild(header);
			body = createCustomScreen("_screenPopupBody1", createProperties(714, 385, 10, 51));
			screen.appendChild(body);
		}
							
		if(data.showPublicationSearch){
			var searchPublication = createInputBox("publicationSearchNameHelp", body, "text");
			searchPublication.holder.style.top = "8px";
			searchPublication.inputDiv.style.left = "130px";
			searchPublication.inputDiv.style.top = "0px";
			body.appendChild(document.createElement("br"));
			body.appendChild(document.createElement("br"));
			var searchIcon = createAction("publicationSearc", "publicationSearchHelp", createProperties(0, 330, 635, 6), null, interfaceImagesPath + "search004.gif", 40);
			body.appendChild(searchIcon);
			
			function headerOnmouseover(){
				showHelpPopup("publicationSearchHelp");
			}
			searchPublication.inputDiv.onmouseover = headerOnmouseover;
			
			function headerOnmouseout(){
				hidePopup();
			}
			searchPublication.inputDiv.onmouseout = headerOnmouseout;
			
			
			function searchIconOnclick(){
				var msgBox = createMsgBox("Publication search", null, 785, 445, 148, true);
				var closeButton = addMsgBoxCloseAction();
				closeButton.style.left = "642px";
				closeButton.style.top = "10px";
				closeButton.style.width = "35px";
				closeButton.style.height = "35px";
				var name = createInputBox("publicationSearchNameHelp", msgBox.body, "text");
				name.inputDiv.style.left = "129px";
				name.inputDiv.style.top = "2px";
				name.input.value = searchPublication.input.value;
				msgBox.body.appendChild(name.holder);
				var action = createAction("publicationSearc", "publicationSearchHelp", createProperties(10, 20, 634, 0), null, interfaceImagesPath + "search004.gif", 40);
				action.style.zIndex = "1000"; 
				var disp = document.createElement("div");
				disp.style.position = "absolute";
				disp.style.top = 40 + "px";
				disp.style.width = 510 + "px";
				disp.style.height = 360 - 140 + "px";
				disp.style.overflow = "auto";
				msgBox.body.appendChild(disp);
				
				function searchnameOnmouseover(){
					showHelpPopup("publicationSearchHelp");
				}
				name.inputDiv.onmouseover = searchnameOnmouseover;
			
				function actionOnclick(){
					removeChildrenFromNode(disp);
					if (name.input.value) {
						var reply = function (data) {
							var pubcs = data.publications;
							for (i = 0; i < pubcs.length; i++) {
								var publication = pubcs[i];
								var row = document.createElement("div");
								row.style.position = "relative";
								row.style.width = "100%";
								row.style.height = "20px";
								row.innerHTML = publication.pubcName;
								if(!isFireFox){
									row.style.cursor = "hand";	
								}								
								row.style.cursor = "pointer";
								row.id = publication.id;
								
								function rowOnclick(){
									var o = getObject(pubcs, this.id);
									var frequency = o.frequency;
									if (!frequency) {
										frequency = "OTHER";
									}
									selectOption(freq.select, frequency);
									freq.select.onchange();
									bubcId = this.id;
									searchCloseButton = closeButton;
								}
								row.onclick = rowOnclick;
								
								
								function rowOnmouseover(){
									showHelpPopup("selectaPublicationFromSearch");
									setClassName(this, "selected");
								}
								row.onmouseover = rowOnmouseover;
								
								function rowOnmouseout(){
									setClassName(this, "deSelected");
								}
								row.onmouseout = rowOnmouseout;
								
								disp.appendChild(row);
							}
						};
						AjaxService.searchPublicationByName(name.input.value, designId, reply);
					} else {
						var h = getHelp("publicationSearchNameHelp");
						alert(h.caption + is_required);
					}
				}
				action.onclick = actionOnclick;
				
				if (name.input.value.length > 0) {
					action.onclick();
				}
				msgBox.body.appendChild(action);
			}
			searchIcon.onclick = searchIconOnclick;	
		}					
				
		if(data.useUrnService && !data.showUrnInPub){
			
			var urnHelp = document.createElement("div");
			urnHelp.style.position = "relative";
			urnHelp.innerHTML = urnHelpTxt;
			body.appendChild(urnHelp);
			
			body.appendChild(document.createElement("br"));
			
			var urnInput = createInputBox("urnInputHelp", body, "text");
			urnInput.inputDiv.style.left = "129px";
			urnInput.inputDiv.style.top = "2px";
		
			var urnInputRe = createInputBox("urnInputReHelp", body, "text");
			urnInputRe.inputDiv.style.left = "129px";

			//width, height, left, top, zIndex, position
			var chekUrnButton = createAction("chekUrn", "chekUrnHelp", createProperties(100, 40, 130, 0, null, "relative"), null, interfaceImagesPath + "forward004-white.gif", 38);
			
			body.appendChild(chekUrnButton);
			
			body.appendChild(document.createElement("br"));
			
			if(changeSizeMode){
				var callMeBack = function(data){
					if(data){
						urnInput.input.value = data;
						urnInputRe.input.value = data;
						chekUrnButton.onclick();
					}	
				};
				AjaxService.getUserSettings("urn", callMeBack);
			}	
		}		

		if(PUBLICATION_SELECTION_HELP.length > 0){	
			var publicationHelp = createDiv("publicationHelp", "relative", "0px", "0px", null, null, "250px", null);
			try {
				publicationHelp.innerHTML = PUBLICATION_SELECTION_HELP;
			} catch (ex) {
				alert("PUBLICATION_SELECTION_HELP from content.js is missing");
			}
			body.appendChild(publicationHelp);
		}
		
		
		var globalLoadingMessage = createLoadingMessageCA(body);
				
		var publisher = createSelectBox("publisherId", body, 130);
		publisher.select.disabled = true;
		publisher.select.style.display = "none";
		publisher.holder.style.display = "none";
		
		var publisherLoading = createLoadingMessageCA(publisher.holder);
		
		var freq = createSelectBox("frequencyId", body, 130);
		freq.select.disabled = true;
		freq.select.style.display = "none";
		freq.holder.style.display = "none";
				
		var freqLoadingMessage = createLoadingMessageCA(freq.holder);
		
		var pubc = createSelectBox("publicationId", body, 130);
		pubc.select.disabled = true;
		pubc.select.style.display = "none";
		pubc.holder.style.display = "none";
		
		var pubcLoadingMessage = createLoadingMessageCA(pubc.holder);
		
		var section = createSelectBox("sectionId", body, 130);
		section.select.disabled = true;
		section.select.style.display = "none";
		section.holder.style.display = "none";
			
		var sectionLoadingMessage = createLoadingMessageCA(section.holder);
		
		var size = createSelectBox("sectionSizeId", body, 130);
		size.select.disabled = true;
		size.select.style.display = "none";
		size.holder.style.display = "none";
		
		var sizeLoadingMessage = createLoadingMessageCA(size.holder);
				
		var depth = createSelectBox("columnDepth", body, 130);
		depth.select.disabled = true;
		depth.select.style.display = "none";
		
		var mediaCost = document.createElement("DIV");
		mediaCost.style.position = "relative";
		var mediaCostLabel = document.createElement("DIV");
		mediaCostLabel.innerHTML = "Media price";
		mediaCostLabel.style.position = "absolute";
		mediaCost.appendChild(mediaCostLabel);
		
		var mediaCostValue = document.createElement("DIV");
		mediaCostValue.style.position = "absolute";
		mediaCostValue.style.left = "130px";
		mediaCostValue.style.width = "200px";
		mediaCost.appendChild(mediaCostValue);
		mediaCostValue.style.color = "black";
		
		var mediaCostHelp = document.createElement("DIV");
		mediaCostHelp.style.position = "absolute";
		mediaCostHelp.style.left = "340px";
		mediaCostHelp.style.width = "20px";
		mediaCostHelp.style.color = "black";
		
		var dateBox = createInputBox("basketDateHelp", body, "text");
		dateBox.holder.style.display = "none";
		
		var urnLabel =createInputBox("basketUrnHelp", body, "text");
		urnLabel.holder.style.display = "none";
		
		if(!data.showPrice){
			mediaCost.style.visibility = "hidden";
		}
		mediaCostHelp.style.display = "none";
		mediaCost.style.display = "none";
		mediaCost.appendChild(mediaCostHelp);
		body.appendChild(mediaCost);
		
		if(data.useUrnService && !data.showUrnInPub){
			
			var dateBoxHolder = document.createElement("DIV");
			dateBoxHolder.style.position = "relative";
			body.appendChild(dateBoxHolder);

			var dateLabel = document.createElement("DIV");
			dateLabel.innerHTML = "Insertion date";
			dateLabel.style.position = "absolute";
			dateBoxHolder.appendChild(dateLabel);			
			
			var dateValue = document.createElement("DIV");
			dateValue.style.position = "absolute";
			dateValue.style.left = "130px";
			dateValue.style.width = "200px";
			dateBoxHolder.appendChild(dateValue);
			dateValue.style.color = "black";
									
			var clrHolder = document.createElement("DIV");
			clrHolder.style.position = "relative";
			clrHolder.style.top = "25px";
			body.appendChild(clrHolder);
			
			var clrLabel = document.createElement("DIV");
			clrLabel.innerHTML = "Colour";
			clrLabel.style.position = "absolute";
			clrHolder.appendChild(clrLabel);

			var clrValue = document.createElement("DIV");
			clrValue.style.position = "absolute";
			clrValue.style.left = "130px";
			clrValue.style.width = "200px";
			clrHolder.appendChild(clrValue);
			clrValue.style.color = "black";						
		}
	
		var publisherCall = function(data){
			publisher.select.options.length = 0;
			for (i = 0; i < data.length; i++) {
				publisher.select.options[i] = new Option(data[i].publisherName, data[i].id);		
			}
			if(data.length > 0){
				if(data.length == 1){
					publisher.holder.style.display = "none";	
				}else{
					publisher.select.disabled = false;
					publisher.holder.style.display = "block";
					publisher.select.style.display = "block";
					publisherLoading.style.display = "none";
				}	
				showFrequencies(publisher.select.options[publisher.select.options.selectedIndex].value);
			}
		};
		AjaxService.getPublishers(publisherCall) ;
		
		
/*		var pubfilterbydesign = function(data){
			//var thisvar = data.pubFilterByDesign;
			//alert(DWRUtil.toDescriptiveString(data, 1));
			//alert(data.pubFilterByDesign);
		};
		AjaxService.getMediaOwner(pubfilterbydesign);
		//alert(pubfilterbydesign);
		//alert(thisvar);
		var designCategory = function(data) {
			alert(DWRUtil.toDescriptiveString(data, 5));
			//var thisvar = data.id;
			//alert("THIS VAR" + data.id);
		};
		AjaxService.getDesignCategories(designCategory);
		//getDesigns(categoryTypeId);
//		var getFilterPubSection = function(data){
//			alert(DWRUtil.toDescriptiveString(data, 1));
//		};
//		AjaxService.getDesigns(getFilterPubSection);
		
		
		//alert(designCategoryId);
		//var mediaOwnerDetails = mediaOwner(getMediaOwner());
		*/	
		function publisherSelectOnchange(){
			showFrequencies(this.options[this.options.selectedIndex].value);
		}
		publisher.select.onchange = publisherSelectOnchange;
		
		var loadFrequencies = function(data){
				freq.select.options.length = 0;
				pubc.select.options.length = 0;
				section.select.options.length = 0;
				for (i = 0; i < data.length; i++) {
					freq.select.options[i] = new Option(data[i].display, data[i].frequency);
					if(data[i].display == title_Frequency_Name){
					freq.select.options[i].selected = true;
				}							
				}
				if(data.length > 0){
					if(data.length > 1){
						freq.holder.style.display = "block";
						freq.select.style.display = "block";
						freqLoadingMessage.style.display = "none";
					}else{
						freq.holder.style.display = "none";	
					}
					showPublications(freq.select.options[freq.select.options.selectedIndex].value);
				}else{
					showPublications("");
					freq.holder.style.display = "none";
				}
				freq.select.disabled = false;
		};
		
		function showFrequencies(publisherId) {
			pubc.select.disabled = true;
			section.select.disabled = true;
			size.select.disabled = true;
			depth.select.disabled = true;
			AjaxService.getFrequencies(publisherId, loadFrequencies);
		}
		
		function freqSelectOnmouseover(){
			showHelpPopup("frequencyId");
		}
		freq.select.onmouseover = freqSelectOnmouseover;
		
		function freqSelectOnchange(){
			showPublications(this.options[this.options.selectedIndex].value);
		}	
		freq.select.onchange = freqSelectOnchange;
		
		var infoTop = 50;
		if(!data){
			infoTop = 0;
		}

		var publications;
		var loadPublications = function (data) {
			var pubcs = data.publications;
			pubc.select.options.length = 0;
			publications = pubcs;
			pubc.select.disabled = true;
			pubc.select.options.length = 0;
			for (i = 0; i < pubcs.length; i++) {
				pubc.select.options[i] = new Option(pubcs[i].pubcName, pubcs[i].id);
				if (bubcId && pubcs[i].id == bubcId) {
					pubc.select.options[i].selected = true;
					bubcId = null;
				}
				if(pubcs[i].pubcName == title_Title_Name){
					pubc.select.options[i].selected = true;
				}	
			}
			if (pubcs.length > 0) {
				pubc.select.disabled = false;
				pubc.select.style.display = "block";
				pubc.holder.style.display = "block";
				pubcLoadingMessage.style.display = "none";

				showSections(pubc.select.options[pubc.select.options.selectedIndex].value);
				var publication = getObject(pubcs, pubc.select.options[pubc.select.options.selectedIndex].value);
				var holder = createImageHolder(body, infoTop, 370, 225, 300, "publicationHolder");
				loadPublicationInfo(holder, publication.id);
			}else{
				pubc.select.style.display = "none";
				section.holder.style.display = "none";
				size.holder.style.display = "none";
				depth.holder.style.display = "none";
				pubc.holder.style.display = "block";
				pubcLoadingMessage.style.display = "block";
				pubcLoadingMessage.innerHTML = "There were no publications found for " + data.keywords;
			}
		};
		
		function showPublications(frequencyId) {
			pubc.select.disabled = true;
			section.select.disabled = true;
			size.select.disabled = true;
			depth.select.disabled = true;
			AjaxService.getPublicationsByFrequency(publisher.select.options[publisher.select.options.selectedIndex].value, frequencyId, designId, loadPublications);
		}
		function pubcSelectOnmouseover(){
			showHelpPopup("publicationId");
		}
						
				
		pubc.select.onmouseover = pubcSelectOnmouseover;

		function pubcSelectOnchange(){
			dateBox.input.value = "";
			urnLabel.input.value = "";
			showSections(this.options[this.options.selectedIndex].value);
			var holder = createImageHolder(body, infoTop, 370, 225, 300, "publicationHolder");
			loadPublicationInfo(holder, this.options[this.options.selectedIndex].value);
		}
		pubc.select.onchange = pubcSelectOnchange;
		function sectionSelectOnmouseover(){
			showHelpPopup("sectionId");
		}
		section.select.onmouseover = sectionSelectOnmouseover;
		
		
		var loadSections = function (data) {
			var sec = data.sections;
			section.select.options.length = 0;
			section.select.disabled = true;
			section.select.options.length = 0;
			for (i = 0; i < sec.length; i++) {
				section.select.options[i] = new Option(sec[i].sectionName, sec[i].id);
				if(sec[i].sectionName == title_Section_Name){
					section.select.options[i].selected = true;
				}	
			}
			if (sec.length > 0) {
				section.select.disabled = false;
				section.select.style.display = "block";
				section.holder.style.display = "block";
				sectionLoadingMessage.style.display = "none";
				showSizes(section.select.options[section.select.options.selectedIndex].value);
			}else{
				size.holder.style.display = "none";
				depth.holder.style.display = "none";
				
				section.holder.style.display = "block";
				sectionLoadingMessage.style.display = "block";
				sectionLoadingMessage.innerHTML = "There were no sections found for " + data.keywords;
			}
		};
		
		function showSections(publicationId) {
			section.select.disabled = true;
			size.select.disabled = true;
			depth.select.disabled = true;
			AjaxService.getSections(publicationId, designId, loadSections);
		}
				
		function sectionSelectOnchange(){
			showSizes(this.options[this.options.selectedIndex].value);
		}
		section.select.onchange = sectionSelectOnchange;
		
		var loadSizes = function (data) {
			size.select.options.length = 0;
			size.select.disabled = true;
			size.select.options.length = 0;
			for (i = 0; i < data.length; i++) {
				size.select.options[i] = new Option(data[i].sizeName, data[i].id);
				if(data[i].sizeName == title_Size_Name){
					size.select.options[i].selected = true;
				}			
			}
			if (data.length > 0) {
				depth.holder.style.display = "block";
				size.select.disabled = false;
				size.select.style.display = "block";
				size.holder.style.display = "block";
				sizeLoadingMessage.style.display = "none";
				showSize(size.select.options[size.select.options.selectedIndex].value);
			} else {
				depth.select.options.length = 0;
				depth.select.style.visibility = "hidden";
				depth.label.style.visibility = "hidden";
			}
			if (searchCloseButton) {
				searchCloseButton.onclick();
			}
		};
		
		function showSizes(sectionId) {
			size.select.disabled = true;
			depth.select.disabled = true;
			AjaxService.getFilteredSectionSizes(designId, sectionId, loadSizes);
		}
		function sizeSelectOnmouseover(){
			showHelpPopup("sectionSizeId");
		}
		size.select.onmouseover = sizeSelectOnmouseover;
		
		function sizeSelectOnchange(){
			showSize(this.options[this.options.selectedIndex].value);
		}
		size.select.onchange = sizeSelectOnchange;
		
		depth.select.style.visibility = "hidden";
		depth.label.style.visibility = "hidden";
		depth.select.options.length = 0;
		var loadSize = function (data) {
			depth.select.options.length = 0;
			if (data != null) {
				if (data.sizeType) {
					showMediaCost(data.id, 0, mediaCost);
					depth.select.style.visibility = "hidden";
					depth.label.style.visibility = "hidden";
					depth.select.options.length = 0;
				} else {
					depth.select.disabled = false;
					depth.select.style.display = "block";
					var sizes = data.sizes;
					for (i = 0; i < sizes.length; i++) {
						depth.select.options[i] = new Option(sizes[i] + title_Depth_Name_traling_name, (sizes[i] * 10));
						if(sizes[i] == title_Depth_Name){
							depth.select.options[i].selected = true;
						}					
					}
					
					showMediaCost(data.id, depth.select.options[depth.select.options.selectedIndex].value, mediaCost);
					
					function depthSelectOnchange(){
						showMediaCost(data.id, depth.select.options[depth.select.options.selectedIndex].value, mediaCost);
					}
					depth.select.onchange = depthSelectOnchange;
					
					depth.select.style.visibility = "visible";
					depth.label.style.visibility = "visible";
				}
			}
		};
		function showSize(sizeId) {
			AjaxService.getSectionSize(sizeId, designId, loadSize);
		}
		function depthSelectOnmouseover(){
			showHelpPopup("columnDepth");
		}
		depth.select.onmouseover = depthSelectOnmouseover;

	
		function warnUrnSet(){
			var selected = this;
			if(urnSet){
				selected.blur();
				var msgBox = createMsgBox(warn_popup_title, warn_message, 450, 300, 200, true);	
				
				var okAction = addMsgBoxAction("ContinueHelp", "Continue", 
				null, createProperties(100, 30, 150, 0, null, "absolute"), 
				interfaceImagesPath + "forward004-white.gif", 45);

				var cancelAction = addMsgBoxAction("cancelRemoveUrnHelp", "cancel", 
				null, createProperties(100, 30, 0, 0, null, "absolute"), 
				interfaceImagesPath + "close004-white.gif", 45);
				
				function removeUrn(){
					urnSet = false;
					urnInput.input.value = "";
					urnInputRe.input.value = "";
					AjaxService.setUserSettings("urn", "");
					AjaxService.setUserSettings("insertionDate", "");
					closeMsgBox();
				}
				
				okAction.onclick = removeUrn;

				function cancelRemoveUrn(){
					closeMsgBox();
				}
				cancelAction.onclick = cancelRemoveUrn;
									
				addMsgBoxCloseAction();
			}
		}
		
		pubc.select.onclick = warnUrnSet;
		section.select.onclick = warnUrnSet;
		size.select.onclick = warnUrnSet;
		depth.select.onclick = warnUrnSet;
			
		function showURNDate(){
			var callBack = function(mOwner){
				if(mOwner.showUrnInPub && !mOwner.useUrnService){
					
					var calendarAnchor = document.createElement("div");
					calendarAnchor.zIndex = 1000;
					calendarAnchor.style.position = "absolute";
					calendarAnchor.style.background = "#FF0000";
					//calendarAnchor.style.border = "1px black solid";
					calendarAnchor.style.top = "0px";
					calendarAnchor.style.left = "0px";
					calendarAnchor.style.width = "0px";
					calendarAnchor.style.height = "0px";
					calendarAnchor.id = "mediaCalendar";
					body.appendChild(calendarAnchor);					
					
					dateBox.holder.style.display = "block";
					dateBox.input.id = "datebox";
					dateBox.input.style.width = "202px";
					dateBox.input.readOnly = true;
					dateBox.inputDiv.style.left = "130px";
					
					var calendarLink = document.createElement("img");
					calendarLink.style.position = "relative";
					calendarLink.src = interfaceImagesPath + "calendar.gif";
					if(!isFireFox){
						calendarLink.style.cursor = "hand";	
					}		
					calendarLink.style.cursor = "pointer";
					calendarLink.id = "calendar";
					calendarLink.align = "absmiddle";
					dateBox.inputDiv.appendChild(calendarLink);	
					
					urnLabel.holder.style.display = "block";
					urnLabel.input.id = "urnbox";
					urnLabel.input.readOnly = true;
					urnLabel.inputDiv.style.left = "130px";
					

					function calendarLinkOnmouseover(){
						showHelpPopup("basketDateHelp");
					}
					calendarLink.onmouseover = calendarLinkOnmouseover;
					
					
					if (calendarPopupMedia == null) {
						calendarPopupMedia = new CalendarPopup("mediaCalendar", 215, -49);
						calendarPopupMedia.setCssPrefix("calendar");
					}
										
					function calendarLinkOnclick(){
						calendarPopupMedia.setReturnFunction("updateInsertionDateMedia");
						calendarPopupMedia.select(document.getElementById("datebox"), "datebox", "dd NNN yyyy");
					}
					calendarLink.onclick = calendarLinkOnclick;

					function urnInputOnclick(){
						if(dateBox.input.value == ""){
							alert(DATE_REQUIRED_MESSAGE);
						}else{
							var help = getHelp("urn");
							var msgText = "<br><img src=\""+interfaceImagesPath+"warning004.gif\" align=\"left\"><div style=\"color:red\">" + 
							help.body + "</div><br><br>";
							var msg = createMsgBox(help.caption, msgText, 400, 250);
							
							var urn = createInputBox("urn", msg.body, "text", true);
							urn.input.maxLength = mOwner.urnMaxLength;
							urn.holder.style.position = "absolute";
							urn.holder.style.top = "60px";
							if (this.value) {
								urn.input.value = this.value;
							}
							
							function createInputBoxOnmouseover(){
								showHelpPopup("basketUrnHelp");
							}
							
							urn.input.onmouseover = createInputBoxOnmouseover;
								
							function createInputBoxOnmouseout(){
								hidePopup();
							}
							var obj = this;
							
							var submit = addMsgBoxAction("urnClick", "Submit", null, createProperties(100, 30, 145, 0, null, "absolute"), interfaceImagesPath + "forward004-white.gif", 40);
				
							function submitOnclick(){
								if (urn.input.value) {
									if(mOwner.urnRegExp != null && mOwner.urnRegExp.length > 0){
										var re= new RegExp(mOwner.urnRegExp);
										if(re.test("" + urn.input.value + "")){
											var id = obj.id.substr(obj.id.indexOf("urn-") + "urn-".length);
											var validateUrn = function(errorMessage){
												var message = errorMessage;
													if(message != null && message.length > 0){
														if(message == "URN_USED_SAME_DATE"){
															alert(URN_USED_SAME_DATE_MESSAGE)
															obj.value = urn.input.value;
															closeMsgBox();
														}else if(message == "URN_USED_DIFF_DATE"){
															alert(URN_USED_DIFF_DATE_MESSAGE);
															closeMsgBox();
														}else if(message == "DATE_REQUIRED"){
															alert(DATE_REQUIRED_MESSAGE);
															closeMsgBox();
														}else if(message == "URN_USED"){
															alert(URN_USED_MESSAGE);
															closeMsgBox();
														}else if (message == "URN_USED_USER_NOTLOGGEDIN"){
															alert(URN_USED_USER_NOTLOGGEDIN_MESSAGE);
															closeMsgBox();
														}else if(message = "URN_ALREADY_IN_BASKET"){
															alert(URN_ALREADY_IN_BASKET_MESSAGE);
															closeMsgBox();
														}
													}else{
														//obj.style.border = "1px #D8D8D8 solid";
														obj.value = urn.input.value;
														closeMsgBox();	
													}
											};
											AjaxService.validateBookingReference(dateBox.input.value, urn.input.value, validateUrn);
										}else{
											alert(getHelp("urn_validation").caption)
										}
			
									}else{
			
										var id = obj.id.substr(obj.id.indexOf("urn-") + "urn-".length);
											var validateUrn = function(errorMessage){
												var message = errorMessage;
													if(message != null && message.length > 0){
														if(message == "URN_USED_SAME_DATE"){
															alert(URN_USED_SAME_DATE_MESSAGE)
															obj.style.border = "1px #D8D8D8 solid";
															obj.value = urn.input.value;
															closeMsgBox();
														}else if(message == "URN_USED_DIFF_DATE"){
															alert(URN_USED_DIFF_DATE_MESSAGE);
															closeMsgBox();
														}else if(message == "DATE_REQUIRED"){
															alert(DATE_REQUIRED_MESSAGE);
															closeMsgBox();
														}else if(message == "URN_USED"){
															alert(URN_USED_MESSAGE);
															closeMsgBox();
														}
													}else{
														obj.value = urn.input.value;
														closeMsgBox();	
													}
											};
											AjaxService.validateBookingReference(dateBox.input.value, urn.input.value, validateUrn);
														
									}
								} else {	
									alert(getHelp("urn").caption + is_required);
								}
							}
							submit.onclick = submitOnclick;
							addMsgBoxCloseAction();
						}
					}
					urnLabel.input.onclick = urnInputOnclick;
				}
			};
			AjaxService.getMediaOwner(callBack);
		}	
		if(!changeSizeMode){
			showURNDate();		
		}

		function urnInputOnDbl(){
			if(urnInput.input.value == urnInputRe.input.value){
				var callBackFunction = function(data){
					if(data && data.error == null){
						dateValue.innerHTML = data.date;
						if(data.colour == "COLOUR"){
							clrValue.innerHTML = "Colour";
							colour = true;
							AjaxService.setUserSettings("colour", "true");
						}else{
							colour = false;
							clrValue.innerHTML = "Black & White";
							AjaxService.setUserSettings("colour", "false");	
						}
						selectOptionByName(pubc.select, data.publication, "Publication");
						pubc.select.onchange();
						//pubc.select.disabled = true;
						if(!pubcFound){
							alert("Publication \""+data.publication+"\" not found\nPlease contact us!");
						}
						setTimeout(
						function loadSection(){
							selectOptionByName(section.select, data.section, "Section");
							section.select.onchange();
							//section.select.disabled = true;
							if(!sectionFound){
								alert("Section \""+data.section+"\" not found\nPlease contact us!");
							}
							setTimeout(
							function loadSize(){
								metchOptionByName(size.select, data.width, "Size");
								size.select.onchange();
								if(!sizeFound){
									alert("Size \""+ data.width +"\" not found\nPlease contact us!");
								}								
								setTimeout(							
								function loadDepth(){
									selectOption(depth.select, data.depth * 10, "Depth");
									depth.select.onchange();
									if(!depthFound){
										alert("Depth \""+data.depth+"\" not found\nPlease contact us!");
									}										
									AjaxService.setUserSettings("urnSet", "true");
									urnSet = true;
								}, 800);								
							}, 800);						
						}, 800);
					}else{
						if(data && data.error){
							alert(data.error);
						}else{
							alert(Urn_not_valid);
						}
					}
				};
				AdminComponentService.getURNResponse(urnInput.input.value, callBackFunction);				
			}else{
				alert(urn_urn_re_not_same);
			}
		};
		
		if(urnInput){
			chekUrnButton.onclick = urnInputOnDbl;
		}

		if(changeSizeMode){
			if(urnInput && urnInput.input.value != ""){
				window.onload = chekUrnButton.onclick();
			}
		}
				
		function showMediaCost(sizeId, depth, parentDiv){
			var showMediaCost = function(pricingModel){
				if(pricingModel.showMediaOwnerPrice){
					mediaCostHelp.innerHTML = "?";
					if(pricingModel.mediaPrice > 0){
						mediaCostLabel.innerHTML = "Media price";
						mediaCostValue.innerHTML =	formatCurrency(pricingModel.totalCost, "&pound;");
						
						mediaCostHelp.onmouseover = function(){
							if(pricingModel.hideAdPrice){
								showHelpPopupCustom(null, "Media: " + formatCurrency((pricingModel.mediaPrice + pricingModel.adPrice), "&pound;") + 
								"<br> Images: " + formatCurrency(pricingModel.imagesPrice, "&pound;") + 
								"<br> Total price: " + formatCurrency(pricingModel.totalCost, "&pound;"));
							}else{
								showHelpPopupCustom(null, "Media: " + formatCurrency(pricingModel.mediaPrice, "&pound;") + 
								"<br> Design: " + formatCurrency(pricingModel.adPrice, "&pound;") + 
								"<br> Images: " + formatCurrency(pricingModel.imagesPrice, "&pound;") + 
								"<br> Total price: " + formatCurrency(pricingModel.totalCost, "&pound;"));
							}
						}
						mediaCostValue.onmouseover = mediaCostHelp.onmouseover;
					}else{
						mediaCostLabel.innerHTML = "Design price";
						mediaCostValue.innerHTML = formatCurrency(pricingModel.totalCost, "&pound;");	
						mediaCostHelp.onmouseover = function(){
							showHelpPopupCustom(null, "Media: not included"+
							"<br> Design: " +  formatCurrency(pricingModel.adPrice, "&pound;") + 
							"<br> Images: " + formatCurrency(pricingModel.imagesPrice, "&pound;") +
							"<br> Total price: " +  formatCurrency(pricingModel.totalCost, "&pound;"));
						}	
						mediaCostValue.onmouseover = mediaCostHelp.onmouseover;
					}
				}
				parentDiv.style.display = "block";
			}
			if(colour == null || colour == 'false' ||
			   colour == false) {
				clr = false;
			}else{
				clr = true;
			}
	
			var itemUsed = null;
			var designId = -1;
			if(dnaDesignerComp){
				itemUsed = dnaDesignerComp.getItemsUsed();
				designId = dnaDesignerComp.designId();
			}
			
			AjaxService.getMediaCost(sizeId, depth, clr, false, !changeSizeMode, 
			itemUsed, designId, showMediaCost);
		}
								
		var helpName = "step3CreateAdHelp";
		if (changeSizeMode) {
			helpName = "step3-resizeCreateAdHelp";
		}
		var button = createAction("createAd", helpName, createProperties(100, 20, 130, 348), null, interfaceImagesPath + "forward004-white.gif", 38);
		button.onclick = buttonOnclick;
		function buttonOnclick(){	
			hidePopup();
			var pubcid = pubc.select.options;
			var sectionid = section.select.options;
			var sizeid = size.select.options;
			if (pubcid.length > 0 && sectionid.length > 0 && sizeid.length > 0) {

				sizeId = size.select.options[size.select.options.selectedIndex].value;
				var mySectionId = section.select.options[section.select.options.selectedIndex].value;	
				AjaxService.setUserSettings("sectionId", mySectionId);					
				if (changeSizeMode) {
					var voidData = function (data) {
						destroyScreen("_screenPopup");
						if(getBaskeDesign(dnaDesignerComp.designId()) != null){
							addToBasket();
						}
					};
					var height = -1;
					if (depth.select.options.length > 0) {
						height = depth.select.options[depth.select.options.selectedIndex].value;
					}
					
					var updateMediaCost = function(te){
						var resizeDesign = function(data) {
							if(height != -1){
								dnaDesignerComp.addOptionalMetadata("mdata_warn_dpi", data.warnDPI);
								dnaDesignerComp.addOptionalMetadata("mdata_fail_dpi", data.failDPI);
								dnaDesignerComp.addOptionalMetadata("mdata_size_id", sizeId);
							  	dnaDesignerComp.addOptionalMetadata("mdata_design_column_height", height);
								dnaDesignerComp.resizeDesign(data.bleedWidth, height, 
								data.trimWidth, height, data.typeWidth, height, voidData);
							}else{
								dnaDesignerComp.addOptionalMetadata("mdata_warn_dpi", data.warnDPI);
								dnaDesignerComp.addOptionalMetadata("mdata_fail_dpi", data.failDPI);
								dnaDesignerComp.addOptionalMetadata("mdata_size_id", sizeId);
							  	dnaDesignerComp.addOptionalMetadata("mdata_design_column_height", -1);						
								dnaDesignerComp.resizeDesign(data.bleedWidth, data.bleedHeight, 
								data.trimWidth, data.trimHeight, 
								data.typeWidth, data.typeHeight, voidData);
							}
							AjaxService.setUserSettings("sizeId", sizeId);
							AjaxService.setUserSettings("designId", designId);
							AjaxService.setUserSettings("columnHeight", columnHeight);				
						}
						AjaxService.getDesignSettings(-1, sizeId, columnHeight, colour, resizeDesign);						
						
					}
					if(colour == null || colour == 'false' ||
					   colour == false) {
						clr = false;
					}else{
						clr = true;
					}
					if(height != -1){
						AjaxService.getMediaCost(sizeId, height, clr, true, !changeSizeMode, dnaDesignerComp.getItemsUsed(), dnaDesignerComp.designId(), updateMediaCost);		
					}else{
						AjaxService.getMediaCost(sizeId, columnHeight, clr, true, !changeSizeMode,  dnaDesignerComp.getItemsUsed(), dnaDesignerComp.designId(), updateMediaCost);	
					}
				} else {
					if (depth.select.options.length > 0) {
						columnHeight = depth.select.options[depth.select.options.selectedIndex].value;
					}else{
						columnHeight = -1;
					}
					AjaxService.setUserSettings("sizeId", sizeId);
					AjaxService.setUserSettings("designId", designId);
					AjaxService.setUserSettings("columnHeight", columnHeight);
					
					if(dateBox.input.value != ""){
						AjaxService.setUserSettings("insertionDate",  dateBox.input.value);
					}
					if(urnLabel.input.value  != ""){
						AjaxService.setUserSettings("urn",  urnLabel.input.value);
					}
					
					if(colour == null || colour == 'false' ||
					   colour == false) {
						clr = false;
					}else{
						clr = true;
					}
					var updateMediaCost = function(data){
						setupAd(false);	
					}
					AjaxService.getMediaCost(sizeId, columnHeight, clr, true, !changeSizeMode, dnaDesignerComp.getItemsUsed(), dnaDesignerComp.designId(), updateMediaCost);
				}
			} else {
				alert(publication_section_size_required);
			}
		}
		
		body.appendChild(button);
		
		if (!changeSizeMode) {
			/*Back button*/
			var backButton = document.createElement("label");
			backButton.innerHTML = "Back";
			backButton.style.position = "absolute";
			backButton.style.top = "360px";
			backButton.style.left = "44px";
			
			
			function backButtonOnmouseover(){
				setClassName(backButton, "selected");
			}
			backButton.onmouseover = backButtonOnmouseover;
			
			function backButtonOnmouseout(){
				setClassName(backButton, "deSelected");
			}
			backButton.onmouseout = backButtonOnmouseout;
			
			function backButtonOnclick(){
				getDesigns(categoryTypeId);
			}
			backButton.onclick = backButtonOnclick;
			
			var imgIcon = document.createElement("img");
			imgIcon.src = interfaceImagesPath + "back004.gif";
			imgIcon.style.position = "absolute";
			imgIcon.style.top = "400px";
			imgIcon.style.left = "10px";
			if(!isFireFox){
				imgIcon.style.cursor = "hand";	
			}			
			imgIcon.style.cursor = "pointer";
			imgIcon.onmouseover = backButton.onmouseover;
			imgIcon.onmouseout = backButton.onmouseout;
			imgIcon.onclick = backButton.onclick;
			screen.appendChild(imgIcon);
			body.appendChild(backButton);
			/*Back button*/
		}		
	};
	AjaxService.getMediaOwner(mediaOwnerData);
}

function updateInsertionDateMedia(year, month, day) {
		var dateBox = document.getElementById("datebox");
		var urnBox = document.getElementById("urnbox");
		if(urnBox.value != "" && urnBox.value != null){
			var calBackValidation = function( errorMessage ){
			var message = errorMessage;
				if(message != null && message.length > 0){
					if(message == "URN_USED_SAME_DATE"){
						alert(URN_USED_SAME_DATE_MESSAGE)
					}else if (message == "URN_USED_USER_NOTLOGGEDIN"){
						alert(URN_USED_USER_NOTLOGGEDIN_MESSAGE)
						urnBox.value = "";
					}else if (message == "URN_USED"){
						alert("Invalid urn");
						urnBox.value = "";
					}else if(message == "URN_USED_DIFF_DATE"){
						 alert(URN_USED_DIFF_DATE_MESSAGE);
						 urnBox.value = "";
					}
				}				
			}
			AjaxService.validateBookingReference(day + "/" + month + "/" + year, urnBox.value, calBackValidation);
		}
		dateBox.value = day + "/" + month + "/" + year;
}

function metchOptionByName(selectBox, value, boxName) {
	for (i = 0; i < selectBox.options.length; i++) {
		var option = selectBox.options[i];
		if (option.innerHTML.indexOf(value) != -1) {
			option.selected = true;
			if(boxName == "Size"){
				sizeFound = true;
			}			
			break;
		}
		if(boxName == "Size"){
			sizeFound = false;
		}		
	}
}

//var pubcFound = true;
//var sectionFound = true;
//var sizeFound = true;
//var depthFound = true;

function selectOptionByName(selectBox, value, boxName) {
	for (i = 0; i < selectBox.options.length; i++) {
		var option = selectBox.options[i];
		if(option.innerHTML.indexOf("&amp;") != -1){
			value = value.replace("&","&amp;");
		}
		if (option.innerHTML == value) {
			option.selected = true;
			if(boxName == "Publication"){
				pubcFound = true;
			}else if(boxName == "Section"){
				sectionFound = true;
			}
			break;
		}
		if(boxName == "Publication"){
			pubcFound = false;
		}else if(boxName == "Section"){
			sectionFound = false;
		}
	}
}

function selectOption(selectBox, value, boxName) {
	for (i = 0; i < selectBox.options.length; i++) {
		var option = selectBox.options[i];
		if (option.value == value) {
			option.selected = true;
			if(boxName == "Depth"){
				depthFound = true;
			}
			break;			
		}
		if(boxName == "Depth"){
			depthFound = false;
		}		
	}
}

/*Load publication information*/
function loadPublicationInfo(holder, publicationId) {
	var publicationData = function (data) {
		holder.style.zIndex = -1;
		var publication = data;

		if(calendarPopupMedia != null){
			setValidCalendarDates(publication.frequency, publication.publishingday);
		}
		
		var pubcName = document.createElement("label");
		pubcName.innerHTML = publication_details_title + "<br>" + publication.pubcName;
		holder.appendChild(pubcName);
		if (publication.street !== null && publication.street != "") {
			var pubcStreet1 = document.createElement("label");
			pubcStreet1.innerHTML = publication.street;
			holder.appendChild(document.createElement("br"));
			holder.appendChild(pubcStreet1);
		}
		if (publication.street2 !== null && publication.street2 != "") {
			var pubcStreet2 = document.createElement("label");
			pubcStreet2.innerHTML = publication.street2;
			holder.appendChild(document.createElement("br"));
			holder.appendChild(pubcStreet2);
		}
		if (publication.street3 !== null && publication.street3 != "") {
			var pubcStreet3 = document.createElement("label");
			pubcStreet3.innerHTML = publication.street3;
			holder.appendChild(document.createElement("br"));
			holder.appendChild(pubcStreet3);
		}
		if (publication.suburb !== null && publication.suburb != "") {
			var pubcSuburb = document.createElement("label");
			pubcSuburb.innerHTML = publication.suburb;
			holder.appendChild(document.createElement("br"));
			holder.appendChild(pubcSuburb);
		}
		if (publication.zip !== null && publication.zip != "") {
			var pubcZip = document.createElement("label");
			pubcZip.innerHTML = publication.zip;
			holder.appendChild(document.createElement("br"));
			holder.appendChild(pubcZip);
		}
		if (publication.phonenumber !== null && publication.phonenumber != "") {
			var pubcPhone = document.createElement("label");
			pubcPhone.innerHTML = "Phone: " + publication.phonenumber;
			holder.appendChild(document.createElement("br"));
			holder.appendChild(pubcPhone);
		}
		if (publication.faxnumber !== null && publication.faxnumber != "") {
			var pubcFax = document.createElement("label");
			pubcFax.innerHTML = "Fax :" + publication.faxnumber;
			holder.appendChild(document.createElement("br"));
			holder.appendChild(pubcFax);
		}
	};
	AjaxService.getPublication(publicationId, publicationData);
	function publicationDataOnmouseover(){
		showHelpPopup("mediaContactDetailsHelp");
	}
	holder.onmouseover = publicationDataOnmouseover;
}

var selectedElement = null;
function showColorEditor(id, type) {
	//var fillColour = "#4444FF";
	//var lineColour = "#66C2FF";
	var textEditorBody = document.getElementById("textEditorHBABody");
	if(textEditorBody){
		textEditorBody.style.visibility = "hidden";
	}
	
	selectedElement = id;
	
	var screen = createBlockedScreen("_screenPopup");
	var header = createCustomScreen("_screenPopupMenu", createProperties(580, 20, 16, 16));
	header.innerHTML = "Colour editor";
	setClassName(header, "title");
	var body = createCustomScreen("_screenPopupBody", createProperties(618, 310, 16, 41));
	body.style.border = "0px black solid";
	screen.appendChild(header);
	screen.appendChild(body);
	var isMono = false;
	if (!colour) {
		isMono = true;
	}
	var palletes = createSelectBox("palletesHelp", body, 145);
	if (isMono) {
		palletes.select.options[0] = new Option("Grayscale", "grayscale");
	} else {
		palletes.select.options[0] = new Option("Colour", "common");
		palletes.select.options[1] = new Option("Grayscale", "grayscale");
	}
		
	var colorEditor = document.createElement("div");
	colorEditor.style.position = "relative";
	colorEditor.id = "object1";
	colorEditor.style.left = "145px";
	colorEditor.style.width = "400px";
	colorEditor.style.height = "100px";
	body.appendChild(colorEditor);
	initSimpleColorEditor(id, type, parent, parentObject, fillColour, lineColour);
	var preview = document.createElement("div");
	preview.id = "display";
	preview.style.position = "absolute";
	preview.style.width = "60px";
	preview.style.height = "60px";
	preview.style.border = "1px black solid";
	preview.style.top = "40px";
	preview.style.left = "20px";
	body.appendChild(preview);
	
	palletes.select.onchange = palletesSelectOnchange;
	function palletesSelectOnchange(){
		swapPallete(this.options[this.options.selectedIndex].value, type, fillColour, lineColour);
	}
}

/***************************************************Save design and/or download proof*************************************************************/
function saveDesign(o) {
	var testUser = function (data) {
		if (data) {
			
			var msgBox = createMsgBox(save_file_title, null, 400, 250, 148);
						
			var name = createInputBox("nameDesignHelp", msgBox.body, "text");
			name.holder.style.top = "20px";
			
			var swfUrl = null;
			var url = null;
			if(data.outputType == "FLASH"){
			    swfUrl = createInputBox("swfUrlHelp", msgBox.body, "text");
			    swfUrl.holder.style.top = "25px";
			}
			if (dnaDesignerComp.name() != "") {
				name.input.value = dnaDesignerComp.name();
				name.input.readOnly = true;
			}
						
			name.input.focus();
			
			var saveAction = addMsgBoxAction("saveDesign", "saveDesignHelp", 
			null, createProperties(100, 30, 145, 0, null, "absolute"), interfaceImagesPath + "forward004-white.gif", 45);
			addMsgBoxCloseAction();
			
			function saveActionOnclick(){
				if(data.outputType == "FLASH" && swfUrl.input.value == ""){
					alert("URL is required");
					return;
				}else if(data.outputType == "FLASH"){
				    url = swfUrl.input.value;
				}
				
				if (name.input.value) {
					var isSaved = function (data) {
						if (data) {
							designState = true;
							//alert(saved_file);
							closeMsgBox();
							//createMsgBox(saved_file, saved_file, 250, 190);
							//addMsgBoxCloseAction(null, null, true, true);
						} else {
							createMsgBox(failed_to_save, failed_to_save, 250, 160);
							addMsgBoxCloseAction(null, null, false, false);							
						}
					};						
					dnaDesignerComp.saveDesign(name.input.value, false, null,isSaved, url, designerErrorHandler);
				} else {
					var h = getHelp("nameDesignHelp");
					alert(h.caption + is_required);
				}
			}
			saveAction.onclick = saveActionOnclick;
			
			function nameInputOnkeydown(){
				submitOnReturn(saveAction);
			}
			name.input.onkeydown = nameInputOnkeydown;			
			
		} else {
			signInScreen(o, save_design_autorization);
		}
	};
	AjaxService.isUserLogged(testUser);
}

function saveAsDesign(o){
	var testUser = function (data) {
		if (data) {
			var msgBox = createMsgBox(save_as_file_title, null, 400, 250, 148);
			var name = createInputBox("nameDesignHelp", msgBox.body, "text");
			name.holder.style.top = "20px";
			name.input.focus();
			
			var swfUrl = null;
			var url = null;
			if(data.outputType == "FLASH"){
			    swfUrl = createInputBox("swfUrlHelp", msgBox.body, "text");
			    swfUrl.holder.style.top = "25px";
			}
						
			var saveAction = addMsgBoxAction("saveAsDesign", "saveDesignHelp", 
			null, createProperties(100, 30, 145, 0, null, "absolute"), interfaceImagesPath + "forward004-white.gif", 45);
			addMsgBoxCloseAction();
			
			function saveActionOnclick(){
				if(data.outputType == "FLASH" && swfUrl.input.value == ""){
					alert("URL is required");
					return;
				}else if(data.outputType == "FLASH"){
				    url = swfUrl.input.value;
				}
				if (name.input.value) {
					var isSaved = function (data) {
						if (data) {
							designState = true;
							closeMsgBox();
							//createMsgBox(saved_file, saved_file, 250, 200);
							//addMsgBoxCloseAction(null, null, true, true);
						} else {
							createMsgBox(failed_to_save, failed_to_save, 250, 200);
							addMsgBoxCloseAction();							
						}
					};
					dnaDesignerComp.saveDesign(name.input.value, true, null,isSaved, url, designerErrorHandler);
				} else {
					var h = getHelp("nameDesignHelp");
					alert(h.caption + is_required);
				}
			}
			saveAction.onclick = saveActionOnclick;
			saveAction.onclick = saveActionOnclick;
			
			function nameInputOnkeydown(){
				submitOnReturn(saveAction);
			}
			name.input.onkeydown = nameInputOnkeydown;	
						
		} else {
			signInScreen(o, save_design_autorization);
		}
	};
	AjaxService.isUserLogged(testUser);
}

function addToBasket(o, goToBasket) {
	//alert("adding to basket")

	var testUser = function (data) {
		if (data) {
			if (dnaDesignerComp.designId() != -1) {
				//add to basket
				var isSaved = function (savedItem) {
					if (savedItem) {
						//var focusDataCallBack = function(focusAreas){
							var updateBasketCall = function (data) {
								basket = data;
								designState = true;
								if(goToBasket != null ){
									showBasket();
								}
								updateTotalPrice();
							};
							AjaxService.addCurrentAdToBasket(dnaDesignerComp.designId(),dnaDesignerComp.name(),
								dnaDesignerComp.getOptionalMetadata('mdata_size_id'),dnaDesignerComp.getOptionalMetadata("mdata_colour"),
								dnaDesignerComp.webDesign.designSize.trimWidth, dnaDesignerComp.webDesign.designSize.trimHeight, 
								dnaDesignerComp.getItemsUsed(), updateBasketCall);						
						//};
						//DesignerComponentService.getImagesFocusAreaSettings(dnaDesignerComp.optionalIdValueMetadata, focusDataCallBack);
					} else {
						designState = false;
						createMsgBox(failed_to_save_and_add_to_basket, failed_to_save_and_add_to_basket, 350, 200);
						addMsgBoxCloseAction(null, null, true, false);							
					}
				};
				dnaDesignerComp.saveDesign(dnaDesignerComp.name(), false, null, isSaved, null, designerErrorHandler);
			} else {
				//popup save box 
				var msgBox = createMsgBox(save_file_title, null, 400, 250, 148);
				var name = createInputBox("nameDesignHelp", msgBox.body, "text");
				name.holder.style.top = "20px";
				name.input.value = dnaDesignerComp.name();
				name.input.focus();
				
			    var swfUrl = null;
			    var url = null;
			    if(data.outputType == "FLASH"){
			      swfUrl = createInputBox("swfUrlHelp", msgBox.body, "text");
			      swfUrl.holder.style.top = "25px";
			    }
			
				var saveAction = addMsgBoxAction("saveDesign", "saveDesignHelp", null, createProperties(100, 20, 145, 0, null, "absolute"), interfaceImagesPath + "forward004-white.gif", 40);
				addMsgBoxCloseAction();
				
				function saveActionOnclick(){
				if(data.outputType == "FLASH" && swfUrl.input.value == ""){
					alert("URL is required");
					return;
				}else if(data.outputType == "FLASH"){
				    url = swfUrl.input.value;
				}					
					if (name.input.value) {
						var isSaved = function (savedItem) {
							if (savedItem) {
								//var focusDataCallBack = function(focusAreas){
								var updateBasketCall = function (data) {
									basket = data;
									designState = true;
									updateTotalPrice();
								};
								AjaxService.addCurrentAdToBasket(dnaDesignerComp.designId(), dnaDesignerComp.name(),
									dnaDesignerComp.getOptionalMetadata('mdata_size_id'),dnaDesignerComp.getOptionalMetadata("mdata_colour"),
									dnaDesignerComp.webDesign.designSize.trimWidth,	dnaDesignerComp.webDesign.designSize.trimHeight, dnaDesignerComp.getItemsUsed(), updateBasketCall);
								closeMsgBox();
								//}
								//DesignerComponentService.getImagesFocusAreaSettings(dnaDesignerComp.optionalIdValueMetadata, focusDataCallBack);
								
							} else {
								designState = false;
								createMsgBox(failed_to_save, failed_to_save, 250, 160);
								addMsgBoxCloseAction(null, null, true, false);
							}
						};
						dnaDesignerComp.saveDesign(name.input.value,false,null,isSaved,url, designerErrorHandler);
					} else {
						var h = getHelp("nameDesignHelp");
						alert(h.caption + is_required);
					}
				}
				saveAction.onclick = saveActionOnclick;
				function nameInputOnkeydown(){
					submitOnReturn(saveAction);
				}
				name.input.onkeydown = nameInputOnkeydown;	
				
			}
		} else {
			//popup save sign in screen 
			signInScreen(o, save_design_basket_autorization);
		}
	};
	AjaxService.isUserLogged(testUser);
}
/***************************************************************************************************************************************/
//How to screen
function howToScreen() {
	setMenuItems("menuItem2");
	var screen = createBlockedScreen("_screenPopup");
	var menu = createCustomScreen("_screenPopupMenu", createProperties(560, 30, 10, 10));
	var body = createCustomScreen("_screenPopupBody", createProperties(655, 375, 10, 55));
	body.style.paddingRight = "5px";

	screen.appendChild(menu);
	screen.appendChild(body);
	
	var searchScreens = new Object();
	searchScreens.screen = screen;
	searchScreens.menu = menu;
	searchScreens.body = body;
	
	var menuItem1 = createMenuItem("subMenu1", searchScreens, how_to_menu_item_1, how_to_menu_item_1_content, 0, 4);
	var menuItem2 = createMenuItem("subMenu2", searchScreens, how_to_menu_item_2, how_to_menu_item_2_content, 146, 4);
	var menuItem3 = createMenuItem("subMenu3", searchScreens, how_to_menu_item_3, how_to_menu_item_3_content, 306, 4);

	//Load first menu item
	menuItem1.onclick();
}

//Content screen
var contentScreenMenuItem = null;
function contentScreen(showflat) {
	setMenuItems("menuItem3", true);
	if (showflat && showflat == true) {
		var screen = createScreen();
		screen.style.overflow = "visible";
		var menu = createCustomScreen("_screenPopupMenu", createProperties(560, 20, 10, 10));
		var body = createCustomScreen("_screenPopupBody", createProperties(745, 280, 10, 109));
		body.style.border = "0px black solid";
		var pager = createCustomScreen("_screenPopupBody", createProperties(595, 30, 10, 400));
		pager.style.border = "0px black solid";

	} else {
		var screen = createBlockedScreen("_screenPopup");
		var menu = createCustomScreen("_screenPopupMenu", createProperties(560, 20, 10, 10));
		var body = createCustomScreen("_screenPopupBody", createProperties(745, 280, 10, 109));
		body.style.border = "0px black solid";
		var pager = createCustomScreen("_screenPopupBody", createProperties(595, 30, 10, 400));
		pager.style.border = "0px black solid";
	}
	screen.appendChild(menu);
	screen.appendChild(body);
	screen.appendChild(pager);
	var searchScreens = new Object();
	searchScreens.screen = screen;
	searchScreens.menu = menu;
	searchScreens.body = body;
	searchScreens.pager = pager;
	
	var menuItem1 = createMenuItem("subMenu1", searchScreens, content_menu_item_1, null, 0, 3);
	
	function menuItem1Onclick(){
		//alert('menuItem1Onclick');
		setSubMenuItems("subMenu1", 3);
		removeChildrenFromNode(body);
		removeChildrenFromNode(pager);
		loadGallerySearchBar(searchScreens, 60);
		var keywordElmnt = document.getElementById('keyword');
		keywordElmnt.select();
		keywordElmnt.focus();	
	}
	menuItem1.onclick = menuItem1Onclick;
	
	if (mediaOptionHomepagegallery == 'true') {
		var menuItem2 = createMenuItem("subMenu2", searchScreens, "", null, 146, 3);
	} else {
		var menuItem2 = createMenuItem("subMenu2", searchScreens, content_menu_item_2, null, 146, 3);
	}
	function menuItem2Onclick(){
		setSubMenuItems("subMenu2", 3);
		removeChildrenFromNode(searchScreens.body);
		removeChildrenFromNode(searchScreens.pager);
		loadFontFoundrySearchBar(searchScreens, 58);
		var keywordElmnt = document.getElementById('keyword');
		keywordElmnt.select();
		keywordElmnt.focus();			
	}
	menuItem2.onclick = menuItem2Onclick
	
//	var menuItem3 = createMenuItem("subMenu3", searchScreens, content_menu_item_3, null, 306, 3);
//	function menuItem3Onclick(){
//		setSubMenuItems("subMenu3", 3);
//		var testUser = function (data) {
//			if (data) {
//				removeChildrenFromNode(searchScreens.body);
//				removeChildrenFromNode(searchScreens.pager);
//				loadMyContentSearchBar(searchScreens, 58);
//				var keywordElmnt = document.getElementById('keyword');
//				keywordElmnt.select();
//				keywordElmnt.focus();					
//			} else {
//				signInScreen(menuItem3, content_menu_item_3_autorization);
//			}
//		};
//		AjaxService.isUserLogged(testUser);
//	}
//	menuItem3.onclick = menuItem3Onclick;
//	contentScreenMenuItem = menuItem3;

	//Load first menu item
	menuItem1.onclick();
}

//Image gallery search bar
function loadGallerySearchBar(searchScreens, top, isEditor) {
	var searchBar = createCustomScreen("searchBar", createProperties(750, 40, 10, top));
	var keyword = createInputBox("keyword", searchBar, "text");
	keyword.input.focus();

	keyword.holder.style.top = "10px";
	keyword.input.id = "keyword";
	function keywordinputOnmouseover(){
		showHelpPopup("inputKeyword");
	}
	keyword.input.onmouseover = keywordinputOnmouseover;
	/*if(image_keyword){
		keyword.input.setAttribute("value", image_keyword);
		keyword.input.value = image_keyword;
	}*/
	
	var isColorChecked = "";
	var isMonoChecked = "";
	if (mediaOptionHomepagegallery == 'true') {
		isColorChecked = "checked";
		isMonoChecked = "";
	} else if (image_colour) {
		isColorChecked = "checked";
		isMonoChecked = "";
	} else {
		isColorChecked = "";
		isMonoChecked = "checked";
	}
	if (isEditor) {
		if (!colour) {
			var radioColor = createRadio(image_gallery_search_color, "color", searchBar, true);
			radioColor.radioDiv.style.position = "absolute";
			radioColor.radioDiv.style.left = "370px";
			radioColor.radioDiv.style.top = "10px";
			
			
			function radioColorRadioDivOnmouseover(){
				showHelpPopup("colourMonoHelp");
			}
			radioColor.radioDiv.onmouseover = radioColorRadioDivOnmouseover;
			
			
			function radioColorRadioDivOnmouseout(){
				hidePopup();
			}
			radioColor.radioDiv.onmouseout = radioColorRadioDivOnmouseout;
			
			
			function radioColorRadioDivOnclick(){
				image_colour = true;
			}
			radioColor.radioDiv.onclick = radioColorRadioDivOnclick;
			
			radioColor.radio.disabled = true;
			var radioMono = createRadio(image_gallery_search_mono, "mono", searchBar, false, "checked");
			radioMono.radioDiv.style.position = "absolute";
			radioMono.radioDiv.style.left = "430px";
			
			
			function radioMonoRadioDivOnmouseover(){
				showHelpPopup("colourMonoHelp");
			}
			radioMono.radioDiv.onmouseover = radioMonoRadioDivOnmouseover;
			
			
			function radioMonoRadioDivOnmouseout(){
				hidePopup();
			}
			radioMono.radioDiv.onmouseout = radioMonoRadioDivOnmouseout;
			
			
			function radioMonoRadioDivOnclick(){
				image_colour = false;
			}
			radioMono.radioDiv.onclick = radioMonoRadioDivOnclick;
			
		} else {
			
			var radioColor = createRadio(image_gallery_search_color, "color", searchBar, true, isColorChecked);
			radioColor.radioDiv.style.position = "absolute";
			radioColor.radioDiv.style.left = "370px";
			radioColor.radioDiv.style.top = "10px";
			
			function radioColorRadioDivOnmouseover(){
				showHelpPopup("colourMonoHelp");
			}
			radioColor.radioDiv.onmouseover = radioColorRadioDivOnmouseover;
			
			function radioColorRadioDivOnmouseout(){
				hidePopup();
			}
			radioColor.radioDiv.onmouseout = radioColorRadioDivOnmouseout;
			
			
			function radioColorRadioDivOnclick(){
				image_colour = true;
			}
			radioColor.radioDiv.onclick = radioColorRadioDivOnclick;
			
			var radioMono = createRadio(image_gallery_search_mono, "mono", searchBar, false, isMonoChecked);
			radioMono.radioDiv.style.position = "absolute";
			radioMono.radioDiv.style.left = "430px";
			
			
			function radioMonoRadioDivOnmouseover(){
				showHelpPopup("colourMonoHelp");
			}
			radioMono.radioDiv.onmouseover = radioMonoRadioDivOnmouseover;
			
			
			
			function radioMonoRadioDivOnmouseout(){
				hidePopup();
			}
			radioMono.radioDiv.onmouseout = radioMonoRadioDivOnmouseout;
			
			
			function radioMonoRadioDivOnclick(){
				image_colour = false;
			}
			radioMono.radioDiv.onclick = radioMonoRadioDivOnclick;
			
		}
		
	} else if (mediaOptionHomepagegallery == 'true') {
		var radioColor = createRadio(image_gallery_search_color, "color", searchBar, true, isColorChecked);
		radioColor.radioDiv.style.position = "absolute";
		radioColor.radioDiv.style.left = "370px";
		radioColor.radioDiv.style.top = "8px";
	} else {
		
		var radioColor = createRadio(image_gallery_search_color, "color", searchBar, true, isColorChecked);
		radioColor.radioDiv.style.position = "absolute";
		radioColor.radioDiv.style.left = "370px";
		radioColor.radioDiv.style.top = "8px";
		
		function radioColorRadioDivOnmouseover(){
			showHelpPopup("colourMonoHelp");
		}
		radioColor.radioDiv.onmouseover = radioColorRadioDivOnmouseover;
		
		
		function radioColorRadioDivOnmouseout(){
			hidePopup();
		}
		radioColor.radioDiv.onmouseout = radioColorRadioDivOnmouseout;
		
		
		function radioColorRadioDivOnclick(){
			image_colour = true;
		}
		radioColor.radioDiv.onclick = radioColorRadioDivOnclick;
		
		var radioMono = createRadio(image_gallery_search_mono, "mono", searchBar, false, isMonoChecked);
		radioMono.radioDiv.style.position = "absolute";
		radioMono.radioDiv.style.left = "430px";
		radioMono.radioDiv.style.top = "8px";
		
		function radioMonoRadioDivOnmouseover(){
			showHelpPopup("colourMonoHelp");
		}
		radioMono.radioDiv.onmouseover = radioMonoRadioDivOnmouseover;
		
		
		function radioMonoRadioDivOnmouseout(){
			hidePopup();
		}
		radioMono.radioDiv.onmouseout = radioMonoRadioDivOnmouseout;
		
		
		function radioMonoRadioDivOnclick(){
			image_colour = false;
		}
		radioMono.radioDiv.onclick = radioMonoRadioDivOnclick;
		
	}
	var searchButton = createAction("gallerySearchButton", "gallerySearchHelp", createProperties(60, 30, 630, 0), null, interfaceImagesPath + "search004.gif", 40);
	
	function searchButtonOnclick(){
		image_keyword = keyword.input.value;
		loadGallery(searchScreens, keyword.input.value, 0, isEditor);	
	}
	searchButton.onclick = searchButtonOnclick;
	
	function keywordInputOnkeydown(){
		submitOnReturn(searchButton);
	}
	keyword.input.onkeydown = keywordInputOnkeydown;
	
	if (image_keyword) {
		loadGallery(searchScreens, image_keyword, 0, isEditor);
	} else if (mediaOptionHomepagegallery == 'true') {
		loadGallery(searchScreens, 'isolated', 0, isEditor);	
	}

	searchBar.appendChild(searchButton);
	searchScreens.screen.appendChild(searchBar);
	keyword.input.focus();		
	
	
}

//Load gallery data
function loadGallery(searchScreens, keyword, page, isEditor) {
	if (!page) {
		page = 0;
	}
	if (keyword != null && keyword != "" && keyword != "*") {
		writeMsg(searchScreens, image_gallery_search_searching);
		var loadGalleryData = function (pageData) {
			if (pageData) {
				writeMsg(searchScreens, "");
				var settings = new Object();
				settings.fileName = "SmallThumb";
				settings.editor = isEditor;
				displayRecords(searchScreens, settings, pageData, isEditor);
				generateLinks(searchScreens, settings, pageData, keyword, "gallery", isEditor);
			} else {
				writeMsg(searchScreens, image_gallery_search_noresults + " \"" + keyword + "\" " + image_gallery_search_noresults2);
			}
		};
		AjaxService.getGalleryImages(keyword, page, 50, loadGalleryData);
	} else {
		writeMsg(searchScreens, image_gallery_search_prompt);
	}
}

//Font foundry search bar
function loadFontFoundrySearchBar(searchScreens, top) {
	var searchBar = createCustomScreen("searchBar", createProperties(750, 50, 10, top));
	var keyword = createInputBox("keyword", searchBar, "text");
	keyword.holder.style.top="10px";
	keyword.input.id = "keyword";
	var searchButton = createAction("fontFoundryButton", "fontFoundrySearchHelp", createProperties(100, 40, 630, 0), null, interfaceImagesPath + "search004.gif", 40);
	
	function searchButtonOnclick(){
		loadFontFoudry(searchScreens, keyword.input.value);
	}
	searchButton.onclick = searchButtonOnclick;
	
	function keywordInputOnkeydown(){
		submitOnReturn(searchButton);
	}
	keyword.input.onkeydown = keywordInputOnkeydown;
	
	searchBar.appendChild(searchButton);
	searchScreens.screen.appendChild(searchBar);
	loadFontFoudry(searchScreens, "");
}

//Load font foundry data
function loadFontFoudry(searchScreens, keyword, page) {
	if (!page) {
		page = 0;
	}
	var loadFontFoundryData = function (data) {
		if (data) {
			writeMsg(searchScreens, "");
			var settings = new Object();
			settings.onClickEnabled = false;
			settings.layout = "display";
			displayRecords(searchScreens, settings, data);
			generateLinks(searchScreens, settings, data, keyword, "fonts");
		} else {
			writeMsg(searchScreens, my_content_search_noresults + " \"" + keyword + "\"" + my_content_search_noresults2 );
		}
	};
	var q = "*";
	if(keyword == ""){
		keyword = q;
	}
	//alert(keyword + " " + page)
	AjaxService.getFontFoundry(keyword, page, 10, loadFontFoundryData);
}



//My content search bar
var searchButton;

function loadMyContentSearchBar(searchScreens, top, isEditor) {
	var searchBar = createCustomScreen("searchBar", createProperties(750, 40, 10, top));
	var keyword = createInputBox("keyword", searchBar, "text");
	keyword.holder.style.top = "10px";
	keyword.input.id = "keyword";
			
	searchButton = createAction("myContentButton", "myContentSearchHelp", createProperties(100, 20, 535, 0), null, interfaceImagesPath + "search004.gif", 40);
	
	function searchButtonOnclick(){
		loadMyContent(searchScreens, keyword.input.value, 0, isEditor);
	}
	searchButton.onclick = searchButtonOnclick;
	
	var uploadButton = createAction("uploadButtonButton", "uploadButtonButtonHelp", createProperties(110, 20, 630, 0), null, interfaceImagesPath + "upload004.gif", 40);
	
	function uploadButtonOnclick(){
		var uploadForm = createMsgBox("Upload image", "&nbsp;&nbsp;&nbsp;&nbsp;Upload a high resolution JPEG or TIF file of your<br>&nbsp;&nbsp;&nbsp;&nbsp;Image, Logo or Graphic to My images.<br>&nbsp;&nbsp;&nbsp;&nbsp;TIF images can have transparent backgrounds or areas (deep etched/isolated).", 500, 350, 145);
		addMsgBoxCloseAction();
	
		var formElements = document.createElement("span");
		
		var formHolder = createDiv(null, "absolute", 60, 10, null, null, 200, 150);
		//formHolder.style.border="1px black solid";
		
		var nameObj = createInputBox("File name", formElements, "text", false, "fileName");
		
		var file = createInputBox("Select file", formElements, "file", false, "file");
						
		var appType = createInputBox("", formElements, "hidden", false, "appType");
		appType.input.value = "7";	
			
		var userIdentifier = createInputBox("", formElements, "hidden", false, "userIdentifier");
		userIdentifier.input.value = "";
		
		var userCredentials = createInputBox("", formElements, "hidden", false, "userCredentials");
		userCredentials.input.value = "";
		
		var parentId = createInputBox("", formElements, "hidden", false, "parentFolderId");
		parentId.input.value = "";	
		
		var mediaOwnerId = createInputBox("", formElements, "hidden", false, "mediaOwnerId");
		mediaOwnerId.input.value = "";					

		var progressBar = document.createElement("div");
		progressBar.style.position = "absolute";
		//progressBar.style.background = "red";
		progressBar.style.top = "120px";
		progressBar.style.left = "0px";
		progressBar.id = "progressBar";
		
		progressBar.style.display = "none";
		var theMeter = document.createElement("div");
		theMeter.id = "theMeter";
		var progressBarText = document.createElement("div");
		progressBarText.id = "progressBarText";
		var progressBarBox = document.createElement("div");
		progressBarBox.id = "progressBarBox";
		var progressBarBoxContent = document.createElement("div");
		progressBarBoxContent.id = "progressBarBoxContent";
		progressBarBoxContent.style.background = "red";
		progressBar.appendChild(theMeter);
		theMeter.appendChild(progressBarText);
		progressBarBox.appendChild(progressBarBoxContent);
		theMeter.appendChild(progressBarBox);
				
	
		var button = createAction("uploadButtonButton", "uploadButtonButtonHelp", createProperties(110, 20, 2, 90), null, interfaceImagesPath + "forward004-white.gif", 40);
		function buttonOnClick(){
			document.forms[0].submit();
			startProgress();
		}
		button.onclick = buttonOnClick;
		
		formElements.appendChild(progressBar);
	
		uploadForm.body.style.height = "290px";
		uploadForm.body.style.left = "0px";
		msgact = document.getElementById("msgActions")
		msgact.style.visibility = "hidden";
		
		formHolder.innerHTML = "<iframe name=\"iFrame\" src=\"empty.html\" width=\"0\" height=\"0\">"+
		"</iframe><form onload=\"focus();\" action=\""+ contextPath +
		"/servlet/BamsComponentUploadServlet\" enctype=\"multipart/form-data\" method=\"post\" target=\"iFrame\">"+ formElements.innerHTML + 
		"<div onClick=\"checkFileInput()\" style=\"position:absolute;top:175px;left:145px;\"><img src=\""+interfaceImagesPath+"forward004-white.gif\" "+
		"align=\"absmiddle\">"+
		"&nbsp;&nbsp;Upload</div></form>";
		
		//alert(formHolder.innerHTML)
		uploadForm.body.appendChild(formHolder);
	}
	uploadButton.onclick = uploadButtonOnclick;
	
	keyword.input.onkeydown = function () {
		submitOnReturn(searchButton);
	};
	searchBar.appendChild(searchButton);
	searchBar.appendChild(uploadButton);
	searchScreens.screen.appendChild(searchBar);
	loadMyContent(searchScreens, "", 0, isEditor);
	keyword.input.focus();
}
function checkFileInput() {
	var error = ""; 
	var fileNameStr = document.getElementById('File name').value;
	var filesAdded = document.getElementById('Select file').value;
	if (fileNameStr == '') {
		hasError = true;
		error += "Filename" + is_required;
		//document.getElementById('File name').focus();
		alert(error);
	} else if (filesAdded == ''){
		hasError = true;
		error += "File" + is_required;
		//document.getElementById('File name').focus();
		alert(error);
	} else if (filesAdded != '' + fileNameStr != ''){
		var lengthName = filesAdded.length;
		var newString = filesAdded.slice(lengthName - 5,lengthName);
		var valueExt = newString.indexOf('.');
		var ext = newString.substring(valueExt + 1);
		ext = ext.toLowerCase();
		if(ext == "jpg" || ext == "tif" || ext == "jpeg" || ext == "tiff")
		{
			document.forms[0].submit();
			startProgress();
		}else {
			hasError = true;
			error += "File must be a jpg or a tif";
			alert(error);
		}
	}
}
function startUploadProgress() {
	startProgress();
}

//Load my content data
function loadMyContent(searchScreens, keyword, page, isEditor) {
	if (!page) {
		page = 0;
	}
	var loadMyContentData = function (data) {
		if (data) {
			writeMsg(searchScreens, "");
			var settings = new Object();
			settings.onClickEnabled = true;
			settings.layout = "details";
			settings.fileName = "SmallThumb";
			settings.loader = "content";
			settings.editor = isEditor;
			settings.keyword = keyword;
			settings.page = page;
			displayRecords(searchScreens, settings, data);
			generateLinks(searchScreens, settings, data, keyword, settings.loader);
			//TODO **** add link
			
		} else {
			writeMsg(searchScreens, my_content_search_noresults + " \"" + keyword + "\"" + my_content_search_noresults2 );
		}
		
	};
	AjaxService.getMyContent(keyword, page, 10, loadMyContentData);
}


//Menage screen
function manageScreen() {
	setMenuItems("menuItem4", true);
	var screen = createBlockedScreen("_screenPopup");
	var menu = createCustomScreen("_screenPopupMenu", createProperties(560, 20, 10, 10));
	menu.style.border = "0px black solid";
	var searchScreens = new Object();
	searchScreens.screen = screen;
	searchScreens.menu = menu;
	var createBody = function (screen, isSearchScreen) {
		var w = 595;
		var h = 380;
		var t = 56;
		var searchBar = document.getElementById("searchBar");
		if (searchBar) {
			try {
				screen.removeChild(searchBar);
			} catch (ex) {
			}
		}
		var oldBody = document.getElementById("screenBody");
		if (oldBody) {
			try {
				screen.removeChild(oldBody);
			} catch (ex) {
			}
		}
		var oldPager = document.getElementById("screenPager");
		if (oldPager) {
			screen.removeChild(oldPager);
		}
		if (isSearchScreen) {
			w = 655;
			h = 290;
			t = 105;
		}
		var body = createCustomScreen("_screenPopupBody", createProperties(w, h, 10, t));
		body.style.border = "0px black solid";
		body.id = "screenBody";
		if (isSearchScreen) {
			var pager = createCustomScreen("_screenPopupBody", createProperties(600, 30, 10, 400));
			pager.style.border = "0px black solid";
			pager.id = "screenPager";
			screen.appendChild(pager);
			searchScreens.pager = pager;
		}
		screen.appendChild(menu);
		screen.appendChild(body);
		searchScreens.body = body;
		return searchScreens;
	};
	if (mediaOptionHomepagegallery != 'true') {
		setClassName(menuItem1, "clicked");
		var menuItem1 = createMenuItem("subMenu1", searchScreens, manage_menu_item_1, null);
		
	} else {
		var menuItem1 = createMenuItem("subMenu1", searchScreens, "", null);
	}
	
	function menuItem1Onclick(){
		setSubMenuItems(this.id, 4);
		searchScreens = createBody(screen, true);
		var testUser = function (data) {
			if (data) {
				removeChildrenFromNode(searchScreens.body);
				removeChildrenFromNode(searchScreens.pager);
				loadMyAdsSearchBar(searchScreens, 58);
			} else {
				signInScreen(menuItem1, manage_menu_item_1_autorization);
			}
		};
		AjaxService.isUserLogged(testUser);
	}
	menuItem1.onclick = menuItem1Onclick;
	
	if (mediaOptionHomepagegallery == 'true') {
		var menuItem3 = createMenuItem("subMenu3", searchScreens, manage_menu_item_3, null, 0, 4);
	} else {
		var menuItem3 = createMenuItem("subMenu3", searchScreens, manage_menu_item_3, null, 146, 4);
	}
	
	function menuItem3Onclick(){
		setSubMenuItems("subMenu3", 4);
		var testUser = function (data) {
			if (data) {
				removeChildrenFromNode(searchScreens.body);
				removeChildrenFromNode(searchScreens.pager);
				loadMyContentSearchBar(searchScreens, 58);
				var keywordElmnt = document.getElementById('keyword');
				keywordElmnt.select();
				keywordElmnt.focus();					
			} else {
				signInScreen(menuItem3, manage_menu_item_3_autorization);
			}
		};
		AjaxService.isUserLogged(testUser);
	}
	menuItem3.onclick = menuItem3Onclick;
	contentScreenMenuItem = menuItem3;
	
	if (mediaOptionHomepagegallery == 'true') {
		var menuItem2 = createMenuItem("subMenu2", searchScreens, manage_menu_item_2, null, 146);
	} else {
		var menuItem2 = createMenuItem("subMenu2", searchScreens, manage_menu_item_2, null, 306);
	}
	
	function menuItem2Onclick(){
		setSubMenuItems("subMenu2", 4);
		var testUser = function (data) {
			if (data) {
				searchScreens = createBody(screen, true);
				removeChildrenFromNode(searchScreens.body);
				removeChildrenFromNode(searchScreens.pager);
				loadMyOrdersSearchBar(searchScreens, 55);
			} else {
				signInScreen(menuItem2, manage_menu_item_2_autorization);
			}
		};
		AjaxService.isUserLogged(testUser);
	}
	menuItem2.onclick = menuItem2Onclick;	
	
	if (mediaOptionHomepagegallery == 'true') {
		var menuItem4 = createMenuItem("subMenu4", searchScreens, manage_menu_item_4, null, 306);
	} else {
		var menuItem4 = createMenuItem("subMenu4", searchScreens, manage_menu_item_4, null, 466);
	}
	
	function menuItem4Onclick(){
		setSubMenuItems("subMenu4", 4);
		var testUser = function (data) {
			if (data) {
				searchScreens = createBody(screen, false);
				loadMyAccountScreen(searchScreens);
			} else {
				signInScreen(menuItem4, manage_menu_item_4_autorization);
			}
		};
		AjaxService.isUserLogged(testUser);
	}
	menuItem4.onclick = menuItem4Onclick;
	
	//Load first menu item
	menuItem1.onclick();

	if (mediaOptionHomepagegallery == 'true') {
		menuItem3.onclick();
	} else {
		menuItem1.onclick();
	}
}


function loadMyOrdersSearchBar(searchScreens, top) {
	var searchBar = createCustomScreen("searchBar", createProperties(750, 30, 16, top));
	searchBar.id = "searchBar";
	searchScreens.body.style.width = "710px";
	searchScreens.screen.appendChild(searchBar);
	
	loadMyOrders(searchScreens);
}
function loadMyOrders(searchScreens) {
	var callBack = function(mOwner){
		var loadMyOrdersData = function (data) {
			if (data && data.length > 0) {
				var div = document.createElement("div");
				div.style.position = "relative";
				div.style.width = "100%";
				div.style.height = "30px";
	
				var item = document.createElement("div");
				item.style.position = "absolute";
				item.style.width = "100px";
				item.style.height = "20px";
				item.style.top = "0px";
				item.style.left = "0px";
				item.innerHTML = basket_item_title;
				div.appendChild(item);
				var purchaseDate = document.createElement("div");
				purchaseDate.style.position = "absolute";
				purchaseDate.style.width = "100px";
				purchaseDate.style.height = "20px";
				purchaseDate.style.top = "0px";
				purchaseDate.style.left = "146px";
				purchaseDate.innerHTML = basket_purchase_date_title;
				div.appendChild(purchaseDate);
				var urnBooking = document.createElement("div");
				urnBooking.style.position = "absolute";
				urnBooking.style.width = "200px";
				urnBooking.style.top = "0px";
				urnBooking.style.left = "292px";
				urnBooking.innerHTML = basket_urn_title;
				div.appendChild(urnBooking);
				var pubcDetails = document.createElement("div");
				pubcDetails.style.position = "absolute";
				pubcDetails.style.width = "120px";
				pubcDetails.style.top = "0px";
				pubcDetails.style.left = "438px";
				pubcDetails.innerHTML = "";
				div.appendChild(pubcDetails);			
				var totalPrice = document.createElement("div");
				totalPrice.style.position = "absolute";
				totalPrice.style.width = "120px";
				totalPrice.style.top = "0px";
				totalPrice.style.left = "465px";
				if(mOwner.showPrice){
					totalPrice.innerHTML = basket_cost_title;	
				}
				div.appendChild(totalPrice);
			
				searchBar.appendChild(div);
				
				for (i = 0; i < data.length; i++) {
					var basket = data[i];
					var div = document.createElement("div");
					div.style.position = "relative";
					div.style.width = "100%";
					div.style.borderTop = "1px #D8D8D8 solid";
					var item = document.createElement("div");
					item.style.position = "relative";
					item.style.width = "100px";
					item.style.height = "70px";
					item.style.left = "0px";
					item.innerHTML = basket.orderId;
					div.appendChild(item);
					var purchaseDate = document.createElement("div");
					purchaseDate.style.position = "absolute";
					purchaseDate.style.width = "200px";
					purchaseDate.style.top = "5px";
					purchaseDate.style.left = "146px";
					purchaseDate.innerHTML = formatDate(basket.transactionDatetime, "dd/MM/yyyy hh:mm:ss");
					div.appendChild(purchaseDate);
					var insertionDate = document.createElement("div");
					insertionDate.style.position = "absolute";
					insertionDate.style.width = "200px";
					insertionDate.style.top = "5px";
					insertionDate.style.left = "292px";
					var urnBooking = document.createElement("div");
					urnBooking.style.position = "absolute";
					urnBooking.style.width = "200px";
					urnBooking.style.top = "5px";
					urnBooking.style.left = "380px";
					var pubcDetails = document.createElement("div");
					pubcDetails.style.position = "absolute";
					pubcDetails.style.width = "120px";
					pubcDetails.style.top = "0px";
					pubcDetails.style.left = "438px";		
					var totalPrice = document.createElement("div");
					totalPrice.style.position = "absolute";
					totalPrice.style.width = "120px";
					totalPrice.style.top = "5px";
					totalPrice.style.left = "465px";
					
					//alert(DWRUtil.toDescriptiveString(basket, 1));
					var basketDesigns = basket.userBasketDesigns;
					var basketImages = basket.imagesToBuy;
					//alert(basket.orderId.designId);
					
					var totalBasket = 0;
					var height = 80;
					
					for (var k = 0 ; k < basketImages.length; k ++){
						totalBasket += basketImages[k].price;
					}
					
					//alert(totalBasket);
					
					for (j = 0; j < basketDesigns.length; j++) {
						var basketDesign = basketDesigns[j];
						//alert("basketDesign.id" + basketDesign.id);
						var insertionDateObj = basketDesign.insertionDate;
						var designDate = document.createElement("div");
						designDate.style.position = "relative";
						designDate.style.width = "100%";
						designDate.style.height = "10px";
	
						designDate.innerHTML = formatDate(insertionDateObj, "dd/MM/yyyy") + " <br>" + basketDesign.bookingRef;
						insertionDate.appendChild(designDate);
//						var bookingRefObj = basketDesign.bookingRef;
//						var urn = document.createElement("div");
//						urn.style.position = "relative";
//						urn.style.width = "100%";
//						urn.style.height = "10px";
//	
//						urn.innerHTML = bookingRefObj;
//						urnBooking.appendChild(urn);
									
						var totalObj = basketDesign.designCost;
						var designCost = document.createElement("div");
						designCost.style.position = "relative";
						designCost.style.width = "100%";
						designCost.style.height = "10px";
						totalPrice.appendChild(designCost);
						var basketItems = basketDesign.basketItems;
						var totalCostOfItems = 0;
						for (k = 0; k < basketItems.length; k++) {
							var basketItem = basketItems[k];
							var itemCost = basketItem.itemCost;
							var perc = basketItem.createadsPerc;
							itemCost = itemCost + itemCost * perc / 100;
							totalCostOfItems = totalCostOfItems + itemCost;
						}
						var number = document.createElement("span");
						number.style.position = "relative";
						number.style.width = "50px";
						number.style.height = "10px";
						number.style.left = "70px";
	
						//number.style.textAlign = "right";
						number.innerHTML = "&pound;" + (totalObj + totalCostOfItems);
						designCost.appendChild(number);
						totalBasket = totalBasket + totalObj + totalCostOfItems;
						height = height + 10 * j;
						div.style.height = height + "px";
					}
					var designCost = document.createElement("div");
					designCost.style.position = "relative";
					designCost.style.width = "100%";
					designCost.style.height = "10px";
	
					//designCost.style.border = "1px black solid";
					//var vat = Math.round(totalBasket * 0.175 * 100) / 100; ()
					var vat = Math.round(totalBasket * 0.15 * 100) / 100;
					var total = Math.round((totalBasket + vat) * 100) / 100;
					var title = document.createElement("span");
					title.style.position = "relative";
					title.style.width = "60";
					title.style.height = "10px";
					title.style.left = "0px";
					title.style.textAlign = "right";
					title.innerHTML = "Sub-total:";
					var number = document.createElement("span");
					number.style.position = "relative";
					number.style.width = "50px";
					number.style.height = "10px";
					number.style.left = "11px";
					number.innerHTML = "&pound;" + (totalBasket);
					designCost.appendChild(title);
					designCost.appendChild(number);
					var designCostVat = document.createElement("div");
					designCostVat.style.position = "relative";
					designCostVat.style.width = "100%";
					designCostVat.style.height = "10px";
					var titleVat = document.createElement("span");
					titleVat.style.position = "relative";
					titleVat.style.width = "60";
					titleVat.style.height = "10px";
					titleVat.style.left = "0px";
					titleVat.style.textAlign = "right";
					titleVat.innerHTML = "VAT:";
					var numberVat = document.createElement("span");
					numberVat.style.position = "relative";
					numberVat.style.width = "50px";
					numberVat.style.height = "10px";
					numberVat.style.left = "11px";
					numberVat.innerHTML = "&pound;" + vat;
					designCostVat.appendChild(titleVat);
					designCostVat.appendChild(numberVat);
					var designCostTotal = document.createElement("div");
					designCostTotal.style.position = "relative";
					designCostTotal.style.width = "100%";
					designCostTotal.style.height = "10px";
					var titleTotal = document.createElement("span");
					titleTotal.style.position = "relative";
					titleTotal.style.width = "60";
					titleTotal.style.height = "10px";
					titleTotal.style.left = "0px";
					titleTotal.style.textAlign = "right";
					titleTotal.innerHTML = "<b>TOTAL:</b>";
					var numberTotal = document.createElement("span");
					numberTotal.style.position = "relative";
					numberTotal.style.width = "50px";
					numberTotal.style.height = "10px";
					numberTotal.style.left = "11px";
					numberTotal.innerHTML = "<b>&pound;" + total + "</b>";
					designCostTotal.appendChild(titleTotal);
					designCostTotal.appendChild(numberTotal);
					
					if(mOwner.showPrice){
						totalPrice.appendChild(designCost);
						totalPrice.appendChild(designCostVat);
						totalPrice.appendChild(designCostTotal);
						div.appendChild(totalPrice);						
					}

					
					div.appendChild(insertionDate);
					div.appendChild(urnBooking);
					div.appendChild(pubcDetails);
					
					searchScreens.body.appendChild(div);
				}
			} else {
				var div = document.createElement("div");
				div.style.position = "relative";
				div.style.width = "580";
				div.innerHTML = basket_reports_nothing_found;
				searchBar.appendChild(div);
			}
		};
		AjaxService.getUserTransatctions(loadMyOrdersData);		
	};
	AjaxService.getMediaOwner(callBack);
}
function loadMyAdsSearchBar(searchScreens, top) {
	var searchBar = createCustomScreen("searchBar", createProperties(750, 40, 10, top));
	searchBar.id = "searchBar";
	var keyword = createInputBox("keyword", searchBar, "text");
	keyword.holder.style.top = "8px";
	keyword.input.id = "keyword";
	var searchButton = createAction("myAdsSearchButton", "myAdsSearchHelp", createProperties(100, 20, 630, 0),null, interfaceImagesPath + "search004.gif", 40);
	
	searchButton.onclick = searchButtonOnclick;
	function searchButtonOnclick(){
		loadMyAds(searchScreens, keyword.input.value);
	}

	keyword.input.onkeydown = keywordInputOnkeydown;
	function keywordInputOnkeydown(){
		submitOnReturn(searchButton);
	}
	searchBar.appendChild(searchButton);
	searchScreens.screen.appendChild(searchBar);
	/*Load all user's ads*/
	loadMyAds(searchScreens, "");
}

var myMenu = new dTree("myMenu", '/web-resources/1/interface-images');

function loadFolderFiles(folderId){

	var itemHolders = document.getElementById("itemHolders");
	removeChildrenFromNode(itemHolders);
	var loadContent = function(data){
		for(i=0;i < data.length; i++){
			var item = document.createElement("div");	
			item.style.position = "relative";
			item.style.borderBottom = "1px #CECECE solid";
			item.style.height = "55px";
			item.style.width = "350px";			
			itemHolders.appendChild(item);
			
			var img = document.createElement("img");
			if(data[i].itemIsfile){
				img.src = "bams-file/BamsFileServlet?id=" + data[i].id + "&fileName=Icon";
			}else{
				img.src = interfaceImagesPath + "icons/folder.gif";
			}
			img.style.position = "absolute";
			item.appendChild(img);
			var title = document.createElement("div");
			title.style.position = "absolute";
			title.style.left="60px";
			title.style.top="8px";
			title.innerHTML = data[i].name;	
			item.appendChild(title);
		}
	};
	AjaxService.getFolderContent(folderId, loadContent);
}

function loadMyAds(searchScreens, keyword, page) {	
	removeChildrenFromNode(searchScreens.body);	

	if(/*keyword.length == 0*/false){
		var div = document.createElement("div");
//		div.style.border = "1px black solid";
		div.id = "itemHolders";
		div.style.position = "absolute";
		div.style.top = "0px";
		div.style.left = "160px";
		div.style.width = "445px";
		div.style.height = "290px";
		div.style.overflow = "auto";
		searchScreens.body.appendChild(div);
				
		var loadTree = function (data) {		
			var menuHolder = document.createElement("div");
			menuHolder.style.overflow = "hidden";
			menuHolder.style.position = "absolute";	
			menuHolder.style.border = "0px black solid";
			menuHolder.style.left = "-30px"
			menuHolder.style.width = "180px";
			menuHolder.style.height = "290px";
			menuHolder.style.overflow = "auto";
			menuHolder.style.zIndex = 1000;
			myMenu.add(0, -1, "");
			for(i = 0; i < data.length; i++){
				var actions = new Object();
				actions.overAction = "return";
				actions.outAction = "return";
				actions.clickAction = "loadFolderFiles('"+ data[i].bamsFolderId+"')";
				myMenu.add(data[i].index, data[i].parentIndex, data[i].name, 
				data[i].bamsFolderId, actions);	
				if(i == 0){
					loadFolderFiles(data[i].bamsFolderId);
				}
			}			
			searchScreens.body.appendChild(menuHolder);
			myMenu.appendMenu(menuHolder);	
		};
		AjaxService.getFolderTree(loadTree);
	}else{
		if (!page) {
			page = 0;
		}
	 	
		var loadMyAdsData = function (data) {
			if (data) {
				writeMsg(searchScreens, "");
				var settings = new Object();
				settings.accross = 1;
				settings.maxWidth = 600;
				settings.onClickEnabled = true;
				settings.fileName = "SmallThumb";
				settings.layout = "details";
				settings.loader = "ads";
				settings.keyword = keyword;
				settings.page = page;
				displayRecords(searchScreens, settings, data);
				generateLinks(searchScreens, settings, data, keyword, settings.loader);
			} else {
				writeMsg(searchScreens, my_content_search_noresults + " \"" + keyword + "\"" + my_content_search_noresults2 );
			}
		};
		AjaxService.getMyAds(keyword, page, 20, loadMyAdsData);
	}	
}
function loadMyAccountScreen(searchScreens) {
	searchScreens.body.style.height = "381px";
	//searchScreens.body.style.border = "1px black solid";
	var firstName = createInputBox("firstName", searchScreens.body, "text", true);
	firstName.input.maxLength = 20;
	var lastName = createInputBox("lastName", searchScreens.body, "text", true);
	lastName.input.maxLength = 20;
	var address1 = createInputBox("address1", searchScreens.body, "text", true);
	var address2 = createInputBox("address2", searchScreens.body, "text");
	var address3 = createInputBox("address3", searchScreens.body, "text");
	var city = createInputBox("city", searchScreens.body, "text");
	var postcode = createInputBox("postcode", searchScreens.body, "text", true);
	postcode.input.maxLength = 40;
	var telephone = createInputBox("telephone", searchScreens.body, "text", true);
	firstName.input.maxLength = 80;

	//helpName, parent, type, required, nameAtt, value

	var newsLetterAccept1 = createInputBox("acceptNewsLetter1", searchScreens.body, "checkbox");
	setClassName(newsLetterAccept1.input, "");
	
	var newsLetterAccept = createInputBox("acceptNewsLetter", searchScreens.body, "checkbox");
	setClassName(newsLetterAccept.input, "");
	
	var userData = function (data) {
		firstName.input.value = data.userFname;
		lastName.input.value = data.userLname;
		address1.input.value = data.userAddress1;
		address2.input.value = data.userAddress2;
		address3.input.value = data.userAddress3;
		city.input.value = data.city;
		postcode.input.value = data.postcode;
		telephone.input.value = data.userTel;

		newsLetterAccept.input.checked = data.newsLetter;
		newsLetterAccept1.input.checked = data.showHelp;
	};
	AjaxService.getUser(userData);
	var updateDetails = createAction("myAccountButton", "myAccountButtonHelp", createProperties(100, 20, 145, 345), null, interfaceImagesPath + "forward004-white.gif", 40);
	
	updateDetails.onclick = updateDetailsOnclick;
	function updateDetailsOnclick(){
		if (firstName.input.value && lastName.input.value && address1.input.value && city.input.value && postcode.input.value && telephone.input.value) {
			var userData = function (data) {
				if (data) {
					alert(my_account_user_update_success);
				}
			};
			var newsLetter = 0;
			if (newsLetterAccept.input.checked) {
				newsLetter = 1;
			}
			var showHelpInt = 0;
			if (newsLetterAccept1.input.checked) {
				showHelpInt = 1;
				showHelp = true;
			}else{
				showHelp = false;
			}			
			AjaxService.updateUser(firstName.input.value, lastName.input.value, address1.input.value, address2.input.value, address3.input.value, 
			city.input.value, postcode.input.value, telephone.input.value, "", newsLetter, showHelpInt, userData);
		} else {
			var error = "";
			error += validateField(firstName.input);
			error += validateField(lastName.input);
			error += validateField(address1.input);
			error += validateField(city.input);
			error += validateField(postcode.input);
			error += validateField(telephone.input);
			alert(error);
		}
	}
	searchScreens.body.appendChild(updateDetails);
}
function legalScreen() {
	setMenuItems("menuItem7");
	var screen = createBlockedScreen("_screenPopup");
	var header = createCustomScreen("_screenPopupheader", createProperties(560, 20, 10, 10));
	header.innerHTML = legal_title;
	var body = createCustomScreen("_screenPopupBody", createProperties(655, 365, 10, 55));
	setClassName(header, "title");
	var body1 = document.createElement("div");
	body1.style.width = "560px";
	body1.innerHTML = legal_content;
	body.appendChild(body1);
	screen.appendChild(header);
	screen.appendChild(body);
}
function contactScreen() {
	setMenuItems("menuItem9");
	var screen = createBlockedScreen("_screenPopup");
	var header = createCustomScreen("_screenPopupheader", createProperties(560, 20, 10, 10));
	setClassName(header, "title");
	header.innerHTML = contact_title;
	var body = createCustomScreen("_screenPopupBody", createProperties(655, 365, 10, 55));
	body.style.border = "0px black solid";
	body.innerHTML = contact_content;
	screen.appendChild(header);
	screen.appendChild(body);
}

function feedbackScreen() {
	setMenuItems("menuItem8");
	var screen = createBlockedScreen("_screenPopup");
	var header = createCustomScreen("_screenPopupheader", createProperties(560, 20, 10, 10));
	setClassName(header, "title");
	header.innerHTML = feedback_title;
	var body = createCustomScreen("_screenPopupBody", createProperties(655, 385, 10, 55));
	//body.style.border = "1px black solid";
	body.innerHTML = feedback_content + "<br><br><br><br>";


	var address = createCustomScreen("_screenPopupAddress", createProperties(190, 150, 400, 172));
	address.innerHTML = feedback_address;
	
	var subject = createSelectBox("subjectHelp", body, 145);
	subject.select.options[0] = new Option("Feedback", "Feedback");
	subject.select.options[1] = new Option("Help", "Help");
	var name = createInputBox("feddbackName", body, "text");
	var email = createInputBox("feddbackEmail", body, "text");
	var text = createInputBox("feddbackText", body, "textArea");
	
	var button = createAction("createAd", "feedbackSubmit", createProperties(100, 20, 145, 345), null, interfaceImagesPath + "forward004-white.gif", 45);
	
	button.onclick = buttonOnclick;
	function buttonOnclick(){
		if (name.input.value && email.input.value && text.input.value) {
			var feedback = function (data) {
				if (data) {
					alert(feedback_success);
					destroyScreen("_screenPopup");
				} else {
					alert(feedback_failed);
				}
			};
			AjaxService.sendFeedback(subject.select.options[subject.select.options.selectedIndex].value, name.input.value, email.input.value, text.input.value, feedback);
		} else {
			var error = "";
			error += validateField(name.input);
			error += validateField(email.input);
			error += validateField(text.input);
			alert(error);
		}
	}
	body.appendChild(button);
	screen.appendChild(header);
	screen.appendChild(body);
	screen.appendChild(address);
}
function signInScreen(o, message, forcesignin) {
	setMenuItems("menuItem5");
	var msgBox = createMsgBox(sing_in_popup_title, message, 450, 300, 200, false);
	var userNameOrEmail = createInputBox("userNameLogin", msgBox.body, "text", true);
	var password = createInputBox("passwordLogin", msgBox.body, "password", true);

	var activationCode = createInputBox("activationCode", msgBox.body, "text", true);
	activationCode.input.style.borderTop = "1px red solid";
	activationCode.input.style.borderLeft = "1px red solid";
	activationCode.input.style.background = "#FFB9B9";
	activationCode.holder.style.display = "none";
 
	
	var loginAction = addMsgBoxAction("login", "loginHelp", null, createProperties(100, 10, 145, 0, null, "absolute"), interfaceImagesPath + "signIn004.gif", 40);
	if (!forcesignin) {
		var registerAction = addMsgBoxAction("registerAction", "registerActionHelp", null, createProperties(100, 10, 0, 0, null, "absolute"), interfaceImagesPath + "register004.gif", 40);
		var resendActivationAction = createAction("resendActivationAction", "resendActivationActionHelp", createProperties(100, 20, 145, 20, null, "relative"), null, interfaceImagesPath + "forward004-white.gif", 40);
		resendActivationAction.style.display = "none";
	
		function resendActivationActionOnclick(){
			if (userNameOrEmail.input.value) {
				var sendActivationCodeCallBack = function (data) {
					alert(activation_code_sent);
				};
				AjaxService.sendActivationCode(userNameOrEmail.input.value, sendActivationCodeCallBack);
			} else {
				var h = getHelp("userNameLogin");
				alert(h.caption + is_required);
			}
		}
		resendActivationAction.onclick = resendActivationActionOnclick;
	}
	
	msgBox.body.appendChild(document.createElement("br"));
	//msgBox.body.appendChild(registerAction);
	if (!forcesignin) {
		msgBox.body.appendChild(resendActivationAction);
	}
	
	
	function loginActionOnclick(){
		if (userNameOrEmail.input.value && password.input.value) {
			var validateUserLoginData = function (data) {
				if (data) {
					if (!data.activated && !activationCode.input.value) {
						activationCode.holder.style.display = "inline";
						resendActivationAction.style.display = "inline";
						var help = getHelp("activateHelp");
						loginAction.caption.innerHTML = help.caption;
						
						loginAction.onmouseover = loginActionOnmouseover;
						function loginActionOnmouseover(){
							setClassName(loginAction, "selected");
							showHelpPopup("activateHelp");
						}
						
						loginAction.onmouseout = loginActionOnmouseout;
						function loginActionOnmouseout(){
							setClassName(loginAction, "deSelected");
							hidePopup();
						}
						
						alert("" + sign_in_acctivation_required + "");
					} else {
						if (!data.activated && activationCode.input.value) {
							var activationReply = function (logonToken) {
								if (logonToken) {
									if (o) {
										o.onclick();
										closeMsgBox();
										menuItem5.innerHTML = main_menu_item_5_;
										
										toggleHelp = true;
										function menuItem5Onclick(){
											signOutScreen();
										}
										menuItem5.onclick = menuItem5Onclick;
										showHelp = logonToken.showHelp;
										window.location.reload();
									} else {
										menuItem5.innerHTML = main_menu_item_5_;// + "<br>" + logonToken.userFname + " " + logonToken.userLname;
										function menuItem5Onclick(){
											signOutScreen();
										}
										menuItem5.onclick = menuItem5Onclick;
										isLogedIn = true;
										toggleHelp = true;
										showHelp = logonToken.showHelp;
										closeMsgBox();
										window.location.reload();
									}
								}
							};
							AjaxService.activateUser(userNameOrEmail.input.value, password.input.value, activationCode.input.value, activationReply);
						} else {
							var getMediaOwner = function(mediaOwner) {
								if (dnaDesignerComp!=null) {
									dnaDesignerComp.login(data.username, data.tokenSecurityHash,mediaOwner);
								}
							}
							AjaxService.getMediaOwnerId(getMediaOwner);
							
							if (o) {
								o.onclick();
								closeMsgBox();
								menuItem5.innerHTML = main_menu_item_5_;
								showHelp = data.showHelp;
								
								toggleHelp = true;
								function menuItem5Onclick(){
									signOutScreen();
								}
								menuItem5.onclick = menuItem5Onclick;
							} else {
								menuItem5.innerHTML = main_menu_item_5_;// + "<br>" + data.userFname + " " + data.userLname;
								showHelp = data.showHelp;
								
								isLogedIn = true;
								toggleHelp = true; 
								function menuItem5Onclick(){
									signOutScreen();
								}
								menuItem5.onclick = menuItem5Onclick;
								closeMsgBox();
								if (forcesignin) {
									menuItem1Onclick();
									document.location.href = document.location.href;
								}
							}
						}
					}
				} else {
					//closeMsgBox();
					//createMsgBox(sign_in_username_or_password_wrong, sign_in_username_or_password_wrong, 300, 160);
					//addMsgBoxCloseAction();					
					alert(sign_in_username_or_password_wrong);
				}
			};
			AjaxService.validateUserLogin(userNameOrEmail.input.value, password.input.value, validateUserLoginData);
		} else {
			//closeMsgBox();
			//createMsgBox(sign_in_username_or_password_required, sign_in_username_or_password_required, 300, 160);
			//addMsgBoxCloseAction();				
			alert(sign_in_username_or_password_required);
		}
	}
	loginAction.onclick = loginActionOnclick;
	
	
	function userNameOrEmailInputOnkeydown(){
		submitOnReturn(loginAction);
	}
	userNameOrEmail.input.onkeydown = userNameOrEmailInputOnkeydown;
	
	
	function passwordInputOnkeydown(){
		submitOnReturn(loginAction);
	}
	password.input.onkeydown = passwordInputOnkeydown;
	
	
	function activationCodeInputOnkeydown(){
		submitOnReturn(loginAction);
	}
	activationCode.input.onkeydown = activationCodeInputOnkeydown;
	
	if (!forcesignin) {
		function registerActionOnclick(){
			setMenuItems("menuItem5");
			closeMsgBox();
			var screen = createBlockedScreen("_screenPopup");
			var header = createCustomScreen("_screenPopupheader", createProperties(560, 20, 10, 10));
			header.innerHTML = register_title;
			setClassName(header, "title");
			var body = createCustomScreen("_screenPopupBody", createProperties(630, 410, 10, 30));
			var username = createInputBox("userName", body, "text", true);
			username.input.maxLength = 20;
			var password = createInputBox("password", body, "password", true);
			password.input.maxLength = 20;
			var password_ = createInputBox("password_", body, "password", true);
			password_.input.maxLength = 20;
			var email = createInputBox("email", body, "text", true);
			email.input.maxLength = 40;
			var firstName = createInputBox("firstName", body, "text", true);
			firstName.input.maxLength = 40;
			var lastName = createInputBox("lastName", body, "text", true);
			lastName.input.maxLength = 40;
			var address1 = createInputBox("address1", body, "text", true);
			var address2 = createInputBox("address2", body, "text");
			var address3 = createInputBox("address3", body, "text");
			var city = createInputBox("city", body, "text", true);
			var postcode = createInputBox("postcode", body, "text", true);
			postcode.input.maxLength = 10;
			var telephone = createInputBox("telephone", body, "text", true);
			telephone.input.maxLength = 15;
	
			//fax.input.maxLength = 80;
			var newsLetterAccept = createInputBox("acceptNewsLetter", body, "checkbox");
			setClassName(newsLetterAccept.input, "");
			//showHelp check box
			var showHelpChkBox = createInputBox("acceptNewsLetter1", body, "checkbox");
			setClassName(showHelpChkBox.input, "");
			showHelpChkBox.input.checked = true;
			
			var legalAccept = createInputBox("acceptLegal", body, "checkbox", true);
			setClassName(legalAccept.input, "");
			
			var readLegal = createAction("readLegal", "readLegalHelp", createProperties(100, 20, 165, 342, null, "absolute"));
	 		
	 		readLegal.onclick = readLegalOnclick;
			function readLegalOnclick(){
				var msgBox = createMsgBox(legal_title, legal_content, 500, 370, 145);
				
				var accept = addMsgBoxAction("acceptLegal", "acceptLegalHelp", null, createProperties(100, 30, 0, 0, null, "absolute"), interfaceImagesPath + "register004.gif", 40);
				msgBox.actions.appendChild(accept);
				
				accept.onclick = acceptOnclick;
				function acceptOnclick(){
					legalAccept.input.checked = true;
					closeMsgBox();
				}
				
				var cancel = addMsgBoxAction("cancelLegal", "cancelLegalHelp", null, createProperties(100, 30, 120, 0, null, "absolute"), interfaceImagesPath + "cancel004.gif", 40);
					
				cancel.onclick = cancelOnclick;
				function cancelOnclick(){
					closeMsgBox();
				}
				addMsgBoxCloseAction();
			}
			body.appendChild(readLegal);
			var register = createAction("registerButton", "registerButtonHelp", createProperties(50, 20, 640, 370, null, "absolute"), null, interfaceImagesPath + "forward004-white.gif", 40);
			
			register.onclick = registerOnclick;
			function registerOnclick(){
				var hasError = false;
				var error = "";
				var h;
				
				//username validation 
				var userNameStr = trimString(username.input.value);
				username.input.value = userNameStr;
				h = getHelp(username.input.id);
				if(userNameStr == ''|| userNameStr == null || userNameStr == 'undefined' || userNameStr == undefined){
					hasError = true;
					error += h.caption + is_required;
					username.input.focus();
				} else 
				{
					if(userNameStr.length < 5){
						hasError = true;
						error += h.caption + register_username_length;
					}				
					//start with an alphabet n end with alpha/number
					if( !isAlpha(userNameStr.substring(0,1)) || !isAlphaNum(userNameStr.substring(userNameStr.length-1,userNameStr.length)))					
					{
						hasError = true;
						error += h.caption + register_username_startend_rule;
					}
					//can contain alphanumeric or '-','_', '.' characters only
					if(!isAlphaNumSpl(userNameStr)){
						hasError = true;
						error += h.caption + register_username_rule;
					}
					
					username.input.focus();
				} //username validation
				
				//password validation
				h = getHelp(password.input.id);
				if(password.input.value == ''|| password.input.value == null || password.input.value == 'undefined' || password.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					password.input.focus();
				} else if (password.input.value.length < 8){
					hasError = true;
					error += h.caption + register_password_length;
					password.input.focus();				
				}
				
				//confirmPassword txtbox validation
				var confirmPwd = getHelp(password_.input.id);
				if(password_.input.value != password.input.value){
					hasError = true;
					error += h.caption + " and "+ confirmPwd.caption + do_not_match;
					password_.input.focus();				
				}
				
				//email validation
				h = getHelp(email.input.id);
				email.input.value = trimString(email.input.value);
				//prompt('email.input.value:',email.input.value);
				if(email.input.value == ''|| email.input.value == null || email.input.value == 'undefined' || email.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					email.input.focus();
				}  
				else if (email.input.value.length > 40){
					hasError = true;
					error += h.caption + email_length;
					email.input.focus();
				}
				//check if the domain name is more than 4 char length(Eg: simplydnauser@createads.simplydna would return false bcoz simplydna[Domain name] is 9 char's length
				else if( (email.input.value.length - email.input.value.lastIndexOf(".") -1) > 4 ){
					//This is an extra check as the next stmt takes time if the emailID has lengthy domainName.
					hasError = true;
					error +=  h.caption + is_invalid;
					email.input.focus();
				}
				else if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email.input.value)== false)
				{
					hasError = true;
					error += h.caption + is_invalid;
					email.input.focus();
				}
				
				//first name validation
				h = getHelp(firstName.input.id);
				firstName.input.value = trimString(firstName.input.value);
				if(firstName.input.value == ''|| firstName.input.value == null || firstName.input.value == 'undefined' || firstName.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					firstName.input.focus();
				} else if(!isAlpha(firstName.input.value)){
					hasError = true;
					error += h.caption + is_alphabet;
					firstName.input.focus();
				}	
	
				//Last name validation 			
				h = getHelp(lastName.input.id);
				lastName.input.value = trimString(lastName.input.value);
				if(lastName.input.value == ''|| lastName.input.value == null || lastName.input.value == 'undefined' || lastName.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					lastName.input.focus();
				} else if(!isAlpha(lastName.input.value)){
					hasError = true;
					error += h.caption + is_alphabet;
					lastName.input.focus();
				}				
				
				//address1 validation
				h = getHelp(address1.input.id);
				address1.input.value = trimString(address1.input.value);
				if(address1.input.value == ''|| address1.input.value == null || address1.input.value == 'undefined' || address1.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					address1.input.focus();
				} else if(!isValidAddress(address1.input.value)){
					hasError = true;
					error += h.caption + is_valid_address;
					address1.input.focus();
				} else if(!containsAlpha(address1.input.value)){
					hasError = true;
					error += h.caption + atleast_1_alphabet;
					address1.input.focus();
				}		
				
				//City validation
				h = getHelp(city.input.id);
				city.input.value = trimString(city.input.value);
				if(city.input.value == ''|| city.input.value == null || city.input.value == 'undefined' || city.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					city.input.focus();
				} else if(!isAlphaIncSpace(city.input.value)){
					hasError = true;
					error += h.caption + is_alphabet_or_space;
					city.input.focus();
				}
				
				//Postcode validation
				h = getHelp(postcode.input.id);
				postcode.input.value = trimString(postcode.input.value);
				if(postcode.input.value == ''|| postcode.input.value == null || postcode.input.value == 'undefined' || postcode.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					postcode.input.focus();
				} else if(!isAlphaNumIncSpace(postcode.input.value)){
					hasError = true;
					error += h.caption + is_alphanumeric_or_space;
					postcode.input.focus();
				}				
				
				//telephone validation
				h = getHelp(telephone.input.id);
				telephone.input.value = trimString(telephone.input.value);
				if(telephone.input.value == ''|| telephone.input.value == null || telephone.input.value == 'undefined' || telephone.input.value == undefined){
					hasError = true;
					error += h.caption + is_required;
					telephone.input.focus();
				} else if(!isNumIncSpace(telephone.input.value)){
					hasError = true;
					error += h.caption + is_number_with_space;
					telephone.input.focus();
				} else if (telephone.input.value.length < 6 || telephone.input.value.length > 15){
					hasError = true;
					error += h.caption + telephone_length;
					telephone.input.focus();
				}
				
				//Accept Legal
				h = getHelp(legalAccept.input.id);
				if(legalAccept.input.checked != true){
					hasError = true;
					error += legal_accept;
				} 
				
				//if (username.input.value && password.input.value && password_.input.value && email.input.value && firstName.input.value && lastName.input.value && address1.input.value && city.input.value && postcode.input.value && telephone.input.value && legalAccept.input.checked == true) {
				if(!hasError)
				{
					var userData = function (data) {
						if (data) {
							alert(registred_and_logged);
							screen.closeButton.onclick();
						}
					};
					var newsLetter = 0;
					if (newsLetterAccept.input.checked) {
						newsLetter = 1;
					}
					
					var showHelpInd = 0;
					if(showHelpChkBox.input.checked) {
						showHelpInd = 1;
					}
					
					//AjaxService.registerUser(username.input.value, firstName.input.value, lastName.input.value, password.input.value, email.input.value, address1.input.value, address2.input.value, address3.input.value, postcode.input.value, telephone.input.value, city.input.value, newsLetter, userData);
					AjaxService.registerUser(username.input.value, firstName.input.value, lastName.input.value, password.input.value, email.input.value, address1.input.value, address2.input.value, address3.input.value, postcode.input.value, telephone.input.value, city.input.value, newsLetter,showHelpInd, userData);
					screen.closeButton.onclick();
					
				} else { 
					//validation failed
					alert(error);
				}
			}
			//body.appendChild(register);
			screen.appendChild(register);
			screen.appendChild(header);
			screen.appendChild(body);
		}
		registerAction.onclick = registerActionOnclick;
	}
	
	var passwordReminder = addMsgBoxAction("passwordReminder", "passwordReminderHelp", null, createProperties(100, 20, 240, 0, null, "absolute"), interfaceImagesPath + "forgot004.gif", 40);
	passwordReminder.onclick = function () {
		if (userNameOrEmail.input.value) {
			var sendPasswordCallBack = function (data) {
				alert(password_reminder_sent);
			};
			AjaxService.sendPassword(userNameOrEmail.input.value, sendPasswordCallBack);
		} else {
			var h = getHelp("userNameLogin");
			alert(h.caption + is_required);
		}
	};
	//BF0608
	if (!forcesignin) {
		var cancelAction = addMsgBoxCloseAction();
	} else {
		
	}

	userNameOrEmail.input.focus();
}
function signOutScreen() {
	toggleHelp = false;
	setMenuItems("menuItem5");
	var msgBox = createMsgBox(sing_out_popup_title, sing_out_popup_bobdy, 300, 200, 120);
	var signOutAction = addMsgBoxAction("signOut", "signOutHelp", null, null, interfaceImagesPath + "forward004-white.gif", 40);
	
	signOutAction.onclick = signOutActionOnclick;
	function signOutActionOnclick(){
		var signOutConfirm = function (data) {
			menuItem5.innerHTML = main_menu_item_5;
			isLogedIn = false;
			menuItem5.onclick = function () {
				signInScreen();
			};
			closeMsgBox();
			window.document.location.href = window.document.location.href;
		};
		AjaxService.signOut(signOutConfirm);
	}
	var cancelAction = addMsgBoxCloseAction();
}

function chekoutScreen(isAccount) {
	var checkoutScreen = createBlockedScreen("_screenPopup", true, true);
	
	var closeButton = checkoutScreen.closeButton;
	
	function closeButtonOnclick(){
		destroyScreen(this.id.substring(3));
		var callBack = function(url){
			window.document.location.href = url;	
		};
		AjaxService.whereToGo(callBack);
	}
	closeButton.onclick = closeButtonOnclick;
	
	var heder = createCustomScreen("checkoutScreenHeader", createProperties(560, 30, 16, 16));
	var help = getHelp("stepSixHelp");
	heder.innerHTML = help.caption;
	setClassName(heder, "title");
	checkoutScreen.appendChild(heder);
		
	var body = createCustomScreen("checkoutScreenBody", createProperties(600, 380, 16, 52));
	body.style.overflow = "hidden";
	checkoutScreen.appendChild(body);
	var footer = createCustomScreen("_screenPopupFooter", createProperties(290, 90, 381, 250));
	var totalBox = document.createElement("div");
	totalBox.style.position = "absolute";
	totalBox.style.width = "288px";
	totalBox.style.height = "77px";
	totalBox.style.left = "0px";	
		
	var line1Label = document.createElement("div");
	line1Label.style.textAlign = "left";
	line1Label.innerHTML = "<b>" + basket_sub_total + ":</b>";
	line1Label.style.position = "absolute";
	line1Label.style.width = "80px";
	var line1Value = document.createElement("div");
	line1Value.innerHTML = "" + formatCurrency(basket.totalBasketCost, basket.currencySymbol) + "";
	line1Value.style.position = "absolute";
	line1Value.style.left = "96px";
	totalBox.appendChild(line1Label);
	totalBox.appendChild(line1Value);
	var line2Label = document.createElement("div");
	line2Label.innerHTML = "<b>" + basket_vat + ":</b>";
	line2Label.style.position = "absolute";
	line2Label.style.top = "20px";
	line2Label.style.width = "150px";
	var line2Value = document.createElement("div");
	line2Value.innerHTML = formatCurrency(basket.vat, basket.currencySymbol);
	line2Value.style.position = "absolute";
	line2Value.style.top = "20px";
	line2Value.style.left = "96px";
	totalBox.appendChild(line2Label);
	totalBox.appendChild(line2Value);
	var line3Label = document.createElement("div");
	line3Label.innerHTML = "<b>" + basket_total + ":</b>";
	line3Label.style.position = "absolute";
	line3Label.style.top = "40px";
	line3Label.style.width = "96px";
	var line3Value = document.createElement("div");
	line3Value.innerHTML = "<b>" + formatCurrency((basket.totalBasketCost + basket.vat), basket.currencySymbol) + "</b>";
	line3Value.style.position = "absolute";
	line3Value.style.top = "40px";
	line3Value.style.left = "96px";
	totalBox.appendChild(line3Label);
	totalBox.appendChild(line3Value);
	footer.appendChild(totalBox);
	body.appendChild(footer);	
					
	if(isAccount){
		
		var accUserName = createInputBox("accUserName", body, "text", true);
		var accPassword = createInputBox("accPassword", body, "password", true);
		
		var legalAccept = createInputBox("acceptLegal21", body, "checkbox", true);
		legalAccept.holder.style.visibility = "hidden";
		legalAccept.input.disabled = true;
		setClassName(legalAccept.input, "");

		var seal = document.createElement("img");
		seal.src = interfaceImagesPath + "seal.gif";
		seal.style.position = "absolute";
		seal.style.left = "477px";
		seal.style.top = "310px";
		seal.style.width = "115px";
		seal.style.height = "70px";
		body.appendChild(seal);
				
		var payButtonAccount = createAction("payButtonAccount", "payButtonHelp", createProperties(100, 20, 148, 340), null, interfaceImagesPath + "forward004-white.gif", 45);
		body.appendChild(payButtonAccount);
	
		var overridePayment = false;
		
		function payButtonAccountOnclick(){
			var alpha_numeric_space = /^[a-zA-Z0-9\s\-]+$/;
			var numeric = /^[0-9\,\.]+$/;
			var alpha = /^[a-zA-Z]+$/;
			var numeric_brackets = /^[0-9\(\)\s\-]+$/;
			var numeric_space_dash = /^[0-9\s\-]+$/;
			var alpha_dot = /^[a-zA-Z\.]+$/;
			var space_numeric = /^[0-9\,\.\s]+$/;
			var error = "";
			error += validateField(accUserName.input);
			error += validateField(accPassword.input);

			if (!error && error.length == 0) {
				var callBack = function (data) {
					if (data) {
						if(data != "101" && data != "102" && data != "103"){
							alert(checkout_accepted + data);
							AjaxService.destroyBasket();
							var callBack = function(url){
								window.document.location.href = url;	
							};
							AjaxService.whereToGo(callBack);							
						}else{
							if(data == "101"){
								alert(checkout_declined + " : Incorrect user name or password!");
							}else if(data == "102"){
								alert(checkout_declined + " : Your budget has exceeded! \nIf you have permission to "+
								"override your budget please check box and re-enter you username and password again ...");
								legalAccept.holder.style.visibility = "visible";
								legalAccept.input.disabled = false;
								accUserName.input.value = "";
								accPassword.input.value = "";
							}else if(data == "103"){
								alert(checkout_declined + " : No permission to override budget!");
							}
						}
					} else {
						alert(checkout_declined);
					}
				};
				if(!legalAccept.input.disabled){
					if(legalAccept.input.checked == true){
						AjaxService.processAccountPayment(accUserName.input.value, accPassword.input.value, true, callBack);
					}else{
						alert("Not checked");
					}
				}else{
					AjaxService.processAccountPayment(accUserName.input.value, accPassword.input.value, false, callBack);	
				}
			} else {
				alert(error);
			}
		}
		payButtonAccount.onclick = payButtonAccountOnclick;
		
	}else{

		var seal = document.createElement("img");
		seal.src = interfaceImagesPath + "barclays.jpg";
		seal.style.position = "absolute";
		seal.style.left = "364px";
		seal.style.top = "310px";
		seal.style.width = "226px";
		seal.style.height = "70px";
		body.appendChild(seal);

		var fullName = createInputBox("fullName", body, "text");
		var address1 = createInputBox("address1", body, "text");
		var address2 = createInputBox("address2", body, "text");
		var address3 = createInputBox("address3", body, "text");
		var city = createInputBox("city", body, "text");
		var postcode = createInputBox("postcode", body, "text");
		var email = createInputBox("email", body, "text");
		var userData = function (data) {
			fullName.input.value = data.userFname + " " + data.userLname;
			address1.input.value = data.userAddress1;
			address2.input.value = data.userAddress2;
			address3.input.value = data.userAddress3;
			city.input.value = data.city;
			postcode.input.value = data.postcode;
			email.input.value = data.userEmail;
		};
		
		AjaxService.getUser(userData);
	
		var cards = document.createElement("img");
		cards.src = interfaceImagesPath + "cards.gif";
		cards.style.position = "absolute";
		cards.style.left = "381px";
		cards.style.top = "200px";
		body.appendChild(cards);
		var cardType = createSelectBox("cardType", body, 145);
		cardType.select.options[0] = new Option("Select...", "");
		cardType.select.options[1] = new Option("Visa", "1");
		cardType.select.options[2] = new Option("MasterCard", "2");
		cardType.select.options[3] = new Option("JCB", "6");
		cardType.select.options[4] = new Option("Switch", "10");
		cardType.select.options[5] = new Option("Solo", "9");
		cardType.select.options[6] = new Option("American Express", "8");
		cardType.select.options[7] = new Option("Electron", "11");
		var cardNumber = createInputBox("cardNumber", body, "text");
		var expDate = createSelectBox("expDate", body, 145, true);
		expDate.select.style.width = "108px";
		expDate.select2.style.width = "108px";
		expDate.select2.style.left = "257px";
		expDate.select.options[0] = new Option("mm", "");
		for (i = 1; i <= 12; i++) {
			var month = (i < 10) ? "0" + i : i;
			expDate.select.options[i] = new Option(month, month);
		}
		expDate.select2.options[0] = new Option("yyyy", "");
		for (i = 2007; i <= 2026; i++) {
			expDate.select2.options[i - 2006] = new Option(i, i);
		}
		var validDate = createSelectBox("validDate", body, 145, true);
		validDate.select.style.width = "108px";
		validDate.select2.style.width = "108px";
		validDate.select2.style.left = "257px";
		validDate.select.options[0] = new Option("mm", "");
		for (i = 1; i <= 12; i++) {
			var month = (i < 10) ? "0" + i : i;
			validDate.select.options[i] = new Option(month, month);
		}
		validDate.select2.options[0] = new Option("yyyy", "");
		for (i = 1998; i <= 2012; i++) {
			validDate.select2.options[i - 1997] = new Option(i, i);
		}
		var issueNumber = createInputBox("issueNumber", body, "text");
		var secCode = createInputBox("secCode", body, "text");
		
		function cardTypeSelectOnchange(){
			if (cardType.select.options[cardType.select.options.selectedIndex].value == "4" || 
			cardType.select.options[cardType.select.options.selectedIndex].value == "5") {
				validDate.select.disabled = false;
				validDate.select2.disabled = false;
				validDate.label.disabled = false;
				issueNumber.input.disabled = false;
				issueNumber.label.disabled = false;
			} else {
				validDate.select.disabled = true;
				validDate.select.options[0].selected = true;
				validDate.select2.options[0].selected = true;
				validDate.select2.disabled = true;
				validDate.label.disabled = true;
				issueNumber.input.value = "";
				issueNumber.input.disabled = true;
				issueNumber.label.disabled = true;
			}
		}
		cardType.select.onchange = cardTypeSelectOnchange;
		
		var payButton = createAction("payButton", "payButtonHelp", createProperties(100, 20, 148, 340), null, interfaceImagesPath + "forward004-white.gif", 45);
		body.appendChild(payButton);		
		
		function payButtonOnclick(){
			var alpha_numeric_space = /^[a-zA-Z0-9\s\-]+$/;
			var numeric = /^[0-9\,\.]+$/;
			var alpha = /^[a-zA-Z]+$/;
			var numeric_brackets = /^[0-9\(\)\s\-]+$/;
			var numeric_space_dash = /^[0-9\s\-]+$/;
			var alpha_dot = /^[a-zA-Z\.]+$/;
			var space_numeric = /^[0-9\,\.\s]+$/;
			var error = "";
			error += validateField(fullName.input);
			error += validateField(address1.input);
			error += validateField(city.input);
			error += validateField(postcode.input);
			error += validateField(email.input);
			error += validateField(cardType.select, true);
			error += validateField(cardNumber.input);
			if (cardNumber.input.value) {
				if (!numeric.test(cardNumber.input.value) || cardNumber.input.value.length < 12 || cardNumber.input.value.length > 19 || !isCreditCard(cardNumber.input.value)) {
					error += checkout_invalid_card + "\n";
				}
			}
			error += validateField(expDate.select, true, expDate.select2);
			if (cardType.select.options[cardType.select.options.selectedIndex].value == "4" || cardType.select.options[cardType.select.options.selectedIndex].value == "5") {
				error += validateField(validDate.select, true, validDate.select2);
				error += validateField(issueNumber.input);
				if (!numeric.test(issueNumber.input.value)) {
					error += checkout_invalid_issue + "\n";
				}
			}
			error += validateField(secCode.input);
			if (!numeric.test(secCode.input.value)) {
				error += checkout_invalid_sec_code;
			}
			if (!error && error.length == 0) {
				var expD = expDate.select.options[expDate.select.options.selectedIndex].value + "/" + expDate.select2.options[expDate.select2.options.selectedIndex].value.substr(2, 4);
				var validD = "";
				if (validDate.select.options[validDate.select.options.selectedIndex].value && validDate.select2.options[validDate.select2.options.selectedIndex].value) {
					validD = validDate.select.options[validDate.select.options.selectedIndex].value + "/" + validDate.select2.options[validDate.select2.options.selectedIndex].value.substr(2, 4);
				}
				var issNumber = "";
				if (issueNumber.input.value) {
					issNumber = issueNumber.input.value;
				}
				var orderId = function (data) {
					if (data) {
						alert(checkout_accepted + data);
						AjaxService.destroyBasket();
						var callBack = function(url){
							window.document.location.href = url;	
						};
						AjaxService.whereToGo(callBack);
					} else {
						alert(checkout_declined);
					}
				};
				AjaxService.processPayment(fullName.input.value, address1.input.value, address2.input.value, address3.input.value, city.input.value, postcode.input.value, cardType.select.options[cardType.select.options.selectedIndex].value, cardNumber.input.value, expD, validD, issNumber, secCode.input.value, orderId);
			} else {
				alert(error);
			}
		}
		payButton.onclick = payButtonOnclick;
		function payButtonOnmouseover(){
			showHelpPopup("payButtonHelp");
		}
		payButton.onmouseover = payButtonOnmouseover;
		
		function payButtonOnmouseout(){
			hidePopup();
		}	
		payButton.onmouseout = payButtonOnmouseout;
	}
}

function setValidCalendarDates(frequency, publishingDay) {
	var reSetCalendarDates = function () {
		for (i = 0; i < 7; i++) {
			calendarPopupMedia.disabledWeekDays[i] = false;
		}
	};
	var now = new Date();
	calendarPopupMedia.addDisabledDates(null, formatDate(now, "MM/dd/yy"));
	reSetCalendarDates();
	if (frequency) {
		if (frequency == "MONTHLY") {
		} else {
			if (frequency == "WEEKLY" || frequency == "BI-WEEKLY" || frequency == "DAILY") {
				if (publishingDay.indexOf("SU") == -1) {
					calendarPopupMedia.disabledWeekDays[0] = true;
				}
				if (publishingDay.indexOf("MO") == -1) {
					calendarPopupMedia.disabledWeekDays[1] = true;
				}
				if (publishingDay.indexOf("TU") == -1) {
					calendarPopupMedia.disabledWeekDays[2] = true;
				}
				if (publishingDay.indexOf("WE") == -1) {
					calendarPopupMedia.disabledWeekDays[3] = true;
				}
				if (publishingDay.indexOf("TH") == -1) {
					calendarPopupMedia.disabledWeekDays[4] = true;
				}
				if (publishingDay.indexOf("FR") == -1) {
					calendarPopupMedia.disabledWeekDays[5] = true;
				}
				if (publishingDay.indexOf("SA") == -1) {
					calendarPopupMedia.disabledWeekDays[6] = true;
				}
			}
		}
	}
}

function validateField(o, isSelect, o2) {
	if (isSelect) {
		if (o2) {
			if (!o.options[o.options.selectedIndex].value || !o2.options[o2.options.selectedIndex].value) {
				var h = getHelp(o.id);
				return h.caption + is_required;
			}
		} else {
			if (!o.options[o.options.selectedIndex].value) {
				var h = getHelp(o.id);
				return h.caption + is_required;
			}
		}
	} else {
		if (!o.value) {
			var h = getHelp(o.id);
			return h.caption + is_required;
		}
	}
	return "";
}