﻿var checkForActiveDocument = function()
{ 
    var  isOpen = '<true/>';
    if(fw.documents.length == 0)
            isOpen = '<false/>';
    else if(!fw.getDocumentDOM())
    {
    	isOpen = '<false/>';
    }
    else
        isOpen = '<true/>';
    var acDocXML = '<object>';
    acDocXML += '<property id="docopen">'
    acDocXML += isOpen;
    acDocXML += '</property>';
    acDocXML += '</object>';
    return acDocXML;

}

var generatingCSS = function()
{
	if(fw.documents.length == 0)
	{
	    var isDocXML = '<object>';
	    isDocXML += '<property id="isdocopen">'
	    isDocXML += '<false/>';
	    isDocXML += '</property>';
	    isDocXML += '</object>';
	}
	else if(!fw.getDocumentDOM())
	{
	  	var isDocXML = '<object>';
	    isDocXML += '<property id="isdocopen">'
	    isDocXML += '<false/>';
	    isDocXML += '</property>';
	    isDocXML += '</object>';
	}
	else
	{
		var isDocXML = '<object>';
		isDocXML += '<property id="isdocopen">'
		isDocXML += '<true/>';
		isDocXML += '</property>';
		isDocXML += '</object>';
		var userCommandsFolder = fw.userJsCommandsDir;
		//If the folder has been removed try calling getValue
		var appHtmlCodeFolder = fw.appHtmlCodeDir;

		var userCommandsFolder = fw.userJsCommandsDir;
				
		var filePath = appHtmlCodeFolder + "/jQuery/preview_panel/";
		var jqFolderExists = Files.exists( filePath );
				
		var userPath = userCommandsFolder + "/jQuery";
		var jQueryFolderExists = Files.exists( userPath );
		if(false == jQueryFolderExists)
			Files.createDirectory( userPath );
		var folderExists = Files.exists( userPath +"/preview_panel" );
		if((false == folderExists) && (true == jqFolderExists))
		{
			//Create the jQuery preview_panel folder
			Files.createDirectory( userPath + "/preview_panel");
					
			//Copy HTML file
			var copyHTMLFile = appHtmlCodeFolder + "/jQuery/preview_panel/jQuery.html";
			var pasteHTMLFile = userPath + "/preview_panel/" + "jQuery.html";
			Files.copy(copyHTMLFile, pasteHTMLFile);
					
			//Copy JS file
			var jsFileFolder = appHtmlCodeFolder + "/jQuery/preview_panel/js/";
			var jsFiles = Files.enumFiles( jsFileFolder );
			var jsLen = jsFiles.length;
				
			var i,jsFileName,jsPastePath;
			for (i=0; i<jsLen; i++)
			{
				jsFileName = jsFiles[i];
				jsFileName = jsFileName.substr(jsFileName.lastIndexOf("/")+1);
				Files.createDirectory( userPath + "/preview_panel/js");
				jsPastePath = userPath + "/preview_panel/js/" +jsFileName;
				Files.copy(jsFiles[i], jsPastePath);
			}
								
			//copy CSS files
			var cssFileFolder = appHtmlCodeFolder + "/jQuery/preview_panel/css/";
			var cssFiles = Files.enumFiles( cssFileFolder );
			var cssLen = cssFiles.length;
						
			var j,cssFileName,cssPastePath;
			for (j=0; j<cssLen; j++)
			{
				cssFileName = cssFiles[j];
				cssFileName = cssFileName.substr(cssFileName.lastIndexOf("/")+1);
				Files.createDirectory( userPath + "/preview_panel/css");
				cssPastePath = userPath + "/preview_panel/css/" +cssFileName;
				Files.copy(cssFiles[j], cssPastePath);
			}
								
			//Copy images
			var spritesImagesFolder = appHtmlCodeFolder + "/jQuery/preview_panel/css/images/";
			var spriteFiles = Files.enumFiles( spritesImagesFolder );
			var spritesLen = spriteFiles.length;
			var k,spritesFileName,cssPastePath;
			for (k=0; k<spritesLen; k++)
			{
				spritesFileName = spriteFiles[k];
				spritesFileName = spritesFileName.substr(spritesFileName.lastIndexOf("/")+1);
				Files.createDirectory( userPath + "/preview_panel/css/images");
				imagesPastePath = userPath + "/preview_panel/css/images/" +spritesFileName;
				Files.copy(spriteFiles[k], imagesPastePath);
			}
		}
			
		var folderDoesExist = Files.exists( userPath +"/preview_panel" );
			
		if(true == folderDoesExist)
		{
			var cssThemeFile = "";
			myCSScode= "";
		    cssThemeFile = userCommandsFolder +"/jQuery/preview_panel/css/MyTheme.css";
			 	
			if (cssThemeFile !=null && cssThemeFile !="")
			{
				//exporting images
				var imageFolder = userCommandsFolder +"/jQuery/preview_panel/css";
				
				//Export CSS File
				Files.deleteFileIfExisting(cssThemeFile);
				Files.createFile(cssThemeFile,".css","FW");
				//Open the CSS File
				var fp = Files.open(cssThemeFile,true);
				fw.textOutputEncoding = "utf-8";
					
				//myCSSCode is the string that contains the entire CSS Code
				myCSScode= "";
		
				fromPreview = true;
				fw.runScript(fw.appHtmlCodeDir + "/jQuery/generateCSS.jsf");
				fromPreview= false;
				
				myCSScode += entireCSS;
				if(myCSScode == "")
				{
					isDocXML = '<object>';
				    isDocXML += '<property id="isdocopen">'
				    isDocXML +=  '<false/>';
				    isDocXML += '</property>';
				    isDocXML += '</object>';
				    return isDocXML;
				}
				//On successful Refresh, log PIP event
				fw.logPipEvent("jQuery Mobile Theme", null, "jQuery Panel Preview Refresh");				
			    __exportjQuerySprites(imageFolder,"preview");
				myCSScode = "@import url(\"icons-18-white.css\");\n"+"@import url(\"icons-36-white.css\");\n" + myCSScode;		
				fp.write(myCSScode);
				fp.close();	
				fw.getDocumentDOM().selectNone();
			}
		}
	}
	return isDocXML;
}


var generateSpritesforUser = function()
{	
	myCSScode= "";
	var gxml = "<object>";
	gxml += "<property id = 'isjQOpen'>";
	gxml += '<true/>';
	gxml += "</property>";
	gxml += "</object>";
	fw.runScript(Files.getLanguageDirectory() + "/JSFStrings/jQuery.jsf");	//Execute the script to obtain all the localized strings
	var localizedStringName = __jQuerytooltips;
	if(fw.documents.length == 0)
	{
		alert(localizedStringName.active);	//The error message has already been localized.
		var gxml = "<object>";
		gxml += "<property id = 'isjQOpen'>";
		gxml += '<false/>';
		gxml += "</property>";
		gxml += "</object>";
		return gxml;
	}
	var dom = fw.getDocumentDOM();
	var numPages = dom.pagesCount;	
	var currPage = dom.currentPageNum;
	var exportFolder = fw.browseForFolderURL();
	if (exportFolder!=null && exportFolder!="")
		{
			var folderExists = Files.exists(exportFolder);
            if(folderExists == false)
			{
				var checkPermissions = Files.createDirectory(exportFolder);
				if(checkPermissions == false)
				{
					alert(localizedStringName.filePermission);
					return gxml;
				}
            }
            else	//This is a hack that has been included to check if the user has permissions to access the folder since export of Sprites does not return "false"(as expected) when exportLayer API fails to export the layers.
            {
				var checkPermission = Files.createDirectory(exportFolder + "/dummy_file_to_check_for_permissions");
                if(checkPermission == false)
                {
                    alert(localizedStringName.filePermission);
                    return gxml;
                }
                else
                {
                    Files.deleteFileIfExisting(exportFolder + "/dummy_file_to_check_for_permissions");
                }
                __exportjQuerySprites(exportFolder,"sprites");
				fw.getDocumentDOM().selectNone();
			}
		}
		fw.getDocumentDOM().changeCurrentPage(currPage);
		fw.logPipEvent("jQuery Mobile Theme", null, "Export jQuery Sprites Only");				
		return gxml;
}

var generateCSSforUser = function()
{
	fw.runScript(Files.getLanguageDirectory() + "/JSFStrings/jQuery.jsf");	//Execute the script to obtain all the localized strings
	var localizedStringName = __jQuerytooltips;
	if(fw.documents.length == 0)
	{
		alert(localizedStringName.active);	//The error message has already been localized.
		var gxml = "<object>";
		gxml += "<property id = 'isjQOpen'>";
		gxml += '<false/>';
		gxml += "</property>";
		gxml += "</object>";
		return gxml;
	}
	var gxml = "";
	var cssUserThemeFile = "";
	var myCSScode= "";
	var dom = fw.getDocumentDOM();
	var numPages = dom.pagesCount;	
	var currPage = dom.currentPageNum;
	exportCurrentSwatch = false;
	fromPreview= false;
	gxml = "<object>";
	gxml += "<property id = 'isjQOpen'>";
	gxml += '<true/>';
	gxml += "</property>";
	gxml += "<property id = 'isCancelled'>";
	gxml += '<true/>';
	gxml += "</property>";
	gxml += "</object>";
	var folder = fw.browseForFolderURL();
	if (folder!=null && folder!="")
	{
		cssUserThemeFile = prompt(localizedStringName.fileName,"jQuery");
		var swatchFileName = cssUserThemeFile+  ".css";
			
		if (cssUserThemeFile !=null && cssUserThemeFile !="")
		{
			cssUserThemeFile = folder + "/" + cssUserThemeFile;	
			//If file already exists,replace the file
			cssUserThemeFile = cssUserThemeFile + ".css";
			var fileExists = Files.exists(cssUserThemeFile);
			var shouldReplace = true;
			if(true == fileExists)
				shouldReplace = fw.yesNoDialog(swatchFileName +"  " +  localizedStringName.overwrite);	//Should we show the entire path or just the file name?
			if(true == shouldReplace)
			{
				var checkPermissions = Files.deleteFileIfExisting(cssUserThemeFile);
				if(checkPermissions == false)
				{
					alert(localizedStringName.filePermission);
					return gxml;
				}
				checkPermissions = Files.createFile(cssUserThemeFile,".css","FW");
				if(checkPermissions == false)
				{
					alert(localizedStringName.filePermission);
					return gxml;
				}
				//Open the CSS File
				var fp = Files.open(cssUserThemeFile,true);
				fw.textOutputEncoding = "utf-8";
					
				//myCSSCode is the string that contains the entire CSS Code
				myCSScode= "";
			
				//Variables to be set to true which will be used in generateCSS script
				fromPreview = true;
				exportCurrentSwatch = true;
				fw.runScript(fw.appHtmlCodeDir + "/jQuery/generateCSS.jsf");
				fromPreview= false;
				exportCurrentSwatch = false;
				myCSScode += entireCSS;
				if(myCSScode == "")
				{
					exportCSS = fw.yesNoDialog(localizedStringName.nojQueryData);
					if(true == exportCSS)
					{
						fw.getDocumentDOM().selectNone();
						fp.write(myCSScode);
						fp.close();	
						gxml = "<object>";
						gxml += "<property id = 'isjQOpen'>";
						gxml += '<false/>';
						gxml += "</property>";
						gxml += "<property id = 'isCancelled'>";
						gxml += '<false/>';
						gxml += "</property>";
						gxml += "</object>";
						fw.logPipEvent("jQuery Mobile Theme", null, "Export Current Swatch");
						return gxml;
					}
					else if(false == exportCSS)
					{
						fw.getDocumentDOM().selectNone();
						fp.close();
						Files.deleteFileIfExisting(cssUserThemeFile);	
						return gxml;
					}
				}
				else	
				{		
					gxml = "<object>";
					gxml += "<property id = 'isjQOpen'>";
					gxml += '<true/>';
					gxml += "</property>";
					gxml += "<property id = 'isCancelled'>";
					gxml += '<false/>';
					gxml += "</property>";
					gxml += "</object>";
					fw.getDocumentDOM().selectNone();
					fp.write(myCSScode);
					fp.close();	
					fw.logPipEvent("jQuery Mobile Theme", null, "Export Current Swatch");
					return gxml;
				}
			}
			else
			{
				fw.getDocumentDOM().selectNone();
				return gxml;	
			}
		}
		else
		{
			fw.getDocumentDOM().selectNone();
			return gxml;
		}
	}
	else
	{
		fw.getDocumentDOM().selectNone();
		return gxml;	
	}
	return gxml;
}

var getjQueryURL = function()
{
	var url = "";
	var xml = "";
	xml = "<object>";

	var appHtmlCodeFolder = fw.appHtmlCodeDir;

	var userCommandsFolder = fw.userJsCommandsDir;
	
	var filePath = appHtmlCodeFolder + "/jQuery/preview_panel/";
	var jqFolderExists = Files.exists( filePath );
	
	var userPath = userCommandsFolder + "/jQuery";
	var folderExists = Files.exists( userPath +"/preview_panel" );
	
	if((false == folderExists) && (true == jqFolderExists))
	{
		//Create the jQuery folder
		Files.createDirectory( userPath );
		Files.createDirectory( userPath + "/preview_panel");
				
		//Copy HTML file
		var copyHTMLFile = appHtmlCodeFolder + "/jQuery/preview_panel/jQuery.html";
		var pasteHTMLFile = userPath + "/preview_panel/" + "jQuery.html";
		Files.copy(copyHTMLFile, pasteHTMLFile);
				
		//Copy JS file
		var jsFileFolder = appHtmlCodeFolder + "/jQuery/preview_panel/js/";
		var jsFiles = Files.enumFiles( jsFileFolder );
		var jsLen = jsFiles.length;
		
		var i = 0;
		var jsFileName,jsPastePath;
		for (i=0; i<jsLen; i++)
		{
			jsFileName = jsFiles[i];
			jsFileName = jsFileName.substr(jsFileName.lastIndexOf("/")+1);
			Files.createDirectory( userPath + "/preview_panel/js");
			jsPastePath = userPath + "/preview_panel/js/" +jsFileName;
			Files.copy(jsFiles[i], jsPastePath);
		}
				
		//copy CSS files
		var cssFileFolder = appHtmlCodeFolder + "/jQuery/preview_panel/css/";
		var cssFiles = Files.enumFiles( cssFileFolder );
		var cssLen = cssFiles.length;
		
		var j=0;
		var cssFileName,cssPastePath;
		for (j=0; j<cssLen; j++)
		{
			cssFileName = cssFiles[j];
			cssFileName = cssFileName.substr(cssFileName.lastIndexOf("/")+1);
			Files.createDirectory( userPath + "/preview_panel/css");
			cssPastePath = userPath + "/preview_panel/css/" +cssFileName;
			Files.copy(cssFiles[j], cssPastePath);
		}
				
		//Copy images
		var spritesImagesFolder = appHtmlCodeFolder + "/jQuery/preview_panel/css/images/";
		var spriteFiles = Files.enumFiles( spritesImagesFolder );
		var spritesLen = spriteFiles.length;
		var k=0;
		var spritesFileName,cssPastePath;
		for (k=0; k<spritesLen; k++)
		{
			spritesFileName = spriteFiles[k];
			spritesFileName = spritesFileName.substr(spritesFileName.lastIndexOf("/")+1);
			Files.createDirectory( userPath + "/preview_panel/css/images");
			imagesPastePath = userPath + "/preview_panel/css/images/" +spritesFileName;
			Files.copy(spriteFiles[k], imagesPastePath);
		}
	}
	url = userPath;
	
	xml += "<property id = 'url' >";
	xml += "<string>";
	xml += url;
	xml += "</string>";
	xml += "</property>";
	xml += "</object>";
	
	return xml;
}

function __exportjQuerySprites(imgFolder, exportOnlySpritesOrtoPreview)
{
	var spritesFolder = imgFolder + "/images";
	// Create Images folder if doesnt Exist. should I append to the folder?
	
	Files.deleteFileIfExisting(spritesFolder);
	Files.createDirectory(spritesFolder);
	generateOnlySprites = false;
	var curPage = fw.getDocumentDOM().currentPageNum;
	if((curPage != 0) && (fw.getDocumentDOM().pagesCount > 1))	//Change the current page to first page
		fw.getDocumentDOM().changeCurrentPage(0);
	var folderExists = Files.exists(spritesFolder);
	var successfulExport = false;
	if(true == folderExists)
	{
		var sliceFrames = fw.getDocumentDOM().frames;
		var webSliceLayerIndex = sliceFrames[0].topLayers.length;	//Get the number of top layer. This returns ony the top layers and not the sub layers.
		
		var topLayer = sliceFrames[0].topLayers[webSliceLayerIndex-1];	
		var length = webSliceLayerIndex;	//Get the number of layers to get the index of sub layer of web layer.
		var slices = topLayer.elemsandsublayers;
		var cntk = slices.length - 1;
		for(cntk = slices.length - 1 ; cntk >= 0 ; cntk--)
		{	
			if(("[object Text]"==(slices[cntk].toString())) && (undefined == (slices[cntk].textRuns.textRuns)))
			{
				continue;
			}
			else
			{
				if(slices[cntk].isLayer)
				{
					if(("icons-18-white" == slices[cntk].name) || ("icons-18-black" == slices[cntk].name) || ("icons-36-white" == slices[cntk].name) || ("icons-36-black" == slices[cntk].name) || ("ajax-loader" == slices[cntk].name))
					{
                       
						var layerNum = parseInt(length) ; 
						fw.getDocumentDOM().selectNone();
						fw.getDocumentDOM().currentLayerNum = layerNum;
						fw.getDocumentDOM().selectAllOnLayer(layerNum, false, false);
						var sliceName = spritesFolder + "/" + slices[cntk].name;
						var suffixToDel = "";
						var paddingVal = 0;
						if(slices[cntk].name.search("white") != -1)
							suffixToDel = "w";
						else if(slices[cntk].name.search("black") != -1)
							suffixToDel = "b"
						if(slices[cntk].name.search("18") != -1)
						{
							suffixToDel = "_18"+suffixToDel;
							paddingVal = 18;
						}
						else if(slices[cntk].name.search("36") != -1)	
						{
							suffixToDel = "_36"+suffixToDel;
							paddingVal = 36;
						}
						else if("ajax-loader" == slices[cntk].name)
						{
							paddingVal = 3;
						}
						if(exportOnlySpritesOrtoPreview == "preview")	//If the call is from preview then generate only 18 white and 36 white icons
						{
							if(("icons-18-white" == slices[cntk].name) ||  ("icons-36-white" == slices[cntk].name))
							{
								successfulExport = fw.exportCSSSpriteForJQuery(sliceName, "ui-icon-", suffixToDel, paddingVal);
							}
						}
						else	
							successfulExport = fw.exportCSSSpriteForJQuery(sliceName, "ui-icon-", suffixToDel, paddingVal);
						fw.getDocumentDOM().selectNone();
						length++;
						if(exportOnlySpritesOrtoPreview == "sprites")
						{
							if("ajax-loader" == slices[cntk].name)
							{
								Files.deleteFileIfExisting(sliceName + ".css");
							}
						}
					}
				}      		
			}
		}
	}
	fw.getDocumentDOM().selectNone();
	if(successfulExport)
	{
		if(exportOnlySpritesOrtoPreview == "sprites")
		{
			generateOnlySprites = true;
			fw.runScript(fw.appHtmlCodeDir + "/jQuery/generateCSS.jsf");
            generateOnlySprites = false;
		}	
         __replaceStringsInCSSFileGenerated(spritesFolder, exportOnlySpritesOrtoPreview);
        successfulExport = false;
      
	}
	fw.getDocumentDOM().changeCurrentPage(curPage);
}

function __replaceStringsInCSSFileGenerated(spritesFolder, exportOnlySpritesOrtoPreview )	//Image files and the CSS files are both present in the same folder
{
	fw.runScript(Files.getLanguageDirectory() + "/JSFStrings/jQuery.jsf");	//Execute the script to obtain all the localized strings
    var localizedStr = __jQuerytooltips;
	var replacedCSS = "";
	var cssFilesFolder = spritesFolder;
	var cssFiles = Files.enumFiles(cssFilesFolder);
	var fileLength = cssFiles.length;
	var filesIndex,cssFilesPtr;
	filesIndex = 0;
	for (filesIndex = 0; filesIndex<fileLength; filesIndex++)
	{
           
        cssFilesPtr = cssFiles[filesIndex];
		cssFilesPtr = Files.getFilename(cssFiles[filesIndex]);
		if (cssFilesPtr.substr(0,1)=="_")
		{
			Files.deleteFileIfExisting(cssFiles[filesIndex]);
		}
		else
		{
  
            var cssFileNameWithoutExtension = cssFilesPtr.substring(0,cssFilesPtr.lastIndexOf("."));
			//Check for all the files since we are not generating all these files for preview.
			if((cssFilesPtr.toLowerCase() == "icons-18-black.css") || (cssFilesPtr.toLowerCase() == "icons-36-black.css") || (cssFilesPtr.toLowerCase() == "icons-18-white.css") || (cssFilesPtr.toLowerCase() == "icons-36-white.css"))
			{
				var cssIndividualFile = cssFiles[filesIndex];
				var cssFilePtr = Files.open(cssIndividualFile,true);

				css = "";
            
				var cssClass = cssFilePtr.readline();
				while(cssClass != null)	//Read every line of the page. Check on Mac
				{
					css += cssClass + "\n";
					cssClass = cssFilePtr.readline();
				}
				cssFilePtr.close();

				replacedCSS = __modifyCSSGeneratedBySpritesAPI(css, cssFileNameWithoutExtension, exportOnlySpritesOrtoPreview ); 
      
				if(("" != replacedCSS) || (undefined != replacedCSS) || (null != replacedCSS))
				{
					__moveToParentFolderAndWriteCSS( cssFiles[filesIndex], replacedCSS);

				}
			}
		}
	}
    CSSGlobalIconDisc = "";
}

function __modifyCSSGeneratedBySpritesAPI(css, cssFileNameWithoutExtension, exportOnlySpritesOrtoPreview)
{
    var spriteCSS = css;
	var baseClass = "." + cssFileNameWithoutExtension;
    var iconDiscColor = CSSGlobalIconDisc;
    var replacedCSS = css;
	replacedCSS = replacedCSS.replace(".ui-icon-search",".ui-icon-search,\n.ui-icon-searchfield:after");
	var classesArray = css.split("\n");
	spriteBaseClass =  classesArray[0];	//The first array item has the base class
	replacedCSS = replacedCSS.replace(spriteBaseClass,"");	//Remove the base class
	spriteBaseClass = spriteBaseClass.substring( spriteBaseClass.indexOf("{")+2,spriteBaseClass.indexOf(")")+1);	//Gives the background with only the URL
	spriteBaseClass = spriteBaseClass.replace("background","background-image");	//Replace the background property name with background image.
	spriteBaseClass = spriteBaseClass.replace("url(\"","url(\"images/");
	var baseClassCSS = ".ui-icon,\n.ui-icon-searchfield:after {\n";
	baseClassCSS += iconDiscColor ; //including the icon disc color which is obtained from generateCSS
	baseClassCSS += "\t" + spriteBaseClass +";\n";	//Including the background image class.
	baseClassCSS += "\tbackground-repeat: no-repeat;\n\t-moz-border-radius: 9px;\n\t-webkit-border-radius: 9px;\n\tborder-radius: 9px;\n}"
	var isWhite = cssFileNameWithoutExtension.search("white");
	if(-1 != isWhite)	//Include the ui-icon-alt for white icons
	{
		baseClassCSS += "\n.ui-icon-alt {\nbackground: #fff;\nbackground: rgba(255,255,255,.3);\n";
		baseClassCSS +=	spriteBaseClass.replace("white","black");
		baseClassCSS +=	";\nbackground-repeat: no-repeat;\n}";
	}
	//For CSS files to be used in the panel for preview, remove the overlapping CSS Classes in 18white and 36white.
	if( exportOnlySpritesOrtoPreview == "preview")
	{
        var requiredClassForPreview = "";
		var classCounter = 0;
		if(-1 != cssFileNameWithoutExtension.search("36"))
		{
			for(classCounter=0;classCounter<classesArray.length;classCounter++)
			{
				if(!(-1 == (classesArray[classCounter].search(".ui-icon-home"))) || !(-1 == (classesArray[classCounter].search(".ui-icon-star"))) || !(-1 == (classesArray[classCounter].search(".ui-icon-grid"))))
				{
					var backgroundImageVal = "";
					backgroundImageVal = classesArray[classCounter].substring( 0,classesArray[classCounter].indexOf("}"));
					requiredClassForPreview += backgroundImageVal + spriteBaseClass+ ";}\n";
				}
			}
			return requiredClassForPreview;
		}
		classCounter = 0;
		if(-1 != cssFileNameWithoutExtension.search("18"))
		{
			for(classCounter = 0; classCounter < classesArray.length ; classCounter++)
			{
				if(!(-1 == (classesArray[classCounter].search(".ui-icon-home"))) || !(-1 == (classesArray[classCounter].search(".ui-icon-star"))) || !(-1 == (classesArray[classCounter].search(".ui-icon-grid"))))
				{
					replacedCSS = replacedCSS.replace(classesArray[classCounter],"");
				}
			}
		}
		spriteCSS = baseClassCSS + replacedCSS;
		return spriteCSS;
	}
	else
	{
		spriteCSS = baseClassCSS + replacedCSS;
		return spriteCSS;
	}
}

function __moveToParentFolderAndWriteCSS( cssFilename, replacedCSS)
{
	fw.runScript(Files.getLanguageDirectory() + "/JSFStrings/jQuery.jsf");	//Execute the script to obtain all the localized strings
	var localizedStringName = __jQuerytooltips;
	//Since getDirectory gives the folder in which the CSS file is present, use getDirectory twice to get the parent folder of images folder where only the sprite images should be present.
	var oldCSSFolderName = Files.getDirectory( cssFilename );
	var newCSSFolderName = Files.getDirectory( oldCSSFolderName );
	var newCSSfileName = Files.getFilename(cssFilename);
	Files.deleteFileIfExisting(cssFilename);
    Files.deleteFileIfExisting(newCSSFolderName + "/" + newCSSfileName);
    checkPermissionToWrite = Files.createFile(newCSSFolderName + "/" + newCSSfileName,".css","FW");
    if(checkPermissionToWrite == false)
	{
		alert(localizedStringName.filePermission);
		return;
	}
	var cssNewFilePtr = Files.open(newCSSFolderName + "/" + newCSSfileName,true);
	cssNewFilePtr.write(replacedCSS);
	cssNewFilePtr.close();
}

function __moveFocusToFireworksDocument()
{
	fw.moveFocusToDoc();
}
