/**
 * @author aberbery
 */
Framework.Modules.SEOMyBuzzTree = function(){
	

	var exampleKeyword = "Keyword1\nKeyword2\nKeyword3";
	var self = this;
	this.getAddForm = function(div, mainDiv){
		var drawForm = function(){			
			var exampleKeywordForJs = "Keyword1\\nKeyword2\\nKeyword3";
			var seoForm = new Array();		
			seoForm.push('<table nowrap="nowrap" class="text">');
			seoForm.push(	'<tr>');
			seoForm.push(		'<td class="seoFormLabel">');
			seoForm.push(			'<span class="formLabel" style="float: left;">Name: </span><input type="hidden" name="type" value="' + SEO_TYPE_MY_BUZZ + '"/><input type="hidden" name="view" value="' + TABLE_VIEW + '"/>');
			seoForm.push(			'<img class="helpIcon" onclick="showHelp(\'New MyBuzz Monitor\')" src="images/homePage/Help.gif"/>');
			seoForm.push(		'</td>');
			seoForm.push(		'<td><input type="text" name="testName" id="testName" allowBlank="false" style="width:156px;"/></td>');
			seoForm.push(		'<td></td>');
			seoForm.push(	'</tr>');
			seoForm.push('</table>');
	
			seoForm.push('<table nowrap="nowrap" class="text" width="98%">');			
			seoForm.push(	'<tr>');
			seoForm.push(		'<td colspan="2">');
			seoForm.push(			'<input type="hidden" name="tagType" value="' + TAG_TYPE_ENGINES_KEYWORDS + '"/>');
			seoForm.push(			'<fieldset>');
			seoForm.push(				'<legend class="addCheckLegend"> Search Engine </legend>');
			seoForm.push(				'<span id="searchEngineList" align="center">');
			seoForm.push(					'<table width="100%">');
			seoForm.push(						'<tr>');
			seoForm.push(							'<td id="formEnginesContainer">');
			seoForm.push(								'<table>');
			seoForm.push(									'<tr>');
			seoForm.push(										'<td style="width:20px"><img src="images/seo/logo/mybuzz.gif"/></td>');
			seoForm.push(										'<td style="width:100px">My Buzz Monitor</td>');				
			seoForm.push(									'</tr>');					
			seoForm.push(								'</table>');
			seoForm.push(							'</td>');
			seoForm.push(						'<tr>');
			seoForm.push(					'</table>');
			seoForm.push(				'</span>');	
			seoForm.push(			'</fieldset>');
			seoForm.push(		'</td>');
			seoForm.push(	'</tr>');
			seoForm.push(	'<tr>');
			seoForm.push(		'<td class="formLabel">Keyword(s):</td>');
			seoForm.push(	'</tr>');
			seoForm.push(	'<tr>');
			seoForm.push(		'<td colspan="2"><textarea rows="6" style="width:97%;color: #BBBBBB" name="keyword" id="keyword" allowBlank="false" value="'+exampleKeyword+'" onFocus="Utils.removeLabelFromField(this, \''+exampleKeywordForJs+'\')" onBlur="Utils.putLabelInFied(this, \''+exampleKeywordForJs+'\')">'+exampleKeyword+'</textarea></td>');
			seoForm.push(		'<td valign="top" align="left">*</td>');
			seoForm.push(	'</tr>');
			seoForm.push('</table>');
				
			div.innerHTML = seoForm.join('');
			changeFormStyle(div, true, true, true, true, true);
		}
		drawForm();
		return mainDiv;			  	

	}

	this.save = function(DialogWindow){
		var status = "success"; 
		var formData = DialogWindow.getFormData();
		var testName = formData.testName.trim();
		var view = formData.view;
		var tagType = formData.tagType;
		var type = formData.type;


		var keyword = formData.keyword.trim();
		var keywordList = keyword.split("\n");
		var keywordUrlPart = "";
		for(var i=0; i<keywordList.length; i++){
			keywordList[i] = StringUtils.filter(keywordList[i]);
			keywordUrlPart += "keyword=" + encode(keywordList[i])+"&";
		}
		 
		if(keyword == "" || keyword == exampleKeyword){
			status = Framework.Lang.SEO.Validation.emptyKeyword;
		} else if(keyword.indexOf(",") != -1){
			status = Framework.Lang.SEO.Validation.keywordContainsComma;
		} else if(testName == ""){			
			testName = StringUtils.replaceAll(keywordList[0], "/", "_");
			$("testName").value = testName;
		} else if(testName.indexOf("/") != -1){
			status = Framework.Lang.SEO.Validation.nameContainsSlash;
		}
		if(status == "success"){
			var fullUrl = Framework.seoMyBuzzURL + User.userId + "/" + encode(testName) + "/" + view + "/" + type;
			Request.sendPOST(fullUrl, keywordUrlPart, this.add, DialogWindow);
		} else {
			DialogWindow.error([status], false);
		}				
	}
	this.add = function(response, DialogWindow){
		var addParams=eval("("+response.responseText+")");
		if(addParams.status == STATUS_OK){
			var ParamsArray = [];
			var moduleArray = addParams.data.moduleArray;
			var params;
			for(var i=0; i<moduleArray.length; i++){
				params = {};
				params.moduleName="SEOMyBuzz";
				params.view=moduleArray[i].view;
				params.dataId=moduleArray[i].tagId;
				params.isNew=true;
	 	 		PortletLoader.addPortletFromTree(params);
			}
			DialogWindow.hide();
		} else {
			DialogWindow.error([addParams.status]);
		}
	}
}
