function PrintUtils() {
}

PrintUtils.getPrintPath = function() {
	return "/cpark/print.do?path=" + location.pathname;
}

function LanguageUtils() {
}

/** get user language from a browser or a cookie. */
LanguageUtils.getUserLanguage = function() {
	var bl = BrowserUtils.getBrowserLanguage();
	var cookie = CookieUtils.getCookie("CPLANGUAGE");
	
	if (cookie == null) {
		return bl;
	} else {
		return cookie.value;
	}
}

/** set user language to a cookie. */
LanguageUtils.setUserLanguage = function(lang) {
	var cookie = new Cookie();
	cookie.name = "CPLANGUAGE";
	cookie.value = lang;
	cookie.path = "/";
	
	var domaintoken = window.location.host.split(".");
	var domainname = "";
	
	if (domaintoken.length >= 2) {
		domainname = domaintoken[domaintoken.length - 2] + "." + domaintoken[domaintoken.length - 1];
	} else {
		domainname = window.location.host;
	}
	
	cookie.domain = domainname;
	
	var expiredate = new Date();
	expiredate.setYear(expiredate.getFullYear() + 10);
	
	cookie.expiredate = expiredate;
 	CookieUtils.setCookie(cookie);
}

/** redirect to the localized content which user will prefer. */
LanguageUtils.redirectContent = function() {
	var token = window.location.pathname.split("/");
	var language = "en";
	var userLang = LanguageUtils.getUserLanguage();
	var availableLangs = { en:'en', ja:'ja', de:'de', zh:'zh', fr:'fr', es:'es'};
	
	if (token.length >= 2) {
		language = token[1];	
	}
	
	if (userLang in availableLangs) {
	} else {
		userLang = "en";
	}
	
	if (userLang != language) {
		var newHref = "";
		token[1] = userLang; 
		
		for (i = 0; i < token.length; i++) {
			if (token[i] != "") {
				newHref = newHref + "/" + token[i];
			} 
		}
		
		if (token.length == 2) {
			newHref = newHref + "/";
		}
		
		newHref = window.location.protocol + "//" +
			window.location.host + newHref +
			window.location.search + window.location.hash;
		window.location.href = newHref;
	}
}

LanguageUtils.redirect404Error = function() {
	var userLang = LanguageUtils.getUserLanguage();
	var availableLangs = { en:'en', ja:'ja', de:'de', zh:'zh', fr:'fr', es:'es'};
	
	if (userLang in availableLangs) {
	} else {
		userLang = "en";
	}
	
	newHref = window.location.protocol + "//" +
		window.location.host + "/" +
		userLang + "/error/decision404.html";
	window.location.href = newHref;
}

LanguageUtils.redirect500Error = function() {
	var userLang = LanguageUtils.getUserLanguage();
	var availableLangs = { en:'en', ja:'ja', de:'de', zh:'zh', fr:'fr', es:'es'};
	
	if (userLang in availableLangs) {
	} else {
		userLang = "en";
	}
	
	newHref = window.location.protocol + "//" +
		window.location.host + "/" +
		userLang + "/error/decision500.html";
	window.location.href = newHref;
}

function ImageUtils() {
}

ImageUtils.loadPreviewImage = function(contentsId, version, masterVersion, show, block, imageBlock) {
	if(show){
		AjaxUpdater.updateAsync(imageBlock, 'loadPreviewImage.do?contentsId=' + contentsId + "&version=" + version + "&masterVersion=" + masterVersion);
		document.getElementById(block).style.display='block';
		document.getElementById(block).style.zindex=100;
	}else{
		document.getElementById(block).style.display='none';
		document.getElementById(block).style.zindex=1;
	}
}


function createHttpRequest() {
	if(window.ActiveXObject){
		try {
		  return new ActiveXObject("Msxml2.XMLHTTP") ;
		} catch (e) {
		  try {
		    return new ActiveXObject("Microsoft.XMLHTTP") ;
		  } catch (e2) {
		    return null ;
 		  }
 		}
	} else if(window.XMLHttpRequest){
		return new XMLHttpRequest() ;
	} else {
		return null ;
	}
}
function sendRequest(callback, data, method, url, async, sload, tagName){

	//XMLHttpRequest
	var oj = createHttpRequest()
	if( oj == null ) return null
	var sload = (!!sendRequest.arguments[5])?sload:false;
	if(sload)url=url+"?t="+(new Date()).getTime()
	//

	if(window.opera){
		oj.onload = function () { callback(oj,tagName) }
	} else {
		oj.onreadystatechange =function () 
		{
			if ( oj.readyState == 4 && oj.status == 200){

				callback(oj,tagName)
			}
		}
	}

	data = encodeURI(data)

	if(method == 'GET') {
		//url = url + encodeURI(data)
		url = url + data
	}

	oj.open( method , url , async )
	if(method == 'POST') {
		if(!window.opera)
			oj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	} 

	oj.send(data)
}

		
function changeCategory(select,tagName,url) {
//alert(tagName);
	var param = "category=" + select.value;
	sendRequest(categoryField, param, 'POST', url, false, true, tagName);
}
		
function displayCategory(select,tagName) {
//alert(tagName);
	var param = "categoryType=" + select.value;
	sendRequest(categoryField, param, 'POST', './categoryDisplay.do', false, true, tagName);
}
		

function deleteRelationContents(elementName) {
	
	var element = document.getElementsByName(elementName);
	var roopCount = element.length;
	roopCount--;
	for(var i = roopCount; i >= 0 ; i--){
		if(element[i].checked){		
			var relatedContentsId = element[i].value
			var elemntId = element[i].parentNode.parentNode.id;			
			new Ajax.Request('deleteRelatedContents.do',{parameters: 'relatedContentsId=' + relatedContentsId,method: "post",asynchronous:false,
				onComplete:document.getElementById(elemntId).parentNode.removeChild(document.getElementById(elemntId))});
		}
	}
}

function deleteContentsKeyword(elementName) {
	
	var element = document.getElementsByName(elementName);
	var roopCount = element.length;
	roopCount--;
	for(var i = roopCount; i >= 0 ; i--){
		if(element[i].checked){		
			var deleteKeywordId = element[i].value
			var elemntId = element[i].parentNode.parentNode.id;
			new Ajax.Request('deleteKeyword.do',{parameters: 'deleteKeywordId=' + deleteKeywordId,method: "post",asynchronous:false,
				onComplete:document.getElementById(elemntId).parentNode.removeChild(document.getElementById(elemntId))});
		}
	}
}




function deleteDownLoadFile(elementName) {
	
	var element = document.getElementsByName(elementName);
	var roopCount = element.length;
	roopCount--;
	for(var i = roopCount; i >= 0 ; i--){
		if(element[i].checked){		
			var fileId = element[i].value
			var elemntId = element[i].parentNode.parentNode.id;
			new Ajax.Request('deleteDownloadFile.do',{parameters: 'fileId=' + fileId,method: "post",asynchronous:false,
				onComplete:document.getElementById(elemntId).parentNode.removeChild(document.getElementById(elemntId))});
		}
	}
}

function contentsCategoryField(oj,tagName) {
alert(oj.responseText);
alert(tagName);

	document.getElementById(tagName).innerHTML = oj.responseText;

}

function selectRelationContents() {
	var name = "_selectRelationContents";

	window.open('about:blank',name,"width=750,height=800,scrollbars=yes,resizable=1,status=0,menubar=0");

	var fm = document.forms[0];
	var moto = fm.action;
	
	fm.action = "./contentsRelationDisplay.do";
	fm.target = name;
	fm.submit();
	
	fm.action = moto;
	fm.target = "";

}

function selectDownloadFile(url) {
	var name = "_selectDownloadFile";

	window.open('about:blank',name,"width=750,height=700,scrollbars=yes,resizable=1,status=0,menubar=0");

	var fm = document.forms[0];
	var moto = fm.action;
	
	fm.action = url;
	fm.target = name;
	fm.submit();
	
	fm.action = moto;
	fm.target = "";

}

function selectKeywordGroup(url) {
	var name = "_selectKeywordGroup";

	window.open('about:blank',name,"width=750,height=700,scrollbars=yes,resizable=1,status=0,menubar=0");

	var fm = document.forms[0];
	var moto = fm.action;
	
	fm.action = url;
	fm.target = name;
	fm.submit();
	
	fm.action = moto;
	fm.target = "";

}

function openContentsPreview(url) {
	var name = "_contentsPreview";

	window.open('about:blank',name,"width=800,height=800,scrollbars=yes,resizable=1,status=0,menubar=0");

	var fm = document.forms[0];
	var moto = fm.action;
	
	fm.action = url;
	fm.target = name;
	fm.submit();
	
	fm.action = moto;
	fm.target = "";

}


function submitPopUp(url,flg,formName) {

//alert("aaa");	



	document.getElementById("btnchk").setAttribute("value",flg);

	var fm = document.forms[formName];
	var moto = fm.action;
	
	fm.action = url;
	fm.submit();
	
	fm.action = moto;

}

function submitForm(url,formName) {

	var fm = document.forms[formName];
	var moto = fm.action;
	
	fm.action = url;
	fm.submit();
	
	fm.action = moto;
}


function submitContentsUpload(formName,mode) {

	document.getElementById('submitMode').value=mode

	var url = document.getElementById('uploadUrl').value

	var fm = document.forms[formName];
	var moto = fm.action;
	
	fm.action = url;

	fm.enctype="multipart/form-data"	
	fm.submit();
	
	fm.action = moto;
}

/** The check box is locked like the selective state. */
function checkLock(obj) {
	obj.checked = true;
}

function limitSize(cnt, maxlength, msg) {
	var emt = document.getElementsByName('enqueteDetail')[cnt];
    if ( emt.value.length > maxlength ) {
        alert(msg);
        emt.value = emt.value.substr(0, maxlength);
    }
    emt.focus();
}
function quesCheckCount(value) {
	var del = document.getElementsByName('delete')[value];
	if( del.checked ) {
		new Ajax.Request('quesCheckCount.do?check=' + value, {method: 'post'});
	} else {
		new Ajax.Request('quesCheckCount.do?cancel=' + value, {method: 'post'});
	}
}
function linkCheckCount(value) {
	var del = document.getElementsByName('delete')[value];
	if( del.checked ) {
		new Ajax.Request('linkCheckCount.do?check=' + value, {method: 'post'});
	} else {
		new Ajax.Request('linkCheckCount.do?cancel=' + value, {method: 'post'});
	}
}
function isReadOnly(value) {
	new Ajax.Request('isReadOnly.do?readonly=' + value, {method: 'post'});
}

var isClicked = false;
function checkDuplication() {
	if (!isClicked) {
		isClicked = true;
		return true;
	} else {
		return false;
	}
}
