var bEnablePageLoading=false;

function swapTab(shown, hidden){
	var shownDiv = document.getElementById(shown);
	var hiddenDiv = document.getElementById(hidden);
	
	shownDiv.style.display = '';
	hiddenDiv.style.display = 'none';
}

function copyHtml(maintext){
	if (window.clipboardData) {
		window.clipboardData.setData("Text", maintext);
   }
   document.getElementById('copy_success_msg').style.display = '';
}

function hideCopySuccessMsg(){
	document.getElementById('copy_success_msg').style.display = 'none';
}

function validateMailForm(){
	var fromName = document.forms['mail_frm'].fromName.value;
	var toEmail	= document.forms['mail_frm'].toEmail.value;
	var note = document.forms['mail_frm'].elements['email.content'].value;
	var isValidForm = new Boolean(true);
	var isToValid = new Boolean(true);
	var errorMsg = "Please fill the following field(s): \n\n";
	var toAddr = toEmail.split(',');
	
	if(!checkMail(fromName)){
		isValidForm = false;
		errorMsg+="- From address\n";
	}
	
	for(var i=0; i<toAddr.length; i++){
		if(!checkMail(trim(toAddr[i]))){
			isToValid = false;
		}
	}
	if(!isToValid){
		isValidForm = false;
		errorMsg+="- To address\n";
	}
	
	if(note == ""){
		isValidForm = false;
		errorMsg+="- Note\n";
	}
	if(!isValidForm){
		alert(errorMsg);
		return false;
	}
	return true;
	
}

function validateTellAFriendForm(){
	var fromName = document.forms['tell_a_friend_frm'].fromName.value;
	var toEmail	= document.forms['tell_a_friend_frm'].toEmail.value;
	
	var isValidForm = new Boolean(true);
	var isToValid = new Boolean(true);
	var errorMsg = "Please fill the following field(s): \n\n";
	var toAddr = toEmail.split(',');
	
	if(!checkMail(fromName)){
		isValidForm = false;
		errorMsg+="- From address\n";
	}
	
	for(var i=0; i<toAddr.length; i++){
		if(!checkMail(trim(toAddr[i]))){
			isToValid = false;
		}
	}
	if(!isToValid){
		isValidForm = false;
		errorMsg+="- To address\n";
	}
	
	if(!isValidForm){
		alert(errorMsg);
		return false;
	}
	return true;
}

function switchNewFunzy(){
	onOffFunzyTab('new', 'on');
	onOffFunzyTab('mostDis', 'off');
	
	document.getElementById('funzy_new').style.display = '';
	document.getElementById('funzy_most_discuss').style.display = 'none';
}

function switchMostDiscussedFunzy(){
	onOffFunzyTab('mostDis', 'on');
	onOffFunzyTab('new', 'off');
	
	document.getElementById('funzy_most_discuss').style.display = '';
	document.getElementById('funzy_new').style.display = 'none';
}

function onOffFunzyTab(tab, onOff){
	if(onOff == 'on')
		document.getElementById(tab + '_funzy_tab').className = 'tab_selected';
	else
		document.getElementById(tab + '_funzy_tab').className = 'tab';
}

function switchTruetone(){
	onOffRingtoneTab('truetone', 'on');
	onOffRingtoneTab('polytone', 'off');
	
	document.getElementById('ringtone_truetone').style.display = '';
	document.getElementById('ringtone_polytone').style.display = 'none';
}

function switchPolytone(){
	onOffRingtoneTab('polytone', 'on');
	onOffRingtoneTab('truetone', 'off');
	
	document.getElementById('ringtone_polytone').style.display = '';
	document.getElementById('ringtone_truetone').style.display = 'none';
}

function onOffRingtoneTab(tab, onOff){
	if(onOff == 'on')
		document.getElementById(tab + '_tab').className = 'tab_selected';
	else
		document.getElementById(tab + '_tab').className = 'tab';
}

function checkCreateUserFrm(){
	var firstName = document.forms['create_user_frm'].firstName.value;
	var lastName = document.forms['create_user_frm'].lastName.value;
	var email = document.forms['create_user_frm'].email.value;
	//var gender = document.getElementById('user.gender').value;
	var gender;
	var bmonth = document.forms['create_user_frm'].bmonth.value;
	var bday = document.forms['create_user_frm'].bday.value;
	var byear = document.forms['create_user_frm'].byear.value;
	var address1 = document.forms['create_user_frm'].address1.value; 
	var address2 = document.forms['create_user_frm'].address2.value; //city
	var country = document.forms['create_user_frm'].country.value;
	var zipcode = document.forms['create_user_frm'].zipcode.value;
	var subscribe = document.forms['create_user_frm'].subscribe.checked;
	var a = document.getElementById('a').value;
	var s = document.getElementById('s').value;
	//var au = document.getElementById('au').value;
	var l = document.getElementById('l').value;
	
	var isValidForm = new Boolean(true);
	var isToValid = new Boolean(true);
	var errorMsg = "Please fill the following field(s): \n\n";
	
	/* For AU (affiliateUserId) */
	var uid = document.getElementById('uid').value;
	var a1 = document.getElementById('a1').value;
	var a2 = document.getElementById('a2').value;
	var a3 = document.getElementById('a3').value;
	var a4 = document.getElementById('a4').value;
	var a5 = document.getElementById('a5').value;
	/* */
	
	for (i=0;i<document.forms['create_user_frm'].gender.length;i++) {
		if (document.forms['create_user_frm'].gender[i].checked) {
			gender = document.forms['create_user_frm'].gender[i].value;
		}
	}
	
	if(firstName == ""){
		isValidForm = false;
		errorMsg+="- First Name\n";
	}
	
	if(lastName == ""){
		isValidForm = false;
		errorMsg+="- Last Name\n";
	}
	
	if(!checkMail(email)){
		isValidForm = false;
		errorMsg+="- Email address\n";
	}
	/*
	if(gender == undefined || gender == null){
		isValidForm = false;
		errorMsg+="- Gender\n";
	}
	
	if(bmonth == -1 || bday == -1 || byear == -1){
		isValidForm = false;
		errorMsg+="- Date of Birth\n";
	}

	if(address1 == ""){
		isValidForm = false;
		errorMsg+="- Address\n";
	}
	
	if(address2 == ""){
		isValidForm = false;
		errorMsg+="- City\n";
	}
	
	if(country == -1){
		isValidForm = false;
		errorMsg+="- State\n";
	}
	*/
	if(zipcode != ""){
		if(isNaN(zipcode)){
			isValidForm = false;
			errorMsg+="- Zip Code\n";
		}
	}
	
		if(!isValidForm){
		alert(errorMsg);
		return false;
	}

	try {
	createUserObj.FirstName = firstName;
	createUserObj.LastName = lastName;
	createUserObj.Email = email;
	createUserObj.Gender = gender;
	createUserObj.BirthDay = bday;
	createUserObj.BirthMonth = bmonth;
	createUserObj.BirthYear = byear;
	createUserObj.Address1 = address1;
	createUserObj.Address2 = address2;
	createUserObj.Country = country;
	createUserObj.Zipcode = zipcode;
	if(subscribe){
		createUserObj.ReceiveUpdate(1);
	}
	else{
		createUserObj.ReceiveUpdate(0);
	}
	createUserObj.a = a;
	createUserObj.s = s;
	//createUserObj.au = au;
	createUserObj.l = l;
	
	/* Release when COM's attributes are ready
	*/ 
	createUserObj.uid = uid;
	createUserObj.a1 = a1;
	createUserObj.a2 = a2;
	createUserObj.a3 = a3;
	createUserObj.a4 = a4;
	createUserObj.a5 = a5;
	
	var b = createUserObj.Submit();
	if (b == 1)
	{   
		var url = createUserObj.TellFriendUrl;
//alert(url.length);
//alert(url);
		//url = url.replace(/192.168.2.84/i, '192.168.2.144:8080');

		//var start = 0;
		//var end = url.indexOf('user.firstName'); //-1
		//var urlPrefix = url.substring(start, end-1);
		//var redirectUrl = urlPrefix + createCoRegUrlParams(createUserObj) + '&a='+a+"&s="+encodeURIComponent(s)+"&au="+au+"&l="+l;

		url = url.replace(/next.do/i, 'tellFd.do');
		location.href = url;//redirectUrl;
	}
	else
	{
		alert("Oops. Submit Fail !!");
	}
    }catch(e){
		alert("Error");
    }
	
}

//no call now
function createCoRegUrlParams(createUserObj){
	var param = "";

	param = "&user.firstName="+encodeURIComponent(createUserObj.FirstName)+"&user.lastName="+encodeURIComponent(createUserObj.LastName)+"&user.address1=" +
			encodeURIComponent(createUserObj.Address1)+"&user.address2="+encodeURIComponent(createUserObj.Address2)+"&user.country="+createUserObj.Country +
			"&user.zipcode="+createUserObj.Zipcode+"&user.bday="+createUserObj.BirthDay+"&user.byear="+createUserObj.BirthYear +
			"&user.bmonth="+createUserObj.BirthMonth+"&user.gender="+createUserObj.Gender;

	return param;
}

function processTellFdSubmit(isSetupFlow){
	var toFd = document.forms['tell_fd_frm'].toFd;
	var toEmail = document.forms['tell_fd_frm'].toEmail;
	var mycopy = document.forms['tell_fd_frm'].mycopy;
	var fromName = document.forms['tell_fd_frm'].fromName;
	var indexUrl = document.forms['tell_fd_frm'].indexUrl.value;
	//var coRegUrl = document.forms['tell_fd_frm'].coRegUrl.value;
	var head = document.getElementById('coRegUrlHead').value;
	var coRegUrl = head + convertToUrlencodeString(document.forms['coReg_frm']);
	var domainName = document.forms['tell_fd_frm'].domainName.value;
	var toNameTemp = "";
	var filledCount = 0;
	
	for(var i=0; i<toFd.length; i++){
		if(checkMail(toFd[i].value)){
			toNameTemp+=toFd[i].value+",";
			filledCount++;
		}
	}
	if(filledCount < 1){
		alert("Please enter at least one email address of your friend before submitting.");
	}
	else{
		if(mycopy.checked)toNameTemp+=fromName.value+" ";
		toEmail.value = toNameTemp.substring(0, toNameTemp.length - 1);
		
		//document.forms['tell_fd_frm'].submit(); //submit to processTellFd.do, will also redirect to co-reg.
		/*if(document.forms['tell_fd_frm'].indexUrl != undefined)
			window.open(document.forms['tell_fd_frm'].indexUrl.value);*/

		if(isSetupFlow == 'true'){
			if(document.getElementById('coRegUrl') != undefined){
				document.getElementById('coRegUrl').value = coRegUrl;
				document.forms['tell_fd_frm'].submit(); //submit to processTellFd.do, will also redirect to co-reg.
				if(document.forms['tell_fd_frm'].indexUrl != undefined)
					window.open(document.forms['tell_fd_frm'].indexUrl.value)
			}
		}
		else{
			TellFriendObj.IndexUrl = indexUrl;
			TellFriendObj.CoRegUrl = coRegUrl;
			TellFriendObj.FriendUrl = domainName + "/processTellFd.do";
			var friendPostData = convertToUrlencodeString(document.forms['tell_fd_frm']);//alert(friendPostData);
			TellFriendObj.FriendPostData = friendPostData;
			TellFriendObj.SubmitFriend();
			window.location='about:blank';
		}
	}
}
/*
function submitRedirect(){
	document.forms['redirect_frm'].submit();
}
*/

function clearAllToFd(){
	var toFd = document.forms['tell_fd_frm'].toFd;
	for(var i=0; i<toFd.length; i++){
		toFd[i].value = '';
	}
}

function skipTellFd(isSetupFlow){
	var indexUrl = document.forms['tell_fd_frm'].indexUrl.value;
	//var coRegUrl = document.forms['tell_fd_frm'].coRegUrl.value;
	var head = document.getElementById('coRegUrlHead').value;
	var coRegUrl = head + convertToUrlencodeString(document.forms['coReg_frm']);

	if(isSetupFlow == 'true'){
		window.location=coRegUrl; 
		var index_new = window.open(indexUrl);
	}
	else{
		TellFriendObj.IndexUrl = indexUrl;
		TellFriendObj.CoRegUrl = coRegUrl;
		
		TellFriendObj.SkipFriend();
		window.location='about:blank';	
	}
}

function showPreviewBox( obj, evn, pKey, pFile){
	var str = '<div id="prelistenpop" align="center"><div class="content_bgpop">' +
			'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="100" height="80" id="prelisten" align="middle">'+
				'<param name="allowScriptAccess" value="sameDomain" />'+
				'<param name="movie" value="/object/prelisten_popup.swf" />'+
				'<param name="loop" value="false" />'+
				'<param name="menu" value="false" />'+
				'<param name="quality" value="high" />'+
				'<param name="wmode" value="transparent" />'+
				'<param name="flashvars" value="key=' + pKey + '&file=' + pFile + '"/>'+
				'<embed src="/object/prelisten_popup.swf" flashvars="key=' + pKey + '&file=' + pFile + '" loop="false" menu="false" quality="high" wmode="transparent" width="100" height="80" name="prelisten" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
			'</object>'+
		'</div></div>'
	domTT_activate(obj, evn, 'caption', '&nbsp;Prelisten', 'content', str, 'statusText', 'Loading Prelisten...', 'type', 'sticky', 'styleClass', 'domTTWin', 'closeLink', '<img src=/images/prelisten_close.gif>', 'draggable', true, 'closeAction', 'destroy', 'id', 'prelisten')
}

function validateSearchFrm(errorMsg, params, page){
	var keyword = document.forms['search_frm'].keyword.value;
	if(keyword == ''){
		alert(errorMsg);
		return false;
	}
	else{
		keyword = encodeURIComponent(keyword);
		//document.forms['search_frm'].submit();
		ajaxFormSubmit('/searchContent.do', '', showContentResult, params+'&keyword='+keyword+'&page='+page);
		return false;
	}
}
function showSearch(params, page){
	ajaxFormSubmit('/searchContent.do', '', showContentResult, params+'&page='+page);
}

function smileyfn1(word){
	var autoCloseColor = document.getElementById('auto_close_color').style.color;
	
	if(autoCloseColor == '#66047c'){
		document.getElementById('auto_close_color').style.color = '#dc186f';
	}
	else{
		document.getElementById('auto_close_color').style.color = '#66047c';
	}
}

function smileyfn2(word){
	
}
function showContent(params, page){
	ajaxFormSubmit('/showContent.do', '', showContentResult, params+'&page='+page);
}
var showContentResult = {
    success: function(o) {
	var data = o.responseText;
	
	try{
		if(ajax.byId('scrolled_content') != undefined && ajax.byId('scrolled_content') != null){
			ajax.byId('scrolled_content').innerHTML = data;
		}
	}catch(e){}
	
       if(bEnablePageLoading){
        	if(document.getElementById('loadingDiv') != undefined)
			document.getElementById('loadingDiv').style.display = 'none';
		}
    },
    failure: function(o) {
    	try{
	    	if(ajax.byId('scrolled_content') != undefined && ajax.byId('scrolled_content') != null){
	    		ajax.byId('scrolled_content').innerHTML = "Request error.";
	    	}
    	}catch(e){}
    }
};

function showAlgo(sd, page){
	ajaxFormSubmit('/goSearchingAlgo.do', '', showAlgoResult, 'sd='+sd+'&searchPage='+page);
}

var showAlgoResult = {
	    success: function(o) {
		var data = o.responseText;
		
		try{
			if(ajax.byId('algo_result') != undefined && ajax.byId('algo_result') != null){
				ajax.byId('algo_result').innerHTML = data;
				window.scrollTo(0,0);
				if(data.indexOf('<!-- algo_next_button -->')>-1){
					document.getElementById('nextAlgoListButton').style.display='block';
				}else{
					document.getElementById('nextAlgoListButton').style.display='none';
				}
				if(data.indexOf('<!-- algo_prev_button -->')>-1){
					document.getElementById('prevAlgoListButton').style.display='block';
				}else{
					document.getElementById('prevAlgoListButton').style.display='none';
				}
			}
		}catch(e){}
	    },
	    failure: function(o) {
	    	try{
		    	if(ajax.byId('algo_result') != undefined && ajax.byId('algo_result') != null){
		    		ajax.byId('algo_result').innerHTML = "Request error.";
		    	}
	    	}catch(e){}
	    }
	};

/* Toggle submenu for toolbar */
var enableParentTypeStyle = true; //enable arrow style switching when clickin the parent subtype
function switchMenu(index, noOfParent){
	var subMenu = document.getElementById('sub'+index);

	subMenu.style.display = 'block';
	/*if(subMenu.style.display == 'none'){
		subMenu.style.display = 'block';
	}
	else{
		subMenu.style.display = 'none';
	}*/
	
	/* Hidden other non-active child subtype */
	for(var i=0; i<noOfParent; i++){
		if(i != index){
			document.getElementById('sub'+i).style.display = 'none';
		}
	}
	
	/* Force to click the first child subtype automatically */
	var firstChildHref = document.getElementById('sub-menu-li-a-'+index+'-isfirst');
	if(firstChildHref != undefined){
		firstChildHref.click();
	}
	
	/* Switch parent subtype style */
	if(enableParentTypeStyle){
		for(var i=0; i<noOfParent; i++){
			if(i == index){
				document.getElementsByName('left_menu')[i].className = 'selected';
			}
			else{
				document.getElementsByName('left_menu')[i].className = '';
			}
			try{
				if(document.getElementsByName('left_menu_td') != null){
					var menuTd = document.getElementsByName('left_menu_td');
					if(i == index){
						menuTd[i].className = 'list-opened';
					}
					else{
						menuTd[i].className = '';
					}
				}
			}catch(e){}
		}
	}
}

//DELETE LATER
var highLightSelected = true;
function showContentDemo(params, page, parentIndex, childIndex, noOfChild){
	if(bEnablePageLoading){
		if(document.getElementById('loadingDiv') != undefined)
			document.getElementById('loadingDiv').style.display = 'block';
	
		if(document.getElementById('scrolled_content') != undefined)
			document.getElementById('scrolled_content').innerHTML = '';
	}
	/* Set the li backgroup to indicate the selected child subtype */
	if(highLightSelected){
		if(parentIndex != null && childIndex != null){
			var subMenuLiTag = 'sub-menu-li-';
			var selectedLi = document.getElementById(subMenuLiTag+parentIndex+'-'+childIndex);
	 
			for(var i=0; i<noOfChild; i++){
				if(document.getElementById(subMenuLiTag+parentIndex+'-'+i) == selectedLi){
					selectedLi.className = 'selected';
				}
				else{
					document.getElementById(subMenuLiTag+parentIndex+'-'+i).className = '';
				}
			}
		}
	}
	/* */

//	ajaxFormSubmit('/showContent_demo.do', '', showContentResult, params+'&page='+page);i
	ajaxFormSubmitByGet('/showContent_demo.do' + '?' + params+'&page='+page, '', showContentResult, '');
}

/* May be reused later */
/*
function refuseTNC(a, s, l){
	if(s != null || s != "null")
		window.location = '/getPixel.do?pixelType=3&a=' + a + "&s=" + s + "&l=" + l;
	else
		window.location = '/getPixel.do?pixelType=3&a=' + a + "&l=" + l;
}

function backToTNC(a, s, l){
	
}*/

function clickFirstMenuItem(){
	/*setTimeout(function(){
		if(document.getElementsByName('left_menu')[0] != undefined && document.getElementsByName('left_menu')[0] != null){
			document.getElementsByName('left_menu')[0].click();
		}
	},100);
	*/
	if(document.getElementsByName('left_menu')[0] != undefined && document.getElementsByName('left_menu')[0] != null){
			document.getElementsByName('left_menu')[0].click();
	}
}

/* This function will be used in Flow 5 */
function toRtFind(a, s, l,fid){
	var queryString = "a="+a+"&s="+s+"&l="+l+"&fid="+fid;
	window.location = 'startDownload!redirect.do?' + queryString;
}

var highLightSelected = true;
function showContentDemo2(params, page, parentIndex, childIndex, noOfChild, st){
	if(bEnablePageLoading){
		if(document.getElementById('loadingDiv') != undefined)
			document.getElementById('loadingDiv').style.display = 'block';
	
		if(document.getElementById('scrolled_content') != undefined)
			document.getElementById('scrolled_content').innerHTML = '';
	}
	/* Set the li backgroup to indicate the selected child subtype */
	if(highLightSelected){
		if(parentIndex != null && childIndex != null){
			var subMenuLiTag = 'sub-menu-li-';
			var selectedLi = document.getElementById(subMenuLiTag+parentIndex+'-'+childIndex);
			
			for(var i=0; i<noOfChild; i++){
				if(document.getElementById(subMenuLiTag+parentIndex+'-'+i) == selectedLi){
					selectedLi.className = 'selected';
				}
				else{
					document.getElementById(subMenuLiTag+parentIndex+'-'+i).className = '';
				}
			}
		}
	}
	/* */

	ajaxFormSubmitByGet('/showContent_demo.do' + '?' + params+'&page='+page, '', showContentResult2, '');
}

var showContentResult2 = {
    success: function(o) {
	var data = o.responseText;
	ajax.byId('pagination').innerHTML = "";
	
	try{
		if(ajax.byId('scrolled_content') != undefined && ajax.byId('scrolled_content') != null){
			ajax.byId('scrolled_content').innerHTML = data; 
			ajax.byId('pagination').innerHTML = document.getElementById('paging').innerHTML;
		}
	}catch(e){}
	
       if(bEnablePageLoading){
        	if(document.getElementById('loadingDiv') != undefined)
			document.getElementById('loadingDiv').style.display = 'none';
		}
    },
    failure: function(o) {
    	try{
	    	if(ajax.byId('scrolled_content') != undefined && ajax.byId('scrolled_content') != null){
	    		ajax.byId('scrolled_content').innerHTML = "Request error.";
	    	}
    	}catch(e){}
    }
};