///////////////////////////////////////////////////////
// Express.js
///////////////////////////////////////////////////////

AJAXURL = "/customizationcenter/express/ajax.php";

function projectInit(){
    if (pid == 0){
        var pars = "";
    	var url = AJAXURL;
    	pars += "function=project_initProject";
        pars += "&x=" +uid;
        pars += "&z=" +pid;
        
    	
    	$.get(url, pars,js_assignPID);        
    }
} 

function js_assignPID(data){
    var res = data;
    
    if (pid == 0 && res != ""){
       pid = parseInt(res); 
    }
    setQuantity(quantity);
}

function setArtworkUploadType(arttypeval){
    artworktype = arttypeval;
    document.getElementById('frm_artworktype').value = arttypeval;
}

function project_addArtwork(artid){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_addArtwork";
    pars += "&x=" +artid;
	pars += "&z=" +pid;
	jQuery.get(url,pars);
    
    document.getElementById(document.getElementById('frm_artworktype').value + "_customart_status").src = "/images/uploaded.gif";
    showSummaryContent();
}


function refreshArtworkGallery(uid,pagetype){
    var pars = "";
	var url = AJAXURL;
	pars += "function=user_getArtworkGallery";
    pars += "&x=" +uid;
    pars += "&y=" +pagetype;
	
	jQuery.get(url,pars,echo_refreshArtworkGallery);    
}

function echo_refreshArtworkGallery(data){
    var res = data;
    parent.document.getElementById('artgallerydiv').innerHTML = res;
    
}

function selectArtwork(id,fn,pimg){
    artworkid = id;
    previewimg = pimg;
    artfn = fn;
    document.getElementById('fileinfoname').innerHTML = fn;
    document.getElementById('previewimagesrc').src = escape(pimg);
    setDiscDesign(id);    
}

function saveProject(){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_saveProject";
    pars += "&x=" +uid;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);    
    
}



function updateProjectLabel(labeltxt){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setLabel";
    pars += "&x=" +labeltxt;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}

function setQuantity(q){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setQuantity";
    pars += "&x=" + q;
    pars += "&z=" + pid;
    
	
	$.get(url,pars);
}


function setDiscDesign(idnum){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setDiscDesignID";
    pars += "&x=" + idnum;
    pars += "&z=" + pid;
    
	
	$.get(url,pars);
}


function setType(val){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setType";
    pars += "&x=" + val;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}

function setPrintStyle(val){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setStyle";
    pars += "&x=" + val;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}

function setContentType(ctype){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setContentType";
    pars += "&x=" + ctype;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}

function setPackaging(pack){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setPackaging";
    pars += "&x=" + pack;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}

function setJobType(type){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setJobType";
    pars += "&x=" + type;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}


function setImageFN(val){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setImageFN";
    pars += "&x=" + escape(val);
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}

function setPreviewFN(val){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setPreviewFN";
    pars += "&x=" + escape(val);
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}

function updateExpressTotal(){
    ////////////////////////////////////////////////////////////
// Using values found in memory, update the order status. //
// Applies to customization.php                           //
////////////////////////////////////////////////////////////
	var unitprice = 0;
	var totalprice = new Number(0);
	var myx;
	quantity = document.getElementById("frm_quantity").value;
	
	for (myx in table_dup_prices) {
		var tempa = table_dup_prices[myx];
		if (disktype !== "" && diskstyle != ""){
			var dt = disktype.toUpperCase();
			var ds = "";
			if (diskstyle == "fullcolor"){ ds = "fullcolor"; }
			if (diskstyle == "blackonly"){ ds = "blackonly"; }
			var compstr = "blank"+dt+ds;
			
			if (compstr == tempa[0]){
				// Price Points Used : 100, 500, 1000, 3000 //
				var pricepoint = 0;
				if (document.getElementById("frm_quantity").value <500){ pricepoint = 100; }
				else if (document.getElementById("frm_quantity").value <1000){ pricepoint = 500; }
				else if (document.getElementById("frm_quantity").value <3000){ pricepoint = 1000; }
				else { pricepoint = 3000; }


				if (pricepoint == tempa[1]){
					var floatresult = new Number(tempa[2]*document.getElementById("frm_quantity").value);
					unitprice = floatresult;
					totalprice += unitprice;
					totalprice += (document.getElementById("frm_quantity").value*packageprice);
					break;
				}
			}
		}
	}

	
	
	
	if (totalprice > 0){
		//document.getElementById("totAmt").innerHTML = "$"+formatAsMoney(totalprice);
		//document.getElementById("frm_totAmt").value = "$"+formatAsMoney(totalprice);
        subtotal = formatAsMoney(totalprice);
	}
	
	
	
}



function finalizeProject(ordertype){
//////////////////////////////////////////////////////////////////
// This function sets order elements for review.                //
//////////////////////////////////////////////////////////////////
    if (ordertype == "express"){
        // Blank Media //
        if (disktype == "cd") {
            //document.getElementById('review_media').innerHTML = "CD";
        }
        else if (disktype == "dvd"){
            //document.getElementById('review_media').innerHTML = "DVD";
        }
        else {
           // document.getElementById('review_media').innerHTML = "";
        }
        
        // Disc Style //
        if (diskstyle == "fullcolor") {
           // document.getElementById('review_style').innerHTML = "Full Color";
        }
        else if (diskstyle == "blackonly"){
           // document.getElementById('review_style').innerHTML = "Black Only";
        }
        else {
           // document.getElementById('review_style').innerHTML = "";
        }
        
        // Quantity //
            //document.getElementById('review_quantity').innerHTML = quantity;
        
        // Artwork //
            //document.getElementById('review_artwork').innerHTML = artfn;
        
        // Subtotal //
            //updateExpressTotal();
            //document.getElementById('review_subtotal').innerHTML = "$"+subtotal;
    }


}

function gui_ClearProject(){
//////////////////////////////////////////////
// This function prompts the user to        // 
// confirm desire to reset project details. //
//////////////////////////////////////////////
    
    



}


function clearProject(){
    // This JS function must clear out all project selections and reset to an empty, new project. //
    // TODO: Add AJAX call to clear $_SESSION['cid'] from the session (ie. set value to 0). //
    
    
    
}


function addtocart(){
    // Validate Project - Check all Required Fields //
    if (validateProject()){
        // Ajax Update Project Status //
        setProjectStatus('saved');
        
        // Add project to the cart... //
        
        var pars = "";
    	var url = AJAXURL;
    	pars += "function=cart_addToCart";
        pars += "&x=" + pid;
        pars += "&z=" + cid;
        
    	
    	$.get(url,pars,updateCartList);
        
        // Refresh cart display to screen. //
        
        
        
        // Clear project. //
        clearProject();
    }
   
}


function updateCartList(data){
    var cartcontents = document.getElementById('cartcontents');
    cartcontents.innerHTML = data;
}


function setProjectStatus(status){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setStatus";
    pars += "&x=" + status;
    pars += "&z=" +pid;
    
	
	$.get(url,pars);  
}


function validateProject(){
/////////////////////////////////////////////////////////
// This function will check to ensure all required     //
// elements are selected.                              //
/////////////////////////////////////////////////////////

    var validproject = 1;
    var erroritem = '';
    if (quantity <= 0){
        validproject = 0;
        erroritem = "QUANTITY";
    }
    if (disktype == ''){
        validproject = 0;
        erroritem = "MEDIA TYPE (CD or DVD) (Start New Project Tab)";
    }
    if (diskstyle == ''){
        validproject = 0;
        erroritem = "DISC STYLE (Color or Black Only) (Start New Project Tab)";
    }
    if (artfn == ''){
        validproject = 0;
        erroritem = "ARTWORK (Customization Tab)";
    }
    if (document.getElementById('projectlabel').value == ''){
        validproject = 0;
        erroritem = "PROJECT TITLE / DESCRIPTION (Review Tab)";
    }
    if (validproject == 0){
        // Show error message and return false. //
        alert("There is a problem with your project!\n\nThe following information is missing: \n\n\t"+erroritem+"\n\nPlease go back and complete the project before continuing.");
        return false;
    }
    return true;



}


/** ******************************************** **/

function ui_reveal(divid,state){
/** TODO: Add jQuery animation to hide/show with fade. **/

    var thediv = document.getElementById(divid);
    if (thediv != null){
        thediv.style.display = state;
        if (state == 'block'){
            thediv.style.opacity = 100;
        }        
    }
}


function nextStep(stepname){
    
    switch(stepname)
    {
    case 'qty':
      ui_reveal('choose_media_div','block');
      ui_reveal('media-info','block');
      ui_reveal('qty-info','none');
      ui_reveal('colors-info','none');
      ui_reveal('packaging-info','none');
      ui_reveal('jobtype-info','none');
      
      break;
    case 'colors':
      ui_reveal('choose_colors_div','block');
      ui_reveal('colors-info','block');
      ui_reveal('media-info','none');
      ui_reveal('qty-info','none');
      ui_reveal('packaging-info','none');
      ui_reveal('jobtype-info','none');
      
      break;
    case 'packaging':
      ui_reveal('choose_packaging_div','block');
      ui_reveal('packaging-info','block');
      ui_reveal('colors-info','none');
      ui_reveal('media-info','none');
      ui_reveal('qty-info','none');
      ui_reveal('jobtype-info','none');
      
      break;
    case 'jobtype':
      ui_reveal('choose_jobtype_div','block');
      ui_reveal('jobtype-info','block');
      ui_reveal('packaging-info','none');
      ui_reveal('colors-info','none');
      ui_reveal('media-info','none');
      ui_reveal('qty-info','none');
      break;
    case 'mediaartwork':
      ui_reveal('action-info','block');
      ui_reveal('jobtype-info','none');
      
      break;
    default:
      //code to be executed if n is different from case 1 and 2
    }
    
    
    
}

function showSummaryContent(){
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_ShowSummaryContent";
    pars += "&x=" + status;
    pars += "&z=" +pid;
	
	$.get(url,pars,echo_SummaryBoxContent);  
    
}


function echo_SummaryBoxContent(data){
    var res = data;
    parent.document.getElementById('summaryboxtext').innerHTML = res;
    
}


function project_SetOption(name,value){
    /** project_setOption **/
    var pars = "";
	var url = AJAXURL;
	pars += "function=project_setOption";
    pars += "&x=" + name;
    pars += "&y=" + value;    
    pars += "&z=" +pid;
	
	$.get(url,pars);  
    showSummaryContent();
}



function makeRequest(ajaxfunction, qstring, ajaxreturn){


        var pars = "";
    	var url = AJAXURL;
    	pars += "function="+ajaxfunction;
        pars += "&" + qstring;
        
    	
    	$.get(url,pars,eval(ajaxreturn));

      

}

function setRoyaltyPreview(responseText) {
	var obj = document.getElementById('catpreview');
	obj.innerHTML = responseText;
	
}


function updatePreview(responseText){
	var obj = document.getElementById('disceditpreview_artwork');		
	obj.innerHTML = responseText;
}

function nothing(){
	// Do Nothing. :-) //	
	return true;
}


