/*AJAX GLOBAL RETROFIT*/
function ajaxglobal(data)
{

//var path = data.path;

	//SPLIT APART STRING SETS
	var str_values = null;
	var str_values=data.split("&");
	var set1=str_values[0];
	var bool_loading=false;
	var loading_selector='';	

	//SPLIT APART 
	if(str_values[0]){var stname1=str_values[0].split("=");}
	if(str_values[1]){var stname2=str_values[1].split("=");}
	if(str_values[2]){var stname3=str_values[2].split("=");}
	if(str_values[3]){var stname4=str_values[3].split("=");}
	if(str_values[4]){var stname5=str_values[4].split("=");}
	if(str_values[5]){var stname6=str_values[5].split("=");}
	if(str_values[6]){var stname7=str_values[6].split("=");}
	if(str_values[7]){var stname8=str_values[7].split("=");}
	if(str_values[8]){var stname9=str_values[8].split("=");}
	if(str_values[9]){var stname10=str_values[9].split("=");}
	if(str_values[10]){var stname11=str_values[10].split("=");}
	if(str_values[11]){var stname12=str_values[11].split("=");}
	if(str_values[12]){var stname13=str_values[12].split("=");}
	if(str_values[13]){var stname14=str_values[13].split("=");}
	if(str_values[14]){var stname15=str_values[14].split("=");}
	if(str_values[15]){var stname16=str_values[15].split("=");}
	if(str_values[16]){var stname17=str_values[16].split("=");}
	if(str_values[17]){var stname18=str_values[17].split("=");}
	if(str_values[18]){var stname19=str_values[18].split("=");}
	if(str_values[19]){var stname20=str_values[19].split("=");}

	//CREATE ARRAY
	var dataset= new Array();
	if(stname1){dataset[(stname1[0])]=(stname1[1]);}
	if(stname2){dataset[(stname2[0])]=(stname2[1]);}
	if(stname3){dataset[(stname3[0])]=(stname3[1]);}
	if(stname4){dataset[(stname4[0])]=(stname4[1]);}
	if(stname5){dataset[(stname5[0])]=(stname5[1]);}
	if(stname6){dataset[(stname6[0])]=(stname6[1]);}
	if(stname7){dataset[(stname7[0])]=(stname7[1]);}
	if(stname8){dataset[(stname8[0])]=(stname8[1]);}
	if(stname9){dataset[(stname9[0])]=(stname9[1]);}
	if(stname10){dataset[(stname10[0])]=(stname10[1]);}
	if(stname11){dataset[(stname11[0])]=(stname11[1]);}
	if(stname12){dataset[(stname12[0])]=(stname12[1]);}
	if(stname13){dataset[(stname13[0])]=(stname13[1]);}
	if(stname14){dataset[(stname14[0])]=(stname14[1]);}
	if(stname15){dataset[(stname15[0])]=(stname15[1]);}
	if(stname16){dataset[(stname16[0])]=(stname16[1]);}
	if(stname17){dataset[(stname17[0])]=(stname17[1]);}
	if(stname18){dataset[(stname18[0])]=(stname18[1]);}
	if(stname19){dataset[(stname19[0])]=(stname19[1]);}
	if(stname20){dataset[(stname20[0])]=(stname20[1]);}
	
	//CONSTANT VARIABLES
	var globaldomain = $(".domain").text();
	var pagename = (dataset['pagename']);
	var filepath = (dataset['path']);
	var fname = (dataset['fname']);
	var formname = (dataset['formname']);
	var sortablelist = (dataset['sortablelist']);
	var animation = (dataset['animation']);
	var loading = (dataset['loading']);
	var loadingss = (dataset['loadingss']);
	
	//CLEAR DIV CONTENT FROM OPEN MODULES
	var checkss = fname.split("|");
	if(checkss[0] == 'ss'){
		 $(".ssdivs").html('');
	}
	
	//GRAB ITEMS FROM A SORTABLE LIST IF IT EXISTS
	if(sortablelist){
		var sortablelistresult = $('.'+sortablelist).sortable('toArray');
		sortabledata="&sortabledata="+sortablelistresult;
		data=data+sortabledata;
	}

	//CHECK TO SEE IF VALUES ARE A FORM AND THEN SERIALIZE THE DATA
	if(formname){
		var data = $('form[name="'+formname+'"]').serialize();
	}
	
	//TAKE THE FNAME VALUE AND SPLIT IT IF THERE IS A PIPE TO GET ID/CLASS VALUE
	if(fname){
		var fname_values=fname.split("|");
		var fname1 = fname_values[0];
		var fname2 = fname_values[1];
	}
	else{
		fnameclass!="true"
	}

	//LOOK AT THE SECOND VALUE OF THE PIPE SPLIT AND SEPERATE THE . OR # FROM VALUE AND GET REAL VALUE OF FNAME
	if(fname2){
		var fnameid_values=fname2.split("#");
		var fnameid = fnameid_values[1];
		
		//REPLACE CLASS NAMED 'COMMON' WITH NEW CLASS NAME SO CONTENTS CAN BE DYNAMICALLY ADDED
		var accordianmenu = fname.split("|");
		if((accordianmenu[0] == 'user_info')||(accordianmenu[0] == 'accormenu')){
			var commonclass = fnameid;
			if(!commonclass){
				commonclass = "false";
			}
			if(commonclass != "false"){
				$(document).ready(function(){
					$(".common").html("");
					$("#"+commonclass).replaceWith("<div id=\""+commonclass+"\" class=\""+pagename+" common\"></div>");
				});
			}
		}
	}
	if(!fnameid){ fnameid = "false"; }

	//GET CLASS STRING
	if(fname2){
		var fnameclass_values=fname2.split(".");
		var fnameclass = fnameclass_values[1];
	}
	if(!fnameclass){ fnameclass = "false"; }
	if(filepath){
		if(filepath.indexOf('/') >= 0){
			filepath = filepath;
		}else{
			filepath = filepath.replace('ajax_','');
			filepath = ucwords(filepath.replace(/_/g,' ')).replace(/ /g,'_');
			filepath = ucwords(filepath.replace(/-/g,' ')).replace(/ /g,'-');
			filepath = 'glmod_'+filepath;
		}
	}
	else{ 
		filepath = pagename.replace('ajax_','');
		filepath = ucwords(filepath.replace(/_/g,' ')).replace(/ /g,'_');
		filepath = ucwords(filepath.replace(/-/g,' ')).replace(/ /g,'-');
		filepath = 'glmod_'+filepath;
	}
	
	//SPLIT LOADING TO SEE IF THERE IS A SPECIFIC DIV TO PUT LOADING ICON
	if(loading){
		var arr_loading=loading.split('|');
		var bool_loading = arr_loading[0];
		var loading_selector = arr_loading[1];
	}	
	//alert("/syncshow/ajaxscripts/scripts.php?ajaxpagename="+pagename+"&ajaxfilepath="+filepath);
	//DEFINE A ID TO TARGET RESULT TO USING FNAME=FunctionName|IdToTarget
	if(fnameid!="false"){
		if(bool_loading=='true' && !loading_selector){ $("#"+fnameid+"").html("<div style='text-align:center;'><img src='/syncshow/editor/images/ajax-loader-arrows.gif' alt='Loading...' /><br />Loading...</div>"); }
		else if(bool_loading=='true' && loading_selector){ $(loading_selector).html("<div style='text-align:center;'><img src='/syncshow/editor/images/ajax-loader-arrows.gif' alt='Loading...' /><br />Loading...</div>").show(); }
		if(loadingss){ $("#ssloading-area").show(); } 
		$.ajax({
	   		type: "POST",
	   		url: "/syncshow/ajaxscripts/scripts.php?pagename="+pagename+"&filepath="+filepath, 
	   		cache: false,
	   		data: data,
	   		 success: function(html){
	   		 	$("#"+fnameid+"").fadeIn().html(html);
	   		 	if(bool_loading=='true' && loading_selector) $(loading_selector).html("").show();
	   		 	if(loadingss){ $("#ssloading-area").hide(); }
	 		 }
		});
		//DEFINE A CLASS TO TARGET RESULT TO USING FNAME=FunctionName|IdToTarget
	}
	else if(fnameclass!="false"){
		if(bool_loading=='true' && !loading_selector){ $("."+fnameclass+"").html("<div style='text-align:center;'><img src='/syncshow/editor/images/ajax-loader-arrows.gif' alt='Loading...' /><br />Loading...</div>"); }
		else if(bool_loading=='true' && loading_selector){ $(loading_selector).html("<div style='text-align:center;'><img src='/syncshow/editor/images/ajax-loader-arrows.gif' alt='Loading...' /><br />Loading...</div>").show(); }
		if(loadingss){ $("#ssloading-area").show(); }
		$.ajax({
	   		type: "POST",
	   		url: "/syncshow/ajaxscripts/scripts.php?pagename="+pagename+"&filepath="+filepath,
			cache: false,
			data: data,
	    	success: function(html){
	    		$("."+fnameclass+"").html(html);
	    		if(bool_loading=='true' && loading_selector) $(loading_selector).html("").show();
	    		if(loadingss){ $("#ssloading-area").hide(); }
	  		} 
		});
	
	 //IF NO TARGET IS DEFINED RETURN RESULTS TO DIV CLASS
	 }
	else{
		if(bool_loading=='true' && !loading_selector){ $("."+pagename+"").html("<div style='text-align:center;'><img src='/syncshow/editor/images/ajax-loader-arrows.gif' alt='Loading...' /><br />Loading...</div>"); }
		else if(bool_loading=='true' && loading_selector){ $(loading_selector).html("<div style='text-align:center;'><img src='/syncshow/editor/images/ajax-loader-arrows.gif' alt='Loading...' /><br />Loading...</div>").show(); }
		if(loadingss){ $("#ssloading-area").show(); }
		$.ajax({
			type: "POST",
			url: "/syncshow/ajaxscripts/scripts.php?pagename="+pagename+"&filepath="+filepath,
			cache: false,
			data: data,
			success: function(html){
				$("."+pagename+"").html(html);
				if(bool_loading=='true' && loading_selector) $(loading_selector).html("").show();
				if(loadingss){ $("#ssloading-area").hide(); }
			}
		});
	 }
}

//USE 100% JQUERY TO RUN AJAX GLOBAL
$('a.ajaxGlobal').mouseup(function(e){
	var data =  $(this).attr("ref");
	ajaxglobal(data);
});
//USE JQUERY TO RECORD INPUT STROKES AS THEY ARE TYPED
$('input.ajaxGlobal').keyup(function(e){
	var data = $(this).attr("ref");
	var inputvalue = $(this).val();
	data = data+inputvalue;
	ajaxglobal(data);
});

//USE CONVENTIONAL JAVASCRIPT TO RUN AJAX GLOBAL
function openAJAX(data){
	ajaxglobal(data);
}
//MAKING SUBMIT BUTTON WORK WHEN HITTING ENTER
function submitOnEnter(event,openAJAXparam){
	if (window.event) event = window.event; //MSIE Hack
	if(event.keyCode==13){
		eval( "openAJAX('"+openAJAXparam+"')" );
		return false;
	}
	return true;
}

/********************************************
//AJAXFILEUPLOAD FUNCTION
function ajaxFileUpload(form_id){
	var filepath = '../editor/global_modules/glmod_Forms/ajaxscripts';
    //starting setting some animation when the ajax starts and completes
    $(".fileLoading")
    .ajaxStart(function(){ $(this).show(); $(".submitbutton").hide(); $('.fileupload-wait').show(); })
    .ajaxComplete(function(){ $(this).hide(); $(".submitbutton").show(); $('.fileupload-wait').hide(); });
   
    //
    //    prepareing ajax file upload
    //    url: the url of script file handling the uploaded files
    //    fileElementId: the file type of input element id and it will be the index of $_FILES Array()
    //    dataType: it support json, xml
    //    secureuri:use secure protocol
    //    success: call back function when the ajax complete
    //    error: callback function when the ajax failed
    //
    $.ajaxFileUpload({
    	url:'/syncshow/ajaxscripts/'+filepath+'/ajax_file_upload.php?form_id='+form_id,
        secureuri:false,
        fileElementId:'ajaxFileToUpload',
        dataType: 'json',
        success: function (data, status){
            if(typeof(data.error) != 'undefined'){
                if(data.error != ''){
                	jQuery.noticeAdd({text: data.error, type:'error', stay:true});
                }
                else{
                	$("#ajaxFileToUploadHidden").val(data.filename);
                	jQuery.noticeAdd({text: data.msg, type:'notice', stay:false});
                }
            }
        },
        error: function (data, status, e){
            alert(e);
        }
    });
   
    return false;
}
/********************************************/


//ajaxFileUpload
//
// - use ajaxFileUpload plugin to upload file
// - manipulate UI to show upload progress
// - throw errors or success msg
// - display name of uploaded file
// - updates hidden field that will communicate uploaded file name upon form submission
//
function ajaxFileUpload( form_id, element_id ){
	
	var filepath = '../editor/global_modules/glmod_Forms/ajaxscripts',
		$form = $( "#"+form_id ),
		$loadingDiv = $("<div />");
	
    // Build loading div to append to form in times of need:
	$loadingDiv
		.addClass("ss-modforms-loading")
		.css( "text-align", "center" )
		.append("<img src='/syncshow/editor/images/ajax-loader-arrows.gif' alt='Sending Data. Please wait...' />")
		.append("<div>Sending data. Please wait...</div>");
	
	// Adjust UI to show upload in progress:
	$form
	    .ajaxStart(function(){ 
	    	//$form.children("button").addClass("disabled").attr("disabled","disabled").end().append( $loadingDiv );
	    	$form.children("button").addClass("disabled").end().append( $loadingDiv );
	    })
	    .ajaxComplete(function(){ 
	    	//$form.children("button").removeClass("disabled").attr("disabled","").end().remove(".ss-modforms-loading");
	    	$form.children("button").removeClass("disabled").end().remove(".ss-modforms-loading");
	    });
    
    /*
        prepareing ajax file upload
        url: the url of script file handling the uploaded files
        fileElementId: the file type of input element id and it will be the index of $_FILES Array()
        dataType: it support json, xml
        secureuri:use secure protocol
        success: call back function when the ajax complete
        error: callback function when the ajax failed
    */
    $.ajaxFileUpload({
    	url:			'/syncshow/ajaxscripts/'+filepath+'/ajax_file_upload.php?form_id='+form_id+'&element_id='+element_id,
        secureuri:		false,
        fileElementId:	'afu-fileupload-'+element_id,
        dataType: 		'json',
        success: 		function( data, status ){
				            if( typeof( data.error ) != 'undefined' ){
				                if (data.error != '' ){
				                	// Display Error Msg
				                	$.noticeAdd({ text: data.error, type:'error', stay: true });
				                } else {
				                	// Grab Filename
				                	var file_parts = data.filename.split('/'),
			                	    	send_filename = file_parts[1],
			                	    	$listing = $("<div id='afu-listing-"+element_id+"' />");
				                	
				                	// Build this and append next to element
				                	$listing
				                		.append("<span>"+send_filename+"</span>")
				                		.append("<a href='#' class='afu-remove-upload' data-element-id='"+element_id+"'>X</a>");
				                	
				                	// Hide the file input
				                	$( "#afu-fileupload-"+element_id ).hide()
				                		// Append file listing to elements container (parent):
				                		.parent().append( $listing );
				                	
				                	// Update DOM to show file info
				                	$( "#afu-hidden-"+element_id ).val( data.filename );
				                	$( "#afu-listing-"+element_id ).children("span").text( send_filename ).end().fadeIn();
				                	
				                	// Notify user of upload
				                	$.noticeAdd({ text: data.msg, stay: false });
				                }
				            }
        },
        error: 			function( data, status, e ){ alert(e); }
    });
    return false;
}

$(function(){
	// Remove "X" Click ( To remove a file upload from form submission )
	$( ".afu-remove-upload" ).die('click').live('click',function(e){
		
		e.preventDefault();
		var $this = $(this),
			element_id = $this.attr("data-element-id");
		
		// Reset element: remove listing, clear file & hidden element values, show file input
		$( "#afu-listing-"+element_id ).remove();
		$( "#afu-hidden-"+element_id ).val("");
		$( "#afu-fileupload-"+element_id ).val("").show();
		
	}); // End Remove File Click
	
});

function displayFile( element_id, eValue ){

	// Grab Filename
	var file_parts = eValue.split('/'),
    	send_filename = file_parts.pop(),
    	$listing = $("<div id='afu-listing-"+element_id+"' />");
	
	// Build this and append next to element
	$listing
		.append("<span>"+send_filename+"</span>")
		.append("<a href='#' class='afu-remove-upload' data-element-id='"+element_id+"'>X</a>");
	
	// Hide the file input
	$( "#afu-fileupload-"+element_id ).hide()
		// Append file listing to elements container (parent):
		.parent().append( $listing );
	
	// Update DOM to show file info
	$listing.fadeIn();
	
}



function ucwords(str) {
    // Uppercase the first character of every word in a string  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/ucwords    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Waldo Malqui Silva
    // +   bugfixed by: Onno Marsman
    // +   improved by: Robin
    // *     example 1: ucwords('kevin van zonneveld');    // *     returns 1: 'Kevin Van Zonneveld'
    // *     example 2: ucwords('HELLO WORLD');
    // *     returns 2: 'HELLO WORLD'
    return (str + '').replace(/^(.)|\s(.)/g, function ($1) {
        return $1.toUpperCase(); });
}

