var quoteMsgForComment = '';

function checkPhotoExtension(fileName) {			
	var mid = fileName.lastIndexOf(".");
    var fname = fileName.substring(0,mid);
    var ext = fileName.substring(mid+1,fileName.length);       
	if(!(ext.toLowerCase() == "jpg" || ext.toLowerCase() == "gif")) {
		alert("Please upload only .jpg or .gif extention file");
		return false;
	} else {
		return true;
	}
}

function checkAttachFileExtension(fileName) {			
	var mid = fileName.lastIndexOf(".");
    var fname = fileName.substring(0,mid);
    var ext = fileName.substring(mid+1,fileName.length);       
	if(ext.toLowerCase() == "jsp") {
		alert("Invalid extention file");
		return false;
	} else {
		return true;
	}
}		

function QuoteStrNormalTextArea(elementId,username) {
	var msg = '';
	var quoteMsg = '';
	var elementComment = document.getElementById('comment') ;
	msg = (document.getElementById(elementId)).innerHTML;
	quoteMsg = '<table width="100%" border="1" cellpadding="0" cellspacing="0" align="center"><tr bgcolor="#E0EEEE"><td><b>Quote :</b><br>Original Posted by : '+ username + '</td></tr><tr bgcolor="#EFEEEE"><td>' + msg + '</td></tr></table>';
	
	elementComment.value = quoteMsg;
	//elementComment.value = '[quote]'+elementId+'[/quote]'
	elementComment.focus();
	//quoteMsgForComment = quoteMsg;			
}

function QuoteStr(elementId,username) {
	var msg = '';
	var quoteMsg = '';
	var oEditor = FCKeditorAPI.GetInstance('comment') ;
	msg = (document.getElementById(elementId)).innerHTML;
	quoteMsg = '<table width="100%" border="1" cellpadding="0" cellspacing="0" align="center"><tr bgcolor="#E0EEEE"><td><b>Quote :</b><br>Original Posted by : '+ username + '</td></tr><tr bgcolor="#EFEEEE"><td>' + msg + '</td></tr></table>';
	
	oEditor.SetData(quoteMsg);
	oEditor.StartupFocus();
}

function ResetFCK() {		
	var oEditor = FCKeditorAPI.GetInstance('comment') ;
	oEditor.SetData('');
	oEditor.StartupFocus();
}		 
function ajaxFunction(callBackFunction,url){
	var xmlHttp;
	try{
 		 // Firefox, Opera 8.0+, Safari
 		xmlHttp=new XMLHttpRequest();
  	}catch (e){
 	 	// Internet Explorer
	  	try{
	   	 	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	    }catch (e){
		    try{
		     	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		    }catch (e){
		      	alert("Your browser does not support AJAX!");
		      	return false;
		    }
	    }
 	}
  	xmlHttp.onreadystatechange=function(){
  		if (xmlHttp.readyState==4)
  	  	{
  			callBackFunction(xmlHttp);
	  	}
  	}  	
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}
  
function addOption(selectbox,text,value )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}
function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
	selectbox.remove(i);
	}
}	
function removeSelectedOption(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
	if(selectbox.options[i].selected)
	selectbox.remove(i);
	}
}		

function showPersonalInformationDialog(url){
	
	dojo.xhrGet({
	    url: url,
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
			    dojo.byId("personalInformationDiv").innerHTML = data;
			    dijit.byId('personalInformationDialog').show();
			}
	    }
	});					
}
//<%-- // show dialog for login --%>
function showAjaxLoginDialog(){
	dojo.byId('htmlError').innerHTML = '';
    dijit.byId('ajaxLoginDialog').show();
    document.userLoginFormBody.username.focus();
}

function shopdioAjaxLoginDialog(){
	dijit.byId('personalInformationDialog').hide();
	dojo.byId('htmlError').innerHTML = '';
    dijit.byId('ajaxLoginDialog').show();
    document.userLoginFormBody.username.focus();
}

function ajaxLogin() {
	/*dojo.xhrGet({
	    url: "userLogin.do",
	    handleAs: "text",
	    
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
			    dojo.byId("ajaxLoginDiv").innerHTML = data;
			    dijit.byId('ajaxLoginDialog').show();
			}
	    }
	});	*/
	dijit.byId('ajaxLoginDialog').hide();
	dojo.xhrPost({
		form: dojo.byId("userLoginFormBody"),
		handleAs: "text",				
		handle: function(data,ioArgs){
			if(typeof data == "error"){
				alert("error");
			    console.warn("error!");
			    console.log(args);
			}else{				
				if (dojo.trim(data) == "") {						
					eval("window.location.reload()");							
									
				} else {
				    dojo.byId("ajaxLoginDiv").innerHTML = data;
				    dijit.byId('ajaxLoginDialog').show();
				}
			}		
		},
		error: function(data,ioArgs){
			alert("An error occurred: " + data);
		}
	});
}

function ajaxLogout() {	
	dojo.xhrGet({
	    url: "userLogout.do",
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{						
				eval("window.location.reload()");		    
			}
	    }
	});
}

//<%-- // doCheckout ทำรายการสั่งซื้อสินค้า --%>
function doCheckout() {
	dojo.xhrGet({
	    url: "checkout.do?clubId=${requestScope.club.id}",
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{						
			    dojo.byId("shoppingCartDiv").innerHTML = data;					    
			}
	    }
	});	
}

function getSubProductFormProductId(url,productId){
	
	dojo.xhrPost({
		url: 'listSubProduct.do?clubId=${club.id}&productId='+productId+'&selectSubProduct=fromMain',
		handleAs: 'text',
		handle: function(data,args){
			if(typeof data == 'error'){
			    console.warn('error!',args);
			}else{
				if(data!=null && data!='[]'){
					dojo.byId("selectSubProductInCartDiv").innerHTML = data;
			    	dijit.byId('selectSubProductDialog').show();
				}else{
					displayCartDialog(url);
				}
			}
		}
	});
}

function checkAddProductFromMainPage(url){
	var home = window.location.pathname;
	
	if(home.indexOf('home.do')>-1 || home=='' || home=='/'){
		var temp1 = url.substring(url.indexOf('productId='),url.length);
		var temp2 = temp1.substring(0,temp1.indexOf('&pQuantity'));	
		var productId = temp2.substring(temp2.indexOf('=')+1,temp2.length);
			
		getSubProductFormProductId(url,productId);
		
	}else{
		displayCartDialog(url);
	}
}

//<%-- // showCartDialog ใช้เพิ่มสินค้าเข้าไปใน cart รวมทั้งแสดงหน้าต่างรายการสินค้า --%>
function showCartDialog(url){			
	checkAddProductFromMainPage(url);
	//displayCartDialog(url);
}
function displayCartDialog(url){
	dojo.xhrGet({
	    url: url,
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
				updateMyCart();
				
			    dojo.byId("shoppingCartDiv").innerHTML = data;
			    dijit.byId('cartDialog').show();
			}
	    }
	});		
}

function showCartDialogAfterAddSubProduct(url){
	dijit.byId('selectSubProductDialog').hide();
	dojo.xhrGet({
	    url: url,
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
				updateMyCart();
				
			    dojo.byId("shoppingCartDiv").innerHTML = data;
			    dijit.byId('cartDialog').show();
			}
	    }
	});	
}

function selectSubForAddToCart(elm,cid,pid){
	var subProductId = elm.options[elm.selectedIndex].value;
	var subProductSelectToCart = document.getElementById('subProductSelectToCart');
	var btnAddToCart = document.getElementById('btnAddToCart');
	var urlParam = '';
	
	if(subProductSelectToCart.selectedIndex!=0){
		urlParam = "addToCart.do?clubId=${requestScope.club.id}&shopCategoryId="+cid+"&productId="+pid+"&subProductId="+subProductId+"&pQuantity=1";
		//var innerBtnId = "<a href='#' onclick='showCartDialogAfterAddSubProduct(\""+urlParam+"\"); return false;' class='addtocart'>Add to cart</a>";
		//btnAddToCart.innerHTML = innerBtnId;
		showCartDialogAfterAddSubProduct(urlParam);
	}else{
		urlParam = "addToCart.do?clubId=${requestScope.club.id}&shopCategoryId="+cid+"&productId="+pid+"&pQuantity=1";
		//var innerBtnId = "<a href='#' onclick='showCartDialogAfterAddSubProduct(\""+urlParam+"\"); return false;' class='addtocart'>Add to cart</a>";
		//btnAddToCart.innerHTML = innerBtnId;
		showCartDialogAfterAddSubProduct(urlParam);
	}
}

//<%-- // updateItem ใช้อัพเดทจำนวนสินค้าใน cart --%>
function updateItem(elm, productId, shopCategoryId, subProductId) {
	if(subProductId==0) subProductId = "";
	dojo.xhrGet({
	    url: "updateCart.do?clubId=${requestScope.club.id}&shopCategoryId="+shopCategoryId+"&productId="+productId+"&subProductId="+subProductId+"&pQuantity="+elm.value,
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
				updateMyCart();
			    dojo.byId("shoppingCartDiv").innerHTML = data;					    
			}
	    }
	});
}

//<%-- // removeItem เอาสินค้านั้นๆออกจาก cart --%>
function removeItem(productId, shopCategoryId, subProductId) {
	if(subProductId==0) subProductId = "";
	dojo.xhrGet({
	    url: "updateCart.do?clubId=${requestScope.club.id}&shopCategoryId="+shopCategoryId+"&productId="+productId+"&subProductId="+subProductId+"&pQuantity=0",
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
				updateMyCart();
			    dojo.byId("shoppingCartDiv").innerHTML = data;					    
			}
	    }
	});	
}

//<%-- // updateMyCart ใช้อัพเดทส่วนแสดงผล myCart (Your shopping cart) Module --%>
function updateMyCart() {
	dojo.xhrGet({
	    url: "myCartModule.jsp?clubId=${requestScope.club.id}",
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
			    dojo.byId("myCartDetail").innerHTML = data;
			   
			}
	    }
	});
}

//<%-- // showCurrentCartDialog แสดงหน้าต่างรายการสินค้า --%>
function showCurrentCartDialog(){		
	dojo.xhrGet({
	    url: "shoppingCart.jsp?clubId=${requestScope.club.id}",
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
				
			    dojo.byId("shoppingCartDiv").innerHTML = data;
			    dijit.byId('cartDialog').show();
			}
	    }
	});			
}

//<%-- // clearCart ล้างข้อมูล cart ใน kommuz นั้นๆ --%>
function clearCart(clubId){
	
	dojo.xhrGet({
	    url: "clearCart.jsp?clubId="+clubId,
	    handleAs: "text",
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			}else{
				if (data == "") {
					dojo.xhrGet({
						url: "shoppingCart.jsp?clubId=${requestScope.club.id}",
					    handleAs: "text",
					    handle: function(data,args){
							if(typeof data == "error"){
							    console.warn("error!");
							    console.log(args);
							}else{		
								//alert(data);							
							    dojo.byId("shoppingCartDiv").innerHTML = data;
							    //dijit.byId('cartDialog').show();
							}
					    }
					});	
				} else {
					//alert(data);
				}
				updateMyCart();
			    dojo.byId("shoppingCartDiv").innerHTML = data;
			    //dijit.byId('cartDialog').show();
			}
	    }
	});					
}

//<%-- // continueShopping ซ่อนหน้าต่างรายการสินค้าใน cart เพื่อเลือกซื้อสินค้าต่อ --%>
function continueShopping() {
	dijit.byId('cartDialog').hide();
}

function beforeLogin(errorUsername, errorPassword) {
	var username = dojo.trim(dojo.byId('username').value);
	var password = dojo.trim(dojo.byId('password').value);
	var alertmsg = '';
	var hasError = false;
	if (username == "") {
		alertmsg += errorUsername;
		hasError = true;
	}
	if (password == "") {
		alertmsg += errorPassword;
		hasError = true;
	}
	if (hasError) {
		alert(alertmsg);
		if (username == "") {
			dojo.byId('username').focus();
		} else {
			dojo.byId('password').focus();
		}
	} else {
		ajaxLogin();
	}
	//if (validateUserLoginFormBody(document.getElementById('userLoginFormBody'))) {
		//ajaxLogin();
	//}
}

function checkUserStatus() {
	var status = false;
	dojo.xhrGet({
	    url: 'checkStatusUser.do?clubId=${requestScope.club.id}' + '&sid=' + Math.random(),
	    handleAs: 'text',
	    handle: function(data,args){
			if(typeof data == "error"){
			    console.warn("error!");
			    console.log(args);
			} else {				
				data = dojo.trim(data);
				alert(data);
				status = checkDataStatus(data);
			}					
	    }
	});
	return status;
}

function checkDataStatus(data) {
	//alert("chcek:"+data);
	var editDialog = null;
	editDialog = dijit.byId('ajaxEditDialog');
	//editDialog = null;
	//alert("editDialog:"+editDialog);
	if (dojo.trim(data) != "") {
		if (editDialog != null && editDialog.open) {
			editDialog.hide();
		}
		if (dojo.trim(data) == 'true') {
			//alert("chcek:"+1 + ":::");
			return true;
		} else if (dojo.trim(data) != "" && dojo.trim(data) == 'no-permission') {
			alert('You don\'t have permission.');
	    } else if (dojo.trim(data) != "" && dojo.trim(data) == 'not-login') {			    	
			showAjaxLoginDialog();
			if ( dojo.trim(dojo.byId('isLoggedIn').value) == 'true') {
				//alert('You don\'t have permission, please refresh page and login again.');
				alert('Your session has expired, please refresh page and login again.');
			} else {						
				alert('You don\'t have permission, please login first.');
			}							
	    } else {
	    	alert("chcek:else");
	    }
	} else {
		//alert('Please try again.');		
	}
	return false;
}
