		$(document).ready(function(){
		    $("#myList").sortable({});
			removeIMG();
			addSortSel();
		});

		function addSortSel() {
			$('#myList li').hover(function() 
			{$(this).addClass('sortSel');}, 
			function() 
			{$(this).removeClass('sortSel');});
			
		}

 	   function getHPid() {
		   var pPID = null;
			var metaArray = document.getElementsByTagName("meta");
			for(var i=0; metaArray[i]; i++) {
			  if(metaArray[i].getAttribute("name") == "DCSext.pPID") {
			  	  pPID	= metaArray[i].getAttribute("content");
				  break;
			  }
			}
			return pPID;
 	   }
 	    
	   function disableCClamp(action,url){
		   var pPID = getHPid();
			if(pPID !== null) {
		  		pPID = pPID+"_dia_qlk";
	   			dcsMultiTrack("WBPM_lid", pPID, "DCS.dcsuri", url);
	   		}else {
	   			dcsMultiTrack("WBPM_lid", "_dia_qlk", "DCS.dcsuri", url);
	   		}
		  	var eventData = new Object();
		  	eventData.url = action+"&modal=true&width=566&height=510";
		  	window.com_ups_cclamp.disDisableCClampEvt(eventData);
		}

	 	function closeDialog() {
			window.com_ups_cclamp.disEnableCClampEvt();
		}

	    function validate_required(field)
		{
			if (field===null||field==="") {
				return false;
			}else {
				return true;
			}
		}
		
		function refresh() {
  			$('#QLM_errMsgContent').text("");
			var title = $("label.error[@for=QLM_input_link_title]").attr('class');
  			if (title == 'error') {
				var x = $("label.error[@for=QLM_input_link_title]").text();
				x = x.substring(3);
				$("label.error[@for=QLM_input_link_title]").removeClass("error").text(x);
  			}
  			var addr = $("label.error[@for=QLM_input_link_address]").attr('class'); 
  			if (addr == 'error') {
  				var y = $("label.error[@for=QLM_input_link_address]").text();
				y = y.substring(3);
				$("label.error[@for=QLM_input_link_address]").removeClass("error").text(y);
  			}
  			$('#myList a[@id="QLM_TXT_MSG"]').parent().remove();
		}
	    
  		function customAddWithAjax(userId, locale, track, addCustom, errInvalid, errGreater, errorRetrv) {
  			refresh();
  			if (($('#myList > li' ).size()) == 25) {
  				$('#QLM_errMsgContent').text(errGreater);
  				return;
  			}
       		var ele1 = $('#QLM_customTitle').val();
       		var ele2 = $('#QLM_customUrl').val();
       		var val1 = 'false';
       		var val2 = 'false';

    		if (validate_required(ele1)) {
				var x = $("label.error[@for=QLM_input_link_title]").text();
				x = x.substring(3);
				$("label.error[@for=QLM_input_link_title]").removeClass("error").text(x);
				val1 = 'false';
			}else {
				$("label[@for=QLM_input_link_title]:not(.error)").addClass("error").prepend("&gt;&gt;&gt;");
				val1 = 'true';
			}
			
	       	if (validate_required(ele2)) {
  				var y = $("label.error[@for=QLM_input_link_address]").text();
				y = y.substring(3);
				$("label.error[@for=QLM_input_link_address]").removeClass("error").text(y);
    			val2 = 'false';
			}else {
	       	 	$("label[@for=QLM_input_link_address]:not(.error)").addClass("error").prepend("&gt;&gt;&gt;");
	       	 	val2 = 'true';
			}
       		
			if ((val1 == 'true') || (val2 == 'true')) {
				$('#QLM_errMsgContent').text(errInvalid);
				return;
			}else {
				var params = {Locale: locale,
							charset: "utf-8",
							javascript:"true",
							CustomUrl: ele2,
							CustomTitle: ele1,
							User: userId,
							Track: track };
			
				$.ajax({
					url: addCustom,
					type: 'post',
					beforeSend: function(xhr) {
							xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
					},
					data: params,
					dataType: 'xml',
					timeout: 4000,
					error: function(xml){
						$('#QLM_errMsgContent').text(errorRetrv);
					},
					success: function(xml) {
						populateCustomLinks(xml, ele1, ele2, locale, errInvalid);
					}
				});
			}
       	};
       	
		function showCustomLinksErrorResult(xml, errInvalid) {
			var message = $("message",xml).text();
			if (validate_required(message)) {
				$('#QLM_errMsgContent').text(message);
			}else {
				$('#QLM_errMsgContent').text(errInvalid);
			}
			var code = $("code",xml).text();
			if (code == "3" || code == "2") {    
				$("label[@for=QLM_input_link_title]:not(.error)").addClass("error").prepend("&gt;&gt;&gt;");
			}
			if (code == "1" || code == "2") {
       	 		$("label[@for=QLM_input_link_address]:not(.error)").addClass("error").prepend("&gt;&gt;&gt;");
   	 		}
			return;
		}			
		
   		function populateCustomLinks(xml, title, link, locale, errInvalid) {	
		    var status = $("status",xml).text();
			if(status == "error") {
				showCustomLinksErrorResult(xml, errInvalid);
				return;
			}else {
				var disTarg = "_self";
				if (($("target",xml).text()) == "true") {
      				disTarg = "_blank";
      			}
				var imge = "<img class='closeicon' height='12' border='0' width='12' alt='remove' src='/img/1.gif'/>"; 
				var res = "<li><a title='" + link + "' class='"+locale+"' TARGET='"+disTarg+"'>" + title + "</a>"+imge+"</li>"; 
				$('#myList').append(res);
				$('#myList img:last').bind('click', function() {
					$(this).parent().remove();
				}) 
				addSortSel();				
				$('#QLM_customTitle').val("");
				$('#QLM_customUrl').val("");
			}
		}
  		
  		function fixParam(url) {
  			var ret="";
  			for (i=0; i<url.length; i=i+1) {
				var c = url.charAt(i);
				if (c == '&') {
					ret = ret+"&amp;";
				}else if (c == '"') {
					ret = ret+"&quot;";
	            }else if (c == '\'') {
					ret = ret+"&apos;";
				} else { 
					ret = ret+c;
				}
			}
			return ret;
  		}
  		
  		function createParam() {
  			var stitle = "title=";
  			var surl = "url=";
  			var sclass = "class=";
  			var sid = "id=";
  			var retun = "<ul>";
  			$('#myList a').each(function(){
				var url = fixParam($(this).attr("title"));
				url = surl+"'"+url+"'";
				var clas = sclass+"'"+$(this).attr("class")+"'";
				var id = sid+"'"+$(this).attr("id")+"'";
				var titl = fixParam($(this).text());
				titl = stitle+"'"+titl+"'";
				var finl = "<a "+ url+" "+clas+" "+id+" "+titl+"></a>"
				retun = retun + finl;
			})
			retun = retun + "</ul>";
			return retun;
  		}

  		function saveWithAjax(userId, locale, track, regId, saveAction, errorSave) {
  			refresh();
  			var myListContent = createParam();
  		
			var params = {Locale: locale,
				charset: "utf-8",
				javascript:"true",
				qlList: myListContent,
				User: userId,
				RegId: regId,
				Track: track };

				$.ajax({
					url: saveAction,
					type: 'post',
					beforeSend: function(xhr) {
							xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
					},
					data: params,
					dataType: 'xml',
					timeout: 4000,
					error: function(xml){
						showErrorResult(xml, errorSave);
					},
					success: function(xml) {
						populateResults(xml, errorSave);
					}
				});
		}
		   
		function populateResults(xml, errorSave) {	
			var status = $("status",xml).text();
			if(status == "error") {
				showErrorResult(xml, errorSave);
				return;
			}
	 		refreshParent();
			closeDialog();
		}
		   
		function showErrorResult(xml, errorSave) {
			var message = $("message",xml).text();
			if (validate_required(message)) {
				$('#QLM_errMsgContent').text(message);
			}else {
				$('#QLM_errMsgContent').text(errorSave);
			}
			return;
		}			
  
  		function resetWithAjax(userId, locale, track, clientECS, resetAction, errorRetrv) {
	  			refresh();
  				var params = {Locale: locale,
								charset: "utf-8",
								javascript:"true",
								User: userId,
								Track: track,
								clientECS: clientECS};
						
				$.ajax({
					url: resetAction,
					type: 'GET',
					beforeSend: function(xhr) {
							xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
					},
					data: params,
					dataType: 'html',
					timeout: 4000,
					error: function(html){
						$('#QLM_errMsgContent').text(errorRetrv);
					},
					success: function(html) {
						if (!validate_required(html)) {
							$('#QLM_errMsgContent').text(errorRetrv);
						}else {
							$('#myList').html(html);
							$("#QLM_stanList input").each(function() {
								$(this).parent().show();
							})
							hideElements();
							addImage();
							addSortSel();				
						}					
					}
				});			 
		}
  		   
		function hideElements() {
			$('#myList a').each(function(){
				var url = $(this).attr("title");
				$('#QLM_stanList a[@title='+url+']').parent().hide();
			});
		}
		
		function addImage(){
			var imge = "<img class='closeicon' height='12' border='0' width='12' alt='remove' src='/img/1.gif'/>"; 
			$('#myList li').each(function(){
				$(this).append(imge);
				$(this).find('img').bind('click', handler);
			});
			removeIMG();
		}

  		function addLinks(errGreater, errNoSelect){
  			refresh();
  			var count = ($('#myList > li' ).size()) + ($("#QLM_stanList input:checked").size());
  			if (count > 25) {
  				$('#QLM_errMsgContent').text(errGreater);
  				return;
  			}

			if ($("#QLM_stanList input:checked").size()== 0) {
  				$('#QLM_errMsgContent').text(errNoSelect);
  				return;
			}

			$("#QLM_stanList input:checked").each(function() {
				var imge = "<img class='closeicon' height='12' border='0' width='12' alt='remove' src='/img/1.gif'/>"; 
				($(document.createElement("li")).append(
     				$(this).next().clone()
  				 ).append(imge)
  				 ).appendTo($("#myList"));

				$('#myList img:last').bind('click', handler); 
   				$(this).attr('checked', false);
   				$(this).parent().hide();
			});
			addSortSel();				
		  	return;
  		}
  		
  		$(document).ready(function(){
	  		$("#myList li>img").each(function(){
	  			$(this).bind('click', handler) 
	 		});
  		})
  		
  		function handler() {
  			var url = $(this).parent().find("a").attr("title");
			$('#QLM_stanList a[@title='+url+']').parent().show();
			$(this).parent().remove();
  		}
  		
  		function refreshParent() {
  			var html = "";
			var patt1=new RegExp("^http://");
			var patt2=new RegExp("^https://");
  			$("#myList li").each(function(){
  				var url = $(this).find("a").attr("title");
  				if (!(patt1.test(url) || patt2.test(url))) {
  					url = "http://"+url;
				} 
				if (url.indexOf("?") == -1) {
					url = url + "?WBPM_lid=/homepage/ct1.html_mod_qlk";
				}else {
					url = url + "&WBPM_lid=/homepage/ct1.html_mod_qlk";
				}
  				var txt = $(this).find("a").text();
  				var targ = $(this).find("a").attr("target");
				html = html + "<li><a href='"+url+"' TARGET='"+targ+"'>"+txt+"</a></li>";
  			})
  			$('#QLM_MyQuickLinksJSP').html(html);
  		}
  		
  		function removeIMG() {
  			var ky = "UI_STANDARD_CAMPUSSHIP";
			$('#myList a[@id='+ky+']').parent().find("img").remove();
		}  		